Skip to content

Commit 958dec0

Browse files
committed
release-chore: Release 1.27.0.
Version has been previously bumped; this commit updates release documentation.
1 parent 3e806f9 commit 958dec0

File tree

5 files changed

+646
-120
lines changed

5 files changed

+646
-120
lines changed

ANNOUNCE

Lines changed: 144 additions & 34 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.26.0, is now available.
4+
The GNUstep Base Library, version 1.27.0, is now available.
55

66
1.1 What is the GNUstep Base Library?
77
=====================================
@@ -18,45 +18,155 @@ portion of the OpenStep standard (the Foundation library).
1818
There is more information available at the GNUstep homepage at
1919
'http://www.gnustep.org'.
2020

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

24-
* Improve utf8 validity checks.
25-
* Make point and size subclasses for NSValue interchangable.
26-
* Add support for TLS SNI. Always request certificate from client and
27-
update certificates after 5 minutes.
28-
* Don't write deprecated fields to desktop link file.
29-
* Use NSLock instead of GSLazyLock and other improvements for
30-
multithreaded processes.
31-
* Clean up of NSString cluster.
32-
* Update NSAssert() and NSCAssert() to handle variable arguments (as
33-
OSX has done) and mark the numbered macros as obsolete.
34-
* Various improvements in tests.
35-
* Require ICU >= 50.
36-
* ICU is now detected using pkg-config.
37-
* Improve XML parsing.
38-
* Make NSXMLNode ivar a union representing different types, instead
39-
of assuming it will contain different underlying class types in
40-
different contexts. This is important for the new libobjc2 ABI.
41-
* OSX compatibility changes to NSURL.
42-
* NSFileManager call error handle on missing file.
43-
* Dummy spinlock implementation for platforms that don't support it.
44-
* Internationalization improvements: Japanese translation, Turkish
45-
translation, Polish translation.
46-
* Various improvements for new libobjc2 "v2 ABI", including things
47-
like a new NSConstantString implementation, making
48-
GS_REPLACE_CONSTANT_STRING a noop with the new ABI, etc.
49-
* Improvements for stack traces, exception handling and dead lock
50-
detection.
51-
* Other more minor bugfixes and cleanups. Many found by Coverity
52-
scan results.
53-
* As usual, this release also contains an update to include the most
54-
recent international timezone data.
24+
Aside from an assortment of bugfixes, this release includes a lot of
25+
improvements for Android support as well as numerous new classes and
26+
methods.
27+
28+
* Expose GNU TLS wrappers and add methods to get certificate expiry.
29+
* Improve thread safety when using zombies, particularly on
30+
statup/shutdown.
31+
* Improvements for Ukrainian localization.
32+
* Decreased ICU requirements to 49 to support Windows 2000.
33+
* Simplifications and fixes in GSPrivateSymbolPath().
34+
* GSMime improvements (word encoding specifier, utf-8 improvements
35+
encoding quoted words with multibyte characters)
36+
* NSJSONSerialization fixes for codepoints over 0x7f.
37+
* NSCharacterSet support for URL*AllowedCharacterSet and declarations
38+
for new character sets.
39+
* NSString implementations for new methods
40+
stringByRemovingPercentEncoding/
41+
stringByAddingPercentEncodingWithAllowedCharacterSet:.
42+
* Fixed a crash in gdomap when an invalid hostname is given for the
43+
-M option.
44+
* In NSString.m, removed functions urldecode() and ishex() which were
45+
mistakenly neither namespaced nor declared static and thus could
46+
have conflicted with non-library code.
47+
* Fixed libdispatch configuration switch so -enable-libdispatch works
48+
correctly; correctly checking for HAVE_LIBDISPATCH_RUNLOOP.
49+
* Updated libdispatch runloop integration so it is compatible with
50+
Swift's corelibs libdispatch release (from
51+
github.com/apple/swift-corelibs-libdispatch). The libdispatch must
52+
be compiled with INSTALL_PRIVATE_HEADERS=YES.
53+
* In NSThread, spinlocks implemented using builtins to be able to
54+
target platforms without pthread_spin_lock(), such as Android
55+
targeting API level < 24.
56+
* In NSLog on Android, send logs to syslog.
57+
* Implementation of NSOrderedSet.
58+
* When ./configuring, link against libandroid on Android.
59+
* In NSBundle, allow integrating with Android asset manager using
60+
+[NSBundle setJavaAssetManager:withJNIEnv:], enabling use of
61+
mainBundle's pathForResource:ofType:, -URLForResource:ofType: and
62+
similar; referencing Info.plist if it exists in Android assets; use
63+
of NSFileManager's fileExistsAtPath: et al and
64+
isReadableFileAtPath:; reading files using NSFileHandle APIs; use
65+
of NSDirectoryEnumerator to enumerate Android assets from the main
66+
bundle.
67+
* In NSBundle, localization support on Android.
68+
* In NSProcessInfo, automatic initialization on Android using a fake
69+
executable path (/data/data/<app identifier>/Resources).
70+
* In NSData, improvements in reading Android assets.
71+
* Various improvements in the mechanism to report memory usage of
72+
individual objects.
73+
* Skeletal implementation of NSUbiquitousKeyValueStore.
74+
* Implementation of NSByteCountFormatter.
75+
* Fixes to writing large HTTPS requests (GSSocketStream,
76+
NSURLProtocol).
77+
* In gdomap.c, fix detection of local networks.
78+
* In NSArray's -removeObjectsInArray:, prevent some crashes.
79+
* In GSTLS, avoid setting session priority twice.
80+
* In NSFileHandle, fix so that setting certificate information does
81+
not discard any other options already set.
82+
* In GSXML's -fatalErrorFunction, use the correct function to get the
83+
line number.
84+
* In NSOperation's _execute, ensure lock gets released on an error by
85+
surrounding with NS_DURING.
86+
* Generics support in NSHashTable.
87+
* Implementation of NSProgress.
88+
* Skeleton implementation of NSURLComponents.
89+
* In NSSortDescriptor, added
90+
-sortDescriptorWithKey:ascending:descending:.
91+
* In NSOperationQueue, added -addOperationWithBlock.
92+
* In NSFileManager, added
93+
-URLForDirectory:inDomain:appropriateForURL:create:error: and
94+
-enumeratorAtURL:includingPropertiesForKeys:options:errorHandler:.
95+
Also added NSItemReplacementDirectory constant, and updated stub
96+
implementation for -URLForDirectory:shouldCreate:error:. Added
97+
-initWithDirectoryPath:... with additional parameters skipHidden
98+
and errorHandler.
99+
* In NSDictionary, fixed keysSortedByValueUsingComparator:.
100+
* Moved NSFileWrapper from -gui to -base.
101+
* Added NSFilePresenter, NSFileVersion and NSFileCoordinator.
102+
* Added NSPersonComponents and NSPersonNameComponentsFormatter.
103+
* Added units of measurement classes such as NSUnit, NSMeasurement,
104+
NSMeasurementFormatter, NSEnergyFormatter, NSLengthFormatter,
105+
NSMassFormatter.
106+
* In NSUnit, support for NSUnitArea, NSUnitConcentrationMass,
107+
NSUnitDispersion, NSUnitElectricCharge, NSUnitIlluminance,
108+
NSUnitElectricCurrent, NSUnitElectricPotentionDifference,
109+
NSElectricResistance, NSUnitMass, NSUnitEnergy, NSUnitFrequency,
110+
NSUnitPower, NSUnitSpeed, NSUnitFuelEfficiency, NSUnitPressure,
111+
NSUnitVolume, NSUnitLength.
112+
* Support for data directory on Android introduces
113+
GSInitializeProcessAndroid and makes use of the path returned by
114+
Context.getFilesDir() as the basis for storing data (e.g.
115+
NSUserDefaults) and when querying for directory paths
116+
(NSLibraryDirectory, NSApplicationSupportDirectory, etc.).
117+
* Placeholder NSScript* classes. Added NSUserActivity,
118+
NSObjectScripting, NSHFSFileTypes, NSAppleEventManager and
119+
NSAppleEventDescriptor.
120+
* Added NSDateInterval intersectionWithDateInterval:.
121+
* Added NSBackgroundActivityScheduler.
122+
* Added NSISO8601DateFormatter and NSMetadataAttributes.
123+
* Added NSOrtogrpahy and NSLinguisticTagger.
124+
* Added NSExtensionItem, NSExtensionContext,
125+
NSExtensionRequestHandling, and NSItemProvider and
126+
NSItemProviderReadingWriting.
127+
* Updated timezone info for NSTimeZones.
128+
* On Android, support for NSTemporaryDirectory to use
129+
Context.getCacheDir(), and cleaning it up in
130+
GSInitializeProcessAndroid() given there is no support for temp
131+
directory before Android API 26. Also used with NSCachesDirectory
132+
+ NSUserDomainMask.
133+
* NSXPCConnection fixes.
134+
* NSException symbolication support using libunwind (used when
135+
backtrace() is unavailable).
136+
* Travis build improvements to use new runloop integration and
137+
gnustep-2.0 runtime.
138+
* In NSKeyValueObserving, implement two missing methods for NSArray:
139+
-addObserver:options:context: and
140+
-removeObserver:fromObjectsAtIndexes:forKeyPath:.
141+
* Updated NSUUID to use instancetype.
142+
* Added support for NSDate constants in NSPredicate.
143+
* Fixed a NSTimer bug with blocks.
144+
* In GSTLS, do not put password in the hash key of the credentials,
145+
and to avoid logging it when debugging is on.
146+
* Improvements in NSConcreteHashTable and NSConcreteMapTable.
147+
* In various places, switch away from deprecated
148+
CREATE_AUTORELEASE_POOL() to use the ARC-compatible ENTER_POOL and
149+
LEAVE_POOL macros.
150+
* When building the list of hosts to be probed to see if they have
151+
gdomap servers, fix code to include those explicitly defined in the
152+
config file. Add -S option to list the addresses of the known
153+
gdomap servers.
154+
* Backward compatibility fix for ICU 65.
155+
* Update GSPrivateSymbolPath() so that, on the path where
156+
LINKER_GETSYMBOL is not available, we attempt to lookup classes
157+
using the prefix ._OBJC_CLASS_ for the 2.0 ABI (earlier ABIs use a
158+
prefix of __objc_class_name_ for the class definition.
159+
* Fix parsing of NSURLResponse content type header.
160+
* Fix for class lookup when using the 2.0 ABI.
161+
* Fixed NSURLComponents setURL: throwing exceptions when URL didn't
162+
have all expected parts caused by rangeOfString: throwing for nil
163+
values.
164+
* Added NSURLQueryItem implementation.
55165

56166
1.3 Where can you get it? How can you compile it?
57167
=================================================
58168

59-
The gnustep-base-1.26.0.tar.gz distribution file has been placed at
169+
The gnustep-base-1.27.0.tar.gz distribution file has been placed at
60170
<ftp://ftp.gnustep.org/pub/gnustep/core>.
61171

62172
Please log bug reports on the GNUstep project page

ChangeLog

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,11 @@
1+
2020-04-05 Ivan Vucica <[email protected]>
2+
3+
* ANNOUNCE:
4+
* NEWS:
5+
* Documentation/ReleaseNotes.gsdoc:
6+
* Documentation/news.texi:
7+
Update release notes for 1.27.0.
8+
19
2020-03-29 Frederik Seiffert <[email protected]>
210

311
* Source/NSThread.m: Use pthread_setname_np result instead of errno,

Documentation/ReleaseNotes.gsdoc

Lines changed: 135 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ notice and this notice are preserved.
1818
</author>
1919
<version>$Revision$</version>
2020
<date>$Date$</date>
21-
<copy>2005,2006 Free Software Foundation, Inc.</copy>
21+
<copy>2005-2020 Free Software Foundation, Inc.</copy>
2222
</head>
2323
<body>
2424
<chapter>
@@ -29,6 +29,140 @@ notice and this notice are preserved.
2929
migrate to using a newer version of the library.
3030
</p>
3131

32+
<section>
33+
<heading>Version 1.27.0</heading>
34+
<p>
35+
Aside from an assortment of bugfixes, this release includes a lot of
36+
improvements for Android support as well as numerous new classes and methods.
37+
</p>
38+
<p>
39+
Expose GNU TLS wrappers and add methods to get certificate expiry.<br />
40+
Improve thread safety when using zombies, particularly on statup/shutdown.<br />
41+
Improvements for Ukrainian localization.<br />
42+
Decreased ICU requirements to 49 to support Windows 2000.<br />
43+
Simplifications and fixes in GSPrivateSymbolPath().<br />
44+
GSMime improvements (word encoding specifier, utf-8 improvements encoding
45+
quoted words with multibyte characters)<br />
46+
NSJSONSerialization fixes for codepoints over 0x7f.<br />
47+
NSCharacterSet support for URL*AllowedCharacterSet and declarations for
48+
new character sets.<br />
49+
NSString implementations for new methods stringByRemovingPercentEncoding/
50+
stringByAddingPercentEncodingWithAllowedCharacterSet:.<br />
51+
Fixed a crash in gdomap when an invalid hostname is given for the -M
52+
option.<br />
53+
In NSString.m, removed functions urldecode() and ishex() which were
54+
mistakenly neither namespaced nor declared static and thus could have conflicted
55+
with non-library code.<br />
56+
Fixed libdispatch configuration switch so --enable-libdispatch works
57+
correctly; correctly checking for HAVE_LIBDISPATCH_RUNLOOP.<br />
58+
Updated libdispatch runloop integration so it is compatible with Swift's
59+
corelibs libdispatch release (from github.com/apple/swift-corelibs-libdispatch).
60+
The libdispatch must be compiled with INSTALL_PRIVATE_HEADERS=YES.<br />
61+
In NSThread, spinlocks implemented using builtins to be able to target
62+
platforms without pthread_spin_lock(), such as Android targeting API level &lt; 24.<br />
63+
In NSLog on Android, send logs to syslog.<br />
64+
Implementation of NSOrderedSet.<br />
65+
When ./configuring, link against libandroid on Android.<br />
66+
In NSBundle, allow integrating with Android asset manager using +[NSBundle
67+
setJavaAssetManager:withJNIEnv:], enabling use of mainBundle's
68+
pathForResource:ofType:, -URLForResource:ofType: and similar; referencing
69+
Info.plist if it exists in Android assets; use of NSFileManager's
70+
fileExistsAtPath: et al and isReadableFileAtPath:; reading files using
71+
NSFileHandle APIs; use of NSDirectoryEnumerator to enumerate Android assets from
72+
the main bundle.<br />
73+
In NSBundle, localization support on Android.<br />
74+
In NSProcessInfo, automatic initialization on Android using a fake
75+
executable path (/data/data/&lt;app identifier&gt;/Resources).<br />
76+
In NSData, improvements in reading Android assets.<br />
77+
Various improvements in the mechanism to report memory usage of individual
78+
objects.<br />
79+
Skeletal implementation of NSUbiquitousKeyValueStore.<br />
80+
Implementation of NSByteCountFormatter.<br />
81+
Fixes to writing large HTTPS requests (GSSocketStream, NSURLProtocol).<br />
82+
In gdomap.c, fix detection of local networks.<br />
83+
In NSArray's -removeObjectsInArray:, prevent some crashes.<br />
84+
In GSTLS, avoid setting session priority twice.<br />
85+
In NSFileHandle, fix so that setting certificate information does not
86+
discard any other options already set.<br />
87+
In GSXML's -fatalErrorFunction, use the correct function to get the line
88+
number.<br />
89+
In NSOperation's _execute, ensure lock gets released on an error by
90+
surrounding with NS_DURING.<br />
91+
Generics support in NSHashTable.<br />
92+
Implementation of NSProgress.<br />
93+
Skeleton implementation of NSURLComponents.<br />
94+
In NSSortDescriptor, added -sortDescriptorWithKey:ascending:descending:.<br />
95+
In NSOperationQueue, added -addOperationWithBlock.<br />
96+
In NSFileManager, added
97+
-URLForDirectory:inDomain:appropriateForURL:create:error: and
98+
-enumeratorAtURL:includingPropertiesForKeys:options:errorHandler:. Also added
99+
NSItemReplacementDirectory constant, and updated stub implementation for
100+
-URLForDirectory:shouldCreate:error:. Added -initWithDirectoryPath:... with
101+
additional parameters skipHidden and errorHandler.<br />
102+
In NSDictionary, fixed keysSortedByValueUsingComparator:.<br />
103+
Moved NSFileWrapper from -gui to -base.<br />
104+
Added NSFilePresenter, NSFileVersion and NSFileCoordinator.<br />
105+
Added NSPersonComponents and NSPersonNameComponentsFormatter.<br />
106+
Added units of measurement classes such as NSUnit, NSMeasurement,
107+
NSMeasurementFormatter, NSEnergyFormatter, NSLengthFormatter,
108+
NSMassFormatter.<br />
109+
In NSUnit, support for NSUnitArea, NSUnitConcentrationMass,
110+
NSUnitDispersion, NSUnitElectricCharge, NSUnitIlluminance,
111+
NSUnitElectricCurrent, NSUnitElectricPotentionDifference, NSElectricResistance,
112+
NSUnitMass, NSUnitEnergy, NSUnitFrequency, NSUnitPower, NSUnitSpeed,
113+
NSUnitFuelEfficiency, NSUnitPressure, NSUnitVolume, NSUnitLength.<br />
114+
Support for data directory on Android introduces
115+
GSInitializeProcessAndroid and makes use of the path returned by
116+
Context.getFilesDir() as the basis for storing data (e.g. NSUserDefaults) and
117+
when querying for directory paths (NSLibraryDirectory,
118+
NSApplicationSupportDirectory, etc.).<br />
119+
Placeholder NSScript* classes. Added NSUserActivity, NSObjectScripting,
120+
NSHFSFileTypes, NSAppleEventManager and NSAppleEventDescriptor.<br />
121+
Added NSDateInterval intersectionWithDateInterval:.<br />
122+
Added NSBackgroundActivityScheduler.<br />
123+
Added NSISO8601DateFormatter and NSMetadataAttributes.
124+
125+
<br />
126+
Added NSOrtogrpahy and NSLinguisticTagger.<br />
127+
Added NSExtensionItem, NSExtensionContext, NSExtensionRequestHandling, and
128+
NSItemProvider and NSItemProviderReadingWriting.<br />
129+
Updated timezone info for NSTimeZones.<br />
130+
On Android, support for NSTemporaryDirectory to use Context.getCacheDir(),
131+
and cleaning it up in GSInitializeProcessAndroid() given there is no support for
132+
temp directory before Android API 26. Also used with NSCachesDirectory +
133+
NSUserDomainMask.<br />
134+
NSXPCConnection fixes.<br />
135+
NSException symbolication support using libunwind (used when backtrace()
136+
is unavailable).<br />
137+
Travis build improvements to use new runloop integration and gnustep-2.0
138+
runtime.<br />
139+
In NSKeyValueObserving, implement two missing methods for NSArray:
140+
-addObserver:options:context: and
141+
-removeObserver:fromObjectsAtIndexes:forKeyPath:.<br />
142+
Updated NSUUID to use instancetype.<br />
143+
Added support for NSDate constants in NSPredicate.<br />
144+
Fixed a NSTimer bug with blocks.<br />
145+
In GSTLS, do not put password in the hash key of the credentials, and to
146+
avoid logging it when debugging is on.<br />
147+
Improvements in NSConcreteHashTable and NSConcreteMapTable.<br />
148+
In various places, switch away from deprecated CREATE_AUTORELEASE_POOL()
149+
to use the ARC-compatible ENTER_POOL and LEAVE_POOL macros.<br />
150+
When building the list of hosts to be probed to see if they have gdomap
151+
servers, fix code to include those explicitly defined in the config file.
152+
Add -S option to list the addresses of the known gdomap servers.<br />
153+
Backward compatibility fix for ICU 65.<br />
154+
Update GSPrivateSymbolPath() so that, on the path where LINKER_GETSYMBOL
155+
is not available, we attempt to lookup classes using the prefix ._OBJC_CLASS_
156+
for the 2.0 ABI (earlier ABIs use a prefix of __objc_class_name_ for the class
157+
definition.<br />
158+
Fix parsing of NSURLResponse content type header.<br />
159+
Fix for class lookup when using the 2.0 ABI.<br />
160+
Fixed NSURLComponents setURL: throwing exceptions when URL didn't have
161+
all expected parts caused by rangeOfString: throwing for nil values.<br />
162+
Added NSURLQueryItem implementation.
163+
</p>
164+
</section>
165+
32166
<section>
33167
<heading>Version 1.26.0</heading>
34168
<p>A new stable release.<br />

0 commit comments

Comments
 (0)