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.
2.1.2 - 2019-12-19
- Added support for the MuirGlacierHF by updating theethereumjs-commondependency
to v1.5.0
2.1.1 - 2019-08-30
- Added support for Istanbulreduced non-zero call data gas prices
(EIP-2028),
PR #171
2.1.0 - 2019-06-28
Using testnets and custom/private networks is now easier
This release is focused on making this library easier to use in chains other than mainnet.
Using standard testnets can be as easy as passing their names to the Transaction constructor. For
example, new Transaction(rawTx, {chain: 'ropsten', hardfork: 'byzantium'}) is enough to use this
library with Ropsten on Byzantium.
If you are using a custom network, you can take advantage of ethereumjs-common,
which contains all the network parameters. In this version of ethereumjs-tx you can use its new
Common.forCustomNetwork to create a Common instance based on a standard network with some
parameters changed. You can see an example of how to do this here.
List of changes:
- Upgraded ethereumjs-common to ^1.3.0
- Added more documentation and examples on how to create transactions for public testnets and
custom networks.
2.0.0 - 2019-06-03
TypeScript / Module Import / Node Support
First TypeScript based release of the library, see
PR #145 for details.
This comes along with some changes on the API, Node import of the exposed
classes now goes like this:
const EthereumTx = require('ethereumjs-transaction').Transaction
const FakeEthereumTx = require('ethereumjs-transaction').FakeTransaction
The library now also comes with a type declaration file distributed along
with the package published.
Along with this release we drop official support for Node versions 4,5
and 6. Officially tested versions are now Node 8, 10 and 11
(see PRs #138 and
#146).
Hardfork Support / Official Test Updates
Along with a long overdue update of the official Ethereum Transaction tests
(see PRs #131 and
#138 for
FakeTransaction) and
an introduction of setting chain and hardfork by using our shared
ethereumjs-common class
(see PR #131) the
transaction library now supports all HFs up to the Petersburg hardfork,
see constructor option docs for information on instantiation and default values (current hardfork default: petersburg).
API Changes:
- Removal of the data.chainIdparameter, use theopts.chainparameter or a customCommoninstance
Default EIP-155 Support
Along with defaulting to a post-Spurious Dragon HF replay protection from
EIP-155 is now activated by default. Transactions are subsequently also by default signed with EIP-155 replay protection,
see PRs #153,
#147 and
#143.
This comes with some changes in how different v values passed on instantation
or changed on runtime are handled:
- The constructor throws if the vvalue is present, indicates thatEIP-155was enabled, and the chain id it indicates doesn't match the one of the
internalcommonobject
- No default vis set. If a transaction isn't signed, it would be an empty
buffer
- If vis changed after construction its value is validated in its setter
For activating non-EIP-155 behavior instantiate the transaction with a
pre-Spurious Dragon hardfork option.
1.3.7 - 2018-07-25
- Fix bug causing FakeTransaction.fromto not retrieve sender address from tx signature, see PR #118
1.3.6 - 2018-07-02
- Fixes issue #108 with the FakeTransaction.hash()function by reverting the introduced signature handling changes in Fake transaction hash creation from PR #94 introduced inv1.3.5. The signature is now again only created and added to the hash whenfromaddress is set andfromis not defaulting to the zero adress any more, see PR #110
- Added additional tests to cover issue described above
1.3.5 - 2018-06-22
- Include signature by default in FakeTransaction.hash, PR #97
- Fix FakeTransactionsignature failure bug, PR #94
1.3.4 - 2018-03-06
- Fix a bug producing hash collisions on FakeTransactionfor different senders, PR #81
- Switched from deprecated es2015toenvbabel preset, PR #86
- Dropped Node 4 support
1.3.3 - 2017-07-12
- Allow zeros in v,r,ssignature values
- Dropped browserifytransform frompackage.json
- (combined v1.3.3 and v1.3.2 release notes)
1.3.1 - 2017-05-13
1.3.0 - 2017-04-24
- EIP155: allow- vvalue to be greater than one byte (replay attack protection)
- Added browserifyES2015transform topackage.json
- Improved documentation
- (combined v1.3.0, v1.2.5 and v1.2.4 release notes)
1.2.3 - 2017-01-30
- EIP155hash implementation
- README example and doc fixes
1.2.2 - 2016-12-15
- Moved chainIdparam totxParams, parsesigforchainId(EIP155refactor)
- Test improvements
- (combined v1.2.2 and v1.2.1 release notes)
1.2.0 - 2016-12-14
- Added EIP155changes
- Renamed chain_idtochainId
- Node 4/5 compatibility
- ES6standards
Older releases: