Releases: scramjet/mpedn
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
NSSecureCoding
for keywords, symbols, and tagged values - Add
useSpaceAsSeparator
option 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.
Initial 1.0 release
Moving to 1.0 after a year of testing in production.