- 3.0.1 (May 2022)
- 3.0.0 (May 2022)
- 2.3.0 (Mar 2020)
- 2.2.0 (Dec 2018)
- 2.1.3 (May 2018)
- 2.1.2 (Aug 2017)
- 2.1.1 (Aug 2017)
- 2.1.0 (Jul 2017)
- 2.0.1 (Jun 2017)
- 2.0.0 (May 2017)
3.0.1 (2022-05-22)
The browser bundle was not updated in the previous release.
3.0.0 (2022-05-22)
This change allows to properly encode BigInt objects:
// always as string
BigInt.prototype.toJSON = function () {
return String(this);
};
// or either as string or number, depending on the value
BigInt.prototype.toJSON = function () {
var isSafeNumber = Number.MIN_SAFE_INTEGER <= this && this <= Number.MAX_SAFE_INTEGER;
return isSafeNumber ? Number(this) : String(this);
};
- encode ArrayBuffer objects as bin (8209327)
import { encode } from "notepack.io";
encode(Uint8Array.of(1, 2, 3, 4));
// before: <Buffer c7 04 00 01 02 03 04>
// after: <Buffer c4 04 01 02 03 04>
ArrayBuffer objects encoded with previous versions of the library will still be decoded, but as Buffer instead of Uint8Array.
Reference: https://github.com/msgpack/msgpack/blob/master/spec.md#bin-format-family
- encode Date objects following the official timestamp extension (9fb6275)
import { encode } from "notepack.io";
encode(new Date("2000-06-13T00:00:00.000Z"));
// before: <Buffer d7 00 00 00 00 df b7 62 9c 00>
// after: <Buffer d6 ff 39 45 79 80>
Date objects encoded with previous versions of the library will still be properly decoded.
Reference: https://github.com/msgpack/msgpack/blob/master/spec.md#timestamp-extension-type
- match JSON.stringify() behavior (21c6592)
The library will now match the behavior of the JSON.stringify() method:
- undefined is now encoded as nil (0xc0)
- undefined values in objects are now ignored
import { encode, decode } from "notepack.io";
const value = {
a: undefined,
b: null,
c: [undefined, null]
};
decode(encode(value));
// before:
// {
// a: undefined,
// b: null,
// c: [undefined, null]
// }
// after:
// {
// b: null,
// c: [null, null]
// }
2.3.0 (2020-03-15)
- decode: add a cache for buffer-to-string conversions (3c0e5a6)
- encode: add a cache for string-to-buffer conversions (60e8b0b)
2.2.0 (2018-12-18)
2.1.3 (2018-05-14)
2.1.2 (2017-08-23)
2.1.1 (2017-08-08)
- browser: fix decoding for strings with surrogate pairs (#13) (a89e566)
- browser: preserve the offset and length when creating a DataView (#11) (bd91aa7)