Bug 296526 - devel/objfw: Update to 1.5.7
Summary: devel/objfw: Update to 1.5.7
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Some People
Assignee: Yusuf Yaman
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2026-07-04 23:09 UTC by Jonathan Schleifer
Modified: 2026-07-06 10:55 UTC (History)
1 user (show)

See Also:
nxjoseph: merge-quarterly+


Attachments
ObjFW 1.5.7 (16.03 KB, patch)
2026-07-04 23:09 UTC, Jonathan Schleifer
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Jonathan Schleifer 2026-07-04 23:09:11 UTC
Created attachment 272500 [details]
ObjFW 1.5.7

Please also backport to quarterly.

## ObjFW 1.5.7
2026-07-03

Changes from ObjFW 1.5.6:
* Fixes tombstone counting in OFMapTable that could lead to incorrect out of range exceptions
* Fixes timers with 3 objects firing twice
* Copies for atomic properties are now performed outside the spinlock to avoid a possible deadlock
* Fixes a memory leak in objc_removeAssociatedObjects
* Avoids an unnecessary autorelease pool in OFEpollKernelEventObserver

## ObjFW 1.5.6
2026-06-24

Changes from ObjFW 1.5.5:
* Unpaired UTF-16 surrogates are now converted to WTF-8
* Collections now refuse to be inserted into themselves
* Fixes OFMutableData dropping the itemSize in one convenience initializer
* Fixes OFFileIRIHandler setting the UID to the GID
* Fixes handling of BOM in -[OFUTF8String initWithUTF8StringNoCopy:length:freeWhenDone:]
* OFMutableIndexSet now correctly inserts / removes from self
* OFMutableUTF8String now correctly appends and replaces self
* Fixes handling of TLS close notifications
* Fixes relocking the mutex in OFCondition on Windows
* Fixes searching for a handler after a cleanup in the runtime
* Fixes parsing JSON containing an exponent without a decimal point
* Call va_end() after va_copy() everywhere
* Default depth limit of all parsers increased from 32 to 128
* -[OFIRI fileSystemRepresentation] now rejects IRIs with a non-empty host, except on Windows where it is used for UNC
* Fixes setting a nil extraField in OFMutableZIPArchiveEntry
* Fixes setting a nil Amiga comment in OFMutableTarArchiveEntry
* Fixes unescaping of quoted keys / values in OFINISection
* Fixes octal numbers incorrectly being accepted for JSON5
* Adds various missing memory barriers and fixes wrong memory barriers
* Various robustness improvements in OFASPrintF, OFBMPImageFormatHandler, OFConcreteData, OFConcreteNumber, OFConcreteSet, OFCountedSet, OFDNSResolver, OFDatagramSocket, OFFile, OFFileManager, OFGZIPStream, OFHTTPRequest, OFHTTPResponse, OFHTTPServer, OFHuffmanTreeFree, OFINIFile, OFINISection, OFIRI, OFImage, OFIndexSet, OFMapTable, OFMutableDictionary, OFMutableString, OFMutableUTF8String, OFNumber, OFPlainThread, OFSCTPSocket, OFSandbox, OFSocket, OFStrFTime, OFString, OFString+JSONParsing, OFTLSStream, OFUTF8String, OFWindowsRegistryKey, OFXMLComment, OFXMLParser, OFXMLProcessingInstruction, OFZooArchive, ObjFWBridge and exception support in the runtime

## ObjFW 1.5.5
2026-05-31

Changes from ObjFW 1.5.4:
* Fixes replacing a string within a range that does not start at 0
* Fixes -[OFData rangeOfData:options:range:] if the specified range does not start at 0
* Fixes -[OFMutableData subdataWithRange:]
* Fixes a missing retain/release in OFConcreteMutableArray
* Fixes -[initWithContentsOfIRI:] being extremely slow for both OFString and OFData on some operating systems such as Windows
* Fixes wrong count after -[OFList removeAllObjects]
* Fixes objc_setAssociatedObject() / objc_removeAssociatedObjects() releasing the object within the spinlock, which could potentially deadlock
* Fixes OFBlock calling a dispose handler that doesn't exist
* Fixes -[OFConcreteMutableArray removeAllObjects] not increasing the mutations
* Fixes Deflate64 with sequence lengths > 65535
* Robustness improvements in Deflate, LHA, Tar, ZIP, BMP, QOI and MessagePack
* Fixes a missing rethrow in OFOpenSSLTLSStream that could result in hangs
* Correctly handles "*" in format strings now
* OFDate rejects invalid dates with tm_mon ≥ 12 now
* OFXMLParser rejects numeric entities == 0 or > U+10FFFF now, as well as surrogates
* OFString rejects overlong UTF-8 encodings now
* Fixes a retain cycle and a missing rethrow in OFCFRunLoopKernelEventObserver
* Fixes the number of redirects accidentally being reset in OFHTTPClient
* OFHTTPClient is now stricter about when to include the Authorization header during redirects
* Fixes -[objectByParsingJSON] reporting the wrong line on parsing errors
* Fixes -[objectByParsingJSON] overallocating
* Fixes -[objectByParsingJSON] not enforcing a low surrogate after a high surrogate
* Changes default depth limit to 128 for both JSON and MessagePack
* Base64 now rejects spurious = in the middle of the string
* OFHTTPClient and OFHTTPServer now have more robust handling of Transfer-Encoding
* OFDNSResolver is more compliant with the RFC now
* MessagePack now rejects nanoseconds ≥ 1000000000 as per specification
* Fixes OFConcreteArray accepting nil as the first object in some cases
* Fixes OFMatrix4x4 jumping to the wrong label in inline assembly, causing the loop to always run at least once
* Fixes wrong initialization in OFColorSpace
* Fixes -[OFColor colorUsingColorSpace:] always using sRGB
* Fixes some colors comparing equal despite having a different hash in OFColor
* OFAllocObject() and class_createInstance() now reject a too big extra size
* Fixes objc_setPropertyStruct() using the wrong spinlock
* Fixes MIPS32 lookup assembly using the wrong load size
* Fixes PowerPC 64 forwarding assembly comparing with the wrong register size
* Fixes a typo that made ARM32 forwarding assembly for Apple not compile
* Fixes a typo that made compiling for Windows without atomic operations fail
* OFApplication now checks the return value of unveil()

## ObjFW 1.5.4
2026-05-23

Changes from ObjFW 1.5.3:
* Fixes a buffer overflow caused by integer promotion rules in OFBMPImageFormatHandler and OFQOIImageFormatHandler

## ObjFW 1.5.3
2026-05-20

Changes from ObjFW 1.5.2:
* Fixes OFForwardingTests on Windows with GCC
* Fixes OFHTTPCookieManager which was completely broken
* OFHTTPServer refuses to send responses that contain a newline in the headers or the server name now
* Fixes setting the Amiga Comment to nil in OFMutableTarArchiveEntry
* Improves handling of truncated archives in OFLHAArchiveEntry
* OFThread no longer inherits the priority on AmigaOS
* Uses better source for randomness now to find a free port on platforms that can't bind to port 0
* ofarc now strips drives from the paths it stores inside the archive
* Fixes ofarc failing to create ZIP archives with specific paths on AmigaOS
* Fixes ofarc incorrectly storing Amiga Protection in ZIP archives

## ObjFW 1.5.2
2026-05-08

Changes from ObjFW 1.5.1:
* Makes ObjFWConfig.cmake work on MSYS2
* ObjFWConfig.cmake now also adds the flags for OBJCXX
* OFFile no longer uses O_EXLOCK for "x" modes
* Fixes the OF_AMD64 define on Windows
* ofhttp now removes the terminal's progress indicator on abort

## ObjFW 1.5.1
2026-02-24

Changes from ObjFW 1.5:
* Fixes a regression introduced in 1.5 that made weak references deadlock
* Improves the unit test for weak references

## ObjFW 1.5
2026-02-22

Changes from ObjFW 1.4.4:
* Adds OFColorSpace and adds support for color spaces to OFColor. Supports sRGB, linear sRGB, BT.709, Display-P3, linear Display-P3, BT.2020, linear BT.2020, Adobe RGB and linear Adobe RGB ✨
* Adds OFImage to store an image in various pixel formats and color spaces ✨
* Adds OFCanvas to create (draw) images, including bilinear image scaling and alpha blending in linear color space and pixel format and color space transformations when source and destination use a different pixel format and/or color space ✨
* Adds OFImageFormatHandler as a generic interface to handle image formats including a registry for image formats so that it can be extended by 3rd parties ✨
* Adds an OFImageFormatHandler for BMP and QOI images ✨
* Adds support for CMake projects using ObjFW ✨
* Adds support for Unicode 17 ✨
* Adds methods to OFString and OFMutableString to remove control characters ✨
* OFLocale now escapes all control characters in variables unless the variable name starts with an "@" ✨
* OFStdOut and OFStdErr now allow writing with a lossy encoding if they have an underlying terminal ✨
* OFStdOut and OFStdErr now support setting the terminal's progress indicator ✨
* Revives support for AmigaOS 4 that had bitrotten over the years
* OFFileIRIHandler now supports nanosecond precision on operating systems that support it ✨
* OFFileIRIHandler now supports setting file owner and group on UNIX systems ✨
* OFFileIRIHandler now supports retrieving and setting of MS-DOS attributes, Amiga file protection and Amiga file comments ✨
* OFArchiveEntry now has a file type property shared by all archive formats ✨
* OFLHAArchiveEntry now supports MS-DOS attributes, Amiga file protection and Amiga file comments ✨
* OFLHAArchiveEntry now handles \xFF in level 0 header filenames
* OFLHAArchiveEntry now works around Amiga LHA using broken UNIX time
* OFTarArchive now supports PAX extended headers to allow for files > 8 GB ✨
* OFTarArchive now supports Amiga file protection and Amiga file comments ✨
* Fixes OFZIPArchiveEntry not correctly copying the comment when performing a mutable copy
* Adds a new type OFFloat16 for 16-bit floating point that is always available, even when the platform does not support float16 ✨
* OFHTTPClient now has improved logic when to use keep-alive connections
* OFHTTPClient now supports custom run loop modes ✨
* OFHTTPClient now explicitly removes "Authorization" headers on redirects to other hosts
* OFHTTPClient no longer allows newline characters in headers
* OFINIFile now rejects section names with newlines and merges repeated sections
* OFInflateStream has been renamed to OFDeflateStream in anticipation for compression support
* Fixes +[OFSystemInfo networkInterfaces] on MorphOS
* objfw-config now includes flags for Stack Protector & RELRO in LDFLAGS to avoid linker errors if ObjFW has been built with Stack Protector & RELRO
* Fixes a potential race condition for weak references in the runtime
* Removes support for Secure Transport
* Adds support for Mbed TLS 4 ✨
* openssl4.library is now lazily loaded on MorphOS to avoid a dependency on it until it is actually needed
* ObjFWHID adds support for the following controllers: GameCube controller via adapter (Linux & macOS), DualShock 1/2 via adapter (Linux), DualShock 3 (Linux), MOCUTE-053X-M35-HID (Linux) ✨
* ObjFWHID and ObjFWTLS now have proper version information in their .dll files
* ofarc now supports files > 8 GB in Tar files ✨
* ofarc now stores UNIX permissions in ZIP files ✨
* ofarc now preserves Amiga file protection and Amiga file comments in LHA, Tar and ZIP files (creation and extraction) ✨
* ofarc now preserves MS-DOS attributes for LHA and ZIP files (creation and extraction) ✨
* ofarc now removes all escape codes from output to stderr (except those used for its own formatting)
* ofdns now supports passing a name server as a domain name itself to --server= ✨
* ofhash now removes all escape codes from output to stderr (except those used for its own formatting)
* ofhttp now uses color, bold and underlined for improved formatting and sets the terminal's progress indicator ✨
* ofhttp no longer follows 301/302/307 redirects as a result of a non-GET and non-HEAD request
* ofhttp now removes all escape codes from output to stderr (except those used for its own formatting)

## ObjFW 1.4.4
2026-02-01

Changes from ObjFW 1.4.3:
* Fixes Swift interoperability
* Fixes building for Wii with new devkitPro
* Fixes missing background color rounding in OFStdIOStream
* Adds iso8859-* as an alias for iso-8859-*
* Fixes objfw-compile not passing -f* and -m* to the linker
* Makes ofhttp always send an Accept header to avoid being flagged as suspicious by some websites
* Fixes ObjFWTLS with OpenSSL when using Apple GCC 4.0.1
* Fixes a few missing OF_RETURNS_INNER_POINTER
* Fixes some OFMutableStringTests not being run

## ObjFW 1.4.3
2025-12-20

Changes from ObjFW 1.4.2:
* Fixes a bug where calling -[OFTimer invalidate] multiple times would also release its block multiple times
* Fixes incomplete initialization in OFHuffmanTree, which is used by Deflate, LHA and Zoo
* Fixes OFLHAArchiveEntry accidentally doing bit shifts on signed integers, resulting in being unable to list or extract some archives
* Fixes -[OFTarArchive compressedSize] being too big when the file size is a multiple of 512
* +[OFSystemInfo networkInterfaces] makes sure now sockets are initialized
* Fixes ofarc waiting for user confirmation even if there is no TTY

## ObjFW 1.4.2
2025-10-05

Changes from ObjFW 1.4.1:
* Fixes compatibility with C++ 20 and up
* Fixes +[alloc] being able to return nil
* Fixes -[canBlock] being inherited for sockets returned by -[OFStreamSocket accept] being OS-dependent
* Fixes MPTCP being used on old macOS versions that don't support it
* Fixes parsing of ZIP64 local headers in OFZIPArchive when only some values in the regular local header are set to -1
* Fixes handling of 0 byte ZIP64 extra field in OFZIPArchiveEntry
* OFZIPArchive no longer verifies the local header date to better deal with broken archives
* Fixes parsing of header level 0/1 dates in OFLHAArchiveEntry
* Fixes OFZooArchiveEntry emitting the wrong length for the variable length
* Fixes ofarc setting directory permissions before extracting its files
* Fixes setting OFStdIOStream colors to nil on MS-DOS
* Adds support for aarch64_be in the runtime lookup assembly ✨
Comment 1 commit-hook freebsd_committer freebsd_triage 2026-07-06 10:53:03 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=62835f0853d15875214a299c049dc8a2d9a4ac1b

commit 62835f0853d15875214a299c049dc8a2d9a4ac1b
Author:     Jonathan Schleifer <js@nil.im>
AuthorDate: 2026-07-06 10:15:59 +0000
Commit:     Yusuf Yaman <nxjoseph@FreeBSD.org>
CommitDate: 2026-07-06 10:52:12 +0000

    devel/objfw: Update 1.4.1 => 1.5.7

    Commit log:
    https://git.nil.im/ObjFW/ObjFW/compare/1.4.1-release...1.5.7-release

    PR:             296526
    Approved by:    osa, vvd (Mentors, implicit)
    MFH:            2026Q2

 devel/objfw/Makefile  |  2 +-
 devel/objfw/distinfo  |  6 ++--
 devel/objfw/pkg-plist | 78 ++++++++++++++++++++++++++++++++++++++++++++-------
 3 files changed, 72 insertions(+), 14 deletions(-)
Comment 2 commit-hook freebsd_committer freebsd_triage 2026-07-06 10:55:04 UTC
A commit in branch 2026Q2 references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=76395a03c0480414c6dda3d8bc0752bf27497624

commit 76395a03c0480414c6dda3d8bc0752bf27497624
Author:     Jonathan Schleifer <js@nil.im>
AuthorDate: 2026-07-06 10:15:59 +0000
Commit:     Yusuf Yaman <nxjoseph@FreeBSD.org>
CommitDate: 2026-07-06 10:53:52 +0000

    devel/objfw: Update 1.4.1 => 1.5.7

    Commit log:
    https://git.nil.im/ObjFW/ObjFW/compare/1.4.1-release...1.5.7-release

    PR:             296526
    Approved by:    osa, vvd (Mentors, implicit)
    MFH:            2026Q2

    (cherry picked from commit 62835f0853d15875214a299c049dc8a2d9a4ac1b)

 devel/objfw/Makefile  |  2 +-
 devel/objfw/distinfo  |  6 ++--
 devel/objfw/pkg-plist | 78 ++++++++++++++++++++++++++++++++++++++++++++-------
 3 files changed, 72 insertions(+), 14 deletions(-)
Comment 3 Yusuf Yaman freebsd_committer freebsd_triage 2026-07-06 10:55:35 UTC
Hi,

Thank you for your submission.

I have tested build in Poudriere on 14.4-RELEASE-amd64-main-c85402be79d6 and it seems OK including `make test`.

Committed, thanks.