Skip to content

Commit b641bf1

Browse files
committed
New release
1 parent 3259018 commit b641bf1

File tree

5 files changed

+825
-706
lines changed

5 files changed

+825
-706
lines changed

ANNOUNCE

Lines changed: 6 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
1 Announcement
22
**************
33

4-
The GNUstep Base Library, version 1.30.0, is now available.
4+
The GNUstep Base Library, version 1.31.0, is now available.
55

66
1.1 What is the GNUstep Base Library?
77
=====================================
@@ -16,80 +16,22 @@ remote object messaging support (distributed objects), and event loops.
1616
portion of the OpenStep standard (the Foundation library).
1717

1818
There is more information available at the GNUstep homepage at
19-
'http://www.gnustep.org'.
19+
http://www.gnustep.org.
2020

21-
1.2 Noteworthy changes in version '1.30.0'
21+
1.2 Noteworthy changes in version 1.30.0
2222
==========================================
2323

24-
* Library version changed from 1.29 to 1.30
25-
26-
* autogsdoc (and many source/header files) updated for ObjC-2 support
27-
* gdnc gspath spelling error fixes
28-
* GSFileHandle remove handle from run loop when -dealloc is called
29-
* GSHTTPURLHandle close socket if we end loading with I/O in
30-
progress.
31-
* GSMimeDocimnet optimisations
32-
* GSPrivateSymbolPath() portability improvements
33-
* GSVersionMacros add GS_UNIMPLEMENTED to mark unimplemented methods
34-
* HTMLLinker man page groff warning fixed
35-
* Make GSTcpTune options available to streams as well as file handles
36-
and improve debug logging for stream operations.
37-
* NSBundle improvements in librarym bundle lookup
38-
* NSCache thread safety fix
39-
* NSData caching data of file URLs and OSX consistency tweak to
40-
permissions when writing file atomically
41-
* NSDate implements +now constructor.
42-
* NSDecimalNumber fix possible coimparison bug for zero values
43-
* NSError -description and -localizedDescription formats match OSX
44-
* NSException portability improvments
45-
* NSFileManager makeed safety fix and make enumerating a file URL
46-
return URLs rather than paths.
47-
* NSIndexSet implements enumerateRangesInRange convenience methods.
48-
* NSISO8601DateFormatter.m: bugfix for date/time string generation
49-
* NSJSONSerialization fix memory leak, fix issue with unicode
50-
surrogate pairs.
51-
* NSKeyValueObserving Add methods to remove observers
52-
* NSLocale Fix -countryCode incorrectly returning language code, fix
53-
for hyphen and underscore in locale identifier
54-
* NSMessagePort remove restriction on Distributed Objects message
55-
length
56-
* NSNotificationCenter fix for memory leak, minor bugfixes (use
57-
before initialise)
58-
* NSNull fix for -valueForUndefinedKey: to return singleton
59-
* NSNumberFormatter make minimum/maximum properties NSNumbers
60-
* NSObject optimise allocation with new runtime library
61-
* NSOperation fix occasional scheduling bug
62-
* NSOrderedSet Fix keyed encoding to match Apple platforms.
63-
* NSPathUtilities fix intialisation order deadlock.
64-
* NSPredicate fix for array access keywords
65-
* NSProcessInfo android support
66-
* NSString correct class used when loading empty string from
67-
file/URL, implements regular expression search methods.
68-
* NSTask return an error if the path to launch in is bad, use _exit
69-
to terminate forked process if needed, use closefrom() to close
70-
descriptors in child process if possible
71-
* NSTimer wrap call to block in exception handler (bug #289)
72-
* NSTimeZone improvements
73-
* NSURL Fix NSURL path on Windows for UNC paths.
74-
* NSURLRequest: Support deleting using setValue:forHTTPHeaderField:
75-
with nil value.
76-
* NSURLSession many bugfixes and improvements
77-
* NSUserDefaults fix potential deadlock
78-
* NSXMLElement bugfix to remove previous attributes when setting
79-
attributes.
80-
* NSXMLNode returns NSError on failure to evaluate xpath expression.
81-
8224
1.3 Where can you get it? How can you compile it?
8325
=================================================
8426

85-
The gnustep-base-1.30.0.tar.gz distribution file has been placed at
27+
The gnustep-base-1.31.0.tar.gz distribution file has been placed at
8628
<ftp://ftp.gnustep.org/pub/gnustep/core>.
8729

88-
It is accompanied by gnustep-base-1.30.0.tar.gz.sig, a PGP signature
30+
It is accompanied by gnustep-base-1.31.0.tar.gz.sig, a PGP signature
8931
which you can validate by putting both files in the same directory and
9032
using:
9133

92-
gpg --verify gnustep-base-1.30.0.tar.gz.sig
34+
gpg --verify gnustep-base-1.31.0.tar.gz.sig
9335

9436
Signature has been created using the key with the following
9537
fingerprint:

ChangeLog

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,12 @@
1+
2025-01-10 Richard Frith-Macdonald <[email protected]>
2+
3+
* ChangeLog: Update for new release
4+
* ANNOUNCE:
5+
* NEWS:
6+
* Documentation/ReleaseNotes.gsdoc:
7+
* Documentation/news.texi:
8+
Update release notes for 1.31.0 release.
9+
110
2025-01-04 Richard Frith-Macdonald <[email protected]>
211

312
* Headers/Foundation/NSRegularExpression.h:

Documentation/ReleaseNotes.gsdoc

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,69 @@ notice and this notice are preserved.
2727
migrate to using a newer version of the library.
2828
</p>
2929

30+
<section>
31+
<heading>Version 1.30.0</heading>
32+
<p>
33+
</p>
34+
35+
<p>Implementation of weak references for the GNU runtime, so that
36+
weak references are now supported/available in portable code, and
37+
in conjunction with NSPointerFunction fixes we now support weak
38+
references in NSMapTable, NSHashTable, and NSPointerArray as well
39+
as supporting automatic deregestration of deallocated observers
40+
in NSNotificationCenter.
41+
</p>
42+
<p>Autogsdoc updated to support modern CSS based HTML and provide
43+
simple diagrams of inheritence in the reference documentation.
44+
</p>
45+
<p>New experimental implementation of NSURLSession ... we still
46+
need work to replace non-portable (blocks dependent) code before
47+
it can be a supported class.
48+
</p>
49+
<p>New KeyValueObserving code for Clang and GNUstep runtime.
50+
</p>
51+
<p>Other new methods/features<br />
52+
BSByteOrder fixes for NSSwappedFloat and NSSwappedDouble<br />
53+
[NSDate] small object optimisation when using Clang<br />
54+
-[NSFileManager URLsForDirectory:inDomains:]<br />
55+
NSGeometry missing functions implemented<br />
56+
[NSInvocation] missing typedefs implemented<br />
57+
[NSOperation] threads are now named for easy identification<br />
58+
[NSPredicate] BETWEEN operator for more types<br />
59+
-[NSString enumerateLinesUsingBlock:]<br />
60+
[NSThread] priority support now working on Android<br />
61+
[NSString] NSRegularExpressionSearch option<br />
62+
[NSString] ICU collator cached for improved performance<br />
63+
-[NSURLRequest assumesHTTP3Capable]<br />
64+
-[NSURLRequest setAssumesHTTP3Capable:]<br />
65+
[NSUserDefaults] use bundle identifier rather than program name<br />
66+
[NSValue] edge insets added<br />
67+
-[NSZombie logZombie:]<br />
68+
</p>
69+
<p>Support for being built with the '-asan yes' command line option
70+
or the GNUSTEP_WITH_ASAN=1 environment variable setting. The library
71+
is also aware when it was not built with that option but is linked to
72+
an executable which was (and a few features which confuse the leak
73+
checker are turned off). In addition NSObject+GNUstepBase.h declares
74+
new methods for tracking the ownership of objects of a particular
75+
class (or individual instances) to help in identifying the cause of
76+
any leak found by the leak sanitizer.
77+
</p>
78+
<p>Many minor bugfixes and very, very many minor memory leaks fixed
79+
in both the library and the automated testcases.
80+
</p>
81+
<p>Removed deprecated locking code and changed many classes to use
82+
lightweight and more fine-grained locking for simple cases protecting
83+
short regions. We retain a global lock for more complex situations
84+
where there is a significant chance of deadlock.
85+
</p>
86+
<p>Several symbols (variables and functions) which were accidentally
87+
public have been made static or internal to the library.
88+
</p>
89+
<p>Updated to work with recent versions of autoconf.
90+
</p>
91+
</section>
92+
3093
<section>
3194
<heading>Version 1.30.0</heading>
3295
<p>

Documentation/news.texi

Lines changed: 54 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,60 @@ The currently released version of the library is
1111
See the @url{ReleaseNotes.html} document for more information.
1212
@end ifclear
1313

14-
@section Noteworthy changes in version @samp{1.30.0}
15-
16-
@itemize @bullet
14+
@section Noteworthy changes in version @samp{1.31.0}
15+
16+
@itemize @bullet
17+
@item Library version changed from 1.30 to 1.31
18+
@item Implementation of weak references for the GNU runtime, so that
19+
weak references are now supported/available in portable code, and
20+
in conjunction with NSPointerFunction fixes we now support weak
21+
references in NSMapTable, NSHashTable, and NSPointerArray as well
22+
as supporting automatic deregestration of deallocated observers
23+
in NSNotificationCenter.
24+
@item Autogsdoc updated to support modern CSS based HTML and provide
25+
simple diagrams of inheritence in the reference documentation.
26+
@item New experimental implementation of NSURLSession ... we still
27+
need work to replace non-portable (blocks dependent) code before
28+
it can be a supported class.
29+
@item New KeyValueObserving code for Clang and GNUstep runtime.
30+
@item Other new methods/features
31+
@itemize @minus{}
32+
33+
@item BSByteOrder fixes for NSSwappedFloat and NSSwappedDouble
34+
@item [NSDate] small object optimisation when using Clang
35+
@item -[NSFileManager URLsForDirectory:inDomains:]
36+
@item NSGeometry missing functions implemented
37+
@item [NSInvocation] missing typedefs implemented
38+
@item [NSOperation] threads are now named for easy identification
39+
@item [NSPredicate] BETWEEN operator for more types
40+
@item -[NSString enumerateLinesUsingBlock:]
41+
@item [NSThread] priority support now working on Android
42+
@item [NSString] NSRegularExpressionSearch option
43+
@item [NSString] ICU collator cached for improved performance
44+
@item -[NSURLRequest assumesHTTP3Capable]
45+
@item -[NSURLRequest setAssumesHTTP3Capable:]
46+
@item [NSUserDefaults] use bundle identifier rather than program name
47+
@item [NSValue] edge insets added
48+
@item -[NSZombie logZombie:]
49+
@end itemize
50+
51+
@item Support for being built with the '-asan yes' command line option
52+
or the GNUSTEP_WITH_ASAN=1 environment variable setting. The library
53+
is also aware when it was not built with that option but is linked to
54+
an executable which was (and a few features which confuse the leak
55+
checker are turned off). In addition NSObject+GNUstepBase.h declares
56+
new methods for tracking the ownership of objects of a particular
57+
class (or individual instances) to help in identifying the cause of
58+
any leak found by the leak sanitizer.
59+
@item Many minor bugfixes and very, very many minor memory leaks fixed
60+
in both the library and the automated testcases.
61+
@item Removed deprecated locking code and changed many classes to use
62+
lightweight and more fine-grained locking for simple cases protecting
63+
short regions. We retain a global lock for more complex situations
64+
where there is a significant chance of deadlock.
65+
@item Several symbols (variables and functions) which were accidentally
66+
public have been made static or internal to the library.
67+
@item Updated to work with recent versions of autoconf.
1768

1869
@end itemize
1970

0 commit comments

Comments
 (0)