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/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 forRLP.encode()
andRLP.decode()
, PR #74 - Removed unused
safe-buffer
dependency, PR #80
v2.2.3 - 2019-03-19
- More robust
Array
type 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.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 CLIbin/rlp
command not to work, see PR #60 - Additional exports of types used by
decode
andencode
(PR #59):Input
: input type forencode()
Dictionary
andList
: interfaces for possibleInput
valuesDecoded
: interface fordecode()
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 forMPL2.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