Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Branch: avar/various-h…
Commits on Nov 14, 2012
  1. @avar

    Sereal::Encoder Tests: add more evil tests for warn_unknown => -1

    avar authored
    Add the tests I initially meant to add to t/400_evil.t. We should also
    document that the warn_unknown option only does what you mean if we
    encounter an unknown object AND *that* can't be serialized and *that*
    object has a string overload.
    
    It does not work for cases like what I'm doing with
    Blessed::Sub::With::Lazy::Overload where we actually have a blesser
    ArrayRef that has an overload that calls a subroutine that's one its
    array elements.
    
    So Sereal can't be used to emulate the idiom of having an object with
    a STORABLE_freeze method. Ways to deal with porting code like that
    include:
    
     1. Having a pre-processor that walks the structure you're wanting to
        Serialize and call every STORABLE_freeze on objects that
        ->can("STORABLE_freeze") (ew!)
    
     2. Having something similar except try to stringify objects you
        encounter, checking if the stringified output looks different from
        something that doesn't have an overload, and if so keep that (even
        more ew!)
    
     3. Implement something like SEREAL_freeze in Sereal::Encoder
        itself (mega ew!)
    
     4. Do that except have a callback mechanism for specific types, say
        objects, pretty much what you get with #2 except Sereal would
        support it. This sucks even more, better to just make it another
        module.
    
     5. Just emit errors on stuff we can't serialize and make damn sure we
        don't have objects whose blessed structures contain a sub that'll
        be called on stringification.
    
        For migration purposes you could try to encode with Sereal but
        fallback to Storable if you can't encode something.
  2. @avar

    Sereal::{Decoder,Encoder}: clarify that no options are on by default

    avar authored
    I kept looking through the docs trying to figure out what the default
    of these options was, clarify that explicitly in the docs.
  3. @avar

    Use less =item in POD in favor of =head*

    avar authored
    By using =item for long sections we don't get those things included in
    TOC's on e.g. metacpan.org. Just make them =head* instead, mostly
    =head3's.
    
    I'm fairly sure I got the intended heading level in sereal_spec.pod
    right, but it's possible that I didn't.
Commits on Nov 13, 2012
  1. @avar
  2. @avar

    Add more tests for issue #7

    avar authored
    Change the tests Steffen added in 0569e4a (derived from
    #7) to also test cases where
    the sub has a string overload, making sure that subsequent copies of
    it stringify to the same thing, and if it returns a reference we'll
    stringify that.
  3. @tsee
  4. @tsee

    Fix for issue 7: backtracking gone wrong for CODE refs

    tsee authored
    When trying to stringify an unknown data structure, the encoder had a
    bug in the backtracking that would cause output corruption for
    refcounts > 1. Solution: Avoid tracking refs that we don't want to refer
    to using REFP/ALIAS.
  5. @tsee

    Remove test script (duh)

    tsee authored
  6. @tsee
  7. @tsee

    Merge pull request #6 from rurban/master

    tsee authored
    Housten typo in comment
  8. @rurban

    Housten typo

    rurban authored
Commits on Oct 29, 2012
  1. @tsee

    version bump, changelog

    tsee authored
  2. @tsee
  3. @tsee

    ref_rewrite_pos must be an offset

    tsee authored
    ref_rewrite_pos used to be a copy of the pos pointer into the buffer.
    Alas, that would turn out to be a nasty, nasty problem if you realloc
    the buffer and then restore pos from ref_rewrite_pos to point outside
    the buffer.
    
    Fix: ref_rewrite_pos is now an offset into the buffer.
  4. @tsee

    More debug asserts

    tsee authored
    No production performance impact - all compiled out.
  5. @tsee
  6. @tsee
  7. @demerphq
  8. @tsee

    Eliminate some repeated code

    tsee authored
Commits on Oct 25, 2012
  1. @tsee

    Perl: Change log and version bump

    tsee authored
  2. @tsee

    Fix leak on re-entrancy

    tsee authored
  3. @tsee

    Tests for Encoder re-entrancy

    tsee authored
  4. @tsee

    Indentation fixes

    tsee authored
  5. @tsee

    Make Sereal::Encoder re-entrant

    tsee authored
    Should only be necessary in bizarre edge cases, but, well, ...
  6. @tsee
  7. @tsee
Commits on Oct 17, 2012
  1. @tsee

    Do not ship MYMETA

    tsee authored
  2. @tsee
Commits on Oct 16, 2012
  1. @tsee

    version bump, changelog

    tsee authored
Commits on Oct 13, 2012
  1. @rgs

    Add decoder option validate_utf8

    rgs authored
    With this option (turned off by default for performance reasons)
    the decoder will emit an error on malformed UTF-8. This will
    *not* check for invalid code points; this can be added later, but Perls
    that are recent enough will warn on those anyway.
Commits on Oct 11, 2012
  1. Keeping track of things that were latin1 for roundtripping

    Chris Veenboer authored
  2. Encoding and Decoding now 100%

    Chris Veenboer authored
  3. Fix NPE in logging of array items

    Chris Veenboer authored
  4. @tsee

    TODO updates

    tsee authored
  5. Avoid refcounting NULL/undef

    Chris Veenboer authored
Something went wrong with that request. Please try again.