Path: csiph.com!goblin1!goblin.stu.neva.ru!usenet.stanford.edu!not-for-mail From: Ivan Vucica Newsgroups: gnu.announce Subject: ANN: GNUstep Base Library 1.27.0 Date: Tue, 14 Apr 2020 00:06:05 +0100 Lines: 314 Approved: info-gnu@gnu.org Message-ID: References: <14ce6e3b-371a-4d8c-18b8-3a9153bbd4e6@vucica.net> NNTP-Posting-Host: lists.gnu.org Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="GCbl87hI42sonYiAA64l4LyKTueXWbgI2" X-Trace: usenet.stanford.edu 1586828449 30312 209.51.188.17 (14 Apr 2020 01:40:49 GMT) X-Complaints-To: action@cs.stanford.edu To: info-gnustep@gnu.org, info-gnu@gnu.org, discuss-gnustep@gnu.org, gnustep-dev@gnu.org Envelope-to: info-gnu@gnu.org X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:to:from:subject:autocrypt:message-id:date :user-agent:mime-version; bh=JEk2eyn7TrozvafNSXqD2mBRhLYjyH13gEIgBtL4IZI=; b=n4BXCJMM8FQhj3ntUvD7XmN1dCodoExyO1BIYGNkiAgU1A6jmlc5xNXAamrTXWZUSf tcTrQCelkh59YYm+NzmcyLnpYXjQ6/c7UbeV9JApV0mNdehos9O8ocWUQOeKKLLXV346 Wi7ilPZhbYG5ydUBS0G1NZjCBQhqM/7PSELh2xClns1GxETS+MW4ui5UgtWzJ2FAKkII +2UGMaHk+IZOoiSOwLs9eiiM9PBQb7sI1xdWHjFojUdMW+h3vV4zX25EsCos4nRUpQ8+ S0MCW+0dKlE7YScEpGuP9LVHWyrOaVapPO9wv39sor5AgDQZiTT57iTlwunVjDWX0PcX KUlw== X-Gm-Message-State: AGi0PuaSu9knd+CmZz7j+Ktjhrz84w8ePPkATwxowqNsubJUtKqtCG3F MX7/LWiXKX00igK10AhJFgjyth7rTKY= X-Google-Smtp-Source: APiQypLMj4390vjgAVnaGFsVXu+hD1R5RQybamQomjOiV9nPZAm5QTHsSU9EMFPyBZvk7uAPNv2xrA== X-Received: by 2002:a1c:ded4:: with SMTP id v203mr20729272wmg.106.1586819167181; Mon, 13 Apr 2020 16:06:07 -0700 (PDT) Autocrypt: addr=ivan@vucica.net; prefer-encrypt=mutual; keydata= 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 x1GrnJ+e4QR9jQYAb4rMXFkKAuGISwI= User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.6.0 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 209.85.128.65 X-Mailman-Approved-At: Mon, 13 Apr 2020 21:40:46 -0400 X-BeenThere: info-gnu@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Announcements and Requests for Help from the GNU project and the Free Software Foundation List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Mailman-Original-Message-ID: <14ce6e3b-371a-4d8c-18b8-3a9153bbd4e6@vucica.net> Xref: csiph.com gnu.announce:1735 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//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 . =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 or send bug reports to . 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 () and the= GNU web site.=C2=A0 () --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--