I am sorry that I didn't comment earlier, but simply assumed you were aware of the different versions of libdispatch. The GSDispatch.h header provides support for some compatibility between versions, but when you want to use more features you also need to extend the configure script to check for their availability.
As a rule, the gnustep core libraries need to support all versions of code they depend on (certainly all the versions that come with all the major target unix style operating systems), and in rare cases of incompatibility this needs to be detected at configure time with a message telling the user what missing dependency they need to install.
I don't think much is needed for the NSURLSession rewrite to be portable across all the major platform versions of libdispatch (ie without having to install a specific version rather than the one provided by the system), but I suspect the testcases would best be updated to use portable code (eg. no libdispatch in the test cases themselves).
An alternative solution (license permitting) might be to bundle a specific version of libdispatch with the base library, and have it automatically built/installed first. That comes with its own set of problems though.
* clang-format: Do not use tabs
* Ignore clangd cache and compile_commands
* NSBlockOperation: Fix memory leak
* NSHTTPCookie: Fix expires date parsing
* NSOperation: Remove all objects at end of execution
* Reimplementation of NSURLSession
* Update ChangeLog