Releases: tronprotocol/tronbox
Releases · tronprotocol/tronbox
Release list
v4.9.0
Bug Fixes
- Fixed
compilenot surfacing errors raised while discovering source files - Fixed
compilecrashing on dependency-resolution failures instead of reporting them - Fixed solc warnings leaking into the thrown compilation error
- Fixed import resolution by normalizing path separators
- Fixed
migratesilently re-running every migration when the on-chain migration counter can't be read; it now surfaces the error - Fixed
migrateignoring a zero-valued--fromor--to - Fixed trailing constructor-argument handling when deploying
- Fixed
deploynot surfacing an error when the post-deploy lookup fails or the transaction hash is missing - Fixed the per-deployment
userFeePercentageoption being ignored - Fixed
testnot reporting a clear error for missing test files - Fixed
testtreating non-JavaScript files as tests - Fixed duplicate camelCase flags when forwarding
consolecommands - Fixed repeated CLI flags not being treated as last-wins
- Fixed
flattenexiting zero when given no files - Fixed
unboxbox-name resolution and refreshed its help
Improvements
- Faster
flatten: each source is resolved and parsed once - Parsed source files with
@solidity-parser/parserto scan imports
Security
- Rejected path traversal in Solidity import paths
Dependencies
- Upgraded
ethersto 6.17.0 - Upgraded
yauzlto 3.4.0 - Added a
ws8.21.0 override
Removals
- Removed
globdependency - Removed
tmpdependency (temp directories now use Node's nativemkdtemp)
v4.8.0
Bug Fixes
- Fixed
migrateexiting the process or silently continuing on errors thrown by migration scripts, contract calls, ordeployersteps - Fixed
flattentruncating its output when stdout is piped - Fixed
waitForTransactionReceiptpolling indefinitely when a transaction never appears
Improvements
- Faster artifact lookup in the resolver
- Clearer error messages for invalid imports, missing npm packages, and missing files within an npm package
unboxlooks up the template at the requested Git ref (e.g.,user/repo#v1.2.3)- Dropped
astfrom per-contract artifacts to shrink build output; the full AST is still emitted tobuild_info_directory compileno longer supports contract files outsidecontracts_directory
Dependencies
- Upgraded
tmpfrom 0.0.33 to 0.2.6
Removals
- Removed
colorsdependency (chalk was already in use for the same purpose) - Removed
original-requiredependency (migration sandbox now uses Node's built-in module loader) - Removed
solcdependency (soljson wrapper vendored in-tree) - Removed
vcsurldependency (GitHub URL parsing now inline)
v4.7.1
Dependencies
- Upgraded
axiosfrom 1.15.0 to 1.16.1 - Added a
tronweboverride to align nestedaxiosresolution with 1.16.1
Packaging
- Normalized root-level
.npmignoreexclusions for published packages
v4.7.0
Features
- Added support for Tron Solidity compiler 0.8.26
- Added
compile [<files...>]to compile specific contract files with their dependencies - Added
build_info_directoryconfig option; solc standard JSON input/output are written per compilation for build reproducibility - Expanded solc output selection for richer build artifacts
Bug Fixes
- Removed unused address normalization from Artifactor to fix cross-network address corruption
- Fixed
HttpProvider.prototypeglobal pollution;send/sendAsyncare now set on the provider instance - Fixed
.gitignorebeing overwritten when copying sample projects duringinit - Preserved correct
sourceandsourcePathin build artifacts by using relative paths as canonical solc input keys
Security
- Passed
--ignore-scriptstonpm installinunboxto prevent remote templates from executing preinstall/postinstall hooks
Improvements
- Removed
legacyASTfield from contract schema and compiler output - Centralized and simplified error formatting and output
- Simplified
downloader.jsby deduplicating evm/tron fetch logic
Dependencies
- Upgraded
tronwebfrom 6.2.2 to 6.3.0 - Upgraded
axiosfrom 1.13.6 to 1.15.0 - Upgraded
lodashfrom 4.17.23 to 4.18.1
v4.6.0
Features
- Enhanced
flattencommand- Unified SPDX license header generation across all input files
- Unified
pragma abicoderhandling and normalization - Added dependency library version information in build output
Breaking Changes
- BREAKING CHANGE: Removed EPM (Ethereum Package Manager) support
- BREAKING CHANGE: Configuration directory paths (
build_directory,contracts_directory,contracts_build_directory,migrations_directory,test_directory) are now constrained to the project root - BREAKING CHANGE: Disallowed running and importing files outside the project directory
- BREAKING CHANGE: Removed global config injection
Bug Fixes & Improvements
- Added checksum validation for downloaded soljson compiler files
- Improved error capturing and unhandled promise rejection handling
- Normalized error output formatting and added explicit exit codes
- Enhanced runtime stability with null-safety checks on deployment and contract interactions
Dependencies
- Upgraded
tronwebfrom 6.1.1 to 6.2.2 - Upgraded
axiosfrom 1.12.0 to 1.13.6 - Upgraded
globto 13.0.6 - Upgraded
ajvto 6.14.0 - Upgraded
yauzlto 3.2.1
v4.5.0
Major Refactoring
- BREAKING CHANGE: Migrated from
web3v4 toethersv6 for EVM mode- Migration scripts, test scripts, and TronBox console now use
ethersinstead ofweb3
- Migration scripts, test scripts, and TronBox console now use
Features
- Made Migrations contract optional - projects can now run migrations without requiring
Migrations.sol
Dependencies
- Upgraded
tronwebfrom 6.0.0 to 6.1.1 - Upgraded
mochafrom 10.2.0 to 11.7.4 - Upgraded
eslintfrom 9.31.0 to 9.39.1 - Upgraded
eslint-plugin-nfrom 17.15.1 to 17.23.1 - Upgraded
axiosfrom 1.11.0 to 1.12.0 - Upgraded
lodashfrom 4.17.21 to 4.17.23 - Upgraded
@solidity-parser/parserfrom 0.16.0 to 0.20.2 - Upgraded Babel toolchain from 7.25.9 to 7.28.3
- Pinned all dependencies to exact versions for reproducible builds
- Raised minimum supported Node.js version to 20
Removals
- Removed
@truffle/contract-sourcesdependency (inlined contract discovery logic) - Removed
@truffle/errordependency (replaced with custom TronBoxError class) - Removed
@truffle/expectdependency (replaced with local utility) - Removed
truffle-blockchain-utilsdependency (unused) - Removed
cprdependency (replaced with nativefs.promisesimplementation) - Removed
tempdependency (replaced withtmppackage) - Removed
web3v4.16.0 dependency (replaced withethersv6.15.0)
Bug Fixes & Improvements
- Fixed config property path resolution to handle relative paths correctly
- Improved error messages and command-line output wording
Documentation
- Updated comments throughout codebase to reflect
ethersmigration
v4.4.0
- Added support for Tron Solidity compiler
0.8.25 - Removed the
build,serve, andwatchCLI commands - Added a dedicated
helpcommand with clear usage information for each subcommand and parameter - Refactored core commands (
compile,console,migrate,test, etc.) to include descriptions, parameter documentation, usage examples, and enhanced logging and error handling - Ran each REPL subcommand in its own child process and streamed stdout/stderr as received
- Updated documentation links to https://tronbox.io/docs
v4.3.0
- Add MetaCoin project template for tronbox init
- Support calling overloaded Solidity functions
- Make tronWeb instance available in migration scripts
v4.2.2
- Upgrade
axiosto v1.11.0 to resolveform-datavulnerability - Replace
request/superagentwithaxios - Remove
@resolver-engine/imports-fs, replaced with custom implementation - Replace
github-downloadwith inline implementation- Replace deprecated
requestwithaxiosfor HTTP requests - Replace
adm-zipwithyauzlfor ZIP file handling
- Replace deprecated
v4.2.1
- Support for Tron Solidity compiler 0.8.24
- Upgrade eslint to v9.31.0