Skip to content
This repository has been archived by the owner on Jan 11, 2022. It is now read-only.

Latest commit

 

History

History
208 lines (135 loc) · 7.92 KB

CHANGELOG.md

File metadata and controls

208 lines (135 loc) · 7.92 KB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog (modification: no type change headlines) and this project adheres to Semantic Versioning.

v3.0.0 - UNRELEASED

rlp v3 is a breaking release with several important updates. Special thanks to @paulmillr for the majority of this work in PR #90.

Dependencies

bn.js was removed in favor of BigInt support so the package now contains zero dependencies.

Default export

A new default export RLP now contains encode and decode.

You can now import and use RLP like this:

import RLP from 'rlp'
RLP.encode(1)

Uint8Array

Buffers were replaced in favor of using Uint8Arrays for greater compatibility with browsers.

Invalid RLPs

Increased strictness has been added to ensure invalid RLPs are not decoded, see PR #101.


PRs included in this release:

  • Fix karma, readme updates, combine source to one file, PR #109
  • Add browser support, remove dependencies, PR #90
  • Readme and typedoc updates, normalize source error messages to capital RLP, PR #108
  • Improve cli interface, PR #95
  • Ensure we do not decode invalid RLPs, PR #101

v2.2.7 - 2021-10-06

  • Performance: Avoid creating new array when checking first two chars, PR #100
  • Update BN from require to import, PR #99
  • Update dependencies to latest and add browser build, PR #102

Included Source Files

Source files from the src folder are now included in the distribution build, see PR #97. This allows for a better debugging experience in debug tools like Chrome DevTools by having working source map references to the original sources available for inspection.

v2.2.6 - 2020-07-17

  • Fixed a few edge-cases in decoding long strings that previously could cause OOM (Out of Memory) crash, PR #91
  • Updated GitHub actions/checkout to v2, PR #92

v2.2.5 - 2020-05-25

  • Added BigInt as an accepted encoding type, PR #85
  • Added support/testing for Node 10, 12, 13, 14, moved from Travis to GitHub Actions, PR #87
  • Formatting and config cleanups, PRs #86 and #88

v2.2.4 - 2019-11-02

  • Removed unused Dictionary Input type for RLP.encode() and RLP.decode(), PR #74
  • Removed unused safe-buffer dependency, PR #80

v2.2.3 - 2019-03-19

  • More robust Array type checking in RLP.encode() function, PR #70
  • Library now throws an error when trying to encode negative integer values (e.g. RLP.encode(-1)), PR #71

v2.2.2 - 2019-01-15

  • Added bn.js dependency to fix module resolution bug when require the module after clean install, PR #64
  • Use local version of official tests, fixed testing issue, PR #66

v2.2.1 - 2018-12-20

  • Fixed a bug introduced in v2.2.0 causing the CLI bin/rlp command not to work, see PR #60
  • Additional exports of types used by decode and encode (PR #59):
    • Input: input type for encode()
    • Dictionary and List: interfaces for possible Input values
    • Decoded: interface for decode() return type
  • Additional test structure and new integration tests for distribution and bin/rlp CLI command, see PR #57

v2.2.0 - 2018-12-17

[DEPRECATED] Please update to v2.2.1, release contains a broken CLI bin/rlp command!

First TypeScript based release of EthereumJS libraries, thanks @krzkaczor, @GrandSchtroumpf, @whymarrh, @holgerd77 for the great work on this!

This release doesn't introduce any main new features but will serve as a basis for further TypeScript transitions coming along with greater type safety for EthereumJS libraries. If you are developing in TypeScript you can further already benefit from the RLP type declarations published from now on along new releases.

See PR #37 and subsequent PRs merged towards the associated typescript branch to get an overview on the changes. The release also comes along with the introduction of a new repo ethereumjs-config centralizing configuration for EthereumJS libraries on TypeScript itself as well as linting, formatting and testing.

This release passes all existing unit tests and other checks. If you nevertheless experience problems please report on the EthereumJS Gitter channel.

Other changes:

  • Added LICENSE file for MPL2.0, see PR #31

v2.1.0 - 2018-06-28

  • Updated supported Node versions, PR #13
  • Switched to safe-buffer for backwards compatibility, PR #18
  • Increased test coverage, PR #22
  • Example code tweaks, PR #12
  • Fix test runs on Windows, Issue #7
  • Added code coverage, PR #8

2.0.0 - 2015-09-23

  • User Buffer values as input for encoding

1.1.2 - 2015-09-22

  • Fix zero encoding

1.1.1 - 2015-09-21

  • Fixes for bin

1.1.0 - 2015-09-21

  • Added getLength() method
  • Added hex prefix stripping (isHexPrefix() / stripHexPrefix())
  • Code formatting clean-ups

1.0.1 - 2015-06-27

  • Code formatting clean-ups

1.0.0 - 2015-06-06

  • Added check for invalid 0
  • Hardened rlp

Older releases: