Skip to content

Releases: scramjet/mpedn

Release 1.5.2

Choose a tag to compare

@scramjet scramjet released this 01 Jul 06:17
b558cd1

Add missing compare to MpEdnSymbol

1.5.1: Merge pull request #7 from gabrielmaldi/character-carthage

Choose a tag to compare

@scramjet scramjet released this 29 Jan 22:50
43ef454

Minor update to include MPEdnCharacter in the MPEdnFwk target.

Release 1.5

Choose a tag to compare

@scramjet scramjet released this 18 Jul 07:01

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

Choose a tag to compare

@scramjet scramjet released this 28 Mar 01:27

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

Choose a tag to compare

@scramjet scramjet released this 01 Mar 04:02
  • Fix parser error for the symbols +, -, and . appearing in compound contexts such as vectors, e.g. the expression [+]

Release 1.2

Choose a tag to compare

@scramjet scramjet released this 28 Sep 01:27
be7fc74
  • Support ISO 8601 dates

Release 1.1

Choose a tag to compare

@scramjet scramjet released this 10 Jul 01:08
  • 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

Choose a tag to compare

@scramjet scramjet released this 08 Nov 04:12

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

Release 1.0.3

Choose a tag to compare

@scramjet scramjet released this 17 Oct 23:13
48f836c

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

Release 1.0.2

Choose a tag to compare

@scramjet scramjet released this 31 Aug 02:14
85a3896

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