Releases: naddison36/sol2uml
Releases · naddison36/sol2uml
Release v2.1.2
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
- 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
andstorage
diagrams. - Added
SCAN_API_KEY
env variable for theapiKey
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
- 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
- Storage diagrams now support fixed-sized arrays that are declared with a constant
Release v2.0.4
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
- Added
sepolia
to the network option
Release v2.0.2
- Added lib/utils files to npm package
Release v2.0.1
- Fixed finding inherited contracts for storage diagrams
- Bumped version to v2.0.1
Release 2.0.0
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 maintainedconvert-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
- Added support for file-level structs and enums which Solidity introduced in 0.6.x
- Updated dependencies