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.
bn.js was removed in favor of BigInt support so the package now contains zero dependencies.
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)Buffers were replaced in favor of using Uint8Arrays for greater compatibility with browsers.
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
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/checkoutto v2, PR #92
v2.2.5 - 2020-05-25
- Added
BigIntas 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
DictionaryInputtype forRLP.encode()andRLP.decode(), PR #74 - Removed unused
safe-bufferdependency, PR #80
v2.2.3 - 2019-03-19
- More robust
Arraytype checking inRLP.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.jsdependency 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.0causing the CLIbin/rlpcommand not to work, see PR #60 - Additional exports of types used by
decodeandencode(PR #59):Input: input type forencode()DictionaryandList: interfaces for possibleInputvaluesDecoded: interface fordecode()return type
- Additional test structure and new integration tests for distribution and
bin/rlpCLI 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
LICENSEfile forMPL2.0, see PR #31
v2.1.0 - 2018-06-28
- Updated supported Node versions, PR #13
- Switched to
safe-bufferfor 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
Buffervalues 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