Skip to content

Releases: scramjet/mpedn

Release 1.5

18 Jul 07:01
Compare
Choose a tag to compare

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

28 Mar 01:27
Compare
Choose a tag to compare

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

01 Mar 04:02
Compare
Choose a tag to compare
  • Fix parser error for the symbols +, -, and . appearing in compound contexts such as vectors, e.g. the expression [+]

Release 1.2

28 Sep 01:27
be7fc74
Compare
Choose a tag to compare
  • Support ISO 8601 dates

Release 1.1

10 Jul 01:08
Compare
Choose a tag to compare
  • 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 to MPEdnWriter
  • Add <>:# as valid characters in symbols

Release 1.0.4

08 Nov 04:12
Compare
Choose a tag to compare

Add support for "#" and ":" in keywords to agree with EDN spec.

Release 1.0.3

17 Oct 23:13
48f836c
Compare
Choose a tag to compare

Generate a static library in the framework target. (via @gabrielmaldi).

Release 1.0.2

31 Aug 02:14
85a3896
Compare
Choose a tag to compare

Add shared library framework target to support Carthage (thanks @gabrielmaldi).

Release 1.0.1

18 Jun 03:24
Compare
Choose a tag to compare

Only minor changes in this release. Add shared Xcode schema for Carthage.

Initial 1.0 release

05 Mar 00:56
Compare
Choose a tag to compare

Moving to 1.0 after a year of testing in production.