Overview
Request 793845 accepted
- Update to version 1.27.0
* Expose GNU TLS wrappers and add methods to get certificate
expiry.
* Improve thread safety when using zombies, particularly on
statup/shutdown.
* Improvements for Ukrainian localization.
* Decreased ICU requirements to 49 to support Windows 2000.
* Simplifications and fixes in GSPrivateSymbolPath().
* GSMime improvements (word encoding specifier, utf-8
improvements encoding quoted words with multibyte characters)
* NSJSONSerialization fixes for codepoints over 0x7f.
* NSCharacterSet support for URL*AllowedCharacterSet and
declarations for new character sets.
* NSString implementations for new methods
stringByRemovingPercentEncoding/
stringByAddingPercentEncodingWithAllowedCharacterSet:.
* Fixed a crash in gdomap when an invalid hostname is given
for the -M option.
* In NSString.m, removed functions urldecode() and ishex()
which were mistakenly neither namespaced nor declared static
and thus could have conflicted with non-library code.
* Fixed libdispatch configuration switch so
-enable-libdispatch works correctly; correctly checking for
HAVE_LIBDISPATCH_RUNLOOP.
* Updated libdispatch runloop integration so it is compatible
with Swift's corelibs libdispatch release (from
github.com/apple/swift-corelibs-libdispatch). The
libdispatch must be compiled with
INSTALL_PRIVATE_HEADERS=YES.
* In NSThread, spinlocks implemented using builtins to be able
to target platforms without pthread_spin_lock(), such as
Android targeting API level < 24.
* In NSLog on Android, send logs to syslog.
* Implementation of NSOrderedSet.
* When ./configuring, link against libandroid on Android.
* In NSBundle, allow integrating with Android asset manager
using +[NSBundle setJavaAssetManager:withJNIEnv:], enabling
use of mainBundle's pathForResource:ofType:,
-URLForResource:ofType: and similar; referencing Info.plist
if it exists in Android assets; use of NSFileManager's
fileExistsAtPath: et al and isReadableFileAtPath:; reading
files using NSFileHandle APIs; use of NSDirectoryEnumerator
to enumerate Android assets from the main bundle.
* In NSBundle, localization support on Android.
* In NSProcessInfo, automatic initialization on Android using
a fake executable path
(/data/data//Resources).
* In NSData, improvements in reading Android assets.
* Various improvements in the mechanism to report memory usage
of individual objects.
* Skeletal implementation of NSUbiquitousKeyValueStore.
* Implementation of NSByteCountFormatter.
* Fixes to writing large HTTPS requests (GSSocketStream,
NSURLProtocol).
* In gdomap.c, fix detection of local networks.
* In NSArray's -removeObjectsInArray:, prevent some crashes.
* In GSTLS, avoid setting session priority twice.
* In NSFileHandle, fix so that setting certificate information
does not discard any other options already set.
* In GSXML's -fatalErrorFunction, use the correct function to
get the line number.
* In NSOperation's _execute, ensure lock gets released on an
error by surrounding with NS_DURING.
* Generics support in NSHashTable.
* Implementation of NSProgress.
* Skeleton implementation of NSURLComponents.
* In NSSortDescriptor, added
-sortDescriptorWithKey:ascending:descending:.
* In NSOperationQueue, added -addOperationWithBlock.
* In NSFileManager, added
-URLForDirectory:inDomain:appropriateForURL:create:error: and
-enumeratorAtURL:includingPropertiesForKeys:options:errorHandler:.
Also added NSItemReplacementDirectory constant, and updated
stub implementation for -URLForDirectory:shouldCreate:error:.
Added -initWithDirectoryPath:... with additional parameters
skipHidden and errorHandler.
* In NSDictionary, fixed keysSortedByValueUsingComparator:.
* Moved NSFileWrapper from -gui to -base.
* Added NSFilePresenter, NSFileVersion and NSFileCoordinator.
* Added NSPersonComponents and NSPersonNameComponentsFormatter.
* Added units of measurement classes such as NSUnit,
NSMeasurement, NSMeasurementFormatter, NSEnergyFormatter,
NSLengthFormatter, NSMassFormatter.
* In NSUnit, support for NSUnitArea, NSUnitConcentrationMass,
NSUnitDispersion, NSUnitElectricCharge, NSUnitIlluminance,
NSUnitElectricCurrent, NSUnitElectricPotentionDifference,
NSElectricResistance, NSUnitMass, NSUnitEnergy,
NSUnitFrequency, NSUnitPower, NSUnitSpeed,
NSUnitFuelEfficiency, NSUnitPressure, NSUnitVolume,
NSUnitLength.
* Support for data directory on Android introduces
GSInitializeProcessAndroid and makes use of the path
returned by Context.getFilesDir() as the basis for storing
data (e.g. NSUserDefaults) and when querying for directory
paths (NSLibraryDirectory, NSApplicationSupportDirectory,
etc.).
* Placeholder NSScript* classes. Added NSUserActivity,
NSObjectScripting, NSHFSFileTypes, NSAppleEventManager and
NSAppleEventDescriptor.
* Added NSDateInterval intersectionWithDateInterval:.
* Added NSBackgroundActivityScheduler.
* Added NSISO8601DateFormatter and NSMetadataAttributes.
* Added NSOrtogrpahy and NSLinguisticTagger.
* Added NSExtensionItem, NSExtensionContext,
NSExtensionRequestHandling, and NSItemProvider and
NSItemProviderReadingWriting.
* Updated timezone info for NSTimeZones.
* On Android, support for NSTemporaryDirectory to use
Context.getCacheDir(), and cleaning it up in
GSInitializeProcessAndroid() given there is no support for
temp directory before Android API 26. Also used with
NSCachesDirectory + NSUserDomainMask.
* NSXPCConnection fixes.
* NSException symbolication support using libunwind (used when
backtrace() is unavailable).
* Travis build improvements to use new runloop integration and
gnustep-2.0 runtime.
* In NSKeyValueObserving, implement two missing methods for
NSArray: -addObserver:options:context: and
-removeObserver:fromObjectsAtIndexes:forKeyPath:.
* Updated NSUUID to use instancetype.
* Added support for NSDate constants in NSPredicate.
* Fixed a NSTimer bug with blocks.
* In GSTLS, do not put password in the hash key of the
credentials, and to avoid logging it when debugging is on.
* Improvements in NSConcreteHashTable and NSConcreteMapTable.
* In various places, switch away from deprecated
CREATE_AUTORELEASE_POOL() to use the ARC-compatible
ENTER_POOL and LEAVE_POOL macros.
* When building the list of hosts to be probed to see if they
have gdomap servers, fix code to include those explicitly
defined in the config file. Add -S option to list the
addresses of the known gdomap servers.
* Backward compatibility fix for ICU 65.
* Update GSPrivateSymbolPath() so that, on the path where
LINKER_GETSYMBOL is not available, we attempt to lookup
classes using the prefix ._OBJC_CLASS_ for the 2.0 ABI
(earlier ABIs use a prefix of __objc_class_name_ for the
class definition.
* Fix parsing of NSURLResponse content type header.
* Fix for class lookup when using the 2.0 ABI.
* Fixed NSURLComponents setURL: throwing exceptions when URL
didn't have all expected parts caused by rangeOfString:
throwing for nil values.
* Added NSURLQueryItem implementation.
- Spec cleanup
Request History
alois created request
- Update to version 1.27.0
* Expose GNU TLS wrappers and add methods to get certificate
expiry.
* Improve thread safety when using zombies, particularly on
statup/shutdown.
* Improvements for Ukrainian localization.
* Decreased ICU requirements to 49 to support Windows 2000.
* Simplifications and fixes in GSPrivateSymbolPath().
* GSMime improvements (word encoding specifier, utf-8
improvements encoding quoted words with multibyte characters)
* NSJSONSerialization fixes for codepoints over 0x7f.
* NSCharacterSet support for URL*AllowedCharacterSet and
declarations for new character sets.
* NSString implementations for new methods
stringByRemovingPercentEncoding/
stringByAddingPercentEncodingWithAllowedCharacterSet:.
* Fixed a crash in gdomap when an invalid hostname is given
for the -M option.
* In NSString.m, removed functions urldecode() and ishex()
which were mistakenly neither namespaced nor declared static
and thus could have conflicted with non-library code.
* Fixed libdispatch configuration switch so
-enable-libdispatch works correctly; correctly checking for
HAVE_LIBDISPATCH_RUNLOOP.
* Updated libdispatch runloop integration so it is compatible
with Swift's corelibs libdispatch release (from
github.com/apple/swift-corelibs-libdispatch). The
libdispatch must be compiled with
INSTALL_PRIVATE_HEADERS=YES.
* In NSThread, spinlocks implemented using builtins to be able
to target platforms without pthread_spin_lock(), such as
Android targeting API level < 24.
* In NSLog on Android, send logs to syslog.
* Implementation of NSOrderedSet.
* When ./configuring, link against libandroid on Android.
* In NSBundle, allow integrating with Android asset manager
using +[NSBundle setJavaAssetManager:withJNIEnv:], enabling
use of mainBundle's pathForResource:ofType:,
-URLForResource:ofType: and similar; referencing Info.plist
if it exists in Android assets; use of NSFileManager's
fileExistsAtPath: et al and isReadableFileAtPath:; reading
files using NSFileHandle APIs; use of NSDirectoryEnumerator
to enumerate Android assets from the main bundle.
* In NSBundle, localization support on Android.
* In NSProcessInfo, automatic initialization on Android using
a fake executable path
(/data/data//Resources).
* In NSData, improvements in reading Android assets.
* Various improvements in the mechanism to report memory usage
of individual objects.
* Skeletal implementation of NSUbiquitousKeyValueStore.
* Implementation of NSByteCountFormatter.
* Fixes to writing large HTTPS requests (GSSocketStream,
NSURLProtocol).
* In gdomap.c, fix detection of local networks.
* In NSArray's -removeObjectsInArray:, prevent some crashes.
* In GSTLS, avoid setting session priority twice.
* In NSFileHandle, fix so that setting certificate information
does not discard any other options already set.
* In GSXML's -fatalErrorFunction, use the correct function to
get the line number.
* In NSOperation's _execute, ensure lock gets released on an
error by surrounding with NS_DURING.
* Generics support in NSHashTable.
* Implementation of NSProgress.
* Skeleton implementation of NSURLComponents.
* In NSSortDescriptor, added
-sortDescriptorWithKey:ascending:descending:.
* In NSOperationQueue, added -addOperationWithBlock.
* In NSFileManager, added
-URLForDirectory:inDomain:appropriateForURL:create:error: and
-enumeratorAtURL:includingPropertiesForKeys:options:errorHandler:.
Also added NSItemReplacementDirectory constant, and updated
stub implementation for -URLForDirectory:shouldCreate:error:.
Added -initWithDirectoryPath:... with additional parameters
skipHidden and errorHandler.
* In NSDictionary, fixed keysSortedByValueUsingComparator:.
* Moved NSFileWrapper from -gui to -base.
* Added NSFilePresenter, NSFileVersion and NSFileCoordinator.
* Added NSPersonComponents and NSPersonNameComponentsFormatter.
* Added units of measurement classes such as NSUnit,
NSMeasurement, NSMeasurementFormatter, NSEnergyFormatter,
NSLengthFormatter, NSMassFormatter.
* In NSUnit, support for NSUnitArea, NSUnitConcentrationMass,
NSUnitDispersion, NSUnitElectricCharge, NSUnitIlluminance,
NSUnitElectricCurrent, NSUnitElectricPotentionDifference,
NSElectricResistance, NSUnitMass, NSUnitEnergy,
NSUnitFrequency, NSUnitPower, NSUnitSpeed,
NSUnitFuelEfficiency, NSUnitPressure, NSUnitVolume,
NSUnitLength.
* Support for data directory on Android introduces
GSInitializeProcessAndroid and makes use of the path
returned by Context.getFilesDir() as the basis for storing
data (e.g. NSUserDefaults) and when querying for directory
paths (NSLibraryDirectory, NSApplicationSupportDirectory,
etc.).
* Placeholder NSScript* classes. Added NSUserActivity,
NSObjectScripting, NSHFSFileTypes, NSAppleEventManager and
NSAppleEventDescriptor.
* Added NSDateInterval intersectionWithDateInterval:.
* Added NSBackgroundActivityScheduler.
* Added NSISO8601DateFormatter and NSMetadataAttributes.
* Added NSOrtogrpahy and NSLinguisticTagger.
* Added NSExtensionItem, NSExtensionContext,
NSExtensionRequestHandling, and NSItemProvider and
NSItemProviderReadingWriting.
* Updated timezone info for NSTimeZones.
* On Android, support for NSTemporaryDirectory to use
Context.getCacheDir(), and cleaning it up in
GSInitializeProcessAndroid() given there is no support for
temp directory before Android API 26. Also used with
NSCachesDirectory + NSUserDomainMask.
* NSXPCConnection fixes.
* NSException symbolication support using libunwind (used when
backtrace() is unavailable).
* Travis build improvements to use new runloop integration and
gnustep-2.0 runtime.
* In NSKeyValueObserving, implement two missing methods for
NSArray: -addObserver:options:context: and
-removeObserver:fromObjectsAtIndexes:forKeyPath:.
* Updated NSUUID to use instancetype.
* Added support for NSDate constants in NSPredicate.
* Fixed a NSTimer bug with blocks.
* In GSTLS, do not put password in the hash key of the
credentials, and to avoid logging it when debugging is on.
* Improvements in NSConcreteHashTable and NSConcreteMapTable.
* In various places, switch away from deprecated
CREATE_AUTORELEASE_POOL() to use the ARC-compatible
ENTER_POOL and LEAVE_POOL macros.
* When building the list of hosts to be probed to see if they
have gdomap servers, fix code to include those explicitly
defined in the config file. Add -S option to list the
addresses of the known gdomap servers.
* Backward compatibility fix for ICU 65.
* Update GSPrivateSymbolPath() so that, on the path where
LINKER_GETSYMBOL is not available, we attempt to lookup
classes using the prefix ._OBJC_CLASS_ for the 2.0 ABI
(earlier ABIs use a prefix of __objc_class_name_ for the
class definition.
* Fix parsing of NSURLResponse content type header.
* Fix for class lookup when using the 2.0 ABI.
* Fixed NSURLComponents setURL: throwing exceptions when URL
didn't have all expected parts caused by rangeOfString:
throwing for nil values.
* Added NSURLQueryItem implementation.
- Spec cleanup
fredkiefer accepted request