Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
351 commits
Select commit Hold shift + click to select a range
02b02f5
Set version to 0.8.20
nikola-matic Feb 22, 2023
d4a08bd
Merge pull request #13993 from ethereum/sort-changelog-for-0.8.19
ekpyron Feb 22, 2023
ab74a26
Merge pull request #13994 from ethereum/set-version-to-0.8.20
nikola-matic Feb 22, 2023
5f0f919
Revert "Set version to 0.8.20"
nikola-matic Feb 22, 2023
1d8e0ab
Merge pull request #13995 from ethereum/revert-13994-set-version-to-0…
ekpyron Feb 22, 2023
2182361
Set release date for 0.8.19
nikola-matic Feb 22, 2023
7dd6d40
Merge pull request #13996 from ethereum/set-release-date-for-0.8.19
ekpyron Feb 22, 2023
b6df64e
Set version to 0.8.20
nikola-matic Feb 22, 2023
8540fc8
Merge pull request #13999 from ethereum/set-version-to-0.8.20
nikola-matic Feb 22, 2023
17bb4d8
Revert debian compatibility for ubuntu focal support.
ekpyron Feb 22, 2023
58c1cc6
Merge pull request #14000 from ethereum/ppaScriptFix
ekpyron Feb 22, 2023
b8e74ff
Update smtchecker.rst
NunoFilipeSantos Feb 23, 2023
43e2e3b
Merge pull request #13992 from ethereum/triage-any-issue
cameel Feb 23, 2023
9834077
Merge pull request #14002 from ethereum/NunoFilipeSantos-patch-1
cameel Feb 23, 2023
0904bb3
Update github actions to match renamed labels (lower case, no dashes)
cameel Feb 23, 2023
93c8120
Initialize vars before use
lemenkov Jul 1, 2022
1ac3abf
Strict assembly fuzzer: Change optimization setting from full to mini…
bshastry Dec 7, 2022
f341cfb
Merge pull request #13785 from ethereum/fix-strictasm-assembly-opt
cameel Mar 6, 2023
9ace80c
Merge pull request #14010 from lemenkov/initialize_before_use
ekpyron Mar 6, 2023
817a57b
Use std:: prefix with std::forward() as well to satisfy Clang
cameel Mar 6, 2023
ca55115
fix b_ubu_ubsan_clang running the address sanitizer instead of the un…
cameel Mar 6, 2023
c951081
Fix `member call on null pointer` when type-checking built-in unary o…
cameel Mar 6, 2023
94ebcc9
Merge pull request #14029 from ethereum/clang-std-forward
cameel Mar 6, 2023
aeff485
Merge pull request #14030 from ethereum/fix-ubsan-asan-sanitizer-mixu…
cameel Mar 7, 2023
f974dbc
Update openzeppelin skipped tests that depends on hardhat via-ir full…
r0qs Mar 6, 2023
5327f4b
Merge pull request #14031 from ethereum/update-oz-external-tests
cameel Mar 7, 2023
d30ec35
Merge pull request #14032 from ethereum/fix-member-call-on-null-for-u…
cameel Mar 7, 2023
529ffff
Migrate from gitter to matrix api
r0qs Feb 27, 2023
21c0f78
Report safe properties in BMC and CHC
Feb 9, 2023
812e266
Merge pull request #13957 from ethereum/smt_report_safe
Mar 9, 2023
d58c699
Merge pull request #14034 from ethereum/migration-gitter-to-matrix
cameel Mar 10, 2023
8b07e23
docs/grammer: Fix the writing of unicodeStringLiteral rules.
uji Mar 11, 2023
0aa8515
Merge pull request #14042 from uji/unicode-string-grammer
ekpyron Mar 13, 2023
8c53b65
Double number of operations per run for stale action bot
r0qs Mar 15, 2023
aacbe72
group unsupported warnings
Mar 6, 2023
6c58f31
add cli tests
Mar 15, 2023
9a207ad
Merge pull request #14028 from ethereum/smt_group_unsupported
Mar 16, 2023
6b73afa
Removing unencrypted git protocol
krvaibhaw Mar 1, 2023
acaa019
Keep test/lsp.py working when not on a tty
fare Mar 19, 2023
960889f
Merge pull request #14057 from MuKnIO/notty
ekpyron Mar 20, 2023
fac5666
Re-implement unused assign / unused store eliminator.
chriseth Nov 23, 2022
afe1242
Merge pull request #14051 from ethereum/stale-action-operation-per-ru…
cameel Mar 20, 2023
e7ec40b
Merge pull request #13752 from ethereum/reimplement_unused_assign
ekpyron Mar 20, 2023
0dd40d2
Fix small typos in abi-spec.rst
mmqxyz Mar 20, 2023
a0e62bb
Annotate function ID of functions that may be called via the internal…
r0qs Mar 15, 2023
2ca349c
Merge pull request #14061 from mmqxyz/patch-2
nikola-matic Mar 21, 2023
3fb1628
[scripts/splitSources.py] Add newline to files.
aarlt Mar 21, 2023
0158de6
Refactored NumberUnit and FunctionDefinition. Added OctalNumber. Fixe…
matheusaaguiar Mar 20, 2023
5dbfa94
Merge pull request #14066 from ethereum/update_grammar
cameel Mar 24, 2023
6f0941a
Correct small errors in yul.rst
minaminao Mar 25, 2023
7375fc2
Omit the mention of topics
minaminao Mar 27, 2023
7974a3c
Consolidated term to reentrancy
NunoFilipeSantos Mar 28, 2023
3e1e43f
use new z3
Mar 28, 2023
1468f5a
Fix the missing backquote
minaminao Mar 28, 2023
58f3aa8
Fix the code block not rendered
minaminao Mar 28, 2023
c5ae22d
Wrap numbers in backquotes
minaminao Mar 28, 2023
f12e368
Fix the missing dot
minaminao Mar 28, 2023
dce1e7b
Fix "Yul Code"
minaminao Mar 28, 2023
ccb64e9
Fix the style of bullet points
minaminao Mar 28, 2023
cd86361
Replace python with Python
minaminao Mar 28, 2023
25a41e3
Replace Javascript with JavaScript
minaminao Mar 28, 2023
c2a2fce
Replace Send with ``send``
minaminao Mar 28, 2023
c0f92da
Replace solidity with Solidity
minaminao Mar 28, 2023
ce9a7ee
update smtchecker tests
Mar 28, 2023
4aa3100
Added missing keyword unicode to Lexer
matheusaaguiar Mar 25, 2023
bca3fb8
Merge pull request #14076 from ethereum/update_z3_tests
Mar 29, 2023
1a23b7a
Update metadata docs
kuzdogan Mar 31, 2023
f2dc3d3
Merge pull request #14052 from kuzdogan/develop
nikola-matic Mar 31, 2023
79d975a
Merge pull request #14078 from ethereum/fix_missing_keyword_unicode
cameel Apr 3, 2023
5e88d59
Merge pull request #14077 from minaminao/consolidate-terms-and-fix-typos
cameel Apr 3, 2023
0037693
Update ReleaseChecklist.md post release steps (#14007)
NunoFilipeSantos Apr 3, 2023
d9965a3
Update issue templates (#13970)
NunoFilipeSantos Apr 4, 2023
9d5b34b
Merge pull request #14008 from ethereum/uniform-gh-label-naming-conve…
cameel Apr 4, 2023
a1fbf6b
Merge pull request #14020 from krvaibhaw/develop
cameel Apr 4, 2023
7b63415
Merge pull request #14071 from minaminao/docs-fix-yul
cameel Apr 4, 2023
293690e
Add util::capitalized() and Type::categoryName()
cameel Apr 4, 2023
a019f40
Better error message when trying to call things that are not functions
cameel Apr 3, 2023
f72e61c
update z3 in docker files
Mar 28, 2023
e6f099d
bring ubuntu2004 back
Mar 28, 2023
8e5f8c8
reenable arch smt tests
Apr 5, 2023
be8752b
Adds natspec to AST for enum definition.
christianparpart Oct 12, 2022
2ea2a63
Merge pull request #13626 from ethereum/natspec-enum
nikola-matic Apr 5, 2023
9020efe
Merge pull request #14087 from ethereum/better-error-for-invalid-call
cameel Apr 5, 2023
3d5bb3e
Sort changelog
nikola-matic Apr 5, 2023
26c769f
fix: not displaying svg image
minaminao Apr 5, 2023
878862a
Merge pull request #14096 from minaminao/fix-not-displaying-svg-image
cameel Apr 5, 2023
d7ecee4
Merge pull request #14095 from ethereum/sort-changelog
cameel Apr 5, 2023
33b07c5
Skip via-ir with yul optimizer for Gnosis external tests
r0qs Mar 30, 2023
9e0a0af
Merge pull request #14062 from ethereum/fix-split-sources-script
nikola-matic Apr 5, 2023
f404eb0
More openzeppelin workarounds
r0qs Apr 6, 2023
a902c09
Merge pull request #14086 from ethereum/gnosis-ext-workaround
cameel Apr 6, 2023
e29a68d
Merge pull request #14098 from ethereum/workaround-oz-ext-test-2
cameel Apr 6, 2023
16d758b
Fix dark mode in grammar
minaminao Apr 7, 2023
8dd6f77
Extra test for operator cleanup
cameel Mar 23, 2023
5687f6e
Tests for literal denominations with non-integer literals
cameel Apr 7, 2023
fc7cd54
Tests for changing virtual function mutability when overriding
cameel Apr 6, 2023
66fcd54
Tests for denominations in array sizes
cameel Feb 24, 2023
8757e0a
feat: add support for `push0` in libevmasm
hrkrshnn Apr 9, 2023
8b4c1d3
Merge pull request #14102 from minaminao/fix-dark-mode-in-grammar
ekpyron Apr 11, 2023
0bfcdaf
feat: change generation of bytecode for pushes with zero-value
hrkrshnn Apr 9, 2023
802f895
feat: introduce EVM Version Shanghai
hrkrshnn Apr 9, 2023
41ce3fe
test: some tests for `push0`
hrkrshnn Apr 9, 2023
b30f89b
docs: On supporting `shanghai` EVM version and changelog
hrkrshnn Apr 9, 2023
82bde40
Merge pull request #14107 from ethereum/push0
ekpyron Apr 12, 2023
46457cf
Merge pull request #14103 from ethereum/extra-tests
cameel Apr 12, 2023
c1fffa8
Parser: Extract literal parsing into a separate function
cameel Feb 24, 2023
6bc6ae9
Merge pull request #14050 from ethereum/contract-ast-internal-functio…
ekpyron Apr 12, 2023
593e207
Merge pull request #14104 from ethereum/extract-parse-literal
cameel Apr 12, 2023
416e6f6
Merge pull request #14074 from ethereum/update_z3_docker
Apr 12, 2023
d08de34
[.clang-format ] Update prohibited property 'AlignEscapedNewlinesLeft'.
aarlt Apr 12, 2023
f0c0df2
Team meetings change (#14113)
NunoFilipeSantos Apr 12, 2023
5d42bb5
Removed Issues duplications from GitHub (#14120)
NunoFilipeSantos Apr 13, 2023
e1a9446
fix(docs): fix missing backticks, remove latexpdfja, fix the missing …
minaminao Apr 14, 2023
8f63bb6
docs: Hexadecimal string literals behave like string literals only in…
cameel Apr 13, 2023
bc18af9
docs: Fix index entry for receive
cameel Apr 14, 2023
cab8829
docs: Consistent index entries for literals, denominations, free func…
cameel Apr 13, 2023
d478c7d
EVMHost: Add "support" for Blake2f
axic Apr 15, 2023
4264b5a
EVMHost: Support warm coinbase
axic Apr 15, 2023
3edcfce
Add warning for EIP-3860 enforced initcode limits
axic Apr 15, 2023
71bea99
Add and update tests
axic Apr 15, 2023
07ac387
Fix incompatibilities with Golang parser generation
mdehoog Apr 16, 2023
345d0bc
Cheatsheet segregated based on type
ojasaklechayt Apr 1, 2023
618211f
Merge pull request #14084 from ojasaklechayt/patch-3
cameel Apr 17, 2023
1a8be13
Merge pull request #14125 from ethereum/blake2
ekpyron Apr 17, 2023
6d847e4
Merge pull request #14126 from ethereum/warm-coinbase
ekpyron Apr 17, 2023
719cce0
Removed duplicated link (#14131)
NunoFilipeSantos Apr 17, 2023
5a776c7
Update Side Menu (#14081)
NunoFilipeSantos Apr 17, 2023
3458da9
Emit PUSH0 as junk in evm code transform, if available.
ekpyron Apr 12, 2023
9befe1d
Merge pull request #14133 from ethereum/codeTransformPush0
ekpyron Apr 17, 2023
c6aab84
Merge pull request #14127 from ethereum/eip-3860
ekpyron Apr 17, 2023
02e936a
Merge pull request #14128 from mdehoog/golang-generation
ekpyron Apr 17, 2023
421738b
Fix calldata handling during creation in EVMHost.
ekpyron Apr 18, 2023
07def48
Adds NatSpec to AST for struct definitions.
veniger Apr 18, 2023
3f04f00
Merge pull request #14138 from ethereum/evmHostCalldataFix
ekpyron Apr 18, 2023
8194acb
Merge pull request #14119 from veniger/natspec-struct
nikola-matic Apr 18, 2023
ee1b50d
Merge pull request #14123 from ethereum/docs-and-index-tweaks-for-lit…
cameel Apr 18, 2023
8a14680
Disallow unary plus at the parsing stage
cameel Apr 14, 2023
b85a95f
Refactor TokenTraits::isUnaryOp() not to treat + as a unary operator
cameel Apr 14, 2023
64f57ac
Fix null dereference in using for directive when operator name is empty
matheusaaguiar Apr 17, 2023
29baf3b
Merge pull request #14135 from ethereum/fix_null_deref_using_for
ekpyron Apr 18, 2023
a77d4e2
Merge pull request #14139 from ethereum/make-plus-binary-only
ekpyron Apr 18, 2023
2810119
Remove unused workflow_ubuntu1604_clang
r0qs Feb 16, 2023
1fbc17b
Remove unused artifacts step
r0qs Feb 16, 2023
f4ab85d
Remove HERA from base image
r0qs Feb 17, 2023
927946c
Move ubuntu 22.04 dependencies to docker image
r0qs Feb 17, 2023
1e00672
Rename ubuntu ossfuzz dockerfile
r0qs Feb 17, 2023
f78591c
Reorganize base images alphabetically and add small and xlarge image …
r0qs Feb 16, 2023
524db30
Update ubuntu ossfuzz references
r0qs Feb 17, 2023
9b7eb46
Rename workflow_trigger_on_tags -> on_all_tags_and_branches
r0qs Feb 17, 2023
b99684d
Rename workflow_trigger_on_releases -> on_version_tags
r0qs Feb 17, 2023
d8937d8
Rename workflow_ubuntu2004_static -> requires_b_ubu_static
r0qs Feb 17, 2023
a13c3f0
Rename workflow_ubuntu2204 -> requires_b_ubu
r0qs Feb 17, 2023
4cf3661
Rename workflow_emscripten -> requires_emscripten
r0qs Feb 17, 2023
8ea890d
Minor fix
r0qs Feb 17, 2023
e464a49
Rename workflow_archlinux -> requires_b_archlinux
r0qs Feb 17, 2023
6cde589
Rename workflow_win -> requires_win
r0qs Feb 17, 2023
a9949f1
Rename workflow_osx -> requires_osx
r0qs Feb 17, 2023
67078af
Add on_develop filter
r0qs Feb 18, 2023
ce27eec
Add requires_nothing
r0qs Feb 20, 2023
3b2bb4b
Rename t_ems_ext to t_ext since the job also supports native builds
r0qs Feb 20, 2023
e95cfa8
Add space between jobs definitions
r0qs Feb 20, 2023
589688b
Add image parameter to external tests
r0qs Mar 27, 2023
a968f1a
Fix default image
r0qs Apr 18, 2023
f53c037
Fix ci parameters style
r0qs Apr 18, 2023
58555db
Fix text formatting of CI matrix notifications
r0qs Apr 4, 2023
61beb32
Bump ubuntu 2004 and 2204 images
r0qs Apr 19, 2023
34da6c8
Remove the inaccurate Type::categoryName() and change the error messa…
cameel Apr 20, 2023
a297a68
Merge pull request #14090 from ethereum/fix-matrix-bot
cameel Apr 20, 2023
2f78e95
Misc small refactors: Superfluous std::, trailing commas in lists, wh…
aarlt Nov 2, 2022
ded9ef1
Misc small refactors: Use ranges::views::keys and fmt::format()
cameel Apr 20, 2023
611e02c
Rename assemble() to assembleYul() in CompilerStack and CommandLineIn…
aarlt Nov 2, 2022
f5b2044
Remove unused CompilerStack::m_sourceJsons
cameel Apr 20, 2023
35a78f7
Add solRequire()
aarlt Nov 2, 2022
c694a00
Merge pull request #13982 from ethereum/cleanup-base-images
cameel Apr 21, 2023
24d43dd
Merge pull request #14115 from ethereum/clang-format-remove-prohibite…
aarlt Apr 21, 2023
12bca24
[SMTChecker] Use path condition when creating CHC targets
Feb 11, 2023
b75bddb
Merge pull request #14145 from ethereum/small-refactors-extracted-fro…
cameel Apr 21, 2023
1fb9a41
Add default value for CIRCLE_TAG
r0qs Apr 23, 2023
ee92491
Upgrade to evmc 10.1.0
axic Apr 23, 2023
d0043d6
Merge pull request #14151 from ethereum/evmc-update
ekpyron Apr 23, 2023
cd5ae26
Merge pull request #14143 from ethereum/remove-type-categoryname
ekpyron Apr 23, 2023
b95b96d
Merge pull request #14152 from ethereum/fix-matrix-bot
cameel Apr 24, 2023
4a8d661
Merge pull request #13974 from blishko/chc-path-condition
Apr 24, 2023
ba722b6
Make bash the default shell on windows
r0qs Apr 18, 2023
28c7fda
Migrate yulStackShuffling tests to isoltest
r0qs Apr 25, 2023
53a02fc
Merge pull request #14155 from ethereum/isoltest-stack-shuffling
ekpyron Apr 25, 2023
a6c809f
Update triage automation to use new project board and github projectV…
r0qs Feb 11, 2023
14c25c3
Merge pull request #13962 from ethereum/triage-issues-new-board
cameel Apr 25, 2023
3bcdc7b
Fix Remix links by adding `#` before URL params
kuzdogan Apr 26, 2023
302d46c
Merge pull request #14156 from kuzdogan/patch-3
ekpyron Apr 26, 2023
816f6ec
Fix metadata JSON "version" field being a string
kuzdogan Apr 26, 2023
da7754c
Enable triage issues action
r0qs Apr 26, 2023
6edec89
Merge pull request #14161 from ethereum/enable-triage-issues-new-board
Apr 27, 2023
7c870c9
docs: change the remix button from icon to text (#14122)
minaminao Apr 27, 2023
778d6f4
Migrate externalTests.sh to python
r0qs Mar 22, 2023
28a9592
Move common.sh from test/externalTests to scripts/externalTests
r0qs Apr 26, 2023
8be32f2
Merge pull request #14064 from ethereum/external-tests-refactor
cameel Apr 28, 2023
75960e6
Fix throw of ExternalTestNotFound in external_tests.py
r0qs Apr 28, 2023
0cb2794
Merge pull request #14170 from ethereum/external-tests-refactor
cameel Apr 28, 2023
49cf491
Update security-considerations.rst (#14079)
NunoFilipeSantos May 2, 2023
1af6ca7
Merge pull request #14160 from kuzdogan/patch-4
nikola-matic May 2, 2023
1e63615
Export all events.
chriseth Feb 23, 2021
dde579b
Merge pull request #10996 from ethereum/exportAllEvents
ekpyron May 3, 2023
385c48d
Merge pull request #14137 from ethereum/fix-matrix-notification-windows
ekpyron May 3, 2023
f2ddc99
Temporary workaround for GCC 13 compiler warnings.
ekpyron May 4, 2023
bed4732
Merge pull request #14183 from ethereum/temporaryGcc13Fix
ekpyron May 4, 2023
0f40bcc
Changed order of menu and spelling (#14185)
NunoFilipeSantos May 4, 2023
889f072
Make use of IR codegen pipeline and selectively report stack too deep…
bshastry May 5, 2023
a00a211
Removed English (UK) and changed to International English. (#14189)
NunoFilipeSantos May 5, 2023
766db7d
Update gp2 external test script
r0qs May 5, 2023
102f18b
Merge pull request #14190 from ethereum/fix-gp2
nikola-matic May 5, 2023
41742c5
Merge pull request #14188 from ethereum/fuzz-ir-pipeline
nikola-matic May 6, 2023
d80fd1b
Migrate to new external tests script
r0qs May 6, 2023
a29f773
Move AST annotation of internal function dispatch IDs to ContractDefi…
r0qs May 2, 2023
2975184
Merge pull request #14191 from ethereum/migration-external-test-ci
May 6, 2023
7c323a1
Merge pull request #14176 from ethereum/internal-function-id-annotati…
ekpyron May 8, 2023
050927b
Optimize multiplicity map
Vectorized Apr 25, 2023
34b13c1
Merge pull request #14154 from Vectorized/optimize-multiplicity-map
ekpyron May 8, 2023
41adba0
Switch to Gen2 macOS resources on CircleCI
BraxWong Apr 27, 2023
759732d
Remove python unlink
r0qs May 4, 2023
44da850
Change default EVM version to Shanghai.
ekpyron Apr 26, 2023
ccc2b8e
Make python and foundry installation steps a command
r0qs May 6, 2023
94d3747
Merge pull request #14158 from ethereum/shanghai
ekpyron May 8, 2023
4ccda14
Merge pull request #14164 from BraxWong/BraxBranch
ekpyron May 8, 2023
f32f35f
Merge pull request #14140 from ethereum/foundry-ci-setup
ekpyron May 8, 2023
cbd6495
docs: mention that `push0` also decreases the runtime costs
hrkrshnn May 8, 2023
2da0a86
Merge pull request #14195 from ethereum/fix-push0-docs
ekpyron May 8, 2023
9a87b58
Disallow immutable initialization in try catch statements
nikola-matic May 9, 2023
347c966
Merge pull request #14198 from ethereum/disallow-immutable-initializa…
nikola-matic May 9, 2023
77af0b4
Bump evmone version in docker images to 0.10.0.
ekpyron May 9, 2023
53626fc
Bump docker images and evmone version.
ekpyron May 9, 2023
c1720e6
Implement missing overrides and relax smtAsserts
matheusaaguiar May 4, 2023
75a0c48
Adjust gas expectations due to new creation costs.
ekpyron May 9, 2023
4c4eadd
Merge pull request #14200 from ethereum/updateEvmone
ekpyron May 9, 2023
0d0bcf6
Merge pull request #14199 from ethereum/evmoneDockerUpdate
ekpyron May 9, 2023
d370f53
Merge pull request #14180 from ethereum/fix_override_error
ekpyron May 9, 2023
3bab147
Fix hidden-overload in Types and remove CMake hack
nikola-matic May 9, 2023
3bec4c0
Disable dangling-reference warning
nikola-matic May 9, 2023
a02a720
Merge pull request #14201 from ethereum/fix-hidden-overload-warning-i…
ekpyron May 9, 2023
4837d42
Add experimental support to import AST via Standard JSON.
aarlt Apr 28, 2023
44a30e4
Merge pull request #14171 from ethereum/ast-import-via-standard-json
ekpyron May 9, 2023
d5c3d34
Fix gitter link.
ekpyron May 10, 2023
328f9c8
Merge pull request #14203 from ethereum/gitterLinkFix
ekpyron May 10, 2023
606fbd8
Fix antlr grammar.
ekpyron May 10, 2023
8366bd4
Merge pull request #14205 from ethereum/fixAntlr4
ekpyron May 10, 2023
b730bde
Sort and adjust changelog for 0.8.20.
ekpyron May 10, 2023
0f2bd3e
Merge pull request #14204 from ethereum/sortChangelog0_8_20
ekpyron May 10, 2023
3c77d33
Set release date for 0.8.20.
ekpyron May 10, 2023
a1b79de
Update bugs by version entry for 0.8.20.
ekpyron May 10, 2023
350a86c
Merge tag 'v0.8.20' into master_0.8.x
yanghang8612 Jun 26, 2023
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
  •  
  •  
  •  
808 changes: 420 additions & 388 deletions .circleci/config.yml

Large diffs are not rendered by default.

9 changes: 4 additions & 5 deletions .circleci/osx_install_dependencies.sh
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,6 @@ function validate_checksum {

if [ ! -f /usr/local/lib/libz3.a ] # if this file does not exists (cache was not restored), rebuild dependencies
then
brew unlink python
brew install boost
brew install cmake
brew install wget
Expand All @@ -61,11 +60,11 @@ then
./scripts/install_obsolete_jsoncpp_1_7_4.sh

# z3
z3_version="4.11.2"
z3_version="4.12.1"
z3_dir="z3-${z3_version}-x64-osx-10.16"
z3_package="${z3_dir}.zip"
wget "https://github.com/Z3Prover/z3/releases/download/z3-${z3_version}/${z3_package}"
validate_checksum "$z3_package" a56b6c40d9251a963aabe1f15731dd88ad1cb801d0e7b16e45f8b232175e165c
validate_checksum "$z3_package" 7601f844de6d906235140d0f76cca58be7ac716f3e2c29c35845aa24b24f73b9
unzip "$z3_package"
rm "$z3_package"
cp "${z3_dir}/bin/libz3.a" /usr/local/lib
Expand All @@ -74,10 +73,10 @@ then
rm -r "$z3_dir"

# evmone
evmone_version="0.9.1"
evmone_version="0.10.0"
evmone_package="evmone-${evmone_version}-darwin-x86_64.tar.gz"
wget "https://github.com/ethereum/evmone/releases/download/v${evmone_version}/${evmone_package}"
validate_checksum "$evmone_package" 70420a893a9b1036fcb63526b806d97658db8c373bcab1c3e8382594dc8593e4
validate_checksum "$evmone_package" 1b7773779287d7908baca6b8d556a98800cbd7d6e5c910b55fa507642bc0a15c
tar xzpf "$evmone_package" -C /usr/local
rm "$evmone_package"

Expand Down
4 changes: 2 additions & 2 deletions .circleci/soltest_all.sh
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,8 @@ REPODIR="$(realpath "$(dirname "$0")"/..)"
# shellcheck source=scripts/common.sh
source "${REPODIR}/scripts/common.sh"

EVM_VALUES=(homestead byzantium constantinople petersburg istanbul berlin london paris)
DEFAULT_EVM=paris
EVM_VALUES=(homestead byzantium constantinople petersburg istanbul berlin london paris shanghai)
DEFAULT_EVM=shanghai
[[ " ${EVM_VALUES[*]} " =~ $DEFAULT_EVM ]]
OPTIMIZE_VALUES=(0 1)

Expand Down
2 changes: 1 addition & 1 deletion .clang-format
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ Language: Cpp
BasedOnStyle: LLVM
AccessModifierOffset: -4
AlignAfterOpenBracket: AlwaysBreak
AlignEscapedNewlinesLeft: true
AlignEscapedNewlines: Left
AlwaysBreakAfterReturnType: None
AlwaysBreakTemplateDeclarations: Yes
BinPackArguments: false
Expand Down
5 changes: 5 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
---
name: Bug Report
about: Problems, deficiencies, inaccuracies or crashes discovered on Solidity.
title: ''
labels: 'bug :bug:'
assignees: ''

---

<!--## Prerequisites
Expand Down
12 changes: 0 additions & 12 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -1,17 +1,5 @@
blank_issues_enabled: false
contact_links:
- name: Bug Report
url: https://github.com/ethereum/solidity/issues/new?template=bug_report.md&projects=ethereum/solidity/43
about: Bug reports for the Solidity Compiler.
- name: Documentation Issue
url: https://github.com/ethereum/solidity/issues/new?template=documentation_issue.md&projects=ethereum/solidity/43
about: Solidity documentation.
- name: Feature Request
url: https://github.com/ethereum/solidity/issues/new?template=feature_request.md&projects=ethereum/solidity/43
about: Solidity language or infrastructure feature requests.
- name: Report a security vulnerability
url: https://github.com/ethereum/solidity/security/policy
about: Please review our security policy for more details.
- name: Initiate a language design or feedback discussion
url: https://forum.soliditylang.org
about: Open a thread on the Solidity forum.
5 changes: 5 additions & 0 deletions .github/ISSUE_TEMPLATE/documentation_issue.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
---
name: Documentation Issue
about: Corrections, improvements or requests for new content on Solidity's documentation.
title: ''
labels: 'documentation :book:'
assignees: ''

---

## Page
Expand Down
6 changes: 6 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
---
name: Feature Request
about: Ideas, comments or messages asking for a particular functionality to be added
to Solidity.
title: ''
labels: feature
assignees: ''

---

<!--## Prerequisites
Expand Down
5 changes: 3 additions & 2 deletions .github/workflows/buildpack-deps.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@ on:
branches: [ develop ]
paths:
- 'scripts/docker/buildpack-deps/Dockerfile.emscripten'
- 'scripts/docker/buildpack-deps/Dockerfile.ubuntu1604.clang.ossfuzz'
- 'scripts/docker/buildpack-deps/Dockerfile.ubuntu.clang.ossfuzz'
- 'scripts/docker/buildpack-deps/Dockerfile.ubuntu2004'
- 'scripts/docker/buildpack-deps/Dockerfile.ubuntu2204.clang'
- 'scripts/docker/buildpack-deps/Dockerfile.ubuntu2204'

Expand All @@ -22,7 +23,7 @@ jobs:
strategy:
fail-fast: false
matrix:
image_variant: [emscripten, ubuntu1604.clang.ossfuzz, ubuntu2204.clang, ubuntu2204]
image_variant: [emscripten, ubuntu.clang.ossfuzz, ubuntu2004, ubuntu2204.clang, ubuntu2204]

steps:
- uses: actions/checkout@v2
Expand Down
18 changes: 8 additions & 10 deletions .github/workflows/stale.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@ permissions:
pull-requests: write

env:
BEFORE_ISSUE_STALE: 334
BEFORE_ISSUE_CLOSE: 0 #FIXME: change to 14 days
BEFORE_ISSUE_STALE: 90
BEFORE_ISSUE_CLOSE: 7
BEFORE_PR_STALE: 14
BEFORE_PR_CLOSE: 7

Expand All @@ -28,14 +28,13 @@ jobs:
This issue has been marked as stale due to inactivity for the last ${{ env.BEFORE_ISSUE_STALE }} days.
It will be automatically closed in ${{ env.BEFORE_ISSUE_CLOSE }} days.
close-issue-message: |
Hi everyone! This issue has been closed due to inactivity.
Hi everyone! This issue has been automatically closed due to inactivity.
If you think this issue is still relevant in the latest Solidity version and you have something to [contribute](https://docs.soliditylang.org/en/latest/contributing.html), feel free to reopen.
However, unless the issue is a concrete proposal that can be implemented, we recommend starting a language discussion on the [forum](https://forum.soliditylang.org) instead.
any-of-issue-labels: stale # TODO: remove this when we're done with closing ancient issues
ascending: true # TODO: remove this when we're done with closing ancient issues
ascending: true
stale-issue-label: stale
close-issue-label: closed-due-inactivity
exempt-issue-labels: 'bug :bug:,roadmap,selected-for-development,must have'
close-issue-label: 'closed due inactivity'
exempt-issue-labels: 'bug :bug:,epic,roadmap,selected for development,must have,must have eventually,smt'
stale-pr-message: |
This pull request is stale because it has been open for ${{ env.BEFORE_PR_STALE }} days with no activity.
It will be closed in ${{ env.BEFORE_PR_CLOSE }} days unless the `stale` label is removed.
Expand All @@ -48,6 +47,5 @@ jobs:
exempt-pr-labels: 'external contribution :star:,roadmap,epic'
exempt-draft-pr: false
exempt-all-milestones: true
# remove-stale-when-updated: true # TODO: uncomment and remove the line below when we're done with closing ancient issues
remove-issue-stale-when-updated: false
operations-per-run: 128
remove-stale-when-updated: true
operations-per-run: 256
118 changes: 92 additions & 26 deletions .github/workflows/triage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,56 +6,122 @@ on:
- opened

env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GH_TOKEN: ${{ secrets.PROJECT_BOARD_AUTOMATION }}
ORGANIZATION: ethereum
REPOSITORY: solidity
PROJECT_NUMBER: 43
PROJECT_NUMBER: 27 # Solidity Bug Triaging Board
# See: https://github.com/orgs/ethereum/projects/27/settings/fields/Status
COLUMN_FIELD_NAME: "Status"
TRIAGE_COLUMN_NAME: "To Triage"
DRY_RUN: false

jobs:
triage_issues:
runs-on: ubuntu-latest
if: join(github.event.issue.labels) == ''
steps:
- name: Retrieve the content of all columns on the board
- name: Retrieve the content of selected field on the project board
run: |
gh api graphql \
--raw-field owner="$ORGANIZATION" \
--raw-field organization="$ORGANIZATION" \
--field project_number="$PROJECT_NUMBER" \
--raw-field repository_name="$REPOSITORY" \
--raw-field query='
query($owner: String!, $repository_name: String!, $project_number: Int!) {
repository(owner: $owner, name: $repository_name) {
project(number: $project_number) {
columns(first: 10) {
query($organization: String!, $project_number: Int!) {
organization(login: $organization) {
projectV2(number: $project_number) {
id
fields(first: 20) {
nodes {
id,
name
... on ProjectV2Field {
id
name
}
... on ProjectV2SingleSelectField {
id
name
options {
id
name
}
}
}
}
}
}
}' > project_columns.json
echo 'COLUMN_ID='$(jq '.data.repository.project.columns.nodes[] | select(.name == "Triage") | .id' project_columns.json) >> $GITHUB_ENV
echo 'COLUMN_NAME='$(jq '.data.repository.project.columns.nodes[] | select(.name == "Triage") | .name' project_columns.json) >> $GITHUB_ENV
}' > single_select_fields.json
echo 'PROJECT_ID='$(
jq \
'.data.organization.projectV2.id' \
single_select_fields.json
) >> $GITHUB_ENV
echo 'COLUMN_FIELD_ID='$(
jq \
--arg column_field_name "$COLUMN_FIELD_NAME" \
'.data.organization.projectV2.fields.nodes[]
| select(.name == $column_field_name)
| .id' \
single_select_fields.json
) >> $GITHUB_ENV
echo 'TRIAGE_COLUMN_ID='$(
jq --raw-output \
--arg column_field_name "$COLUMN_FIELD_NAME" \
--arg triage_column_name "$TRIAGE_COLUMN_NAME" \
'.data.organization.projectV2.fields.nodes[]
| select(.name == $column_field_name)
| .options[]
| select(.name == $triage_column_name)
| .id' \
single_select_fields.json
) >> $GITHUB_ENV

- name: Add issue#${{ github.event.issue.number }} to Triage column
- name: Add issue#${{ github.event.issue.number }} to project
env:
ISSUE_ID: ${{ github.event.issue.node_id }}
run: |
echo "Adding issue: ${{ github.event.issue.number }} to column $COLUMN_NAME in project $PROJECT_NUMBER"
if [[ $DRY_RUN == "false" ]]; then
echo "Adding issue: ${{ github.event.issue.number }} to project ${{ env.PROJECT_NUMBER }}"
if [[ $DRY_RUN == 'false' ]]; then
echo 'ITEM_ID='$(
gh api graphql \
--jq '.data.addProjectV2ItemById.item.id' \
--raw-field project_id="$PROJECT_ID" \
--raw-field issue_id="$ISSUE_ID" \
--raw-field query='
mutation($project_id: ID!, $issue_id: ID!) {
addProjectV2ItemById(input: {projectId: $project_id, contentId: $issue_id}) {
item {
id
}
}
}'
) >> $GITHUB_ENV
fi

- name: Move issue#${{ github.event.issue.number }} to Triage column
run: |
echo "Moving issue: ${{ github.event.issue.number }} to Triage column in project ${{ env.PROJECT_NUMBER }}"
if [[ $DRY_RUN == 'false' ]]; then
gh api graphql \
--silent \
--raw-field column=$COLUMN_ID \
--raw-field issue=$ISSUE_ID \
--raw-field project_id="$PROJECT_ID" \
--raw-field item_id="$ITEM_ID" \
--raw-field column_field_id="$COLUMN_FIELD_ID" \
--raw-field column_value_id="$TRIAGE_COLUMN_ID" \
--raw-field query='
mutation($column: ID!, $issue: ID!) {
addProjectCard(input: {
projectColumnId: $column,
contentId: $issue
mutation (
$project_id: ID!
$item_id: ID!
$column_field_id: ID!
$column_value_id: String!
) {
updateProjectV2ItemFieldValue(input: {
projectId: $project_id
itemId: $item_id
fieldId: $column_field_id
value: {
singleSelectOptionId: $column_value_id
}
}) {
clientMutationId
projectV2Item {
id
}
}
}'
fi
4 changes: 2 additions & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ include(EthPolicy)
eth_policy()

# project name and version should be set after cmake_policy CMP0048
set(PROJECT_VERSION "0.8.18")
set(PROJECT_VERSION "0.8.20")
# 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 Expand Up @@ -75,7 +75,7 @@ configure_file("${CMAKE_SOURCE_DIR}/cmake/templates/license.h.in" include/licens

include(EthOptions)
configure_project(TESTS)
set(LATEST_Z3_VERSION "4.11.2")
set(LATEST_Z3_VERSION "4.12.1")
set(MINIMUM_Z3_VERSION "4.8.16")
find_package(Z3)
if (${Z3_FOUND})
Expand Down
2 changes: 1 addition & 1 deletion CODING_STYLE.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ To set indentation and tab width settings uniformly, the repository contains an
3. All symbols should be declared in a namespace except for final applications.
4. Use anonymous namespaces for helpers whose scope is a cpp file only.
5. Preprocessor symbols should be prefixed with the namespace in all-caps and an underscore.
6. Do not use `std::` qualifier in cpp files (see 2.), except for `std::move`, which will otherwise cause the `check_style` step to fail.
6. Do not use `std::` qualifier in cpp files (see 2.), except for `std::move` and `std::forward`, which will otherwise cause the `check_style` step to fail.

Only in the header:
```cpp
Expand Down
51 changes: 51 additions & 0 deletions Changelog.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,54 @@
### 0.8.20 (2023-05-10)

Compiler Features:
* Assembler: Use ``push0`` for placing ``0`` on the stack for EVM versions starting from "Shanghai". This decreases the deployment and runtime costs.
* EVM: Set default EVM version to "Shanghai".
* EVM: Support for the EVM Version "Shanghai".
* NatSpec: Add support for NatSpec documentation in ``enum`` definitions.
* NatSpec: Add support for NatSpec documentation in ``struct`` definitions.
* NatSpec: Include NatSpec from events that are emitted by a contract but defined outside of it in userdoc and devdoc output.
* Optimizer: Re-implement simplified version of ``UnusedAssignEliminator`` and ``UnusedStoreEliminator``. It can correctly remove some unused assignments in deeply nested loops that were ignored by the old version.
* Parser: Unary plus is no longer recognized as a unary operator in the AST and triggers an error at the parsing stage (rather than later during the analysis).
* SMTChecker: Group all messages about unsupported language features in a single warning. The CLI option ``--model-checker-show-unsupported`` and the JSON option ``settings.modelChecker.showUnsupported`` can be enabled to show the full list.
* SMTChecker: Properties that are proved safe are now reported explicitly at the end of analysis. By default, only the number of safe properties is shown. The CLI option ``--model-checker-show-proved-safe`` and the JSON option ``settings.modelChecker.showProvedSafe`` can be enabled to show the full list of safe properties.
* Standard JSON Interface: Add experimental support for importing ASTs via Standard JSON.
* Yul EVM Code Transform: If available, use ``push0`` instead of ``codesize`` to produce an arbitrary value on stack in order to create equal stack heights between branches.


Bugfixes:
* ABI: Include events in the ABI that are emitted by a contract but defined outside of it.
* Immutables: Disallow initialization of immutables in try/catch statements.
* SMTChecker: Fix false positives in ternary operators that contain verification targets in its branches, directly or indirectly.


AST Changes:
* AST: Add the ``internalFunctionIDs`` field to the AST nodes of contracts containing IDs of functions that may be called via the internal dispatch. The field is a map from function AST IDs to internal dispatch function IDs. These IDs are always generated, but they are only used in via-IR code generation.
* AST: Add the ``usedEvents`` field to ``ContractDefinition`` which contains the AST IDs of all events emitted by the contract as well as all events defined and inherited by the contract.


### 0.8.19 (2023-02-22)

Language Features:
* Allow defining custom operators for user-defined value types via ``using {f as +} for T global`` syntax.


Compiler Features:
* SMTChecker: New trusted mode that assumes that any compile-time available code is the actual used code even in external calls. This can be used via the CLI option ``--model-checker-ext-calls trusted`` or the JSON field ``settings.modelChecker.extCalls: "trusted"``.


Bugfixes:
* Assembler: Avoid duplicating subassembly bytecode where possible.
* Code Generator: Avoid including references to the deployed label of referenced functions if they are called right away.
* ContractLevelChecker: Properly distinguish the case of missing base constructor arguments from having an unimplemented base function.
* SMTChecker: Fix internal error caused by unhandled ``z3`` expressions that come from the solver when bitwise operators are used.
* SMTChecker: Fix internal error when using the custom NatSpec annotation to abstract free functions.
* TypeChecker: Also allow external library functions in ``using for``.


AST Changes:
* AST: Add ``function`` field to ``UnaryOperation`` and ``BinaryOperation`` AST nodes. ``functionList`` in ``UsingForDirective`` AST nodes will now contain ``operator`` and ``definition`` members instead of ``function`` when the list entry defines an operator.


### 0.8.18 (2023-02-01)

Language Features:
Expand Down
Loading