Recent Releases

1.0.919 Feb 2024 03:25 minor bugfix: -02-18. OFGZIPStream reading the size and CRC32 incorrectly when either spans. Multiple reads. a type mismatch in OFMapTable that could cause problems on big endian. Systems when uint32_t and unsigned long have a different size. The default implementation of - initWithKeys:arguments: for custom. Dictionaries. Improves detection of mutation during enumeration in. - enumerateKeysAndObjectsUsingBlock: . Minor documentation.
1.0.822 Jan 2024 14:25 minor bugfix: -01-21. Compilation on NetBSD, OpenBSD, OpenIndiana etc. which was broken by 1.0.7.
1.0.616 Jan 2024 09:45 minor bugfix: -01-15. Compatibility with autoconf 2.72. OFDNSResolver's handling of types, classes and lengths 255.
1.0.506 Nov 2023 03:15 minor bugfix: -11-05. the calculation of the extra alignment in OFAllocObject(). + OFSystemInfo networkInterfaces on OpenBSD and Windows 98. OFSocketAddressString() for AppleTalk addresses. Uses GetModuleHandle() instead of LoadLibrary() where possible on Windows. Disables tests for global blocks on Win64 due to broken compilers. Adds PGP keys to verify tarballs and commits in the code repository.
1.0.409 Oct 2023 06:45 minor bugfix: -10-08. OFFile closing fd 0 when initialization fails. - stringByAppendingPathComponent: on empty strings. + OFSystemInfo operatingSystemName and. + OFSystemInfo operatingSystemVersion returning nil on some systems. Adds a license for localizations.
1.0.314 Sep 2023 06:45 minor bugfix: * Fixes - OFConcreteData initWithItemSize: not setting freeWhenDone to true, which resulted in a memory leak * Fixes - OFData initWithContentsOfIRI: freeing the buffer in @catch instead of @finally, which resulted in a memory leak
1.0.211 Sep 2023 01:59 minor bugfix: * The build system has been updated to fix building .frameworks and to build them differently for macOS and iOS
1.0.110 Sep 2023 20:39 minor bugfix: * Hanging connections with OFTLSStream have been fixed when using OpenSSL * The same fix as for OpenSSL has been applied to GnuTLS and SecureTransport out of caution, even though there have been no hangs in practice * The build system has been updated to fix building .frameworks among other minor changes * Some headers have been changed to fix compatibility with ObjC++ * Warnings about empty .o files on x86_64 Darwin have been fixed * The OFDate documentation has been improved to list supported formats
1.029 Aug 2023 03:16 major feature: + First stable release with stable API and ABI. * Too many changes to list, as it has been almost 6 years since the last release. See commits in the repository for details.
0.90.223 Oct 2017 22:12 minor bugfix: * Fix shadowed variables which caused many bugs (e.g. using the wrong object) * Many, many nullability fixes * OFTCPSocket: Fix exception not being retained for async connect * OFThread: Fix setting the name on the wrong thread * OFMutableSet: Fix missing override for - copy * configure: Fix posix_spawnp check * Xcode project: Set the correct version for the bridge * Better check for iOS * tests: Fix testing the wrong OFKernelEventObserver
0.90.121 Aug 2017 07:25 minor bugfix: OFData: - description . OFFileManager: Set errno to 0 before readdir(). OFDate: Add - localMinute . OFTarArchiveEntry: prehandling for ustar. OFZIPArchive: uncompressed + data descriptor. OFArray: MessagePack encoding. of_asprintf: Don't require set up OFLocalization. OFGZIPStream: Add missing documentation. a linker warning on OpenBSD/SPARC64. Remove the OFFile b modes from MorphOS. (they were already removed for all other OSes).
0.9002 Aug 2017 08:25 minor feature: New classes: OFFileManager, OFGZIPStream, OFTarArchive, OFTarArchiveEntry OFHMAC, OFSandbox, OFHTTPCookie, OFHTTPCookieManager, OFLocalization. + New platforms: Nintendo 3DS, MorphOS. + New lookup assembly for platforms: SPARC64/ELF, ARM64/ELF. + New forwarding for: ARM64/ELF. + New tools: objfw-new (to create boilerplate code). + New options: --disable-unicode-tables. Required GCC version increased to 4.6. OFDataArray was split into OFData and OFMutableData. OFURL was split into OFURL and OFMutableURL. Most properties are now nonatomic. (this changes from returned retained + autoreleased to +0 retained). Correct handling of encoding on Win32 console. (stream is read and written in UTF-8 and translated to UTF-16 on the fly). Runtime is now built as a separate library. + More encodings for strings. Reworked OFOptionsParser API. Refactored OFKernelEventObserver. Better randomization of HTTP header order. Allow overriding all HTTP headers. Definition of thread priorities changed. + Key Value Coding. + Exceptions in ObjC++. OFHash was renamed to OFCryptoHash. + PBKDF2. + scrypt. + Xcode project to build for iOS. + String decomposition to NFD. OFFile modes simplified ('b' removed).
0.8.104 Oct 2015 12:42 minor bugfix: Adjust to __nullable / __nonnull being changed to _Nullable / _Nonnull in Clang 3.7. Blocks: Proper handling when called from a byref handler. compilation on Solaris. compilation for Wii, PSP and Nintendo DS. OFProcess: Send SIGTERM on instead of SIGKILL. OFZIPArchive: Throw invalid format exception on failed seeks. Make sure of_hash_seed is never initialized to 0. Special cases for the Wii's weird network stack. Better length checks for write / send calls. Don't use -pedantic on platforms where it's broken by the system headers. Documentation fixes.