Releases: scramjet/mpedn
1.5.1: Merge pull request #7 from gabrielmaldi/character-carthage
Release 1.5
Please note this is a breaking change if you're using EDN containing characters.
It's become clear that [NSNumber numberWithUnsignedChar] is not the correct ObjC mapping for EDN characters: e.g. other libraries such as a serialisation library we've encountered can generate these for small numbers. There's no way in this case to say the value should be encoded as a number not a unicode character, as shown by:
(lldb) po [@'a' class]
__NSCFNumber
(lldb) po [@((int8_t)97) class]
__NSCFNumber
(lldb) po [@'a' objCType]
"c"
(lldb) po [@((int8_t)97) objCType]
"c"
In this release, EDN characters are mapped to MPEdnCharacter, which is a simple wrapper around a unichar value.
Release 1.4
Add support for the quote char ' in symbols (e.g. 'abc becomes MPEdnSymbol with name 'abc). This is not in the EDN spec, and doesn't make any sense outside of an evaluated environment and yet:
user> (pr-str (clojure.edn/read-string "'a"))
"'a"
Since Clojure can generate EDN like this, we now also accept it (but do not generate it).
Release 1.3
- Fix parser error for the symbols
+,-, and.appearing in compound contexts such as vectors, e.g. the expression[+]
Release 1.2
- Support ISO 8601 dates
Release 1.1
- Potentially breaking:
MPEdnKeyword's are now compared like they are in Clojure: by namepace, then by name - Support 64-bit (signed integer) precision integers on 32-bit devices
- Implement
NSSecureCodingfor keywords, symbols, and tagged values - Add
useSpaceAsSeparatoroption toMPEdnWriter - Add
<>:#as valid characters in symbols
Release 1.0.4
Add support for "#" and ":" in keywords to agree with EDN spec.
Release 1.0.3
Generate a static library in the framework target. (via @gabrielmaldi).
Release 1.0.2
Add shared library framework target to support Carthage (thanks @gabrielmaldi).
Release 1.0.1
Only minor changes in this release. Add shared Xcode schema for Carthage.