GNUstep Objective-C Runtime 1.7 =============================== This is a point release to the eighth official release of the GNUstep Objective-C runtime (a.k.a. libobjc2). This runtime was designed to support the features of modern dialects of Objective-C for use with GNUstep and other Objective-C programs. Highlights of this release include: - A new CMake-based build system. This makes all of the configurable options available via a clean interface. CPack is supported for building RPM and DEB packages out of the box. - A new CTest-based test suite, replacing the old ad-hoc tests. - Build a single libobjc with support for Objective-C++ on platforms where a C++ ABI library (libcxxrt or libsupc++) is installed as a shared library. - Added specialised property accessor functions and support for atomic properties with C++ non-POD types. - Significant improvements in property introspection and an exhaustive test suite. - Improved integration with libdispatch. The runtime will correctly register work queues with the garbage collector or create autorelease pools around block invocations. - A new exception implementation providing better integration with foreign exceptions (e.g. C++ exceptions). The new ABI is supported by clang 3.3 when compiling with -fobjc-runtime=gnustep-1.7 (or higher). The old ABI is still supported and both can be used within the same program, however code compiled with the old ABI remains unreliable in the presence of foreign exceptions. It is strongly recommended that anyone using exceptions with Objective-C++ switches to the new version. - MIPS64 support in the assembly routines. Currently these are only tested with the n64 ABI. They are believed to work with n32 and o32, but should be considered unsupported on these platforms. - Small algorithmic improvement to the objc_msgSend() implementation, giving approximately a 10% speedup (architecture-dependent) on message sends. - Updated optimisation passes to work with LLVM 3.2 and recent LLVM trunk. You may obtain the code for this release from subversion at the following subversion branch: svn://svn.gna.org/svn/gnustep/libs/libobjc2/releases/1.7 Alternatively, a tarball is available from: http://download.gna.org/gnustep/libobjc2-1.7.tar.bz2 The runtime library is responsible for implementing the core features of the object model, as well as exposing introspection features to the user. The GNUstep runtime implements Apple's Objective-C Runtime APIs, and a small number of GCC APIs for legacy compatibility. This library is based on the Étoilé Objective-C Runtime, an earlier research prototype, and includes support for non-fragile instance variables, type-dependent dispatch, and object planes. It is fully backwards compatible with the FSF's GCC 4.2.1 Objective-C ABI and also implements a new ABI that is supported by Clang and Étoilé's LanguageKit and is required for some of the newer features. If you come across any problems, please report them to the GNUstep Developer mailing list .