Releases: OffchainLabs/arbitrum-classic
Arbitrum v1.1.0
This release contains the ability to adjust the max gas that a node will use in a call using the --node.rpc.max-call-gas
option. This defaults to 5,000,000 gas which was previously a hardcoded limit.
It also contains significant performance optimizations in the node
v1.0.0
This major release brings the Arbitrum node to general stability with significantly improved memory usage and more efficient archive query performance.
Note that this release is a one time breaking change from the previous database format and will require syncing a fresh node in order to upgrade.
Though mostly focused on stability and performance this release includes one exciting new feature which is the ability query the node to get L1 inclusion information about a transaction. To make use of this feature start a node with the --node.rpc.enable-l1-calls
flag. When this tag is passed, it enables queries using an optional argument to eth_getTransactionReceipt
.
curl http://arbnode -X POST -H "Content-Type: application/json"
-d '{"jsonrpc":"2.0","method":"eth_getTransactionReceipt","params": ["txhash", {"returnL1InboxBatchInfo": true}],"id":1}'
Arbitrum v0.8.0
- Generalized, safe L1/L2 txs & token bridging
- BLS sigs
- Even better EVM compatibility
- New and improved dispute-window logic
- Node performance optimizations
Arbitrum v0.7.3
- Improve validator and aggregator stability
- Reduce memory usage
- Add websocket support to aggregator
- Add pre EIP-155 signature support
- Add support for aggregator forwarding mode to use it as a node without submitting your own batches
- Drop arb-provider-go (If you were using this use go-ethereum's
ethclient.Dial
instead
Arbitrum v0.7.2
Features:
- Add support for all precompiles except RIPEMD160 and MODPOW
- Add (incomplete) support for ethereum websocket interface
- Add support for more compressed transaction type
- Add support for Kovan testnet to the aggregator and validator
Arbitrum v0.7.1
This is a bug fix release on top of v0.7.1
Minor Features
- Add
eth_chainId
support
Bug Fixes
- Fix
eth_getBlockByNumber
andeth_getBlockByHash
behavior when block does not exist - Turn off aggregator tracking of the pending state by default
- Fix bug in
eth_getLogs
which caused queries to miss some matching logs - Fix
eth_getLogs
support for null topics and multiple topics - Fix validator hashing of valid nodes
- Fix arb-validator stack overflow bug when processing large messages
Arbitrum v0.7.0
This major release of Arbitrum makes two major changes to the system
- Instead of having smart contracts hardcoded into per-chain Arbitrum machines, we instead provide ArbOS, a generic Arbitrum operating system program capable of dynamically loading smart contracts
- We provide a standard Ethereum JSON-RPC interfacing for interacting with Arbitrum chains allowing for full compatibility with existing tooling
Arbitrum v0.6.5
Features
- Adds a fast catch up mode to the validator which speeds up processing of blocks older than the reorg threshold
- During reorg, handle calls to validator from a cache of the most recent pre-reorg state rather than blocking
Refactors
- Add test of confirmations containing withdrawals
- Reorganize checkpointer in order to simplify public API and unite related pieces of code
Fixes
- generateAlignedStakersProofs in the validator produced invalid proofs for checkAlignedStakers in the ethbridge when there are stakers with stakes too new for the node being confirmed.
- Fix error in bytesToBytestackHash for inputs with length > 32 && length % 32 != 0
- Fix handling of messages in batch with invalid signature in transactionMessageBatchHashSingle
- Fix error in one step proof of inbox opcode in executeInboxInsn
- Fix send with insufficient balance causing VM error
- Fix error in confirming assertions containing withdrawals
- Fix compiler error not properly deducting eth balance of contract after send
- Fix serving tx receipts for deposit transactions
- Fix explosive memory usage in validator - Issue was due to repeated copying of code when machines were cloned which is supposed to be a cheap operation
Arbitrum v0.6.4
Bug fix release
Arbitrum v0.6.0
This release of Arbitrum includes a number of feature additions, code cleanups/refactors, and bug fixes
Features
- Add a database of confirmed nodes to the validator to support historical queries (https://github.com/OffchainLabs/arbitrum/pull/342)
- Make transaction receipt server handle reorgs and restarts (https://github.com/OffchainLabs/arbitrum/pull/347)
- Tag all Arbitrum values with a size (Will be used for measuring storage usage) (https://github.com/OffchainLabs/arbitrum/pull/275)
- Add GlobalInbox support for transferring control of funds pending withdrawal (https://github.com/OffchainLabs/arbitrum/pull/325)
- Change default behavior of
block.timestamp
andblock.number
use based on the L1 block that the transaction was included in rather than the lower bound of the assertion processing the transactions (https://github.com/OffchainLabs/arbitrum/pull/354) - Add ability for validator to serve receipts and answer calls based on the pending state (based on messages in the inbox that haven't been included in an assertion). Add a flag in arb-provider-ethers to accept pending results as confirmed if the rollup chain has deterministic assertions (https://github.com/OffchainLabs/arbitrum/pull/353)
Refactors
- Standardize method for marking delivered messages with metadata (https://github.com/OffchainLabs/arbitrum/pull/346)
- Measure integration tests and unit tests in separate coverage categories (https://github.com/OffchainLabs/arbitrum/pull/337)
- Simplify node graph checkpointing (https://github.com/OffchainLabs/arbitrum/pull/333)
Fixes
- Fix a number of non-deterministic failures in CircleCI test harness (https://github.com/OffchainLabs/arbitrum/pull/351, https://github.com/OffchainLabs/arbitrum/pull/350)
- Fix Codecov reporting (https://github.com/OffchainLabs/arbitrum/pull/349)
- Add more parallelism to CircleCI (https://github.com/OffchainLabs/arbitrum/pull/316, https://github.com/OffchainLabs/arbitrum/pull/348)
- Fix parsing of invalid machine file (https://github.com/OffchainLabs/arbitrum/pull/336)
- Provide support for deploying contracts larger than ethereum can handle (https://github.com/OffchainLabs/arbitrum/pull/332)
- Fix compiler bug that caused compilation of some contracts to fail (https://github.com/OffchainLabs/arbitrum/pull/326)
- Properly handle calls with no sender (https://github.com/OffchainLabs/arbitrum/pull/315)