Skip to content

Releases: tronprotocol/tronbox

v4.9.0

Choose a tag to compare

@unicornonea unicornonea released this 15 Jul 10:03
b253349

Bug Fixes

  • Fixed compile not surfacing errors raised while discovering source files
  • Fixed compile crashing 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 migrate silently re-running every migration when the on-chain migration counter can't be read; it now surfaces the error
  • Fixed migrate ignoring a zero-valued --from or --to
  • Fixed trailing constructor-argument handling when deploying
  • Fixed deploy not surfacing an error when the post-deploy lookup fails or the transaction hash is missing
  • Fixed the per-deployment userFeePercentage option being ignored
  • Fixed test not reporting a clear error for missing test files
  • Fixed test treating non-JavaScript files as tests
  • Fixed duplicate camelCase flags when forwarding console commands
  • Fixed repeated CLI flags not being treated as last-wins
  • Fixed flatten exiting zero when given no files
  • Fixed unbox box-name resolution and refreshed its help

Improvements

  • Faster flatten: each source is resolved and parsed once
  • Parsed source files with @solidity-parser/parser to scan imports

Security

  • Rejected path traversal in Solidity import paths

Dependencies

  • Upgraded ethers to 6.17.0
  • Upgraded yauzl to 3.4.0
  • Added a ws 8.21.0 override

Removals

  • Removed glob dependency
  • Removed tmp dependency (temp directories now use Node's native mkdtemp)

v4.8.0

Choose a tag to compare

@unicornonea unicornonea released this 02 Jun 10:09
4cc31a1

Bug Fixes

  • Fixed migrate exiting the process or silently continuing on errors thrown by migration scripts, contract calls, or deployer steps
  • Fixed flatten truncating its output when stdout is piped
  • Fixed waitForTransactionReceipt polling 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
  • unbox looks up the template at the requested Git ref (e.g., user/repo#v1.2.3)
  • Dropped ast from per-contract artifacts to shrink build output; the full AST is still emitted to build_info_directory
  • compile no longer supports contract files outside contracts_directory

Dependencies

  • Upgraded tmp from 0.0.33 to 0.2.6

Removals

  • Removed colors dependency (chalk was already in use for the same purpose)
  • Removed original-require dependency (migration sandbox now uses Node's built-in module loader)
  • Removed solc dependency (soljson wrapper vendored in-tree)
  • Removed vcsurl dependency (GitHub URL parsing now inline)

v4.7.1

Choose a tag to compare

@unicornonea unicornonea released this 14 May 08:13
2828aeb

Dependencies

  • Upgraded axios from 1.15.0 to 1.16.1
  • Added a tronweb override to align nested axios resolution with 1.16.1

Packaging

  • Normalized root-level .npmignore exclusions for published packages

v4.7.0

Choose a tag to compare

@unicornonea unicornonea released this 24 Apr 06:17
cf097c5

Features

  • Added support for Tron Solidity compiler 0.8.26
  • Added compile [<files...>] to compile specific contract files with their dependencies
  • Added build_info_directory config 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.prototype global pollution; send/sendAsync are now set on the provider instance
  • Fixed .gitignore being overwritten when copying sample projects during init
  • Preserved correct source and sourcePath in build artifacts by using relative paths as canonical solc input keys

Security

  • Passed --ignore-scripts to npm install in unbox to prevent remote templates from executing preinstall/postinstall hooks

Improvements

  • Removed legacyAST field from contract schema and compiler output
  • Centralized and simplified error formatting and output
  • Simplified downloader.js by deduplicating evm/tron fetch logic

Dependencies

  • Upgraded tronweb from 6.2.2 to 6.3.0
  • Upgraded axios from 1.13.6 to 1.15.0
  • Upgraded lodash from 4.17.23 to 4.18.1

v4.6.0

Choose a tag to compare

@unicornonea unicornonea released this 25 Mar 02:50
83499b5

Features

  • Enhanced flatten command
    • Unified SPDX license header generation across all input files
    • Unified pragma abicoder handling 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 tronweb from 6.1.1 to 6.2.2
  • Upgraded axios from 1.12.0 to 1.13.6
  • Upgraded glob to 13.0.6
  • Upgraded ajv to 6.14.0
  • Upgraded yauzl to 3.2.1

v4.5.0

Choose a tag to compare

@unicornonea unicornonea released this 04 Feb 02:46
ead5d1b

Major Refactoring

  • BREAKING CHANGE: Migrated from web3 v4 to ethers v6 for EVM mode
    • Migration scripts, test scripts, and TronBox console now use ethers instead of web3

Features

  • Made Migrations contract optional - projects can now run migrations without requiring Migrations.sol

Dependencies

  • Upgraded tronweb from 6.0.0 to 6.1.1
  • Upgraded mocha from 10.2.0 to 11.7.4
  • Upgraded eslint from 9.31.0 to 9.39.1
  • Upgraded eslint-plugin-n from 17.15.1 to 17.23.1
  • Upgraded axios from 1.11.0 to 1.12.0
  • Upgraded lodash from 4.17.21 to 4.17.23
  • Upgraded @solidity-parser/parser from 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-sources dependency (inlined contract discovery logic)
  • Removed @truffle/error dependency (replaced with custom TronBoxError class)
  • Removed @truffle/expect dependency (replaced with local utility)
  • Removed truffle-blockchain-utils dependency (unused)
  • Removed cpr dependency (replaced with native fs.promises implementation)
  • Removed temp dependency (replaced with tmp package)
  • Removed web3 v4.16.0 dependency (replaced with ethers v6.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 ethers migration

v4.4.0

Choose a tag to compare

@unicornonea unicornonea released this 11 Oct 07:43
ed3e792
  • Added support for Tron Solidity compiler 0.8.25
  • Removed the build, serve, and watch CLI commands
  • Added a dedicated help command 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

Choose a tag to compare

@unicornonea unicornonea released this 15 Aug 14:39
3c01cbb
  • Add MetaCoin project template for tronbox init
  • Support calling overloaded Solidity functions
  • Make tronWeb instance available in migration scripts

v4.2.2

Choose a tag to compare

@unicornonea unicornonea released this 30 Jul 08:25
9fd8013
  • Upgrade axios to v1.11.0 to resolve form-data vulnerability
  • Replace request/superagent with axios
  • Remove @resolver-engine/imports-fs, replaced with custom implementation
  • Replace github-download with inline implementation
    • Replace deprecated request with axios for HTTP requests
    • Replace adm-zip with yauzl for ZIP file handling

v4.2.1

Choose a tag to compare

@unicornonea unicornonea released this 21 Jul 09:28
31f9598
  • Support for Tron Solidity compiler 0.8.24
  • Upgrade eslint to v9.31.0