-
Notifications
You must be signed in to change notification settings - Fork 283
/
ChangeLog
25697 lines (19723 loc) · 877 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
2024-11-29 Richard Frith-Macdonald <[email protected]>
* Source/NSURLProtocol.m: fix leaks due to retain loops.
* Source/Additions/NSObject+GNUstepBase.m: fix issues in new
-trackOownership mechanism to log tracked instances at exist and to
handle cases where we track instances of a class and instances of
its subclasses.
2024-11-26 Matvii Jarosh <[email protected]>
* NSByteOrder.h: fix NSSwappedFloat and NSSwappedDouble
* MISSING:
2024-11-25 Matvii Jarosh <[email protected]>
* NSInvocation.h: add enum _NSObjCValueType and
typedef structNSObjCValue. There are no functions not implemented
in NSInvocation.h left.
* MISSING:
2024-11-21 Matvii Jarosh <[email protected]>
* NSValue: add valueWithEdgeInsets and edgeInsetsValue.
* typeEncodingHelper.h: add NSINSETS_ENCODING_PREFIX and
IS_NSINSETS_ENCODING and update comment.
* type_encoding.m: add test NSINSETS_ENCODING_PREFIX.
* GSConcreteValueTamplate.m: add GSEdgeInsetsValue.
* GSConcreteValue.m: add TYPE_ORDER 6.
2024-11-24 Richard Frith-Macdonald <[email protected]>
* Source/NSSocketPort.m: fix leak of data object when establishing a
new connection.
2024-11-22 Richard Frith-Macdonald <[email protected]>
* Tools/AGSIndex: (-makeRefs:) process child nodes in loop rather
than recursively ... reduces the depth of recursion to the depth of
nesting children rather than the number of children, avoiding stack
overflow for large projects.
* Source/GSHTTPURLHandle.m: Fix leak of connection description strings
when reconnecting an existing handle.
2024-11-21 Richard Frith-Macdonald <[email protected]>
* NSRegularExpression: avoid leaks in ICU code by calling more
primitive methods.
* NSAutoreleasePool: fix leaks with libobjc2 ARC methods when a pool
is in a context that we leave due to an exception.
* NSObject: add -trackOwnership to log the retain/release/dealloc of
in individual instance.
2024-11-19 Richard Frith-Macdonald <[email protected]>
* GSMime: fixed buffer overrun in rare circumstances when decoding
an encoded word in a header.
fix to cope with dealloc of uninitialised instances of GSMimeSMTPClient
* GSTLS: clean up used resources on exit
* NSCharacterSet: Fix retain count of cached character sets
* NSDateFormatter: fix to cope with dealloc of uninitialised instances
* NSFileManager: fix leak of enumerator when enumerating files at
a directory specified by URL
* NSHTTPCookie: fix buffer overrun parsing cookie header fields
* NSInvocation: fix leak of type information memory when passing
general struct argument/return values
* NSNumberFormatter: fix to cope with dealloc of uninitialised instances
* NSOperation: fix to cope with dealloc of uninitialised instances
* NSPredicate: fix leaks of keypath and set expressions
also fix leak of objects if exception occurs while scanning predicate
string
* NSPropertyList: fix leaks if exception occurs while parsing
* NSRegularExpression: fix leaks if exception occurs while parsing
* NSString: fix lead in dataUsingEncoding:allowLossyConversion:
* NSTimeZone: fix retain cycle in absolute time zones
fix leak of ICU calendar in -localizedName:locale:
* NSURL: fix leaks when initialising with unparseable string etc
* Testcases: fix many leaks so that most tests run to completion
without any leaked memory.
2024-11-19 Matvii Jarosh <[email protected]>
* Header/Foundation/NSGeometry.h: fixed NSRectEdge and
NSAlignmentOptions enums.
2024-11-18 Matvii Jarosh <[email protected]>
* Source/NSGeometry.m: added NSIntegralRectWithOptions function.
* Header/Foundation/NSGeometry.h: Fixed incompatible NSRectEdge,
added enum NSAlignmentOptions, added NSRectFromCGRect,
NSRectToCGRect, NSPointFromCGPoint, NSPointToCGPoint,
NSSizeFromCGSize and NSSizeToCGSizea functions.
* MISSING:
2024-11-14 Richard Frith-Macdonald <[email protected]>
* Source/NSBundle.m: Restructure a bit to expose resource lookup
and info dictionary as GSPrivate... functions without needing full
NSBundle initialisation.
* Source/GSPrivate.h: declare new functions.
* Source/NSUserDefaults.m: use bundle identifier rather than process
name where it is available.
WARNING ... this brings behavior in line with MacOS but it means that
existing defaults databases will not be loaded. If your app is called
MyApp and its bundle identifier (stored as the CFBundleIdentifier
value in the Info-gnustep.plist or Info.plist file in your app) is
mydomain.MyApp then you can copy the information by saving the old
information to a file, editing the domain name in the file, and then
importing from that file using the 'defaults' command.
Or use sed to do the editing in a pipeline like this:
defaults read MyApp |\
sed -e 's/^MyApp /mydomain.MyApp/' |\
defaults write
Then remove the old information with 'defaults delete MyApp'.
2024-11-12 Richard Frith-Macdonald <[email protected]>
* Source/NSNotificationCenter.m:
Fix last update for case where we have a non-block notification.
2024-11-12 Richard Frith-Macdonald <[email protected]>
* Headers/GNUstepBase/GSIMap.h:
Change (and document) the 'clear' macros for removing keys and values
from map tables so they can be used properly. Change 'write' macros
to be 'store' macros, reflecting a roll of storing vvalues into the
map. Standardise macro names referring to values to end in 'VALUE'.
Tidy up and improve comments.
* Source/NSConcreteHashTable.m:
Replace macros with retain/release macros which do nothing and
store/clear macros which invoke the appropriate functions.
* Source/NSConcreteMapTable.m:
Replace macros with retain/release macros which do nothing and
store/clear macros which invoke the appropriate functions.
* Source/NSConcretePointerFunctions.h:
In pointerFunctionsReplace() fix bug setting the new value to zero
thather than the value supplied.
* Source/NSConcretePointerFunctions.m:
Set correct relinquish function for
NSPointerFunctionsObjectPointerPersonality
* Tests/base/NSHashTable/general.m:
Add tests for NSHashTableObjectPointerPersonality and
NSObjectHashCallBacks
* Tests/base/NSMapTable/general.m:
Add tests for NSMapTableObjectPointerPersonality and
NSObjectMapKeyCallBacks/NSObjectMapValueCallBacks
2024-11-09 Richard Frith-Macdonald <[email protected]>
* Source/NSNotificationCenter.m:
* Tests/base/NSNotification/general.m:
Rewrite mechanism for handling the behavior of observations using
blocks. Add simple testcase checking reference counts of observer.
2024-11-08 Richard Frith-Macdonald <[email protected]>
* Headers/Foundation/NSFileHandle.h:
* Source/GSFileHandle.m:
* Source/NSFileHandle.m:
Add OSX 10.15 file offset methods (issue 325, pull 446 and more)
2024-11-03 Richard Frith-Macdonald <[email protected]>
* Source/NSFileManager.m: Fix case where positive result of asking
handler whether to proceed was ignored.
2024-11-01 Richard Frith-Macdonald <[email protected]>
* Source/NSDate.m: Fix returing receiver when earlier/later argument
is equal to the receiver. Various formatting fixes.
2024-10-29 Richard Frith-Macdonald <[email protected]>
* Source/NSUndoManager.m: set zero/nil return value when forwarding
invocation ... in case calling code tries to use the result.
2024-10-28 Hugo Melder <[email protected]>
* Source/NSString.m:
-commonPrefixWithString:options: returns nil when string supplied as
first argument is nil. On macOS, the empty string is returned instead.
Align implementation with macOS.
2024-10-13 Richard Frith-Macdonald <[email protected]>
* Source/NSFileManager.m: Create an NSError object when we fail to
copy because the destination item already exists.
2024-10-10: Hugo Melder <[email protected]>
* Source/NSDate.m:
* Source/NSDatePrivate.h:
NSDate is now a small object in slot 6, when configuring GNUstep with the
clang/libobjc2 toolchain. This is done by compressing the binary64 fp
holding the seconds since reference date (because someone at Apple
thought it would be a good idea to represent a time interval as a fp).
Note that this assumes that IEEE 754 is used.
* Source/NSCalendarDate.m:
Remove access to the NSDate private concrete Class
and implement -timeIntervalSinceReferenceDate instead.
Previously, all methods of the concrete date class were
added to NSCalendarDate via GSObjCAddClassBehavior.
2024-23-09: Hugo Melder <[email protected]>
* Headers/Foundation/NSThread.h:
* Source/NSString.m:
* Source/NSThread.m:
Cache ICU collator in thread-local storage to avoid
expensive construction when comparing strings.
2024-08-13: Hugo Melder <[email protected]>
* Source/NSOperation.m:
* Headers/Foundation/NSOperation.h:
Give NSOperationQueue worker threads a proper thread
name for easy identification.
2024-08-12 Hugo Melder <[email protected]>
* Source/NSThread.m:
Fix threadPriority and setThreadPriority: on Android.
2024-08-08 Richard Frith-Macdonald <[email protected]>
* Tools/AGSHtml.m:
Add protocols to the graphing.
2024-08-07 Richard Frith-Macdonald <[email protected]>
* Tools/AGSHtml.m:
* Tools/GNUmakefile:
* config.mak.in:
* configure.ac:
* configure:
Preliminary changes add inheritance diagrams to class documentation.
Uses the graphviz 'dot' tool if it is available at configure time.
Just draws class/superclass relationship for now.
Should add protocols and prettify boxes later.
2024-07-25 Richard Frith-Macdonald <[email protected]>
* Headers/Foundation/NSHashTable.h:
* Headers/Foundation/NSMapTable.h:
* Headers/Foundation/NSPointerArray.h:
* Headers/Foundation/NSPointerFunctions.h:
* Headers/Foundation/NSZone.h:
* Headers/GNUstepBase/config.h.in:
* Source/GSSocketStream.m:
* Source/GSStream.m:
* Source/NSConcreteHashTable.m:
* Source/NSConcreteMapTable.m:
* Source/NSConcretePointerFunctions.h:
* Source/NSConcretePointerFunctions.m:
* Source/NSConnection.m:
* Source/NSHashTable.m:
* Source/NSKeyedArchiver.m:
* Source/NSKeyedUnarchiver.m:
* Source/NSKeyValueObserving.m:
* Source/NSMapTable.m:
* Source/NSPointerArray.m:
* Source/NSPort.m:
* Source/NSZone.m:
* Tests/base/NSHashTable/create.m:
* Tests/base/NSHashTable/weakObjects.m:
* Tests/base/NSIndexSet/enumerateRanges.m:
* Tests/base/NSMapTable/create.m:
* Tests/base/NSMapTable/weakObjects.m:
* Tests/base/NSPointerArray/weakObjects.m:
* Tests/base/NSPointerFunctions/basic.m:
* Tests/base/NSPointerFunctions/general.m:
* Tests/base/NSPointerFunctions/TestInfo:
General fixups for pointer functions, removing obsolete (non-working)
GC related internal code. There is probably still a little of that old
stuff lurking in the internals which should be removed when found, but
the vast majority is cleaned up.
2024-07-15 Richard Frith-Macdonald <[email protected]>
* Headers/Foundation/NSPointerFunctions.h: deprecate GC methods.
* Source/NSConcreteHashTable.m: add brackets around test.
* Source/NSConcreteMapTable.m: correct test for weak value and key.
* Source/NSConcretePointerFunctions.m: Obsolete GC code changes ...
Raise exception for setter of GC write barriers.
Log error for n getter of GC write barriers.
2024-07-09 Richard Frith-Macdonald <[email protected]>
* Source/NSString.m: Implement regular expression search in replace
methods (github issue 424) by using -rangeOfString:options:range: in
place of obsolete optimisation function.
2024-07-09 Richard Frith-Macdonald <[email protected]>
* config/codeset.m4:
* config/objc-con-autoload.m4:
* config/pathtls.m4:
* config/pathxml.m4:
* config/procfs.m4:
* configure.ac:
Changes to avoid the use of most obsolete/deprecated autoconf macros.
Change usage of AC_CONFIG_AUX_DIR() to deal with altered behavior in
autoconf-2.71 (shipped on many new systems) where the value we set
in CURRENT_GNUSTEP_MAKEFILES is not available. This should now use
the GNUSTEP_MAKEFILES environment variable or get the output of the
gnustep-config script directly.
2024-07-02 Hugo Melder <[email protected]>
* Source/GSEasyHandle.h:
* Source/GSEasyHandle.m:
* Source/GSHTTPURLProtocol.h:
* Source/GSHTTPURLProtocol.m:
* Source/GSMultiHandle.h:
* Source/GSMultiHandle.m:
* Source/GSNativeProtocol.h:
* Source/GSNativeProtocol.m:
* Source/GSTaskRegistry.h:
* Source/GSTaskRegistry.m:
* Source/GSTimeoutSource.h:
* Source/GSTimeoutSource.m:
* Source/GSTransferState.h:
* Source/GSTransferState.m:
* Source/GSURLPrivate.h:
* Source/GSURLSessionTaskBody.h:
* Source/GSURLSessionTaskBody.m:
* Source/GSURLSessionTaskBodySource.h:
* Source/GSURLSessionTaskBodySource.m:
Deleted old NSURLSession implementation.
* Headers/Foundation/NSURLSession.h:
* Source/NSURLSessionPrivate.h:
* Source/NSURLSession.m:
* Source/NSURLSessionConfiguration.m:
* Source/NSURLSessionTaskPrivate.h:
* Source/NSURLSessionTask.m:
* Source/NSURLSessionConfiguration.m:
The new NSURLSession implementation was reduced to just two main classes:
NSURLSession and NSURLSessionTask. URLSession manages a libcurl multi
handle and the required plumming via libdispatch. Timeout and socket actions
are handled in the libdispatch workqueue. Delegate messages and completion
handlers are submitted to a seperate serial NSOperationQueue.
* Headers/Foundation/NSUserDefaults.h:
* Source/externs.m:
Added GSCACertificateFilePath for custom CA certificate file configuration.
* Source/NSHTTPCookie.m:
Reworked cookie expiration date parsing.
* Source/NSOperation.m:
Clear all blocks in _executionBlocks after completion.
* Headers/Foundation/NSURLRequest.h:
* Source/NSURLRequest.m:
Implemented -[NSURLRequest assumesHTTP3Capable] and -[NSURLRequest
setAssumesHTTP3Capable:] respectively. The internal case-insensitive header
dictionary is now exposed for private usage with -[NSURLRequest
_insensitiveHeaders].
2024-06-21 Richard Frith-Macdonald <[email protected]>
* Source/NSDistantObject.m: Use standard method name conventions
* Tools/AGSOutput.m:
* Tools/AGSParser.m:
* Tools/autogsdoc.m:
* Tools/make_strings/make_strings.m:
* Tools/plutil.m:
Fix various memory leaks.
* Tools/NSObject.m:
* Documentation/Base.gsdoc:
Make GSLogZombie() an external function for debuggers which can't find
it as a static function. Add [NSZombie -logZombie:] method to call the
function in case there is a debugger which can set a breakpoint on the
method more easily than on the function.
2024-06-21 Richard Frith-Macdonald <[email protected]>
* Source/Additions/Unicode.m:
* Source/GSTLS.m:
* Source/NSDictionary.m:
* Source/NSThread.m:
* Source/NSURLSession.m:
* Tools/AGSHtml.m:
* Tools/AGSOutput.m:
* Tools/AGSParser.m:
Fix dead assignments.
2024-06-21 Richard Frith-Macdonald <[email protected]>
* Source/GSHTTPURLProtocol.m:
* Source/GSTLS.m:
* Source/NSConnection.m:
* Source/NSSpellServer.m:
* Tools/AGSParser.m
Fix dead initialisations.
* Source/GSAttributedString.m:
* Source/tzdb.h:
Fix dead assignments
* Source/NSTask.m:
Use fork() becuse vfork() behavior is undefined when we make assignments
to variables or system calls before exec().
* Source/GSArray.m:
Ignore nil values in collection (should never happen) possibly caused
by retain/release errors. Old code would have crashed.
* Source/NSException.m:
Avoid compiler warning about malloced memory type compatibility.
2024-06-19 Richard Frith-Macdonald <[email protected]>
* Source/Additions/GSInsensitiveDictionary.m:
* Source/NSKeyedUnarchiver.m:
* Source/NSXMLParser.m:
Fix rare memory management issues.
* Source/NSURL.m: Fix C-string termination issues
and a few dead assignments
* Source/NSOrderedSet.m: Fix ranged initialisation index errors
* Source/GSDictionary.m: Avoid excess copies of dictionary keys
* Source/NSPropertyList.m: Fix potential leaks
* Source/NSSortDescriptor.m: Fix potential use after dealloc
2024-06-18 Richard Frith-Macdonald <[email protected]>
* Headers/Foundation/NSDebug.h: Remove deprecated function and add
new function to turn on tracing objects of a specific class.
* Source/NSDebug.m: Fix locking issues when recording object allocation.
Fix bug removing recoded objects. Implement tracing recorded object
allocation with stack trace (also option to veto recording of
individual objects).
* Source/GSFileHandle.m: Fix memory leak found using changes above.
2024-06-10 Marco Rebhan <[email protected]>
* Headers/Foundation/NSFileManager.h:
* Source/NSFileManager.m:
Implement -[NSFileManager URLsForDirectory:inDomains:].
2024-06-10 Richard Frith-Macdonald <[email protected]>
* Source/GSFileHandle.m: debug log of closing a closed file handle
rather than raising exception (reported by Wolfgang).
2024-05-31 Hugo Melder <[email protected]>
* Source/NSPredicate.m:
* Tests/base/NSPredicate/basic.m:
Improve implementation of BETWEEN operator in NSPredicate
for data types other than NSNumber. Proper support
for constant values.
2024-05-18 Hugo Melder <[email protected]>
* Source/NSString.m:
* Headers/Foundation/NSString.h:
* Tests/base/NSString/enumerateLinesUsingBlock.m:
Implemented -[NSString enumerateLinesUsingBlock:].
2024-04-30 Richard Frith-Macdonald <[email protected]>
* Headers/Foundation/NSObject.h:
* Headers/GNUstepBase/GSLock.h:
* Headers/GNUstepBase/NSLock+GNUstepBase.h:
* Source/Additions/GNUmakefile:
* Source/Additions/GSLock.m:
* Source/Additions/NSError+GNUstepBase.m:
* Source/Additions/NSLock+GNUstepBase.m:
* Source/Additions/NSObject+GNUstepBase.m:
* Source/Additions/Unicode.m:
* Source/DocMakefile:
* Source/GSLocale.m:
* Source/NSDistributedNotificationCenter.m:
* Source/NSFileManager.m:
* Source/NSHTTPCookieStorage.m:
* Source/NSKeyValueObserving.m:
* Source/NSLog.m:
* Source/NSObject.m:
* Source/NSPortNameServer.m:
* Source/NSTask.m:
* Source/NSThread.m:
* Source/NSURLCache.m:
* Source/NSURLCredentialStorage.m:
* Source/ObjectiveC2/properties.m:
Remove deprecated locking code. Use lightweight and more fine-grained
locking for simple cases protecting short regions. Retain a global
lock for more complex siutations where there is a significant chance of
deadlock.
2024-04-26 Richard Frith-Macdonald <[email protected]>
* ChangeLog: Update for new release
* ANNOUNCE:
* NEWS:
* Documentation/ReleaseNotes.gsdoc:
* Documentation/news.texi:
Update release notes for 1.30.0 release.
* Version: bump to 1.30.0
2024-04-29 Doug Simons <[email protected]>
* NSXMLNode.m:
Fix execute_xpath() to return an NSError when xpath expression can't
be evaluated instead of just calling NSLog.
* NSXMLElement.m:
Fix setAttributes: and setAttributesWithDictionary: to remove previous
attributes.
2024-05-12 ethanc8R (github user)
* Headers/Foundation/NSRegularExpression.h:
* Headers/Foundation/NSString.h:
* Source/NSRegularExpression.m:
* Source/NSString.m:
* Tests/base/NSString/enumerateSubstringsInRange.m:
Added regular expression search methods.
2024-05-08 Hugo Melder <[email protected]>
* Source/NSIndexSet.m:
* Tests/base/NSIndexSet/enumerateRanges.m:
Implement enumerateRangesInRange convenience methods
and tests.
2024-05-07 Hugo Melder <[email protected]>
* Source/NSURLSession.m:
_NSURLProtocolClient did not call completion handlers
in task:didFailWithError:.
Removed extraneous runtime calls.
2024-04-28 Richard Frith-Macdonald <[email protected]>
* Source/GSPrivate.h:
* Source/NSLock.m:
* Source/NSPathUtilities.m:
Fix for bug #399 ... the problem occurred becaause gnustep_global_lock
does not exist until +initialize is called on NSObject so in the path
utilities function the -lock message as sent to nil and the -unlock
message as sent to the lock.
The change adds a new GSPrivateGlobalLock() function to reliably return
a recursive lock, and alters the NSPathUtilities code to use it instead
of gnustep_global_lock (we should probably do that elsewhere too).
2024-04-15 Frederik Seiffert <[email protected]>
* Source/NSObject.m: add +[NSObject _TrivialAllocInit] to enable
fast-path alloc / init methods with libobjc2 2.2.
2024-04-02 Richard Frith-Macdonald <[email protected]>
* Source/NSURLSession.m: fix for #385
2024-03-11 Richard Frith-Macdonald <[email protected]>
* Source/NSNotificationCenter.m: Ensure class pointer is initialised
before use (git issue #381).
2024-03-10 Hugo Melder <[email protected]>
* Headers/Foundation/NSDate.h:
* Source/NSDate.m:
Added the +[NSDate now] constructor, which was introduced
in macOS 10.15.
2024-03-04 Richard Frith-Macdonald <[email protected]>
* Source/NSJSONSerialization.m: Fix leak reported by Larry Campbell
git issue #377
2024-02-20 Richard Frith-Macdonald <[email protected]>
* Source/NSUserDefaults.m: Move posting of notification outside lock
protected region to avoid deadlock.
2024-02-16 Richard Frith-Macdonald <[email protected]>
* Source/NSData.m: fix for #361
2024-02-13 Richard Frith-Macdonald <[email protected]>
* Source/GSFileHandle.m:
* Source/GSNetwork.h:
* Source/GSSocketStream.m:
* Source/GSStream.m:
* Source/NSMessagePort.m:
* Source/NSSocketPort.m:
Improve handling of error responses from socket operations and tweak
behavior in windows to try to recognise end of connection more reliably.
2024-02-13 Richard Frith-Macdonald <[email protected]>
* Source/NSError.m: Make -description and -localizedDescription formats
2024-02-12 Richard Frith-Macdonald <[email protected]>
* Source/NSException.m: Prefer objc_set_unexpected() to the older
_objc_unexpected_exception for setting handler. Should cure problem
where _objc_unexpected_exception exists in library but not header.
2024-02-11 Richard Frith-Macdonald <[email protected]>
* Headers/Foundation/NSURLProtocol.h:
* Source/GSEasyHandle.m:
* Source/GSHTTPURLProtocol.m:
* Source/GSNativeProtocol.m:
* Source/NSURLProtocol.m:
* Source/NSURLSession.m:
Add +canInitWithTask: and altered code to differentiate between
protocols which can be used with NSURLConnection and those which
can be used with NSURLSession to fix #302
2024-02-11 Richard Frith-Macdonald <[email protected]>
* Source/NSLocale.m: (+canonicalLocaleIdentifierFromString:)
Fix for #368 ... then check for presence of huphen...underscore script
identifier and delete it, as suggested by the existing comments.
Avoids the exception.
* Tests/base/NSLocale/general.m: Simple testcase
2024-02-02 Richard Frith-Macdonald <[email protected]>
Source/NSString.m: Return empty string of correct class when loading
from an empty file or URL.
Source/Additions/GSMime.m: minor optimisation usng more efficient
method to append headers to mutable data object.
2024-02-01 Frederik Seiffert <[email protected]>
* Source/NSProcessInfo.m:
* Headers/Foundation/NSProcessInfo.h:
Initialize Android process with current locale and system time zone.
2024-02-01 Frederik Seiffert <[email protected]>
* Source/NSLocale.m: Fix -countryCode incorrectly returning language
code.
2024-01-30 Richard Frith-Macdonald <[email protected]>
* Source/GSFileHandle.m:
* Source/GSPrivate.h:
* Source/GSSocketStream.m:
* Source/GSStream.m:
* Source/unix/GSRunLoopCtxt.m:
Make GSTcpTune options available to streams as well as file handles.
Improve debug logging for streasm operations.
Schedule streams in run loop on conclusion of TLS handshake (so we get
events telling us to start again after a blocked write).
2024-01-29 Richard Frith-Macdonald <[email protected]>
* Source/NSOperation.m: patch for issue #366 by Larry Campbell.
2024-01-28 Richard Frith-Macdonald <[email protected]>
* Source/NSJSONSerialization.m: Fix for issue #365 ... don't try to
create a string ending with the first half of a unicode surrogate pair.
2024-01-08 Richard Frith-Macdonald <[email protected]>
* Source/NSNotificationCenter.m: fix for memory leak should keep the
observer retained until removed.
2023-12-21 Richard Frith-Macdonald <[email protected]>
* Tools/AGSParser.m: Replace GS_GENERIC macros in method types etc
with the basic type name.
* Tools/AGSIndex.h:
* Tools/AGSIndex.m: Create index of all authors in the project
2023-12-09 Richard Frith-Macdonald <[email protected]>
* Source/objc-load.m:
* Source/GSPrivate.h:
In GSPrivateSymbolPath() check for dladdr returning argv[0] as the
file path, and map it to the path of the executable so bundle checks
for the location of the file containing the code can work consistently.
2023-12-09: Hugo Melder <[email protected]>
* Source/NSNull.m:
Implement valueForUndefinedKey: and always return the NSNull singleton
object.
* Tests/base/KVC/nsnull.m:
Test for various KVC interactions with NSNull.
* Tests/base/NSPredicate/nsnull.m:
Test if predicate evaluation on collections with NSNull objects works.
2023-12-06 Daniel Boyd <[email protected]>
* Source/NSDecimal.m:
For compare, handle the case where one or both operands are zero.
* Tests/base/NSNumber/test03.m: add tests
2023-12-05 Richard Frith-Macdonald <[email protected]>
* Source/NSMessagePort.m:
* Source/NSSocketPort.m:
Remove obsolete restriction on DO message length. Add exception handler
to invalidate port if we are unable to allocate more memory for a very
large port message.
2023-11-23 Richard Frith-Macdonald <[email protected]>
* Source/NSBundle.m:
* Source/GSPrivate.h:
* Headers/Foundation/NSBundle.m:
Make +bundleForLibrary:version: behavior match documenation.
Make +bundleForClass: call new private method to get library name
and version, warnign if version cannot be determined.
Mark +bundleForLibrary: as deprecated since we want a version.
2023-11-21 Richard Frith-Macdonald <[email protected]>
* Source/objc-load.m: Fix to get library path in standardised form to
match code for getting executable path.
2023-11-21 Richard Frith-Macdonald <[email protected]>
* Headers/GNUstepBase/GSVersionMacros.h: Added GS_UNIMPLEMENTED to
mark methods and functions as unimplemented for compiler warnings
and documentation. github #350
2023-11-14 Frederik Seiffert <[email protected]>
* Source/NSURLRequest.m: Support deleting NSMutableURLRequest headers by
calling setValue:forHTTPHeaderField: with nil value.
* Headers/Foundation/NSURLRequest.h: Update method documentation.
* Tests/base/NSURLRequest/basic.m: Extended NSMutableURLRequest tests.
2023-11-14 Richard Frith-Macdonald <[email protected]>
* Source/NSFileManager.m: Fix issue #292
* Tests/base/NSFileManager/general.m: test for enumerator at URL
* Source/NSNotificationCenter.m: fix indentation/style errors
* Headers/GNUstepBase/GSBlocks.h: Add new macros for calling blocks
which return a value.
2023-11-14 Richard Frith-Macdonald <[email protected]> Riccardo Mottola <[email protected]>
* Documentation/Base.gsdoc:
* Documentation/ReleaseNotes.gsdoc:
* Documentation/install.texi:
* Headers/Foundation/NSBundle.h:
* Headers/Foundation/NSCalendar.h:
* Headers/Foundation/NSDate.h:
* Headers/Foundation/NSDateFormatter.h:
* Headers/Foundation/NSExpression.h:
* Headers/Foundation/NSMetadata.h:
* Headers/Foundation/NSNetServices.h:
* Headers/Foundation/NSObject.h:
* Headers/Foundation/NSOperation.h:
* Headers/Foundation/NSRegularExpression.h:
* Headers/Foundation/NSSortDescriptor.h:
* Headers/Foundation/NSURLConnection.h:
* Headers/Foundation/NSURLDownload.h:
* Headers/Foundation/NSUserDefaults.h:
* Headers/Foundation/NSZone.h:
* Headers/GNUstepBase/GSObjCRuntime.h:
* Headers/GNUstepBase/GSVersionMacros.h:
* Headers/GNUstepBase/NSLock+GNUstepBase.h:
* Headers/GNUstepBase/NSObject+GNUstepBase.h:
* Source/Additions/GSObjCRuntime.m:
* Source/DocMakefile:
* Source/GSInvocation.h:
* Source/GSPrivate.h:
* Source/GSTLS.m:
* Source/NSAppleEventDescriptor.m:
* Source/NSAppleEventManager.m:
* Source/NSAppleScript.m:
* Source/NSCallBacks.h:
* Source/NSCountedSet.m:
* Source/NSDateComponentsFormatter.m:
* Source/NSDateInterval.m:
* Source/NSDateIntervalFormatter.m:
* Source/NSDictionary.m:
* Source/NSExtensionContext.m:
* Source/NSExtensionItem.m:
* Source/NSFileVersion.m:
* Source/NSHFSFileTypes.m:
* Source/NSItemProvider.m:
* Source/NSItemProviderReadingWriting.m:
* Source/NSLinguisticTagger.m:
* Source/NSMetadata.m:
* Source/NSMetadataAttributes.m:
* Source/NSNotificationCenter.m:
* Source/NSObjectScripting.m:
* Source/NSPathUtilities.m:
* Source/NSProgress.m:
* Source/NSRunLoop.m:
* Source/NSScriptClassDescription.m:
* Source/NSScriptCoercionHandler.m:
* Source/NSScriptCommand.m:
* Source/NSScriptCommandDescription.m:
* Source/NSScriptExecutionContext.m:
* Source/NSScriptKeyValueCoding.m:
* Source/NSScriptObjectSpecifiers.m:
* Source/NSScriptStandardSuiteCommands.m:
* Source/NSScriptSuiteRegistry.m:
* Source/NSUserActivity.m:
* Source/NSUserScriptTask.m:
* Source/NSXMLDocument.m:
* Source/NSXMLNode.m:
* Source/objc-load.h:
* Tools/AGSHtml.h:
* Tools/AGSHtml.m:
* Tools/AGSIndex.h:
* Tools/AGSIndex.m:
* Tools/AGSOutput.m:
* Tools/AGSPme.arser.h:
* Tools/AGSParser.m:
* Tools/DocMakefile:
* Tools/autogsdoc.m:
* Tools/gsdoc-1_0_4.dtd:
Autogsdoc changes to avoide parser being confused by ObjectiveC-2
features. Automatic generation for the setter/getter methods of
properties. Various fixes and cleanups in documentation generation.
Many tweaks to correct documentation errors in comments etc.
2023-11-14 Richard Frith-Macdonald <[email protected]>
* configure.ac: Add check for closefrom()
* configure: regenerate
* Headers/GNUstepBase/config.h.in: regenerate
* Source/NSTask.m: Use closefrom() to close descriptors in child
process if it is available.
2023-10-26 Richard Frith-Macdonald <[email protected]>
* Source/NSISO8601DateFormatter.m:
* Tests/base/NSDateFormatter/NSISO8601DateFormatter.m:
Add a couple of testcases, tidy up source code formatting, and make
fix for github issue #339 as suggested by kevinpeizner
2023-10-10 Richard Frith-Macdonald <[email protected]>
* Source/GSPrivate.h: New method to set up system error information.
* Source/Additions/NSError+GNUstepBase.m: Implement method.
* Source/NSTask.m(launchAndReturnError:): Return an error if the
path to launch in does not exist, is not a directory or is not
accessible.
2023-10-09 Wolfgang Lux <[email protected]>
* Source/NSTask.m(launchAndReturnError:): Use _exit instead of
exit to terminate the vfork'ed process. This avoids running the
atexit handlers, which could have visible side effects in the
parent process.
2023-10-08 Richard Frith-Macdonald <[email protected]>
* Source/NSPredicate.m: fixup for array access keywords
* Tests/base/NSPredicate/basic.m: add simple testcases for array
2023-10-07 Gregory John Casamento <[email protected]>
* Headers/Foundation/NSKeyValueObserving.h
* Source/NSKeyValueObserving.m: Add nethods
removeObserver:forKeyPath:context: and
removeObserver:forObjectsAtIndexes:forKeyPath:context:
* Tests/base/KVC/mutable.m: Add tests for the above
methods.
2023-08-18 Richard Frith-Macdonald <[email protected]>
* Headers/Foundation/NSCache.h: Add _lock ivar
* Source/NSCache.m: Protect cache operations with a lock for
thread safety.
2023-08-10 Frederik Seiffert <[email protected]>
* Headers/Foundation/NSNumberFormatter.h:
* Source/NSNumberFormatter.m:
Change NSNumberFormatter minimum/maximum properties from
NSDecimalNumber to NSNumber to match Apple platforms.
2023-07-30 Yavor Doganov <[email protected]>
* Tools/HTMLLinker.1: Fix a groff warning.
2023-07-30 Yavor Doganov <[email protected]>
* Tools/gdnc.m ([GDNCServer init]):
* Tools/gspath.1: Fix spelling errors.
2023-07-26 Frederik Seiffert <[email protected]>
* Source/NSData.m:
Fix NSData initWithContentsOfURL: caching data of file URLs.
2023-07-26 Frederik Seiffert <[email protected]>
* Source/NSURL.m:
* Tests/base/NSURL/basic.m:
Fix NSURL path on Windows for UNC paths.
2023-07-25 Frederik Seiffert <[email protected]>
* Headers/Foundation/NSFileManager.h:
* Source/NSFileManager.m:
Fixed NSFileManager thread safety.
2023-07-17 Yavor Doganov <[email protected]>
* Tests/base/NSTimeZone/localtime.m (testTZDB): Skip tests relying
on 64bit time_t on all 32bit architectures.
* Source/NSTimeZone.m: Move #include "tzdb.h" a bit earlier so
that the POSIX_TZONES preprocessor conditional is correct.
([GSTimeZoneDetail
initWithTimeZone:withAbbrev:withOffset:withDST:]): Retain abbrev.
([GSTimeZoneDetail dealloc]): Release abbrev.
([NSTimeZone timeZoneArray]): Skip files *.zi, *.list and
leapseconds which are not zone files.
2023-06-10 Riccardo Mottola <[email protected]>
* Tests/base/NSURL/Helpers/Launch.h:
Declare method in interface to provide accurate signature fixing
bug on sparc 64
2023-06-26 Richard Frith-Macdonald <[email protected]>
* Source/GSHTTPURLHandle.m: close socket if we end loading with an
I/O operation in progress.
2023-06-15 Richard Frith-Macdonald <[email protected]>
* Source/GSFileHandle.m: Fix to reliably remove handle from run loop
when -dealloc is called without the handle having been closed first.
2023-05-08 Richard Frith-Macdonald <[email protected]>
* Tools/AGSParser.m: Add support for OSX version numbers up to 15
(and fix version 9).
2023-05-04 Frederik Seiffert <[email protected]>
* Source/NSOrderedSet.m: Fix keyed encoding to match Apple platforms.
2023-05-04 Richard Frith-Macdonald <[email protected]>
* Source/GSFileHandle.m: Ignore notificaton that a descriptor is
writable if we have nothing to be written.
2023-04-26 Frederik Seiffert <[email protected]>
* Tests/base/NSFileManager/general.m:
* Source/NSFileManager.m:
Add test for and fix -[NSFileManager contentsOfDirectoryAtURL:...]
implementation not working correctly if directory did not match
current working directory.
2023-04-13 Richard Frith-Macdonald <[email protected]>
* Source/NSSocketPort.m: set listening socket into non-blocking mode
if possible, so if multiple threads are using the same port we don't
get one thread blocked waiting for an accept which was handled by
another one.
2023-03-23 Richard Frith-Macdonald <[email protected]>
* Source/NSTimer.m: wrap call to block in exception handler (bug #289)
2023-01-13 Frederik Seiffert <[email protected]>
* Source/Additions/GSInsensitiveDictionary.m:
* Source/NSURLRequest.m:
* Source/NSURLResponse.m:
Fix NSURLSession header fields not always being matched case
insensitive.
2023-01-13 Frederik Seiffert <[email protected]>
* Source/GSEasyHandle.m:
* Source/GSMultiHandle.m:
* Source/GSTimeoutSource.h:
* Source/GSTimeoutSource.m:
* Source/NSURLSession.m:
Fix NSURLSession memory management of libdispatch objects.
* Source/GSHTTPURLProtocol.m:
Fix overrelease.
2023-01-13 Frederik Seiffert <[email protected]>
* Headers/Foundation/NSURLSession.h:
* Source/NSURLSession.m:
Add missing NSURLSession APIs.
2022-02-09 Richard Frith-Macdonald <[email protected]>
* Source/Additions/GSMime.m: ([GSMimeHeader setValue:]) do not set
type/subtype information if the content-type header value is not
in that format.
2022-01-01 Richard Frith-Macdonald <[email protected]>
* Source/GSHTTPURLHandle.m: fix incorrect close of socket at the end
of a successful request.
2022-01-08 Richard Frith-Macdonald <[email protected]>
* ChangeLog: Update for new release
* ANNOUNCE: