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

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

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

The GNUstep Base Library is a library of general-purpose, non-graphical
Objective C objects.  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.

   It provides functionality that aims to implement the non-graphical
portion of the OpenStep standard (the Foundation library).

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

1.2 Noteworthy changes in version '1.28.0'
==========================================

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

   Not every bugfix, improvement or a new feature will be listed here.

   * Reading and setting File Creation Date attribute on Windows.
   * Added new 'ASSIGNMUTABLECOPY()' macro for consistency with
     'ASSIGNCOPY()'.
   * Replaced character set data headers for URLs with loading these
     from a standard data source, and updated bitmap representation to
     use much less space for character sets residing wholly in the base
     plane, such as the URL charsets (given they are purely ASCII).
   * Updated character set data with newer Unicode data set.
   * '[NSURLProtocol -initWithRequest:cachedResponse:client:]' will now
     retain the client up until the last message is sent to it, which
     improves compatibility with OS X.
   * Percent-escaping code in 'NSURL' simplified.
   * Removed mixed ABI support.
   * Use of Apple runtime now assumes non-fragile ABI (which is true on
     modern systems).
   * Improve typing on method implementation pointers in some classes.
   * In 'NSHTTPCookie', rewritten code for extracting individual cookies
     from the HTTP header.
   * In 'NSKeyedArchiver', implement secure coding methods.
   * New methods in 'NSDateComponents'.
   * Improvements in 'NSCalendar' and 'NSLocale' for calendar locale and
     'NSDateComponents'.
   * In 'NSFileManager', use 'utimensat()' to set file modification
     date, if available.
   * Correctly stop parsing number being decoded in
     'NSJSONSerialization' when encountering a number with an invalid
     exponent.
   * Improve OS X compatibility for 'NSURLQueryItem' initializers.
   * For 'NSFileManager', in 'changeFileAttributes', implement setting
     creation date for Unix-like systems.  Implement reading the
     creation date if a supported method was detected.
   * Support reading Android assets from the main bundle in
     'NSInputStream'.
   * Support Android assets directories in 'NSBundle' and
     'NSFileManager'.
   * Implement '-[NSXMLParser initWithStream:]'.
   * Allow clearer choice between 'sloppy' 'GSSloppyXMLParser' used in
     'NSXMLParser' and the libxml2-based 'GSStrictXMLParser'.
   * Fix building Win32 implementations for 'GSFileHandle' and
     'NSMessagePort' with nonfragile ABI.
   * Use 'NSNumber' and not 'NSString' in '-[NSUserDefaults
     setBool:forKey:]'.
   * Posting notification before 'NSThread' exit.
   * Actually declare optional 'NSFilePresenter' methods as optional.
   * In 'NSConcreteMapTable', fix replacing existing values in a weak
     objects map table.
   * Fix leaks in 'NSOperation'.
   * Various compat fixes for various MSYS systems, particularly around
     sockets code.
   * In 'NSData', 'NSFileManager' and more, various improvements when
     overwriting and creating files with respect to file attributes
     (owners, creation timestamp, etc).
   * Improve 'NSLog' output on Android.
   * Use 'instancetype' in 'NSURLRequest' header.
   * Define 'NSAttributedStringKey' and 'NSNotificationName'.
   * Add new 'NSURL' methods.
   * In 'GSMime', have '-contentFile' check the 'Content-Type' header
     before checking 'Content-Disposition'.
   * Fix a bug linking with WEAK symbols where binutils 2.3.5 would fail
     to link due to not all expected symbols being exported.
   * New 'plutil' utility.
   * Implementation of '[NSData rangeOfData:options:range:]' which finds
     the 'NSRange' in which the passed data occurs.
   * Change 'ENTER_POOL'/'LEAVE_POOL' so they no longer wrap the
     enclosed code in a loop, enabling use in some loops.
   * New 10.5 methods in 'NSRunLoop'/'NSURLConnection'.
   * Improve compatibility when building with ICU 68.
   * Fix compiling libdispatch integration of 'NSRunLoop' on Windows.
   * Add support for building on Windows with MSVC's Clang by passing
     the 'configure' flag '--host=x86_64-pc-windows'.  Use of an MSYS2
     shell without '-devel' packages is recommended.
   * Implementation of 'NSURLSession' and related classes.  This adds
     some dependencies on more recent versions of 'libcurl',
     'libdispatch' etc.
   * Fix initializing 'NSUUID' from a string.
   * Disable use of 'libcurl' if its headers are not found.
   * In 'NSURLProtocol', continue writing data if not all of it was
     written.
   * Fix use of GnuTLS under MinGW by using 'send/recv' rather than
     'read/write'.
   * Add support for libobjc2 runtime on Windows.
   * Fix BOM insertion when generating data from a string using one of
     the Unicode encodings.

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

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

   It is accompanied by gnustep-base-1.28.0.tar.gz.sig, a PGP signature
which you can validate by putting both files in the same directory and
using:

     gpg --verify gnustep-base-1.28.0.tar.gz.sig

   Signature has been created using the key with the following
fingerprint:

     83AA E47C E829 A414 6EF8  3420 CA86 8D4C 9914 9679

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

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

Please log bug reports on the GNUstep project page
<http://savannah.gnu.org/bugs/?group=gnustep> or send bug reports to
<bug-gnustep@gnu.org>.

1.5 Obtaining GNUstep Software
==============================

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