Skip to content

Releases: naddison36/sol2uml

Release v2.1.2

03 Aug 03:48
Compare
Choose a tag to compare
  • flatten now merges files with dependencies first so the file will compile.
  • fixed the to slot number of strings and bytes that are > 32 bytes

Release v2.1.1

02 Aug 11:46
Compare
Choose a tag to compare
  • Fixed incorrect sizing of fixed-sized arrays that contained dynamic arrays. eg bool[][3][2] 2 * 3 = 6 slots, not 1
  • storage diagrams now include arrays
  • set a default filename for class and storage diagrams.
  • Added SCAN_API_KEY env variable for the apiKey option
  • slot hex values now upper case and in Courier New font so the hex data are aligned.
  • don't display slot values for mappings or fixed-sized arrays
  • flatten sub-command now comments out import statements and renames SPDX-License-Identifier to SPDX--License-Identifier so the merged file will compile

Release v2.1.0

29 Jul 15:56
c35830f
Compare
Choose a tag to compare
  • Option to add storage slot values that are fetched from the chain to storage diagrams
  • Unallocated bytes now shown in storage diagrams
  • fix storage diagrams when the first variable uses multiple slots
  • fix: imports of @ packages when using Etherscan to get source files
  • Simplified default filenames

Breaking changes from 2.0.x

  • renamed the --contractName <value> option to just --contract <name>

Release v2.0.5

28 Jul 04:21
Compare
Choose a tag to compare
  • Storage diagrams now support fixed-sized arrays that are declared with a constant

Release v2.0.4

27 Jul 23:16
Compare
Choose a tag to compare

Improved the default output file name when not specified. It now uses the contract name in the current working directory with the appropriate file extension.

Release v2.0.3

26 Jul 01:54
Compare
Choose a tag to compare
  • Added sepolia to the network option

Release v2.0.2

25 Jul 05:53
Compare
Choose a tag to compare
  • Added lib/utils files to npm package

Release v2.0.1

25 Jul 03:20
5105bc8
Compare
Choose a tag to compare
  • Fixed finding inherited contracts for storage diagrams
  • Bumped version to v2.0.1

Release 2.0.0

24 Jul 10:50
b2f3a80
Compare
Choose a tag to compare

Changes to the command line interface

  • Class diagrams are now under a class subcommand. sol2uml class
  • New storage subcommand to draw the storage slots of a contract. sol2uml storage
  • New flatten subcommand that downloads the verified source code from Etherscan to a local Solidity file. sol2uml flatten

Renamed command line options

  • -d --depthLimit to -sf --subfolders
  • -a --hideAttributes to -hv --hideVariables
  • -p --hideOperations to -hf --hideFunctions
  • -e, --hideEnums to -he, --hideEnums
  • -s, --hideStructs to -hs, --hideStructs
  • -l, --hideLibraries to -hl, --hideLibraries
  • -t, --hideInterfaces to -hi, --hideInterfaces
  • -r, --hideInternals to -hp, --hidePrivates

New command line options

  • Added -d --depth to limit the depth of contracts connected to the base contracts.
  • Added -ha --hideAbstract to hide all abstract contracts.
  • Added -hn, --hideFilename to hide the relative filename of a contract.

Dependencies

  • Only support node 14 and above as TypeScript target is now ES2020
  • Replaced vis.js with the maintained @aduh95/viz.js which supports Graphviz 5.0.0
  • Replaced svg-to-png with the maintained convert-svg-to-png.

Fixes

  • Improved linkages of classes when there are duplicate contract names, explicit imports and import aliases.
  • If a contract or library contains a struct, it is marked as an aggregate association. A separate dependency line is used to link a contract to a struct. This can be a storage (solid line) or memory (dashed line) dependency.
  • Structs in libraries are now linked to their dependent contract.
  • Fixed the diamond inheritance problem.
  • Association from an array of a user-defined type.

Release v1.1.26

31 Jul 08:45
Compare
Choose a tag to compare
  • Added support for file-level structs and enums which Solidity introduced in 0.6.x
  • Updated dependencies