ANN: GNUstep Base Library 1.27.0

Ivan Vucica <[email protected]> Tue, 14 Apr 2020 00:06:05 +0100
Newsgroups gmane.comp.lib.gnustep.announce
Message-ID <14ce6e3b-371a-4d8c-18b8-3a9153bbd4e6__24835.1710428082$1586828633$gmane$org@vucica.net>
This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--===============4853630733824004290==
Content-Type: multipart/signed; micalg=pgp-sha512;
 protocol="application/pgp-signature";
 boundary="GCbl87hI42sonYiAA64l4LyKTueXWbgI2"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--GCbl87hI42sonYiAA64l4LyKTueXWbgI2
Content-Type: multipart/mixed; boundary="kYgfXqMIA8AzsWffjFu5ed0RycgNsLr4j"

--kYgfXqMIA8AzsWffjFu5ed0RycgNsLr4j
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
Content-Language: en-US

MD5 hashes:
6f1876a867d1862267a562d4cbb9ede3=C2=A0 gnustep-base-1.27.0.tar.gz
bb1cb12a52db889f034e2d357a565f3e=C2=A0 gnustep-base-1.27.0.tar.gz.sig

1 Announcement
**************

The GNUstep Base Library, version 1.27.0, is now available.

1.1 What is the GNUstep Base Library?
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D

The GNUstep Base Library is a library of general-purpose, non-graphical
Objective C objects.=C2=A0 For example, it includes classes for strings,
object collections, byte streams, typed coders, invocations,
notifications, notification dispatchers, moments in time, network ports,
remote object messaging support (distributed objects), and event loops.

=C2=A0=C2=A0 It provides functionality that aims to implement the non-gra=
phical
portion of the OpenStep standard (the Foundation library).

=C2=A0=C2=A0 There is more information available at the GNUstep homepage =
at
'http://www.gnustep.org'.

1.2 Noteworthy changes in version '1.27.0'
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D

Aside from an assortment of bugfixes, this release includes a lot of
improvements for Android support as well as numerous new classes and
methods.

=C2=A0=C2=A0 * Expose GNU TLS wrappers and add methods to get certificate=
 expiry.
=C2=A0=C2=A0 * Improve thread safety when using zombies, particularly on
=C2=A0=C2=A0=C2=A0=C2=A0 statup/shutdown.
=C2=A0=C2=A0 * Improvements for Ukrainian localization.
=C2=A0=C2=A0 * Decreased ICU requirements to 49 to support Windows 2000.
=C2=A0=C2=A0 * Simplifications and fixes in GSPrivateSymbolPath().
=C2=A0=C2=A0 * GSMime improvements (word encoding specifier, utf-8 improv=
ements
=C2=A0=C2=A0=C2=A0=C2=A0 encoding quoted words with multibyte characters)=

=C2=A0=C2=A0 * NSJSONSerialization fixes for codepoints over 0x7f.
=C2=A0=C2=A0 * NSCharacterSet support for URL*AllowedCharacterSet and dec=
larations
=C2=A0=C2=A0=C2=A0=C2=A0 for new character sets.
=C2=A0=C2=A0 * NSString implementations for new methods
=C2=A0=C2=A0=C2=A0=C2=A0 stringByRemovingPercentEncoding/
=C2=A0=C2=A0=C2=A0=C2=A0 stringByAddingPercentEncodingWithAllowedCharacte=
rSet:.
=C2=A0=C2=A0 * Fixed a crash in gdomap when an invalid hostname is given =
for the
=C2=A0=C2=A0=C2=A0=C2=A0 -M option.
=C2=A0=C2=A0 * In NSString.m, removed functions urldecode() and ishex() w=
hich were
=C2=A0=C2=A0=C2=A0=C2=A0 mistakenly neither namespaced nor declared stati=
c and thus could
=C2=A0=C2=A0=C2=A0=C2=A0 have conflicted with non-library code.
=C2=A0=C2=A0 * Fixed libdispatch configuration switch so -enable-libdispa=
tch works
=C2=A0=C2=A0=C2=A0=C2=A0 correctly; correctly checking for HAVE_LIBDISPAT=
CH_RUNLOOP.
=C2=A0=C2=A0 * Updated libdispatch runloop integration so it is compatibl=
e with
=C2=A0=C2=A0=C2=A0=C2=A0 Swift's corelibs libdispatch release (from
=C2=A0=C2=A0=C2=A0=C2=A0 github.com/apple/swift-corelibs-libdispatch).=C2=
=A0 The libdispatch must
=C2=A0=C2=A0=C2=A0=C2=A0 be compiled with INSTALL_PRIVATE_HEADERS=3DYES.
=C2=A0=C2=A0 * In NSThread, spinlocks implemented using builtins to be ab=
le to
=C2=A0=C2=A0=C2=A0=C2=A0 target platforms without pthread_spin_lock(), su=
ch as Android
=C2=A0=C2=A0=C2=A0=C2=A0 targeting API level < 24.
=C2=A0=C2=A0 * In NSLog on Android, send logs to syslog.
=C2=A0=C2=A0 * Implementation of NSOrderedSet.
=C2=A0=C2=A0 * When ./configuring, link against libandroid on Android.
=C2=A0=C2=A0 * In NSBundle, allow integrating with Android asset manager =
using
=C2=A0=C2=A0=C2=A0=C2=A0 +[NSBundle setJavaAssetManager:withJNIEnv:], ena=
bling use of
=C2=A0=C2=A0=C2=A0=C2=A0 mainBundle's pathForResource:ofType:, -URLForRes=
ource:ofType: and
=C2=A0=C2=A0=C2=A0=C2=A0 similar; referencing Info.plist if it exists in =
Android assets; use
=C2=A0=C2=A0=C2=A0=C2=A0 of NSFileManager's fileExistsAtPath: et al and
=C2=A0=C2=A0=C2=A0=C2=A0 isReadableFileAtPath:; reading files using NSFil=
eHandle APIs; use
=C2=A0=C2=A0=C2=A0=C2=A0 of NSDirectoryEnumerator to enumerate Android as=
sets from the main
=C2=A0=C2=A0=C2=A0=C2=A0 bundle.
=C2=A0=C2=A0 * In NSBundle, localization support on Android.
=C2=A0=C2=A0 * In NSProcessInfo, automatic initialization on Android usin=
g a fake
=C2=A0=C2=A0=C2=A0=C2=A0 executable path (/data/data/<app identifier>/Res=
ources).
=C2=A0=C2=A0 * In NSData, improvements in reading Android assets.
=C2=A0=C2=A0 * Various improvements in the mechanism to report memory usa=
ge of
=C2=A0=C2=A0=C2=A0=C2=A0 individual objects.
=C2=A0=C2=A0 * Skeletal implementation of NSUbiquitousKeyValueStore.
=C2=A0=C2=A0 * Implementation of NSByteCountFormatter.
=C2=A0=C2=A0 * Fixes to writing large HTTPS requests (GSSocketStream,
=C2=A0=C2=A0=C2=A0=C2=A0 NSURLProtocol).
=C2=A0=C2=A0 * In gdomap.c, fix detection of local networks.
=C2=A0=C2=A0 * In NSArray's -removeObjectsInArray:, prevent some crashes.=

=C2=A0=C2=A0 * In GSTLS, avoid setting session priority twice.
=C2=A0=C2=A0 * In NSFileHandle, fix so that setting certificate informati=
on does
=C2=A0=C2=A0=C2=A0=C2=A0 not discard any other options already set.
=C2=A0=C2=A0 * In GSXML's -fatalErrorFunction, use the correct function t=
o get the
=C2=A0=C2=A0=C2=A0=C2=A0 line number.
=C2=A0=C2=A0 * In NSOperation's _execute, ensure lock gets released on an=
 error by
=C2=A0=C2=A0=C2=A0=C2=A0 surrounding with NS_DURING.
=C2=A0=C2=A0 * Generics support in NSHashTable.
=C2=A0=C2=A0 * Implementation of NSProgress.
=C2=A0=C2=A0 * Skeleton implementation of NSURLComponents.
=C2=A0=C2=A0 * In NSSortDescriptor, added
=C2=A0=C2=A0=C2=A0=C2=A0 -sortDescriptorWithKey:ascending:descending:.
=C2=A0=C2=A0 * In NSOperationQueue, added -addOperationWithBlock.
=C2=A0=C2=A0 * In NSFileManager, added
=C2=A0=C2=A0=C2=A0=C2=A0 -URLForDirectory:inDomain:appropriateForURL:crea=
te:error: and
=C2=A0=C2=A0=C2=A0=C2=A0 -enumeratorAtURL:includingPropertiesForKeys:opti=
ons:errorHandler:.
=C2=A0=C2=A0=C2=A0=C2=A0 Also added NSItemReplacementDirectory constant, =
and updated stub
=C2=A0=C2=A0=C2=A0=C2=A0 implementation for -URLForDirectory:shouldCreate=
:error:.=C2=A0 Added
=C2=A0=C2=A0=C2=A0=C2=A0 -initWithDirectoryPath:...=C2=A0 with additional=
 parameters skipHidden
=C2=A0=C2=A0=C2=A0=C2=A0 and errorHandler.
=C2=A0=C2=A0 * In NSDictionary, fixed keysSortedByValueUsingComparator:.
=C2=A0=C2=A0 * Moved NSFileWrapper from -gui to -base.
=C2=A0=C2=A0 * Added NSFilePresenter, NSFileVersion and NSFileCoordinator=
=2E
=C2=A0=C2=A0 * Added NSPersonComponents and NSPersonNameComponentsFormatt=
er.
=C2=A0=C2=A0 * Added units of measurement classes such as NSUnit, NSMeasu=
rement,
=C2=A0=C2=A0=C2=A0=C2=A0 NSMeasurementFormatter, NSEnergyFormatter, NSLen=
gthFormatter,
=C2=A0=C2=A0=C2=A0=C2=A0 NSMassFormatter.
=C2=A0=C2=A0 * In NSUnit, support for NSUnitArea, NSUnitConcentrationMass=
,
=C2=A0=C2=A0=C2=A0=C2=A0 NSUnitDispersion, NSUnitElectricCharge, NSUnitIl=
luminance,
=C2=A0=C2=A0=C2=A0=C2=A0 NSUnitElectricCurrent, NSUnitElectricPotentionDi=
fference,
=C2=A0=C2=A0=C2=A0=C2=A0 NSElectricResistance, NSUnitMass, NSUnitEnergy, =
NSUnitFrequency,
=C2=A0=C2=A0=C2=A0=C2=A0 NSUnitPower, NSUnitSpeed, NSUnitFuelEfficiency, =
NSUnitPressure,
=C2=A0=C2=A0=C2=A0=C2=A0 NSUnitVolume, NSUnitLength.
=C2=A0=C2=A0 * Support for data directory on Android introduces
=C2=A0=C2=A0=C2=A0=C2=A0 GSInitializeProcessAndroid and makes use of the =
path returned by
=C2=A0=C2=A0=C2=A0=C2=A0 Context.getFilesDir() as the basis for storing d=
ata (e.g.
=C2=A0=C2=A0=C2=A0=C2=A0 NSUserDefaults) and when querying for directory =
paths
=C2=A0=C2=A0=C2=A0=C2=A0 (NSLibraryDirectory, NSApplicationSupportDirecto=
ry, etc.).
=C2=A0=C2=A0 * Placeholder NSScript* classes.=C2=A0 Added NSUserActivity,=

=C2=A0=C2=A0=C2=A0=C2=A0 NSObjectScripting, NSHFSFileTypes, NSAppleEventM=
anager and
=C2=A0=C2=A0=C2=A0=C2=A0 NSAppleEventDescriptor.
=C2=A0=C2=A0 * Added NSDateInterval intersectionWithDateInterval:.
=C2=A0=C2=A0 * Added NSBackgroundActivityScheduler.
=C2=A0=C2=A0 * Added NSISO8601DateFormatter and NSMetadataAttributes.
=C2=A0=C2=A0 * Added NSOrtogrpahy and NSLinguisticTagger.
=C2=A0=C2=A0 * Added NSExtensionItem, NSExtensionContext,
=C2=A0=C2=A0=C2=A0=C2=A0 NSExtensionRequestHandling, and NSItemProvider a=
nd
=C2=A0=C2=A0=C2=A0=C2=A0 NSItemProviderReadingWriting.
=C2=A0=C2=A0 * Updated timezone info for NSTimeZones.
=C2=A0=C2=A0 * On Android, support for NSTemporaryDirectory to use
=C2=A0=C2=A0=C2=A0=C2=A0 Context.getCacheDir(), and cleaning it up in
=C2=A0=C2=A0=C2=A0=C2=A0 GSInitializeProcessAndroid() given there is no s=
upport for temp
=C2=A0=C2=A0=C2=A0=C2=A0 directory before Android API 26.=C2=A0 Also used=
 with NSCachesDirectory
=C2=A0=C2=A0=C2=A0=C2=A0 + NSUserDomainMask.
=C2=A0=C2=A0 * NSXPCConnection fixes.
=C2=A0=C2=A0 * NSException symbolication support using libunwind (used wh=
en
=C2=A0=C2=A0=C2=A0=C2=A0 backtrace() is unavailable).
=C2=A0=C2=A0 * Travis build improvements to use new runloop integration a=
nd
=C2=A0=C2=A0=C2=A0=C2=A0 gnustep-2.0 runtime.
=C2=A0=C2=A0 * In NSKeyValueObserving, implement two missing methods for =
NSArray:
=C2=A0=C2=A0=C2=A0=C2=A0 -addObserver:options:context: and
=C2=A0=C2=A0=C2=A0=C2=A0 -removeObserver:fromObjectsAtIndexes:forKeyPath:=
=2E
=C2=A0=C2=A0 * Updated NSUUID to use instancetype.
=C2=A0=C2=A0 * Added support for NSDate constants in NSPredicate.
=C2=A0=C2=A0 * Fixed a NSTimer bug with blocks.
=C2=A0=C2=A0 * In GSTLS, do not put password in the hash key of the crede=
ntials,
=C2=A0=C2=A0=C2=A0=C2=A0 and to avoid logging it when debugging is on.
=C2=A0=C2=A0 * Improvements in NSConcreteHashTable and NSConcreteMapTable=
=2E
=C2=A0=C2=A0 * In various places, switch away from deprecated
=C2=A0=C2=A0=C2=A0=C2=A0 CREATE_AUTORELEASE_POOL() to use the ARC-compati=
ble ENTER_POOL and
=C2=A0=C2=A0=C2=A0=C2=A0 LEAVE_POOL macros.
=C2=A0=C2=A0 * When building the list of hosts to be probed to see if the=
y have
=C2=A0=C2=A0=C2=A0=C2=A0 gdomap servers, fix code to include those explic=
itly defined in the
=C2=A0=C2=A0=C2=A0=C2=A0 config file.=C2=A0 Add -S option to list the add=
resses of the known
=C2=A0=C2=A0=C2=A0=C2=A0 gdomap servers.
=C2=A0=C2=A0 * Backward compatibility fix for ICU 65.
=C2=A0=C2=A0 * Update GSPrivateSymbolPath() so that, on the path where
=C2=A0=C2=A0=C2=A0=C2=A0 LINKER_GETSYMBOL is not available, we attempt to=
 lookup classes
=C2=A0=C2=A0=C2=A0=C2=A0 using the prefix ._OBJC_CLASS_ for the 2.0 ABI (=
earlier ABIs use a
=C2=A0=C2=A0=C2=A0=C2=A0 prefix of __objc_class_name_ for the class defin=
ition.
=C2=A0=C2=A0 * Fix parsing of NSURLResponse content type header.
=C2=A0=C2=A0 * Fix for class lookup when using the 2.0 ABI.
=C2=A0=C2=A0 * Fixed NSURLComponents setURL: throwing exceptions when URL=
 didn't
=C2=A0=C2=A0=C2=A0=C2=A0 have all expected parts caused by rangeOfString:=
 throwing for nil
=C2=A0=C2=A0=C2=A0=C2=A0 values.
=C2=A0=C2=A0 * Added NSURLQueryItem implementation.

1.3 Where can you get it? How can you compile it?
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D

The gnustep-base-1.27.0.tar.gz distribution file has been placed at
<ftp://ftp.gnustep.org/pub/gnustep/core>.

=C2=A0=C2=A0 It is accompanied by gnustep-base-1.27.0.tar.gz.sig, a PGP s=
ignature
which you can validate by putting both files in the same directory and
using:

=C2=A0=C2=A0=C2=A0=C2=A0 gpg --verify gnustep-base-1.27.0.tar.gz.sig

=C2=A0=C2=A0 Signature has been created using the key with the following
fingerprint:

=C2=A0=C2=A0=C2=A0=C2=A0 83AA E47C E829 A414 6EF8=C2=A0 3420 CA86 8D4C 99=
14 9679

=C2=A0=C2=A0 Read the INSTALL file or the GNUstep-HOWTO for installation
instructions.

1.4 Where do I send bug reports?
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D

Please log bug reports on the GNUstep project page
<http://savannah.gnu.org/bugs/?group=3Dgnustep> or send bug reports to
<[email protected]>.

1.5 Obtaining GNUstep Software
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D

Check out the GNUstep web site.=C2=A0 (<http://www.gnustep.org/>) and the=
 GNU
web site.=C2=A0 (<http://www.gnu.org/>)



--kYgfXqMIA8AzsWffjFu5ed0RycgNsLr4j--

--GCbl87hI42sonYiAA64l4LyKTueXWbgI2
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEE1skVZfHLUwouKI4kbk17otk8rJ0FAl6U8F0ACgkQbk17otk8
rJ1ZAA//SK9ZgZBhOuMB8wT6AXr+cP/cnw/TuOBLgc6EgtBrJJXQn0QyyiUkJ0Jl
8Zv+FcV7CRA0+30G85d8FjtHRl+wjD1bYz5tIxOfoKBwR5DsDLDRPIhfJV5F5Si6
hbj6BcJ3UrMzwpPm9N0VgKPi9XDG3uh20BIdY6RLIR/dhLTjcW3JZDV4QsbP0Lra
sOi6Vm6z60pwhpRf2P6gnD6+iatq5XK9w+Hdl8hZ+OJYstxMb2cI77ji/XzmqpON
x6tRB1GjGyYLhq65sWo4ltLPmW9jo1obfhZfTzM4is0k68HwNwkW8uw+lgb62meL
mXLbKoM5CMc8HYJmj4bZnuGpcXcW/vISijWeJ7ixhDq03qgIz3ZM2NXmsUCcOKFQ
NBA2SiObPgRWGtUB1oITV4BrAVLEdVDstVyJ3RrxKW/QAIzccgv2na8Mq2jz0blc
MH7CSa9OYowix+2Jmc7Ff9Vr2+brWsoq8yB1bnYJlf8GySqAcU+m+v6010pirx+T
frEKVGJzqsbg5Casfv7qgpHsCbHC+ntLvC9qknxOZ0aW1dNLvmJ5SHINMPD7/+2W
7OpZt2KfW0cBvVX3f0gcyA5AD9QNW5P+DakaiU9w8uBqMJ19O83ZyirvzkVk6mZ5
5cLg0j1XQ2QoUbF47k223IcrQ+u4ZHJYZQDpmMTerhI+LvXkZdI=
=BmX1
-----END PGP SIGNATURE-----

--GCbl87hI42sonYiAA64l4LyKTueXWbgI2--


--===============4853630733824004290==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW5mby1nbnVz
dGVwIG1haWxpbmcgbGlzdApJbmZvLWdudXN0ZXBAZ251Lm9yZwpodHRwczovL2xpc3RzLmdudS5v
cmcvbWFpbG1hbi9saXN0aW5mby9pbmZvLWdudXN0ZXAK

--===============4853630733824004290==--