- NSMutableCharacterSet now uses modern 'instance' method for object creation
- updated test code to use 'instance' instead of deprecated 'object' method
- classess gain -copy from MulleObjCImmutable
- mutableCopy methods exiled to Foundation
- container callbacks initialized in a more and robust way
- use new MulleObjC Instance functions instead of Object functions where possible
feat: improve thread safety and API modernization
-
Enhance thread safety support
- Add
MULLE_OBJC_THREADSAFE_METHODattribute to description methods - Improve mutex handling in NSDateFormatter deinitialize
- Use thread-safe NSMapTableFor iteration
- Add
-
Modernize container APIs
- Rename NSMapTable functions with MulleObjC prefix
- Add inline compatibility functions for legacy API names
- Update NSHashTable APIs to follow same pattern
- Fix array type safety in NSSet description
-
Improve protocol conformance
- Update NSSortDescriptor to use MulleObjCImmutableProtocols
- Change NSCalendarDate to use MulleObjCValueProtocols
- Add MulleObjCImmutableProtocols to NSAssertionHandler
- transition from
mulle_utf8_tto char
- tentatively added doubleQuotes strings parsing and printing support
- add mulleScanUpToAndIncludingString:intoString on NSScanner
- Various small improvements
- change GLOBAL for Windows
- breaking the container callbacks for -describe now return a UTF8 string not a NSString. This is incompatible with legacy Foundation!
- improvements in NSNumberFormatter
- improvements in escaping and unescaping strings
- split off MulleObjCArchiverFoundation and MulleObjCPlistFoundation
- changed propertylist formatting a bit for compatibility and ease of reuse
- changed property list output to match newer Apple output
- added
-[NSString mulleStringByAppendingComponent:separatedByString:] - renamed "MulleData" methods and functions to "CData"
- +
[NSError mulleSetGenericErrorWithDomain:localizedDescription]and+mulleGenericErrorWithDomain:localizedDescription:added - fix bugs in backward characterSet search
- fix
_mulleDataSeparateComponentsByString: - improve property list serialization
- NSPropertyListSerialization gains a mullePropertyListFromData:mutabilityOption:format:formatOption: method
- greatly improved property list printing (serialization)
- moved some internal string creation code to MulleObjCValueFoundation
- moved NSData+Unicode to MulleObjCValueFoundation
- much improved NSScanner code (but not complete yet)
- much improved
lowercaseStringanduppercaseString - much improved component separation code
- use
mulleFastGetUTF8Data_:and family instead ofmulleFastUTF8Charactersand family - fix non-unicode characterset routines to only return true BOOL values
- remove duplicate objc-loader.inc
-
- moved unicode functionality to MulleObjCUnicodeFoundation, basic ctype functionality remains
- expose MulleObjCStream and family
- added
mullePropertyListDescriptionandmulleJSONDescriptionto property list classes - added
mulleURLAllowedCharacterSetto NSCharacterSet - there exist now functions and methods to create mutable arrays from string components such as
mulleMutableComponentsSeparatedByString: - declare some NSCharacterSet methods as returning
instancetypenow - adapt to changes in MulleObjC
- renamed
_GMTTimeZonetomulleGMTTimeZone - exception functions like MulleObjCThrowErrnoException are now vectored via MulleObjC
- NSPropertyListOpenStepFormat is now MullePropertyListLooseOpenStepFormat and MullePropertyListStrictOpenStepFormat is NSPropertyListOpenStepFormat, which should make the behaviour somewhat less surprising
- split off parts to MulleObjCStandardFoundation
- split off parts to MulleObjCValueFoundation
- rewrote and fixes the mulle-specific parts of
NSErrorand the lazy generation of errors
- extracted startup code into seperate project
- deprecated mutableCopy experimentally (would like to move towards nil == empty array)
- added -mulleFirstObject to NSArray
- added -mulleArrayByRemovingObject: to NSArray
- added -mulleReverseObjects to NSMutableArray
- adapted to changes in the container callback mechanism with respect to „describe“
- added mulleDictionaryByRemovingObjectForKey: to NSDictionary
- added mulleSetRetainedObject:forKey: to NSMutableDictionary
- added mulleGenericErrorWithDomain:localizedDescription: to NSError
- redid NSDateFormatter, NSNumberFormatter, NSTimeZone class variable handling
- improved NSLocale a bit (for the benefit of NSBundle)
- bugfixed NSNotificationCenter and reversed the call order
- improved propertyList parsing with
/* */comments - added
mulle_unichar_strlenand family - added mulleAppendCharacters:length: to NSMutableString
- added mulleStringByReplacingCharactersInSet:withCharacter: to NSString
- renamed
_rangeOfCharactersFromSet:options:range:to mulleRangeOfCharactersFromSet:options:range: in NSString - added MulleStringEncodingCStringDescription function to convert the enum to string
- implemented the initWithFormat: method on NSString, which was strangely missing (?)
- added mulleStringByRemovingPrefix: and mulleStringByRemovingSuffix: to NSString
- NSDate supports NSCopying now
- fixed hashing of NSValue and NSNumber to be compatible with each other
- added NSMutableCharacterSet and greatly debugged/improved NSCharacterSet
- adapt to readonly properties not being cleared anymore
- fix leaks in
mulleGMTTimeZoneand cheatingASCIIstring UTF8String
- use fast enumeration throughout now
- improved class cluster behavior, especially when subclassing
- renamed many but not all
_methodsto mulleMethods to distinguish between private and incompatible - improved NSError, NSPropertyListSerialization, NSValue, NSNull, NSString
- big changes to plug leaks and fix initializers
- improved propertylist parsing and printing
- improved -description for containers
- adapted to changes in MulleObjC especially in regard to placeholders, singletons and deinitialization
- bug and leak fixed NSNotificationCenter now uses new
_mulle_pointerqueuenow
- modernized mulle-sde with .mulle folder
- modernized project structure
- modernize mulle-sde, remove obsolete file
- fix for mingw
- fix tests
- migrated to mulle-sde
- migrated from mulle-homebrew to mulle-project
- adapt to MulleObjC 0.12.2
- keep version in step with MulleObjC for now (will diverge later)
- make it a cmake "C" project
- Start of versioning. Keep this version number in sync with MulleObjC!