- API Renamed
const
function to constant. - Migrate to TypeScript and make type definitions available from npm.
- Improve [browser compatibility][pr#28] by adding a browser polyfill for the Node browser module and loosening types from Buffer to Uint8Array.
1.2.2 - 2021-07-05
- Improve [browser compatibility][pr#27] by eliminating a dependence on the Node assert module.
1.2.1 - 2021-04-29
- Improve browser compatibility by using
Buffer.isBuffer
instead ofinstanceof
to confirm Buffer types.
1.2.0 - 2018-03-14
- API Add UTF8 to encode UTF strings in a possibly bounded buffer, resolving issue #21.
- API Allow the layout parameter of a VariantLayout to be omitted in cases where no data beyond the discriminator is required, resolving issue #20.
1.1.0 - 2018-01-06
- API Add a third parameter to Structure specifying it should decode short buffers as prefixes, resolving issue #19.
- API Interpret string argument to BitStructure
msb
parameter as aproperty
parameter, resolving issue #17.
1.0.0 - 2017-12-17
- Minimum Node version increased to 4.5 to support dependency on Buffer.alloc().
- Removed patch for ancient buffer bug
- Update to ES6 classes and other features
- Documentation clarifications.
- Update dependent packages.
- Switch to npm:eslint and deal with fallout.
0.13.0 - 2016-03-27
- API Add fieldFor.
- Fix incorrect encoding of boolean-valued bit fields.
- API Add offsetOf and layoutFor.
0.12.1 - 2016-03-08
- Disable coverage testing for patchIssue3992 to avoid taking a penalty on node versions that have been updated.
0.12.0 - 2016-03-08
- API Replace
setClassLayout
with bindConstructorLayout. - API Replace
objectPrototype
with makeDestinationObject.
0.11.0 - 2016-02-10
- API Provide prototypes to use for decoded objects, resolving issue #15.
0.10.0 - 2016-01-23
- API Change some exceptions (especially integer value spans) to
throw
RangeError
instead ofTypeError
, resolving issue #12. - API Add boolean-valued bit fields.
- Increase coverage of primary module to 100%.
- Update dev dependency modules.
- Fix always-false pre-convert type check.
0.9.0 - 2015-12-22
- API Support inferring Sequence and Blob spans from available data.
- API Define return value for Layout.encode so we know how much was written.
- API Change name of Sequence property
elementLayout
(fromelement_layout
) and Union propertydefaultLayout
(from (default layout
) for coding standard conformance. - Convert to Google coding style.
0.8.0 - 2015-11-29
0.7.1 - 2015-11-23
- Stop publishing emacs backup files to npm.
0.7.0 - 2015-11-23
- Fix bug in Buffer.writeInt.
- API Support variable lengths in unions.
- API Add zero-width constants.
- API Add function to infer union variant for object.
- API Rework how union discriminators are defined.
0.6.0 - 2015-11-21
- API Support variable lengths in Blob and Sequence.
- API Add NUL-terminated C strings.
- API Add API to access layout span
- API Leave data associated with unnamed properties unchanged in Structure and BitStructure regions (formerly was zeroed on encode).
- Add offset layout support.
- API Eliminate failed support for anonymous containers.
0.5.0 - 2015-11-20
- Add factories for various layouts.
- Integrate travis support.
- Integrate coverage testing using Istanbul.
0.4.0 - 2015-11-19
- Support data blobs.
- Add tests for support of anonymous containers (feature ultimately rejected).
- Allow external discriminators for unions.
- Respect union property names.
0.3.0 - 2015-11-07
- Add support for bit fields.
- Various corrections and enhancements in examples.
0.2.0 - 2015-10-25
- Add fromArray helper to simplify construction from argument list.
- Document destination parameter to decode.
- Allow user-defined name for union discriminators.
- Initial release.