All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
0.12.8 - 2024-12-13
- Correctly merge restrictions (#234)
- Vyper version comparison typo (#232)
- Add fallback parser for contract names (#229)
- Fix minor grammatical issue in project documentation (#226)
- Bump MSRV to 1.83 (#230)
- Release 0.12.7
- Release 0.12.6
- Release 0.12.5
- Release 0.12.5
- Release 0.12.4
- Don't request unnecessary output (#231)
- Make Contract generic for Compiler and add metadata to CompilerOutput (#224)
0.12.3 - 2024-11-20
- Imports regex fallback (#225)
- Release 0.12.3
0.12.2 - 2024-11-20
- Re-add version regex parsing (#223)
- Release 0.12.2
- Don't color punctuation in output diagnostics (#222)
0.12.1 - 2024-11-18
collect_contract_names
(#221)
- Release 0.12.1
0.12.0 - 2024-11-18
- Sanitize
settings.optimizer.details.inliner
(#216) - [tests] Always try installing pinned solc (#217)
- Outdated merge build error
- Release 0.12.0
- Remove outdated
ref
patterns (#218) - Inline constants in Settings::sanitize (#219)
- Use Version::new over .parse (#220)
0.11.6 - 2024-10-16
- Correctly handle b as pre-release in Vyper version (#213)
- Release 0.11.6
0.11.5 - 2024-10-14
- Accept partial first sourcemap element (#209)
- Release 0.11.5
- Allow adding vyper sources with
add_raw_source
w/.vy
/.vyi
extension (#211) - [
ci
] Fix deny (addZLib
exception) (#212)
0.11.4 - 2024-10-02
- Better extra_args handling (#208)
- Release 0.11.4
0.11.3 - 2024-09-30
- Release 0.11.3
- Proper generate legacy asm extra output file (#207)
0.11.2 - 2024-09-30
- Include
evm.legacyAssembly
output (#206)
- Fix typos (#202)
0.11.1 - 2024-09-17
- Better error messages for incompatible versions (#200)
- Release 0.11.1
- Improve error handling in source map parsing (#201)
- Clippy happy (#195)
- Fix up the README example (#194)
0.11.0 - 2024-09-02
- [deps] Bump alloy (#193)
- Release 0.11.0
0.10.3 - 2024-08-26
- [flatten] Update license handling logic (#184)
- Docs fix spelling issues (#190)
- Always provide
Default
forMultiCompiler
(#188) - [vyper] Add experimental codegen to settings (#186)
- More user-friendly error when no compiler is available (#185)
- Release 0.10.3
- Incorrect Default EVM Version for Solidity Compiler 0.4.21-0.5.4 (#189)
0.10.2 - 2024-08-01
- Unify logic for ignored warnings (#179)
- Remove outdated build infos (#177)
- Make remappings resolution more deterministic (#176)
- Sanitize EVM version for vyper (#181)
- Release 0.10.2
- Update README to link docs and update install instructions (#180)
0.10.1 - 2024-07-26
- Better compatibility with older AST (#175)
- Add Prague evm version (#166)
- Release 0.10.1
0.10.0 - 2024-07-18
- Allow empty modifier body in AST (#169)
- Avoid errors when parsing empty sourcemap (#165)
- Fix inconsistent trailing slash in remappings (#49)
- Release 0.10.0
0.9.0 - 2024-06-29
- Cleanup workspace deps (#158)
- Respect
paths.libraries
for Vyper (#159)
- Release 0.9.0
- Improve stripping file prefixes (#164)
- Improve some trace-level logs (#163)
- Remove most impl AsRef<str,Path> (#157)
- Clarify version cache lock (#160)
- Sort derives, derive Eq more (#161)
- [meta] Update CODEOWNERS
- Release 0.8.0
- Rename foundry-compilers-project into foundry-compilers (#152)
- Clippy
- Move lints to workspace (#149)
- Remove unused files and workflow (#148)
- Symlink readme
- Sync workflows
- Cache --version output (#144)
- Unify sources and filtered sources (#162)
- [flatten] Move compilation logic into
Flattener
(#143) - Extract artifacts to a separate crate (#142)
- Use similar-asserts (#145)
0.7.0 - 2024-06-11
- Always fix windows line endings (#139)
- Track and cache context of each compiler invocation (#140)
- Release 0.7.0
0.6.2 - 2024-06-06
- Better tracking of cache entries (#138)
- Release 0.6.2
0.6.1 - 2024-06-05
- Release 0.6.1
- Sync cliff.toml
- Sparse output (#135)
0.6.0 - 2024-06-03
- [deps] Bump itertools (#133)
- Allow multiple languages for compilers (#128)
- Release 0.6.0
0.5.2 - 2024-06-01
- Make CompactContractBytecodeCow implement Artifact (#130)
- Release 0.5.2
- Clippy (#132)
- Reduce size of source map (#131)
0.5.1 - 2024-05-23
- Release 0.5.1
0.5.0 - 2024-05-21
- Vyper imports parser (#125)
- Release 0.5.0
- Swap generics on
Project
(#124)
0.4.3 - 2024-05-13
- Re-enable yul settings sanitization (#122)
- Release 0.4.3
0.4.2 - 2024-05-13
- Do not remove dirty artifacts from disk (#123)
- Release 0.4.2
0.4.1 - 2024-05-07
- Absolute paths in build info (#121)
- Add a few Solc install helpers back (#120)
- Release 0.4.1
0.4.0 - 2024-05-03
- Compiler abstraction (#115)
- Release 0.4.0
0.3.20 - 2024-04-30
- Release 0.3.20
0.3.19 - 2024-04-22
- Remove
simpleCounterForLoopUncheckedIncrement
from--ir-minimum
(#114) - Add YulCase and YulTypedName to NodeType (#111)
- Use serde default for optimizer (#109)
- Replace line endings on Windows to enforce deterministic metadata (#108)
- Release 0.3.19
0.3.18 - 2024-04-19
- Release 0.3.18
- Warn unused (#106)
- Update yansi to 1.0 (#107)
0.3.17 - 2024-04-17
- Dirty files detection (#105)
- Additional helpers for contract name -> path lookup (#103)
- Release 0.3.17
0.3.16 - 2024-04-17
- Invalidate cache for out-of-scope entries (#104)
- Optimization field (simpleCounterForLoopUncheckedIncrement) (#100)
- Release 0.3.16
- Remove main fn (#101)
0.3.15 - 2024-04-12
- [deps] Bump svm to 0.5 (#97)
- Release 0.3.15
- Derive
Clone
forProject
(#98)
0.3.14 - 2024-04-03
- Set evmversion::cancun as default (#94)
- Bump alloy-core (#96)
- Release 0.3.14
0.3.13 - 2024-03-18
- Release 0.3.13
- Svm04 (#93)
0.3.12 - 2024-03-18
- Release 0.3.12
- Update svm (#92)
0.3.11 - 2024-03-13
- Release 0.3.11
- Caching logic (#90)
0.3.10 - 2024-03-11
- Use cached artifacts if solc config is almost the same (#87)
- Release 0.3.10
- Extra files logic (#88)
0.3.9 - 2024-02-22
- Account for Solc inexplicably not formatting the message (#85)
- Release 0.3.9
0.3.8 - 2024-02-22
- Release 0.3.8
- Use Path::new instead of PathBuf::from (#83)
0.3.7 - 2024-02-20
- Release 0.3.7
- Print compiler input as JSON in traces (#79)
- Remove unused imports (#80)
- Reduce trace output (#78)
0.3.6 - 2024-02-13
- Release 0.3.6
- Small flattener features (#75)
0.3.5 - 2024-02-10
- Fix
DoWhileStatement
AST (#74)
- Release 0.3.5
0.3.4 - 2024-02-09
- Option to ignore warnings from dependencies in foundry.toml (#69)
- Release 0.3.4
0.3.3 - 2024-02-08
- Release 0.3.3
- Helper method for
Libraries
(#72)
0.3.2 - 2024-02-07
- Also cleanup build info dir (#71)
- Release 0.3.2
0.3.1 - 2024-02-02
- Release 0.3.1
- Flatten fix (#68)
0.3.0 - 2024-01-31
- Release 0.3.0
- Enable some lints (#64)
- Remove wasm cfgs (#61)
- Add more tracing around spawning Solc (#57)
- Rename output to into_output (#56)
- Add some tracing (#55)
- Flatten fixes (#63)
- Update actions@checkout (#66)
- Add concurrency to ci.yml (#62)
- Fix tests name (#60)
- Rewrite examples without wrapper functions and with no_run (#58)
- Ignore old solc version test (#67)
0.2.5 - 2024-01-29
- Release 0.2.5
- [clippy] Make clippy happy (#54)
- New flattening impl (#52)
0.2.4 - 2024-01-27
- Bump svm builds (#53)
- Release 0.2.4
0.2.3 - 2024-01-26
- Add EVM version Cancun (#51)
- Release 0.2.3
- Add unreleased section to cliff.toml
- Add error severity fn helpers (#48)
- Small fixes to typed AST (#50)
0.2.2 - 2024-01-19
- Release 0.2.2
- Rewrite dirty files discovery (#45)
0.2.1 - 2024-01-10
- Release 0.2.1
- Exclude useless directories
- Exclude useless directories
0.2.0 - 2024-01-10
- [deps] Bump alloy (#42)
- Release 0.2.0
0.1.4 - 2024-01-06
- Account for unicode width in error syntax highlighting (#40)
- Release 0.1.4
0.1.3 - 2024-01-05
0.1.2 - 2023-12-29
- Create valid Standard JSON to verify for projects with symlinks (#35)
- Create verifiable Standard JSON for projects with external files (#36)
- Add more getter methods to bytecode structs (#30)
- Release 0.1.2
- Add
set_compiled_artifacts
to ProjectCompileOutput impl (#33)
- Trim test matrix (#32)
- Update rustfmt config (#31)
0.1.1 - 2023-11-23
- Bump Alloy
- Bump solc (#21)
- Release 0.1.1
- [meta] Update CODEOWNERS
- Remove LosslessAbi (#27)
- Don't prettify json when not necessary (#24)
- Toml
- More test in report/compiler.rs and Default trait for CompilerInput (#19)
0.1.0 - 2023-11-07
- Add changelog.sh (#18)
- [
ci
] Add unused deps workflow (#15) - Migration to Alloy (#3)
- [
ci
] Add deny deps CI (#6) - [
ci
] Add & enable ci/cd (#1) - Move ethers-solc into foundry-compilers
- Release 0.1.0
- Add missing cargo.toml fields + changelog tag (#17)
- Add missing telegram url (#14)
- Remove alloy-dyn-abi as its an unused dep (#12)
- Make clippy happy (#10)
- Run ci on main (#5)
- Add more files to gitignore (#2)
- Correct readme
- Repo improvements (#13)