Skip to content

Latest commit

 

History

History
111 lines (109 loc) · 6.84 KB

CHANGELOG.md

File metadata and controls

111 lines (109 loc) · 6.84 KB

Changelog Previous

Latest changelog entries in Readme link

  • 1.2.114
    • import.mjs is not included in npm publish (fixed)
    • Fix errors found when reviving referneces; (assumed a field in object meant THE object; checked wrong array length; cleanup duplicate variables)
  • 1.2.113
    • Add higher resolution Date type called DateNS; which adds a 'ns' field which is a number of additional nanoseconds on top of the timestamp. (JS Specific issue; ISO-8601 date format may be of any precision)
  • 1.2.112
    • add check for \ufeff in stringifier for identifiers; because of BOM legacy usage unquoted ZWNBSP has to be counted as just whitespace. (especially considering multiple files might have been concatenated?)
  • 1.2.111
    • fixes travis tests; latest mocha/coverage slows benchmark tests by 10x.
  • 1.2.110
    • Fix packaging error.
  • 1.2.109
    • fixed vertical tab character parsing.
    • fixed hex numbers with [a-f][A-F] characters.
    • added reset() method for tests to reset global JSOX type registrations.
    • added 1.2.108 named tests.
    • Added RegExp support; encodes as ?e? string type; JSOX.parses("?e?'a+'") === /a+/
      • encode as regex instead of ?e?; is actually 1 byte shorter, and more familiar. JSOX.parses("regex'a+'") === /a+/, JSOX.stringify(/a+/) === /"regex'a+'"/
  • 1.2.108
    • Refix base64, which failed to quote strings that looked like numbers.
    • Clear array buffer typed variable when resolving the typed array; leaked to next parse.
  • 1.2.107
    • Updated document about CI tests.
    • Enable Travis CI integration.
    • Reference arrays don't result with the same object; reduce frequency of warning message.
    • Remove automatic guess promoting numbers to bigints, floats can also be pretty big.
  • 1.2.106
    • fix regression in stringifying binary array objects; removing the quotes caused the '/' to be interpreted as a comment.
    • update documentation about base64 encoding
    • replace '+/' with '$_' as the high value strings emitted. Older versions will already accept this encoding.
  • 1.2.105
    • Fix losing array containing typed objects.
    • Pass stringifier to toJSOX method.
    • Added compatibility tests between sack.vfs node plugin and JS version.
    • Fixed issues reviving references (new test), and replacing/providing values.
  • 1.2.104
    • Throw error while parser is in error state and new writes() are called.
    • allow '+' prefix to numbers
    • Fix fromJSOX class revival handling; call per-field.
    • Added beginning of stringify tests (coverage).
  • 1.2.103
    • additional reference path revival fix.
  • 1.2.102
    • added automated test notes
    • Added formal reference revival test; a different recursive variation of reference which failed.
    • refactored to remove 'element_array' special case tracking variable; standardize on just 'elements' instead.
  • 1.1.123 (published as 1.2.101)
    • Added automated mocha tests; (ported from JSON6).
    • Fixed some parsing issues exposed by tests around unicode whitespace handling and more.
    • Throw an error when a invalid date is created.
    • Most fixes were in handling badly formatted data either with exceptions, or accepting more badly formatted input as valid.
  • 1.1.122
    • Remove option SUPPORT_LEAD_ZERO_OCTAL; JS "strict" errors on lead zeros; and Number() converts lead zeros as decimal; removes custom decoding.
  • 1.1.121
    • fix parsing {op:f,}. Generalize unquoted string recovery.
  • 1.1.120
    • revert UTC time change; keep accuracy.
  • 1.1.119
    • missed the toFullYear -> toUTCFullYear of the date.
  • 1.1.118
    • treat \u00A0 the same as a ' ' (space). Visually they are the same, so in the interst of being human readable, it would make sense the machine should read it the same way.
    • fix failure to encode millisecond into timestamp.
  • 1.1.117
    • Fixes reviving a class in a class in a map referencing the class in the map, and then finishsing map.class.class before finishing map.class
    • Fixes reviving references after another prototype revival. (map followed by a key with a reference).
    • restore handling empty object arguments {,,a:3,,,,,b:4,,,} results in {a;3,b:4}.
    • Added some tests which caused the above failures; updated ancient tests to account for
    • top level <string><object> in a stream to seprate with <string><ws><object> which is valid for the test.
  • 1.1.116
    • Provides 'browser', and 'module' entry points. Improves module support.
    • Fixes an issue with references in arrays after other objects.
    • Fixes unclosed ref array state, for ref[], [].
    • Resolves an internal state meaning that overlapped meaning of default and pushed.
  • 1.1.115
    • publish minor doc updates
  • 1.1.114
    • Cricial Fix - clear arrayType when opening a new object or array (circular object decode)
    • Reference fix when referencing the root node.
  • 1.1.113
    • fix leftover test code in require.js.
  • 1.1.111
    • fix packaging.
  • 1.1.101
    • Minor patch to get a long miner version
    • fixed base64 decoding to handle terminations better.
  • 1.1.1
    • added Map() builtin type for JS which is type 'map'.
    • Fixed expression which quoted words with 'S' or 's' in them.
    • Fixed Known array types.
  • 1.1.0
    • Added stringifier/parser instance specific registrations for ToJSOX and FromJSOX handlers.
    • removed unicode non-identifier check, prefering instead just the set of structure characters (basically anything which is not caught before the end begins an identifier). This simplifies testing field names for encoding/stringification.
  • 1.0.8 - Sort object fields case insensitively; standardize field ordering.
  • 1.0.7 - Fixed some stream parsing issues with identifiers.
  • 1.0.6 - just updated build products
  • 1.0.5
    • Fix streaming ability
    • consequtive strings only have whitespace to separate them, so identifiers for defining typed-objects cannot have whitespace between them and '{'.
    • (reverted)implement test for non-identifier characters to quote field strings (or not). Implement reading non-identifier characters, and fault if identifier is unquoted and has such a character.
    • implement typed-strings, which can be used to trigger constructors which accept single strings.
    • update readme with typed-strings, typed-arrays, and typed-objects.
    • performance fix; was keeping parser objects forever.
  • 1.0.4 - Be more forgiving about platforms not having BigInt native support.
  • 1.0.3 - Add ability to register prototypes to use for decoding.
  • 1.0.2 - Issue with mutiple leading and trailing spaces. Fix collecting streams of numbers. Fix an issue with nested classes. Add circular reference support.
  • 1.0.1 - Removed modification of object prototypes; instead track object prototype to formatting function in a WeakMap(). Fixed class expansion. Make objects of a class share the same prototype.
  • 1.0.0 - Intial Release.