Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release v0.8.22 #68

Merged
merged 224 commits into from
Oct 25, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
224 commits
Select commit Hold shift + click to select a range
c2670e4
Set version to 0.8.22
nikola-matic Jul 18, 2023
d268c3f
Merge pull request #14423 from ethereum/set-version-to-0.8.22
nikola-matic Jul 19, 2023
b2ce889
Update solidity-website links in release checklist
r0qs Jul 19, 2023
5b72c4f
Fix typos
omahs Jul 18, 2023
ceb6587
Merge pull request #14426 from omahs/typos
cameel Jul 19, 2023
f466e1e
Merge pull request #14428 from ethereum/update-release-checklist
nikola-matic Jul 20, 2023
927edde
Add TMP and remove TODO and FIXME from pylint note tags list
r0qs Jul 21, 2023
ecd56e6
Merge pull request #14441 from ethereum/pylint-notes-config
r0qs Jul 21, 2023
ab4f5f2
Initial prototype of prb-math external tests using foundry rewritten …
r0qs Jan 13, 2023
dcbd645
Delete old prb-math.sh script
r0qs Apr 19, 2023
957a9e7
Merge pull request #13873 from ethereum/foundry-prbmath-external-test
cameel Jul 21, 2023
964bdc7
Fix ICE when emitting event from another contract
nikola-matic Jul 20, 2023
548b033
Merge pull request #14434 from ethereum/fix-natspec-event-ice
cameel Jul 21, 2023
b4407d9
Small documentation fixes
shalaamum Jun 10, 2023
89407d2
Merge pull request #14315 from shalaamum/doc-fixes
cameel Jul 21, 2023
4fa48a6
patch other-version menu overflow [Fixes #14429] (#14431)
wackerow Jul 24, 2023
83fe3d4
update GH edit path to `develop` branch (#14437)
wackerow Jul 24, 2023
2e38798
SMTChecker: Keep counterexamples on test expectation update
blishko Jul 24, 2023
cdfc19b
SMTChecker: Bring back counterexample checks in regression tests
blishko Jul 24, 2023
95beef4
Merge pull request #14446 from ethereum/smt-cex-tests
blishko Jul 25, 2023
0fa594e
fix docs layout and link bugs [Fixes #14436] (#14439)
wackerow Jul 26, 2023
db5baeb
SMTChecker fix: Do not unroll loop after it completes
pgebal Jul 21, 2023
80d0a97
Merge pull request #14448 from pgebal/pgebal/fix_for_loop_iterations
pgebal Jul 26, 2023
4512329
re-upload original solidity logo to brand guide (#14451)
franzihei Jul 27, 2023
ea7ee3d
Fix yul ast ID to 0 instead of 1.
r0qs Jul 27, 2023
2c70255
Merge pull request #14455 from ethereum/fix-yul-id
ekpyron Aug 1, 2023
ead0615
add site_url root path to images [Fixes #14435] (#14462)
wackerow Aug 2, 2023
6574c10
SMTChecker: Visit the condition in for and while loops after loop is …
pgebal Jul 27, 2023
5117125
Merge pull request #14464 from pgebal/pgebal/fix_require
pgebal Aug 3, 2023
aecb11e
Make better use of virtual functions to customize CommonSyntaxTest in…
cameel Aug 4, 2023
f87bef2
AnalysisFramework: Make it possible to customize CompilerStack creation
cameel Aug 4, 2023
e62bc30
AnalysisFramework.filterErrors(): Provide default for _includeWarning…
cameel Aug 4, 2023
6f3a379
AnalysisFramework: Add filteredErrors()
cameel Aug 4, 2023
6c1bcb9
AnalysisFramework.formatErrors(): Support colored output and error IDs
cameel Aug 4, 2023
e42242c
AnalysisFramework.formatErrors(): Require providing errors explicitly
cameel Aug 4, 2023
6d8b137
Use AnalysisFramework's error formatting and filtering features in mo…
cameel Aug 4, 2023
65587d8
Merge pull request #14473 from ethereum/refactor-syntax-test-setup
cameel Aug 7, 2023
96e7b4f
Rematerialize zero literals
nikola-matic Aug 4, 2023
0fbc5cc
Merge pull request #14469 from ethereum/push0-rematerializer
ekpyron Aug 7, 2023
e357b8b
Merge pull request #14474 from ethereum/refactor-analysis-framework-e…
cameel Aug 7, 2023
ec240c6
CI: Set CPUs for soltest.sh based on the number of available cores
cameel Aug 7, 2023
3edf91a
Merge pull request #14478 from ethereum/set-soltest-cpus-in-circleci-…
cameel Aug 9, 2023
b7d2c8b
SourceReferenceFormatter: Line wrapping and unused includes
cameel Aug 8, 2023
8407c8c
SourceReferenceFormatter: Support full range of options in formatErro…
cameel Aug 8, 2023
4020552
SourceReferenceFormatter: Remove the ineffective _withErrorIds parame…
cameel Aug 8, 2023
a59fc39
Use printErrorInformation() over printExceptionInformation() where po…
cameel Aug 8, 2023
339053f
AnalysisFramework.formatErrors(): Fix _withErrorIds flag not having a…
cameel Aug 8, 2023
c50c9b2
Merge pull request #14482 from ethereum/fix-error-ids-in-format-errors
cameel Aug 11, 2023
de1a017
Purge using namespace std from libsolidity/analysis
nikola-matic Aug 14, 2023
b4d4b49
Merge pull request #14488 from ethereum/purge-using-namespace-std-fro…
nikola-matic Aug 14, 2023
2a2a9d3
Purge using namespace std from libsolidity/ast
nikola-matic Aug 14, 2023
d8cc2c6
Merge pull request #14489 from ethereum/purge-using-namespace-from-li…
ekpyron Aug 14, 2023
ce423e5
Purge using namespace std from libsolidity/codegen
nikola-matic Aug 14, 2023
f085572
Merge pull request #14490 from ethereum/purge-using-namespace-std-fro…
ekpyron Aug 15, 2023
d0a5556
Purge using namespace from libsolidity/formal
nikola-matic Aug 14, 2023
579259d
Merge pull request #14491 from ethereum/purge-using-namespace-from-li…
ekpyron Aug 15, 2023
342ba03
Purge using namespace std from libsolidity/interface
nikola-matic Aug 15, 2023
3107940
Merge pull request #14492 from ethereum/purge-using-namespace-from-li…
nikola-matic Aug 16, 2023
f344dc1
Purge using namespace from libsolidity/lsp and parsing
nikola-matic Aug 15, 2023
aaba5c4
Remove obsolete main function yul optimiser step.
ekpyron Aug 16, 2023
8031be1
Merge pull request #14496 from ethereum/removeDeadMainFunctionStep
ekpyron Aug 16, 2023
25fc3aa
Merge pull request #14493 from ethereum/purge-using-namespace-from-li…
nikola-matic Aug 16, 2023
9f237d3
Corrected text
criadoperez Jul 26, 2023
69e5b63
Merge pull request #14450 from criadoperez/fix/criadoperez2
cameel Aug 16, 2023
0c2fce5
Take into account multi-line license comments when adding preamble in…
cameel Aug 4, 2023
18db62c
Unify preamble handling between test cases based on AnalysisFramework
cameel Aug 4, 2023
ec92685
Unify preamble handling between AnalysisFramework and SolidityExecuti…
cameel Aug 11, 2023
2baf9d4
Put stripPreReleaseWarning() next to withPreamble()
cameel Aug 11, 2023
ef5f131
Merge pull request #14480 from ethereum/refactor-preamble
cameel Aug 17, 2023
368ea01
BytesUtils: Don't introduce garbage when formatting byte vectors shor…
cameel Aug 17, 2023
0f5aace
BytesUtils: Don't format parameters shorter than 32 bytes as integers
cameel Aug 17, 2023
397a554
fixup! BytesUtils: Don't introduce garbage when formatting byte vecto…
cameel Aug 17, 2023
ad79325
Purge using namespace std from libsolutil
nikola-matic Aug 17, 2023
d2f86ff
Merge pull request #14499 from ethereum/purge-using-namespace-std-fro…
cameel Aug 18, 2023
ee21b03
Merge pull request #14500 from ethereum/fix-isoltest-update-loop-on-s…
cameel Aug 21, 2023
969aea6
Added new kind of test: check for specific properties of AST
matheusaaguiar May 29, 2023
e8d050a
Simplify redundant state check in CompilerStack::analyze()
cameel Jun 14, 2023
a15ef59
Remove the ability to produce an AST in presence of errors in --error…
cameel Jun 12, 2023
b17757e
CompilerStack: Extend inconsistent error sanity check to cover stopAf…
cameel Jun 14, 2023
36429e3
Fix ICE when requesting `--combined-json` outputs other than AST with…
cameel Jun 14, 2023
664baa9
Merge pull request #14329 from ethereum/remove-ast-output-in-error-re…
ekpyron Aug 21, 2023
c96db51
Merge pull request #14309 from ethereum/astPropertyTests
ekpyron Aug 21, 2023
9adbced
Remove parser error recovery mode
cameel Aug 4, 2023
c703b5c
Merge pull request #14479 from ethereum/remove-error-recovery
cameel Aug 22, 2023
9ae42aa
fixed a typo in KnownState.h
Saw-mon-and-Natalie Aug 20, 2023
06b003b
Merge pull request #14504 from Saw-mon-and-Natalie/fix-known-state-typo
ekpyron Aug 22, 2023
a442f06
CI: Remove store_test_results to make naming less confusing
cameel Aug 7, 2023
d0dc9e7
CI: Convert single-step templates into proper commands
cameel Aug 7, 2023
3d9f633
CI: Convert artifact templates to commands
cameel Aug 7, 2023
e57581e
CI: Convert multi-step templates into proper commands
cameel Aug 7, 2023
ccf2896
CI: Remove store_artifacts_solc_windows
cameel Aug 7, 2023
97f206e
CI: Add persist_executables_to_workspace_osx
cameel Aug 7, 2023
af6d779
CI: Remove redundant ./ prefixes from script invocation and path argu…
cameel Aug 22, 2023
60b18a1
Merge pull request #14507 from ethereum/circleci-config-commands
cameel Aug 22, 2023
8e9496e
Change semantic tests to use the proper via IR pipeline, without reru…
ekpyron Sep 13, 2021
bc6d10f
SemanticTest: Add a setting that explicitly states the minimal Yul op…
cameel Aug 22, 2023
b9db435
Rerun SolidityEndToEndTest.cpp tests on stack errors.
ekpyron Sep 14, 2021
ffd495b
Increase gas in call_options_overload test to make it pass on homestead
cameel Aug 22, 2023
38decf0
Update gas expectations
cameel Aug 22, 2023
a4d7776
fixup! Change semantic tests to use the proper via IR pipeline, witho…
cameel Aug 22, 2023
1bb5960
fixup! Change semantic tests to use the proper via IR pipeline, witho…
cameel Aug 22, 2023
86ed964
Purge using namespace std from solc
junaire Aug 23, 2023
589adee
Merge pull request #14514 from junaire/solc-namespace-std
nikola-matic Aug 23, 2023
78b1f5a
Merge pull request #14511 from ethereum/semantic-tests-via-ir
ekpyron Aug 23, 2023
c5b81b6
Define Error::severity()
cameel Aug 21, 2023
b1ead4a
Order Error::Severity enum from most to least severe
cameel Aug 21, 2023
73b9077
SyntaxTest: Default-initialize boolean fields without showing the value
cameel Aug 21, 2023
c965d63
SyntaxTest: Allow derived test cases to filter out warnings and infos
cameel Aug 21, 2023
e847596
CommonSyntaxTest: Add support for syntax tests with custom expectatio…
cameel Aug 18, 2023
37e1861
Merge pull request #14505 from ethereum/syntax-test-more-extension-po…
ekpyron Aug 23, 2023
1ebdab4
Purge using namespace std from libyul/backends
junaire Aug 23, 2023
925bfeb
Merge pull request #14513 from junaire/yul-backend-namespace-std
nikola-matic Aug 28, 2023
2cf23e1
Bump fmtlib to 9.1.0
junaire Aug 24, 2023
c2362c3
Purge using namespace std from libyul/optimiser
junaire Aug 23, 2023
88b8368
Merge pull request #14512 from junaire/yul-opt-kill-namespace-std
nikola-matic Aug 28, 2023
26912e0
Merge pull request #14515 from junaire/bump-fmtlib-version
ekpyron Aug 28, 2023
eff410e
Purge using namespace std in libyul
junaire Aug 28, 2023
df03f14
Merge pull request #14522 from junaire/purge-using-namespace-std-in-l…
nikola-matic Aug 29, 2023
b3230b0
deprecate using namespace std
molecula451 Aug 30, 2023
737c1ab
Merge pull request #14525 from molecula451/purge-std
nikola-matic Sep 4, 2023
76e0d81
Fix failing OZ test
nikola-matic Sep 4, 2023
1b8e792
Merge pull request #14530 from ethereum/fix-oz-failing-test
ekpyron Sep 4, 2023
fdc6699
Rematerialize zero literals with default cleanup sequence
nikola-matic Aug 4, 2023
e439685
Merge pull request #14468 from ethereum/push0-rematerializer-default-…
ekpyron Sep 4, 2023
ae36323
Fix missing std qualifier for ASAN
nikola-matic Sep 5, 2023
16ae76c
Merge pull request #14533 from ethereum/fix-std-namespace-asan
ekpyron Sep 5, 2023
1cb04e8
Upgrade homebrew packages
r0qs Sep 11, 2023
34c86d9
Merge pull request #14556 from ethereum/homebrew-update
r0qs Sep 11, 2023
14aed39
Introduce experimental analysis basic infrastructure
matheusaaguiar Sep 6, 2023
91cc72b
NatspecJSONTest based on SyntaxTest
cameel Jul 31, 2023
1041f07
SolidityNatspecJSON: A few tweaks and small fixes before automatic co…
cameel Aug 9, 2023
ba019e5
SolidityNatspecJSON: Manual conversion of two test cases that would n…
cameel Aug 10, 2023
99bfdf9
SolidityNatspecJSON: Convert Boost-based test cases into natspectJSON…
cameel Aug 9, 2023
481c725
natspecJSON: Include `version` and `kind` fields in expectations wher…
cameel Aug 9, 2023
d083925
natspecJSON: Generate missing expectations (including errors)
cameel Aug 21, 2023
dc68480
Move Natspec syntax tests to natspecJSON
cameel Aug 21, 2023
b63a940
Generate expectations for moved Natspec syntax tests
cameel Aug 21, 2023
64a0f62
Merge pull request #14506 from ethereum/extracted-natspec-json-tests
cameel Sep 11, 2023
9bce5f9
Merge pull request #14538 from ethereum/experimentalAnalysisBasicInfr…
ekpyron Sep 13, 2023
73d582d
Bump cmake to 3.27.4 and boost to 1.83 on Windows to work with Visual…
nikola-matic Aug 25, 2022
5d88b74
install_deps.ps1: Remove downloaded packages and sources after instal…
nikola-matic Aug 25, 2022
0a69758
FileReader::isPathPrefix(): Work around lexically_normal() no longer …
cameel Sep 8, 2023
85b1cb9
fixed MSTORE typo
Saw-mon-and-Natalie Aug 19, 2023
70cf104
fixup! Bump cmake to 3.27.4 and boost to 1.83 on Windows to work with…
cameel Sep 14, 2023
6e8b9df
docs: add clarification about post execution modifier behavior
zobront Sep 7, 2023
5a5e0b5
Merge pull request #14551 from zobront/develop
cameel Sep 14, 2023
020b596
Merge pull request #14552 from ethereum/bump-cmake-and-boost-to-work-…
nikola-matic Sep 14, 2023
b0a986f
Allow event definitions at file level
cameel Sep 7, 2023
586a7c5
Merge pull request #14503 from Saw-mon-and-Natalie/fix-test-typo
ekpyron Sep 18, 2023
dc44f8a
Merge pull request #14550 from ethereum/events-at-file-level
ekpyron Sep 18, 2023
309a8de
Refactor AnalysisFramework to share more features between test cases …
cameel Aug 7, 2023
b766268
AnalysisFramework: Get rid of parseAndAnalyse() and success()
cameel Aug 4, 2023
d2bfb2f
AnalysisFramework: Reimplement parseAnalyseAndReturnError() with runF…
cameel Aug 4, 2023
3fb2f1d
AnalysisFramework: Move common setup to the framework
cameel Aug 7, 2023
cc7a14a
Merge pull request #14518 from ethereum/analysis-framework-refactor
ekpyron Sep 19, 2023
e3b36f7
Avoid sorting FunctionDefinitions by AST ID during codegen
r0qs Sep 12, 2023
2b7ec23
Merge pull request #14562 from ethereum/fix-viaIR-codegen-import-bug
cameel Sep 29, 2023
ab2d395
Add bytecode test for multiple sources compiler at same time
r0qs Sep 17, 2023
fe1f9c6
Merge pull request #14565 from ethereum/viaIR-codegen-import-bug-test
cameel Sep 29, 2023
fa39401
Purge using namespace std from test/libsolidity/util
nikola-matic Oct 2, 2023
77912ab
Fix check_style for using namespace std exclusing in test/*
nikola-matic Oct 2, 2023
0d0a7fc
Purge using namespace std from previously missed files
nikola-matic Oct 2, 2023
2ba536f
Merge pull request #14582 from ethereum/fix-check-style-using-namespa…
ekpyron Oct 2, 2023
72671d6
Merge pull request #14581 from ethereum/purge-using-namespace-std-fro…
ekpyron Oct 2, 2023
93ea888
CI: Stop using the deprecated `large` class for macOS jobs
cameel Oct 4, 2023
ab9729b
Repro for variable names affecting CSE
cameel Sep 25, 2023
7c36f23
DataFlowAnalyzer: Fix variable clearing nondeterminism (affecting CSE…
cameel Sep 22, 2023
b54e720
Merge pull request #14585 from ethereum/ci-stop-using-deprecated-maco…
cameel Oct 4, 2023
b12d8fa
Merge pull request #14574 from ethereum/fix-data-flow-analyzer-incons…
ekpyron Oct 9, 2023
7b12d41
Fix brink external test
nikola-matic Oct 10, 2023
8820870
Merge pull request #14600 from ethereum/fix-brink-external-test
nikola-matic Oct 10, 2023
74381a5
Disable the Gnosis test suite
nikola-matic Oct 13, 2023
04434c9
Merge pull request #14611 from ethereum/disable-gnosis-test-suite
nikola-matic Oct 13, 2023
3e660d4
docs: Remove an outdated reference to Serenity
cameel Sep 15, 2023
0196a9a
docs: Update the list of definitions in a contract whose names do not…
cameel Sep 15, 2023
77cf950
style guide: Use emit keyword when emitting events
cameel Sep 15, 2023
70870a6
style guide: Add events and errors to the order of definitions at fil…
cameel Sep 15, 2023
38a5852
Merge pull request #14563 from ethereum/event-docs-corrections
cameel Oct 13, 2023
eab92f9
Make Yul proto mutator mutations deterministic.
bshastry Oct 12, 2023
106ae7e
Merge pull request #14605 from ethereum/make-ypm-deterministic
bshastry Oct 13, 2023
09ea29b
Remove unused IndentedWriter
cameel Aug 1, 2023
8c619dd
Generalize existing functions for indenting and prefixing
cameel Aug 1, 2023
b56e26a
Do not leave trailing whitespace on empty lines when printing objects
cameel Aug 1, 2023
3dab116
Merge pull request #14517 from ethereum/indent-refactor
cameel Oct 13, 2023
211cd24
Introduce compileViaYul syntax test option
nikola-matic Oct 10, 2023
e98f174
Merge pull request #14599 from ethereum/introduce-via-ir-syntax-test-…
nikola-matic Oct 16, 2023
963eb15
SourceReferenceFormatter: Expose a function for formatting just a mes…
cameel Oct 6, 2023
79af55e
CommandLineInterface: Report all errors/infos/warnings with proper se…
cameel Oct 6, 2023
42770fc
CommandLineParser: Don't assume clear internal state before parsing
cameel Oct 10, 2023
fa43d1e
Try harder to respect --color/--no-color in presence of errors and as…
cameel Oct 10, 2023
23b7505
CommandLineParser: Don't color the error message printed when --color…
cameel Oct 10, 2023
766efb3
Merge pull request #14590 from ethereum/severity-and-color-for-cli-er…
cameel Oct 17, 2023
db98eed
Introduce --no-import-callback CLI option
nikola-matic Oct 13, 2023
810c446
Merge pull request #14610 from ethereum/introduce-no-import-callback-…
nikola-matic Oct 19, 2023
0e51e57
Add Error::parseErrorType()
cameel Sep 29, 2023
2e8e1f3
Store Error::Type rather than a string in SyntaxTestError
cameel Sep 29, 2023
d4f5503
CommonSyntaxTest: Fix info messages being colored as errors
cameel Sep 28, 2023
0da44ca
Reuse color definitions between SourceReferenceFormatter and CommonSy…
cameel Sep 29, 2023
ddb0d89
Merge pull request #14580 from ethereum/fix-isoltest-info-color
cameel Oct 19, 2023
78eb37d
Support user defined operators in SMT
pgebal Aug 8, 2023
13c2d62
apply CR changes
pgebal Oct 6, 2023
353dbdd
refactor: rename calledExpr to boundArgumentCall
pgebal Oct 19, 2023
da7c00e
fix test error
pgebal Oct 20, 2023
b187d06
Merge pull request #14534 from pgebal/pgebal/operators
Oct 22, 2023
f8282a6
Add tests that fail.
bshastry Oct 9, 2023
a3ad63e
Add missing optimizer dependencies for fullSimplify and loadResolver …
bshastry Oct 18, 2023
1b7652e
Merge pull request #14597 from ethereum/add-steps-to-full-simplify
bshastry Oct 23, 2023
f0f2393
cmdlineTests.sh: Remove the empty line after the pre-release warning …
cameel Oct 10, 2023
2f01aa3
Issue a deprecation warning for byzantium and older EVM versions
cameel Oct 6, 2023
127a390
docs: Fix broken style in the description of shanghai EVM features
cameel Oct 10, 2023
1b5775a
Merge pull request #14591 from ethereum/old-evm-deprecation-warning
cameel Oct 23, 2023
2b8c997
Special case code generation for for loops.
ekpyron Aug 10, 2022
f294988
Fix broken docs link for 0.8.22
nikola-matic Oct 24, 2023
9efa752
Merge pull request #14637 from ethereum/fix-broken-docs-links-0-8-22
nikola-matic Oct 24, 2023
2cce9c7
Merge pull request #13378 from ethereum/forLoopSpecialCaseCodegen
ekpyron Oct 24, 2023
e8b898c
ASTImportTest.sh: Keep temporary files in subdirs of a single, proper…
cameel Oct 24, 2023
3e823e0
Introduce AbstractAssemblyStack interface
cameel Oct 24, 2023
67e11fc
EVM assembly import via --import-asm-json
aarlt Nov 2, 2022
91c7b32
CLI test for mass EVM assembly import/export
aarlt Nov 2, 2022
c7e5212
Merge pull request #13673 from ethereum/import-asm-json-updated
ekpyron Oct 24, 2023
a582684
Set release date for 0.8.21 and update the bug list
cameel Oct 25, 2023
4fc1097
Merge pull request #14642 from ethereum/set-release-date-0.8.22
cameel Oct 25, 2023
dff073f
Merge branch 'refs/heads/v0.8.22' into release_v0.8.22
yanghang8612 Aug 8, 2024
4cc44b8
fix(merge): solve some merge issues
yanghang8612 Aug 8, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 1 addition & 0 deletions .circleci/parallel_cli_tests.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
# TODO: We should switch to time-based splitting but that requires JUnit XML report support in cmdlineTests.sh.
tests_to_run_in_parallel = [
'~ast_import_export', # ~7 min
'~evmasm_import_export', # ~5 min
'~ast_export_with_stop_after_parsing', # ~4 min
'~soljson_via_fuzzer', # ~3 min
'~via_ir_equivalence', # ~1 min
Expand Down
2 changes: 1 addition & 1 deletion .circleci/soltest.sh
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ set -e

OPTIMIZE=${OPTIMIZE:-"0"}
EVM=${EVM:-"invalid"}
CPUs=${CPUs:-3}
REPODIR="$(realpath "$(dirname "$0")/..")"

IFS=" " read -r -a BOOST_TEST_ARGS <<< "$BOOST_TEST_ARGS"
Expand Down Expand Up @@ -67,7 +68,6 @@ get_logfile_basename() {
# long-running test cases are next to each other.
CIRCLE_NODE_INDEX=$(((CIRCLE_NODE_INDEX + 23 * INDEX_SHIFT) % CIRCLE_NODE_TOTAL))

CPUs=3
PIDs=()
for run in $(seq 0 $((CPUs - 1)))
do
Expand Down
4 changes: 2 additions & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
cmake_minimum_required(VERSION 3.13.0)

set(ETH_CMAKE_DIR "${CMAKE_CURRENT_LIST_DIR}/cmake" CACHE PATH "The the path to the cmake directory")
set(ETH_CMAKE_DIR "${CMAKE_CURRENT_LIST_DIR}/cmake" CACHE PATH "The path to the cmake directory")
list(APPEND CMAKE_MODULE_PATH ${ETH_CMAKE_DIR})

# Set the build type, if none was specified.
Expand All @@ -21,7 +21,7 @@ include(EthPolicy)
eth_policy()

# project name and version should be set after cmake_policy CMP0048
set(PROJECT_VERSION "0.8.21")
set(PROJECT_VERSION "0.8.22")
# OSX target needed in order to support std::visit
set(CMAKE_OSX_DEPLOYMENT_TARGET "10.14")
project(solidity VERSION ${PROJECT_VERSION} LANGUAGES C CXX)
Expand Down
27 changes: 27 additions & 0 deletions Changelog.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,30 @@
### 0.8.22 (2023-10-25)

Language Features:
* Allow defining events at file level.


Compiler Features:
* Code Generator: Remove redundant overflow checks of certain ``for`` loops when the counter variable cannot overflow.
* Commandline Interface: Add ``--no-import-callback`` option that prevents the compiler from loading source files not given explicitly on the CLI or in Standard JSON input.
* Commandline Interface: Add an experimental ``--import-asm-json`` option that can import EVM assembly in the format used by ``--asm-json``.
* Commandline Interface: Use proper severity and coloring also for error messages produced outside of the compilation pipeline.
* EVM: Deprecate support for "homestead", "tangerineWhistle", "spuriousDragon" and "byzantium" EVM versions.
* Parser: Remove the experimental error recovery mode (``--error-recovery`` / ``settings.parserErrorRecovery``).
* SMTChecker: Support user-defined operators.
* Yul Optimizer: If ``PUSH0`` is supported, favor zero literals over storing zero values in variables.
* Yul Optimizer: Run the ``Rematerializer`` and ``UnusedPruner`` steps at the end of the default clean-up sequence.


Bugfixes:
* AST: Fix wrong initial ID for Yul nodes in the AST.
* Code Generator: Fix output from via-IR code generator being dependent on which files were discovered by import callback. In some cases, a different AST ID assignment would alter the order of functions in internal dispatch, resulting in superficially different but semantically equivalent bytecode.
* NatSpec: Fix internal error when requesting userdoc or devdoc for a contract that emits an event defined in a foreign contract or interface.
* SMTChecker: Fix encoding error that causes loops to unroll after completion.
* SMTChecker: Fix inconsistency on constant condition checks when ``while`` or ``for`` loops are unrolled before the condition check.
* Yul Optimizer: Fix replacement decisions during CSE being affected by Yul variable names generated by the compiler, resulting in different (but equivalent) bytecode in some situations.


### 0.8.21 (2023-07-19)

Important Bugfixes:
Expand Down
12 changes: 6 additions & 6 deletions ReleaseChecklist.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@
### Requirements
- [ ] GitHub account with access to [solidity](https://github.com/ethereum/solidity), [solc-js](https://github.com/ethereum/solc-js),
[solc-bin](https://github.com/ethereum/solc-bin), [homebrew-ethereum](https://github.com/ethereum/homebrew-ethereum),
[solidity-blog](https://github.com/ethereum/solidity-blog) and [solidity-portal](https://github.com/ethereum/solidity-portal) repositories.
[solidity-website](https://github.com/ethereum/solidity-website).
- [ ] DockerHub account with push rights to the [``solc`` image](https://hub.docker.com/r/ethereum/solc).
- [ ] Lauchpad (Ubuntu One) account with a membership in the ["Ethereum" team](https://launchpad.net/~ethereum) and
- [ ] Launchpad (Ubuntu One) account with a membership in the ["Ethereum" team](https://launchpad.net/~ethereum) and
a gnupg key for your email in the ``ethereum.org`` domain (has to be version 1, gpg2 won't work).
- [ ] Ubuntu/Debian dependencies of the PPA scripts: ``devscripts``, ``debhelper``, ``dput``, ``git``, ``wget``, ``ca-certificates``.
- [ ] [npm Registry](https://www.npmjs.com) account added as a collaborator for the [``solc`` package](https://www.npmjs.com/package/solc).
Expand Down Expand Up @@ -37,8 +37,8 @@ At least a day before the release:
- [ ] Prepare drafts of Twitter, Reddit and Solidity Forum announcements.

### Blog Post
- [ ] Create a post on [solidity-blog](https://github.com/ethereum/solidity-blog) in the ``Releases`` category and explain some of the new features or concepts.
- [ ] Create a post on [solidity-blog](https://github.com/ethereum/solidity-blog) in the ``Security Alerts`` category in case of important bug(s).
- [ ] Create a post on [solidity-website](https://github.com/ethereum/solidity-website/tree/main/src/posts) in the ``Releases`` category and explain some of the new features or concepts.
- [ ] Create a post on [solidity-website](https://github.com/ethereum/solidity-website/tree/main/src/posts) in the ``Security Alerts`` category in case of important bug(s).

### Changelog
- [ ] Sort the changelog entries alphabetically and correct any errors you notice. Commit it.
Expand Down Expand Up @@ -104,9 +104,9 @@ At least a day before the release:
- [ ] Make sure the documentation for the new release has been published successfully.
Go to the [documentation status page at ReadTheDocs](https://readthedocs.org/projects/solidity/) and verify that the new version is listed, works and is marked as default.
- [ ] Remove "still in progress" warning from the [release notes](https://github.com/ethereum/solidity/releases).
- [ ] Merge the [blog posts](https://github.com/ethereum/solidity-blog/pulls) related to the release.
- [ ] Merge the [blog posts](https://github.com/ethereum/solidity-website/pulls) related to the release.
- [ ] Create a commit to increase the version number on ``develop`` in ``CMakeLists.txt`` and add a new skeleton changelog entry.
- [ ] Update the release information section [in the source of soliditylang.org](https://github.com/ethereum/solidity-portal/blob/master/index.html).
- [ ] Update the release information section [in the source of soliditylang.org](https://github.com/ethereum/solidity-website/blob/main/src/pages/index.tsx).
- [ ] Announce on [Twitter](https://twitter.com/solidity_lang), including links to the release and the blog post.
- [ ] Announce on [Fosstodon](https://fosstodon.org/@solidity/), including links to the release and the blog post.
- [ ] Share the announcement on Reddit in [``/r/ethdev``](https://reddit.com/r/ethdev/), cross-posted to [``/r/ethereum``](https://reddit.com/r/ethereum/).
Expand Down
6 changes: 3 additions & 3 deletions cmake/fmtlib.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ FetchContent_Declare(
fmtlib
PREFIX "${PROJECT_BINARY_DIR}/deps"
DOWNLOAD_DIR "${PROJECT_SOURCE_DIR}/deps/downloads"
DOWNLOAD_NAME fmt-8.0.1.tar.gz
URL https://github.com/fmtlib/fmt/archive/8.0.1.tar.gz
URL_HASH SHA256=b06ca3130158c625848f3fb7418f235155a4d389b2abc3a6245fb01cb0eb1e01
DOWNLOAD_NAME fmt-9.1.0.tar.gz
URL https://github.com/fmtlib/fmt/archive/9.1.0.tar.gz
URL_HASH SHA256=5dea48d1fcddc3ec571ce2058e13910a0d4a6bab4cc09a809d8b1dd1c88ae6f2
)

if (CMAKE_VERSION VERSION_LESS "3.14.0")
Expand Down
2 changes: 1 addition & 1 deletion docs/060-breaking-changes.rst
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,7 @@ New Error Reporter
~~~~~~~~~~~~~~~~~~

A new error reporter was introduced, which aims at producing more accessible error messages on the command-line.
It is enabled by default, but passing ``--old-reporter`` falls back to the the deprecated old error reporter.
It is enabled by default, but passing ``--old-reporter`` falls back to the deprecated old error reporter.

Metadata Hash Options
~~~~~~~~~~~~~~~~~~~~~
Expand Down
98 changes: 54 additions & 44 deletions docs/_static/css/custom.css
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,10 @@

--navHeight: 4.5rem;
--sideWidth: 300px;
--maxWidth: 80rem;
--desktopInlinePadding: 2rem;
--mobileInlinePadding: 1rem;
--currentVersionHeight: 45px;

text-rendering: geometricPrecision;
-webkit-font-smoothing: antialiased;
Expand Down Expand Up @@ -56,7 +60,6 @@ html,
body,
.wy-grid-for-nav {
background-color: var(--color-f) !important;
position: relative;
}

body {
Expand All @@ -67,6 +70,10 @@ a {
color: var(--color-c);
}

a, section {
scroll-margin-top: calc(var(--navHeight) + 2rem);
}

hr {
margin-block: 2rem;
border-color: var(--color-d) !important;
Expand Down Expand Up @@ -327,7 +334,6 @@ ul.current ul,

.wy-breadcrumbs-aside a,
.wy-breadcrumbs-aside a:visited,
/* .wy-breadcrumbs-aside a:not(:visited), */
a.fa.fa-github,
a.fa.fa-github:visited,
a.fa.fa-github:not(:visited),
Expand Down Expand Up @@ -361,10 +367,11 @@ footer .rst-footer-buttons {

/* Site wrapper, and two children: header and rest */
.unified-wrapper {
position: fixed;
position: relative;
display: flex;
flex-direction: column;
inset: 0;
top: var(--navHeight);
max-width: 80rem;
max-width: var(--maxWidth);
margin-inline: auto;
}

Expand All @@ -377,17 +384,16 @@ footer .rst-footer-buttons {
display: flex;
align-items: center;
box-shadow: var(--shadow);
backdrop-filter: blur(3px);
}

.unified-header .inner-header {
display: flex;
margin-inline: auto;
width: 100%;
max-width: 80rem;
max-width: var(--maxWidth);
align-items: center;
justify-content: space-between;
padding-inline: 2rem;
padding-inline: var(--desktopInlinePadding);
padding-block: 1rem;
}

Expand All @@ -398,6 +404,7 @@ footer .rst-footer-buttons {
opacity: 95%;
background: var(--color-f);
z-index: -1;
backdrop-filter: blur(3px);
}

.unified-header .home-link {
Expand Down Expand Up @@ -444,6 +451,7 @@ footer .rst-footer-buttons {
font-weight: 400;
box-sizing: content-box;
border-bottom: 1px solid transparent;
white-space: nowrap;
}

.unified-header .nav-link.active {
Expand All @@ -455,34 +463,36 @@ footer .rst-footer-buttons {
border-bottom: 1px solid var(--color-c);
}

/* Rest: Grid, with two children: side bar, and content */
/* Rest: Flex-row, with two children: side bar, and content */
.unified-wrapper .wy-grid-for-nav {
position: relative !important;
display: grid !important;
grid-template-columns: var(--sideWidth) 1fr;
gap: 1rem;
display: flex;
margin-inline: auto;
}

/* First child: Side bar */
.unified-wrapper .wy-grid-for-nav nav.wy-nav-side {
position: relative;
position: fixed;
display: flex;
flex-direction: column;
background: var(--color-f);
color: var(--color-a);
top: 0;
bottom: 0;
left: 0;
padding-bottom: unset !important;
min-height: unset !important;
z-index: 10 !important;
max-width: var(--sideWidth) !important;
min-height: unset !important;
width: var(--sideWidth) !important;
top: var(--navHeight);
bottom: 0;
left: auto;
overflow: auto;
}

.unified-wrapper .wy-grid-for-nav nav.wy-nav-side .wy-side-scroll {
position: relative !important;
width: fit-content !important;
position: static !important;
width: unset !important;
overflow: unset !important;
height: unset !important;
padding-bottom: 2rem;
}

.unified-wrapper .wy-grid-for-nav nav.wy-nav-side .wy-side-scroll .wy-side-nav-search {
Expand Down Expand Up @@ -516,15 +526,15 @@ footer .rst-footer-buttons {

/* Second child: Content */
.unified-wrapper .wy-grid-for-nav .wy-nav-content {
position: relative !important;
overflow-y: scroll !important;
width: 100%;
max-width: 100vw !important;
padding-inline: 2rem;
max-width: unset !important; /* override */
padding-inline: var(--desktopInlinePadding);
margin-inline-start: var(--sideWidth);
margin-top: var(--navHeight);
}

.unified-wrapper .wy-grid-for-nav .wy-nav-content .rst-content {
max-width: 70ch;
max-width: min(70ch, calc(100vw - 2 * var(--desktopInlinePadding) - var(--sideWidth)));
margin-inline: auto;
}

Expand Down Expand Up @@ -565,29 +575,15 @@ footer .rst-footer-buttons {
}

.unified-header .inner-header {
padding-inline: 1rem;
}

.unified-wrapper .wy-grid-for-nav {
grid-template-columns: 1fr;
padding-inline: var(--mobileInlinePadding);
}

.unified-wrapper .wy-grid-for-nav nav.wy-nav-side {
position: absolute;
inset-block: 0;
inset-inline-start: 0;
width: var(--sideWidth);
overflow-y: scroll;
transform: translateX(-100%);
transition: transform 200ms ease-in-out;
}

/* Menu open styles */
.unified-wrapper .wy-grid-for-nav nav.wy-nav-side {
position: absolute;

}

.unified-wrapper.menu-open nav.wy-nav-side {
transform: translateX(0);
transition: transform 200ms ease-in-out;
Expand All @@ -612,6 +608,18 @@ footer .rst-footer-buttons {
a.skip-to-content {
display: none;
}

.wy-nav-content {
margin-inline-start: 0 !important;
}

.rst-content {
max-width: 100% !important;
}

.wy-side-scroll {
padding-bottom: 0 !important;
}
}

ul.search .context {
Expand Down Expand Up @@ -658,6 +666,8 @@ ul.search .context {
.rst-other-versions {
background: var(--white) !important;
color: var(--color-a) !important;
max-height: calc(100vh - var(--navHeight) - var(--currentVersionHeight));
overflow-y: scroll;
}

.rst-other-versions a {
Expand Down Expand Up @@ -778,9 +788,8 @@ button.mobile-menu-button {
font-family: 'Overpass Mono', monospace;
}

.wy-breadcrumbs-aside {
display: block;
padding-top: 0;
.wy-breadcrumbs>li {
padding-top: 8px;
}

.wy-breadcrumbs-aside a {
Expand All @@ -801,8 +810,9 @@ a.skip-to-content {
padding: 2px 4px;
font-size: 14px;
margin-inline-end: auto;
margin-inline-start: 2rem;
margin-inline-start: 1.5rem;
color: var(--color-a);
white-space: nowrap;
}

a.skip-to-content:focus {
Expand Down
Binary file removed docs/_static/fonts/overpass-bold.otf
Binary file not shown.
Binary file removed docs/_static/fonts/overpass-bold.woff2
Binary file not shown.
Binary file removed docs/_static/fonts/overpass-italic.otf
Binary file not shown.
Binary file removed docs/_static/fonts/overpass-light.otf
Binary file not shown.
Binary file removed docs/_static/fonts/overpass-mono-bold.otf
Binary file not shown.
Binary file removed docs/_static/fonts/overpass-mono-bold.woff2
Binary file not shown.
Binary file removed docs/_static/fonts/overpass-mono-regular.otf
Binary file not shown.
Binary file removed docs/_static/fonts/overpass-mono-regular.woff2
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file removed docs/_static/fonts/overpass-regular.otf
Binary file not shown.
Binary file removed docs/_static/fonts/overpass-regular.woff2
Binary file not shown.
Binary file removed docs/_static/fonts/overpass-semibold.otf
Binary file not shown.
Binary file removed docs/_static/fonts/overpass/overpass-bold.otf
Binary file not shown.
Binary file removed docs/_static/fonts/overpass/overpass-italic.otf
Binary file not shown.
Binary file removed docs/_static/fonts/overpass/overpass-light.otf
Binary file not shown.
Binary file removed docs/_static/fonts/overpass/overpass-regular.otf
Binary file not shown.
Binary file removed docs/_static/fonts/overpass/overpass-semibold.otf
Binary file not shown.
19 changes: 13 additions & 6 deletions docs/_static/js/constants.js
Original file line number Diff line number Diff line change
@@ -1,11 +1,18 @@
// Site URL
const SITE_URL = "https://docs.soliditylang.org"
const { origin, pathname } = location;
const pathSplit = pathname.split("/");
const rootPath = origin.includes(SITE_URL) && pathSplit.length > 3 ? pathSplit.splice(1, 2).join("/") : ''
const ROOT_URL = `${origin}/${rootPath}`;

// Color mode constants
const [DARK, LIGHT] = ["dark", "light"];
const LIGHT_LOGO_PATH = "_static/img/logo.svg";
const DARK_LOGO_PATH = "_static/img/logo-dark.svg";
const SUN_ICON_PATH = "_static/img/sun.svg";
const MOON_ICON_PATH = "_static/img/moon.svg";
const LIGHT_HAMBURGER_PATH = "_static/img/hamburger-light.svg";
const DARK_HAMBURGER_PATH = "_static/img/hamburger-dark.svg";
const LIGHT_LOGO_PATH = `${ROOT_URL}/_static/img/logo.svg`;
const DARK_LOGO_PATH = `${ROOT_URL}/_static/img/logo-dark.svg`;
const SUN_ICON_PATH = `${ROOT_URL}/_static/img/sun.svg`;
const MOON_ICON_PATH = `${ROOT_URL}/_static/img/moon.svg`;
const LIGHT_HAMBURGER_PATH = `${ROOT_URL}/_static/img/hamburger-light.svg`;
const DARK_HAMBURGER_PATH = `${ROOT_URL}/_static/img/hamburger-dark.svg`;
const COLOR_TOGGLE_ICON_CLASS = "color-toggle-icon";
const SOLIDITY_LOGO_CLASS = "solidity-logo";
const LS_COLOR_SCHEME = "color-scheme";
Expand Down
Loading
Loading