Permalink
Commits on May 11, 2018
Commits on Mar 8, 2018
  1. 0.15.1

    davisp committed Mar 8, 2018
  2. Add missing option for copy strings

    sata authored and davisp committed Mar 8, 2018
    Without this, call to decode with copy_strings option in an
    application will make Dialyzer complain when using the exported type for options
Commits on Jan 5, 2018
  1. This is 0.15.0

    davisp committed Jan 5, 2018
Commits on Nov 6, 2017
  1. Add `copy_strings` feature

    davisp committed Nov 1, 2017
    Some users of Jiffy have experienced issues when decoding large JSON
    documents. Normally Jiffy expects smallish documents and returns any
    strings as sub-binaries. When dealing with large documents these
    sub-binary references can keep a large amount of RAM around unless the
    user goes through and applies `binary:copy/1` on every string returned
    from Jiffy. This however causes a large amount of CPU usage to do
    something that Jiffy could do as it builds the JSON structure.
    
    The `copy_strings` decoder option does exactly this. Instead of
    returning sub-binaries Jiffy now copies every string into a newly
    allocated binary. Users report that this fixes the memory issues while
    also not negatively affecting performance significantly.
Commits on Nov 1, 2017
  1. Bump to 0.14.13

    davisp committed Nov 1, 2017
  2. Fix type spec

    davisp committed Nov 1, 2017
Commits on Oct 31, 2017
  1. Bump to 0.14.12

    davisp committed Oct 31, 2017
  2. Document dedupe_keys option

    davisp committed Oct 31, 2017
Commits on Oct 30, 2017
  1. Add `dedupe_keys` option

    davisp committed Oct 30, 2017
    You can no optionally request that keys are deduplicate inside of Jiffy
    instead of having to perform that operation in Erlang.
  2. Tighten string buffer size calculation in enc_string.

    dhull authored and davisp committed Oct 5, 2017
    When "\u"-escaping a Unicode character, the esc_extra value doesn't
    need to include the number of bytes in the input string.  That is, if
    a three-byte UTF-8 character is being escaped to a six-byte "\uXXXX"
    sequence, esc_extra only needs to be increased by 3.
Commits on Aug 29, 2017
  1. test erlang 20

    getong authored and davisp committed Aug 29, 2017
Commits on Jul 6, 2017
  1. Merge pull request #151 from wohali/win32-cleanup

    davisp committed Jul 6, 2017
    Cleanup after new enc lands
Commits on Jun 7, 2017
  1. Replace old test case with generated data

    davisp committed Jun 7, 2017
    For some reason I left a 377KiB test case checked in. Replacing this
    with a generated test case is obvious in hindsight.
Commits on Mar 17, 2017
  1. Specify the escript executable for hooks

    davisp committed Mar 17, 2017
    Windows appears to not enjoy relative path names for exectuables so
    hopefully this Fixes things there.
    
    Fixes #83
Commits on Dec 31, 2016
  1. Jiffy 0.14.11

    davisp committed Dec 31, 2016
  2. Maintain my own file list for hex

    davisp committed Dec 31, 2016
    Apparently hex only includes some files by default but not others
    rather than a sane default of anything except for VCS directories. So
    now I also get to maintain a list of files in my .app.src.
Commits on Dec 29, 2016
  1. Bump to 0.14.10 because rebar3 is inept

    davisp committed Dec 29, 2016
    Apparently rebar3 can't generate a sane version number from Git tags and
    adds a bunch of BS build number and ref tags which hex.pm then rejects.
    Given that I can't find any documentation on how that works and reading
    code is an exercise in over engineered abstractionism I've succumbed to
    the demoralizing conclusion that I'll just have to go back to the dark
    ages and maintain my versions both in source and in version control.
  2. Add `use_nil` to `encode_option`

    dantswain authored and davisp committed May 19, 2016
    A call to `jiffy:encode(Term, [use_nil]).` will currently cause dialyzer
    to issue a warning because `use_nil` is not included in `encode_option`.
    This appears to just be an omission.
Commits on Oct 10, 2016
  1. Merge pull request #118 from davisp/feature-add-rebar3-support

    davisp committed Oct 10, 2016
    Add support for rebar3
Commits on Sep 29, 2016
  1. Add support for rebar3

    davisp committed Mar 18, 2016
    Allow Jiffy to be used easily in projects using either rebar 2 or 3.
  2. Replace PropEr with EQC

    davisp committed Sep 23, 2016
    PropEr broke my support for R14. Turns out that EQC Mini is quite usable
    so I've just switched to that. If EQC Mini exists it will be used, if
    not the test is skipped gracefully.
Commits on Jul 13, 2016
  1. Fix enc_long for 64-bit Windows

    davisp committed Jul 13, 2016
    Originally reported by @NorthNick on apache/couchdb-jiffy.
Commits on Apr 6, 2016
  1. Merge pull request #119 from egobrain/patch-1

    davisp committed Apr 6, 2016
    Fixed wrong jiffy:decode/2 spec
Commits on Mar 31, 2016
  1. Fix force_utf8 for object keys

    davisp committed Mar 31, 2016
    Previously if a key was malformed UTF-8 and the user specified the
    `force_utf8` option we would fail to try and encode a fixed up version
    of the object. This was due to missing a clause to catch the
    `invalid_object_member_key` exception. This adds the clause and a couple
    tests to ensure it works.
Commits on Jan 6, 2016
  1. Copy double-conversion license to root LICENSE

    davisp committed Jan 6, 2016
    This was marked in the c_src/double-conversion directory but I've gone
    ahead and added a copy to the root LICENSE file.
  2. Ignore hexer.config

    davisp committed Jan 6, 2016
  3. Update jiff.app.src for hex.pm

    davisp committed Jan 6, 2016
    Time for Jiffy to enter the world of Erlang package management.