You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
47 lines
2.1 KiB
Plaintext
47 lines
2.1 KiB
Plaintext
GNUstep Objective-C Runtime 2.2
|
|
===============================
|
|
|
|
This is the second update to the second major 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:
|
|
|
|
- Numerous improvements to the Objective-C++ exception interoperation code.
|
|
The runtime now dynamically detects whether the libcxxrt, libsupc++, or
|
|
libc++abi variant of the Itanium C++ Exception ABI is being used. This is
|
|
the first version to support exception interoperability with libc++abi.
|
|
- Because we no longer need to identify the specific C++ runtime, we can link
|
|
to it indirectly via the C++ standard library, which enables more C++ to be
|
|
used in the Objective-C runtime.
|
|
- The minimum CMake version has been bumped to 3.16, which supports
|
|
Objective-C. This support is now used, simplifying the build.
|
|
- Support for GC mode is gone. Apple dropped support for this a long time ago.
|
|
- Support for Windows on Arm has been added.
|
|
- `objc_setUncaughtExceptionHandler` is added, which avoids consuming code
|
|
needing to access a library-owned global.
|
|
- The selector-table code has been rewritten in C++, improving performance of
|
|
adding selectors. This is unlikely to have a measurable impact on
|
|
performance outside of contrived test cases, but the new code is more
|
|
maintainable.
|
|
- Several bug fixes in the ARC code, especially in corner cases surrounding
|
|
weak references.
|
|
|
|
You may obtain the code for this release from git and use the 2.2 branch:
|
|
|
|
https://github.com/gnustep/libobjc2.git
|
|
|
|
Alternatively, a tarball is available from:
|
|
|
|
https://github.com/gnustep/libobjc2/archive/v2.2.zip
|
|
https://github.com/gnustep/libobjc2/archive/v2.2.tar.gz
|
|
|
|
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 a superset of Apple's Objective-C Runtime APIs.
|
|
|
|
If you come across any problems, please file them in the issue tracker:
|
|
|
|
https://github.com/gnustep/libobjc2/issues
|