111 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
661.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
561661.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
0 commit comments