Commits on May 30, 2014
  1. Merge pull request #36 from ericpeden/memory-leaks

    memory leak fixes
    committed May 30, 2014
  2. Fix memory leaks in ProcessObject.

    Eric Peden committed May 30, 2014
  3. Fix a memory leak in yajl.dump().

    Eric Peden committed May 30, 2014
Commits on Oct 9, 2011
  1. Merge pull request #31 from rickeyski/master

    Undefined Symbols in python3.2
    committed Oct 9, 2011
Commits on Jul 8, 2011
  1. Fixed undefined symbol on python3.2

    rickey committed Jul 8, 2011
Commits on Apr 27, 2011
  1. handle the case of a unicode argument to loads() differently

    unfortunately this just needs to be inlined, a separate utf8_z_hash
    function won't work. the reason being that PyString_AsStringAndSize
    gives access to the string object's internal buffer rather than copying,
    and that string object was being decrefed away at the end of the
    function, but the buffer we got out of it still needed to be usable.
    teepark committed Apr 27, 2011
Commits on Oct 19, 2010
  1. make yajl.(De|En)coder subclassable. Add default methode to Encoder and

    modify ProcessObject to mimick simplejson's JSONEncoder behaviour when
    encountering unknown types
    Igor committed with Sep 12, 2010
Commits on Sep 12, 2010
  1. add tests for tuples and generator encoding

    Igor committed Sep 12, 2010
  2. change ProcessObject to treat lists, tuple and generators as iterator…

    …s when serializing
    Igor committed Sep 12, 2010
Commits on Aug 18, 2010
  1. Bump to the latest yajl

    Change-Id: I75624cd1f1d73f686c2c200406fcd574692c421f
    committed Aug 18, 2010
Commits on May 2, 2010
  1. Prevent SIGSEGV when encoding objects that refer to themselves

    Also, there were a few places missing checks for yajl_gen_in_error_status
    Signed-off-by: R. Tyler Ballance <>
    teepark committed with Apr 30, 2010
Commits on Apr 11, 2010
  1. Skip IssueThirteenTest on Python 2.4/2.5

    Change-Id: I9cffc2e3876cb27a99acba9786e1a9ddf030cf5d
    committed Apr 11, 2010
  2. Add `yajl.monkeypatch` to smuggle yajl into sys.modules['json']
    Change-Id: I46924a0a2379c37a2cfc07def071ce59a22761d0
    committed Apr 11, 2010
  3. Add a __version__ attribute onto the module

    When building a module from inside the git tree, the version
    will also be "tagged" with the latest commit hash
    Change-Id: Ic4b3d4072afcfccbb7bcbe09afc49f950d25e535
    committed Apr 11, 2010
  4. When dealing with PyLong objects, pull them out as long long's and us…

    …e yajl_gen_number()
    On 32-bit machines, a PyLong_AsLong() call on a 64-bit number will fail,
    to remedy this we pull out the `long long` and use that to generate a buffer
    to pass into yajl_gen_number() which will handle it appropriately
    Change-Id: Iec800f6e765e14041d7a264e3fdecdbb15cc986d
    committed Apr 11, 2010
  5. If ProcessObject() gives us a bad status, check to see if we have a P…

    …ython exception to raise
    In the case of an OverflowError (see: issue #16), we want to raise *that*
    exception instead of raising our own TypeError
    Change-Id: I5b0cf5903b4cabe87df14137aa5d6c944ab3a270
    committed Apr 11, 2010
Commits on Apr 10, 2010
  1. Add a test case for the long int overflow issue

    Change-Id: I63a3b9393fa486ea55165ad17e4b3ecb787d980f
    committed Apr 10, 2010
  2. Add a simple test runner to run tests for myself locally against Pyth…

    Change-Id: I1303c79fd2f0097b8435e8505cbecda1b2bb958d
    committed Apr 10, 2010
Commits on Apr 9, 2010
  1. Bump to v0.3.6 for next series of development

    This series of development should start to flesh out streaming,
    per my notes in:
    Change-Id: I5afdd19d91d380835d5087162abe068ea466e5a6
    committed Apr 8, 2010
Commits on Apr 8, 2010
  1. Bump to 0.3.5

    Change-Id: Id568a4c96593b052e25792e4fa90a32f992e82ff
    committed Apr 8, 2010
  2. Properly handle multiple unicode keys inside of a dictionary

    Previously, py-yajl used `yajl_gen_number()` in order to print a non-escaped
    buffer to the output stream. The ENSURE_NOT_KEY macro inside of yajl_gen.c
    would cause entries to be dropped and an unchecked `yajl_gen_keys_must_be_strings`
    status would be returned.
    In order to work around this, a portion of code has been lifted from yajl_gen.c and
    added to yajl_hacks.c which adds the function `yajl_gen_raw_string()` which prints
    the buffer, unescaped, to the output stream without calling ENSURE_NOT_KEY.
    Change-Id: I75a71573c4949d04ad4d532c27f2b64486db906e
    committed Apr 7, 2010
Commits on Apr 7, 2010
  1. Properly escape inbound slashes and double-quotes

    Change-Id: I38c4d06f9c2c6cae361b9921ad1c51aeb5baacc8
    committed Apr 7, 2010
  2. Enable new unicode tests to run on Python 2 and 3 properly

    Change-Id: I5b680279773a13d7bb5490e194f1ebdbbde0f731
    committed Apr 7, 2010
  3. Increment the py-yajl version to v0.3.4

    Change-Id: I0b19f60aa91d51040ffc5735c9b88c5572cfd098
    committed Apr 7, 2010
  4. When converting a tuple to a list, the count needs to be incremented …

    …on the borrowed reference
    Change-Id: I54adeaf992d041f43b8d1c9c8eb3fbe957b85826
    committed Apr 7, 2010
  5. Bump yajl to the latest version

    Change-Id: I643ae26f8ea2ed521e14a3477dccdb47cde88766
    committed Apr 5, 2010
  6. When not using the XML option, fall-back to unittest.main()

    Change-Id: I266b5b6bd7aae778f8d6730a018353ff32a69eb0
    committed Apr 5, 2010
  7. Properly escape unicode characters to their proper code points

    Using yajl_gen_number() to circumvent yajl_gen_string()'s built-in
    escaping and performing the conversion of wide-characters to their
    respective code-points before passing the buffer along
    Testing latin-1 and simplified chinese characters.
    Change-Id: I3a851aeff6548c7a3246be09515731abaae1fe93
    committed Mar 22, 2010
Commits on Mar 22, 2010
  1. Skip the "long" test in Python 3

    Change-Id: Id93849811fbc904fd96a951b7e7b31c897f7eb14
    committed Mar 22, 2010
  2. Encode keys properly for Python 3

    Change-Id: I6f931788c6d9665bba98083335157318807c6a63
    committed Mar 22, 2010
  3. When dealing with numbered keys in dictionaries, convert them to strings

    Per issue #10, this is in line with the Python `json` module behavior:
        >>> import json
        >>> json.dumps({1:2})
        '{"1": 2}'
        >>> json.dumps({1.2:2})
        '{"1.2": 2}'
    Change-Id: Idd5c10e884227c5f82f19c6eabf083059f97950e
    committed Mar 22, 2010
  4. Update ignore rules to exclude more

    Change-Id: Ie3753837fc5266f34fa37309e3bf051d67b1bfbe
    committed Mar 22, 2010