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

The GNUstep Base Library, version 1.31.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.31.0’
==========================================

   • Library version changed from 1.30 to 1.31
   • Implementation of weak references for the GNU runtime, so that weak
     references are now supported/available in portable code, and in
     conjunction with NSPointerFunction fixes we now support weak
     references in NSMapTable, NSHashTable, and NSPointerArray as well
     as supporting automatic deregestration of deallocated observers in
     NSNotificationCenter.
   • Autogsdoc updated to support modern CSS based HTML and provide
     simple diagrams of inheritence in the reference documentation.
   • New experimental implementation of NSURLSession ...  we still need
     work to replace non-portable (blocks dependent) code before it can
     be a supported class.
   • New KeyValueObserving code for Clang and GNUstep runtime.
   • Other new methods/features

        − BSByteOrder fixes for NSSwappedFloat and NSSwappedDouble
        − [NSDate] small object optimisation when using Clang
        − -[NSFileManager URLsForDirectory:inDomains:]
        − NSGeometry missing functions implemented
        − [NSInvocation] missing typedefs implemented
        − [NSOperation] threads are now named for easy identification
        − [NSPredicate] BETWEEN operator for more types
        − -[NSString enumerateLinesUsingBlock:]
        − [NSThread] priority support now working on Android
        − [NSString] NSRegularExpressionSearch option
        − [NSString] ICU collator cached for improved performance
        − -[NSURLRequest assumesHTTP3Capable]
        − -[NSURLRequest setAssumesHTTP3Capable:]
        − [NSUserDefaults] use bundle identifier rather than program
          name
        − [NSValue] edge insets added
        − -[NSZombie logZombie:]

   • Support for being built with the '-asan yes' command line option or
     the GNUSTEP_WITH_ASAN=1 environment variable setting.  The library
     is also aware when it was not built with that option but is linked
     to an executable which was (and a few features which confuse the
     leak checker are turned off).  In addition NSObject+GNUstepBase.h
     declares new methods for tracking the ownership of objects of a
     particular class (or individual instances) to help in identifying
     the cause of any leak found by the leak sanitizer.
   • Many minor bugfixes and very, very many minor memory leaks fixed in
     both the library and the automated testcases.
   • Removed deprecated locking code and changed many classes to use
     lightweight and more fine-grained locking for simple cases
     protecting short regions.  We retain a global lock for more complex
     situations where there is a significant chance of deadlock.
   • Several symbols (variables and functions) which were accidentally
     public have been made static or internal to the library.
   • Updated to work with recent versions of autoconf.

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

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

   It is accompanied by gnustep-base-1.31.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.31.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/>)
