* KVC Caching Implementation
* Do not ignore struct name when comparing type encoding as NSPoint and NSSize have the same layout
* Use fast-path when using Objective-C 2
* Guard old ValueForKey function when using the fast-path
* Add basic NSKeyValueCoding tests
* Update Copyright Years
* NSKeyValueCoding+Caching: Add Versioning to IVar Slot
* safe_caching: Remove Guards
* Add type encoding helper header
* Rename geometry structs (NSRect, NSPoint, NSSize) for toll-free bridging with CoreGraphics
* Move CG struct definitions to CFCGTypes.h
* Update known struct encoding prefixes
* Windows 64-bit is LLP64 and not LP64
* Re-order to avoid complier warning
---------
Co-authored-by: rfm <richardfrithmacdonald@gmail.com>
* Implement GSSmallObject Class
* Remove private concrete class access
* Change secondary bias
* NSDate: Get interval from rhs object in comparison
* Add prefix to CONCRETE_CLASS_NAME macro
* Do not enable Win32 threads and locks when using GCC
* Fix compiler check when CC has arguments appended
* Add NSConstantString literal as global variable to avoid linker error
* Make libcurl a hard-dependency on ObjC 2.0 Toolchain
* Bump TOOLS_WINDOWS_MSVC_RELEASE_TAG
* Remove x86 runner for MSVC toolchain
* Add libcurl to MinGW x64 Clang toolchain
* MSVC toolchain requires Windows 1903 and newer but windows-2019 runner is Redstone 5 (1809)
* MinGW GCC adds .exe suffix
* Some tests timeout after 30s. Increase timeout
* Mark late unregister as hopeful on Win32 with GCC
* Mark NSURL test depending on network connection as hopeful
* clang-format: Do not use tabs
* Ignore clangd cache and compile_commands
* NSBlockOperation: Fix memory leak
* NSHTTPCookie: Fix expires date parsing
* NSHTTPCookie: Release DateFormatter after use
* NSOperation: Remove all objects at end of execution
* Reimplementation of NSURLSession
* NSURLSession: Update expiration dates in test
* Update ChangeLog
* Fix trivial compiler warning caused by missing import
* Import GSDispatch.h for definition of DISPATCH_QUEUE_SERIAL
* Import common.h early to avoid header conflict
* Fix import order to avoid conflicts and ensure we have correct localisation macro
* Check for presence of dispatch_cancel
* Cancel timer using dispatch_source_cancel() if dispatch_cancel() is missing.
* NSURLSession: Replace dispatch_io with dispatch_source in unit test HTTP server
---------
Co-authored-by: hmelder <service@hugomelder.com>
* Update `-[NSMutableArray removeLastObject]`
Updates the following implementation to avoid raising an exception if the array is already empty (or notifying observers if applicable):
* `-[NSMutableArray removeLastObject]`
* `-[GSMutableArray removeLastObject]`
* `-[NSKeyValueMutableArray removeLastObject]`
* `-[NSKeyValueIvarMutableArray removeLastObject]`
This brings the behavior of `-[NSMutableArray removeLastObject]` inline with the Apple implementation, improving compatibility for code bases which use both GNUStep and Apple objc/Foundation implementations.
* Add `-[NSMutableArray removeLastObject]` test case
Adds a test case to ensure `-[NSMutableArray removeLastObject]` does not raise an exception when called on an empty array.