Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
129 commits
Select commit Hold shift + click to select a range
6738ce6
bump fmtlib to 11.1.4
clonker Mar 12, 2025
363f1ae
Set next version 0.8.30
matheusaaguiar Mar 11, 2025
340ae32
Merge pull request #15927 from ethereum/setNextVersion
matheusaaguiar Mar 12, 2025
c84cac8
release checklist: mention buildx as requirement for docker_deploy_ma…
clonker Mar 12, 2025
bf51113
Merge pull request #15930 from ethereum/mention-buildx-dep-in-release…
clonker Mar 14, 2025
f0fbb28
Merge pull request #15931 from ethereum/bump-fmtlib
clonker Mar 14, 2025
40a4d5d
Minor spelling fix in external test runners base.py
vipocenka Mar 14, 2025
d547bf2
Release checklist: Updates style
clonker Mar 14, 2025
70d344a
Remove double backticks from CODING_STYLE.md
cameel Mar 14, 2025
c8893ec
Merge pull request #15939 from ethereum/release_checklist_remove_doub…
cameel Mar 14, 2025
145e281
Name dependent CSE bug: Compare ASM only
clonker Mar 12, 2025
a652292
Merge pull request #15942 from ethereum/name_dependent_cse_bug_only_asm
cameel Mar 15, 2025
74cd757
SSACFG Builder: Improve function call visitor
clonker Mar 17, 2025
9620f4f
Merge pull request #15950 from ethereum/ssacfg_builder_improve_functi…
clonker Mar 18, 2025
25463c5
SMTChecker: Fix analysis for selected contracts
Feb 14, 2025
b53eba3
Merge pull request #15880 from ethereum/smt-fix-contract-selection
Mar 19, 2025
f2c9eec
Yul Disambiguator: Don't check for builtins when translating identifiers
clonker Mar 17, 2025
ad281dd
Merge pull request #15951 from ethereum/disambiguator_dont_check_for_…
clonker Mar 20, 2025
8f38f23
Peephole optimiser: Replace apply methods recursion by folding expres…
clonker Mar 19, 2025
098b854
IRGeneratorForStatements does not check for builtin when mangling use…
clonker Mar 17, 2025
4a93b2a
Merge pull request #15952 from ethereum/remove_builtin_check_from_inl…
clonker Mar 21, 2025
28982f1
Merge pull request #15957 from ethereum/make-peephole-opt-more-opt-fr…
nikola-matic Mar 21, 2025
08c9f53
AssemblyItem gets an optional instruction and the null-state is prope…
clonker Mar 12, 2025
2536b14
Merge pull request #15934 from ethereum/default-initialize-instructio…
clonker Mar 21, 2025
dd03613
SMTChecker: Fix string literal to fixed bytes conversion with user-de…
Mar 20, 2025
d07c219
Merge pull request #15963 from ethereum/smt-fix-string-to-bytes-conve…
Mar 21, 2025
d97d711
Update metadata docs for "libraries" and "compilationSettings" fields
kuzdogan Feb 26, 2025
2e33f25
Update the metdata settings field to refer the rest of the settings t…
kuzdogan Feb 26, 2025
1f044c1
Remove "sorted" in std-json remappings docs
kuzdogan Mar 20, 2025
1ccea41
AsmAnalysis: Stronger use of fmt, refactor function call analysis
clonker Mar 14, 2025
b9cbf1e
AsmAnalysis: Improve wording of invalid argument for eofcreate/return…
clonker Mar 21, 2025
cc58ab1
Merge pull request #15895 from kuzdogan/update-metadata-docs
cameel Mar 21, 2025
e134620
Merge pull request #15941 from ethereum/asm_analysis_fmt
clonker Mar 21, 2025
d1cbd8d
interpreter uses yul AST instead of separate block and dialect
clonker Mar 17, 2025
8859625
yulrun on AST
clonker Mar 17, 2025
dafe006
ossfuzz uses yul AST instead of separate block and dialect
clonker Mar 17, 2025
6326b86
Merge pull request #15954 from ethereum/ossfuzz_use_ast_over_block
clonker Mar 22, 2025
77878e5
add repeats to external.sh
clonker Mar 14, 2025
14fcd5d
Merge pull request #15965 from ethereum/repeats_for_external_benchmarks
nikola-matic Mar 26, 2025
2ebafd3
fix: Remove unnecessary Expression temporary in CHCSmtLib2Interface
VolodymyrBg Mar 25, 2025
a04f946
Merge pull request #15967 from VolodymyrBg/vbg
cameel Mar 27, 2025
a448921
SMTChecker: Move helper function towards its only usage
Mar 28, 2025
5ea8f25
Add support for enum values in NatSpec
nikola-matic Mar 19, 2025
c4b454a
Docs
nikola-matic Apr 2, 2025
c608428
SMTChecker: Refactor processing invariants from the solver
Mar 28, 2025
7a4ddb2
Merge pull request #15972 from ethereum/smt-refactor
Apr 3, 2025
949a52f
Merge pull request #15956 from ethereum/make-enums-available-in-natspec
nikola-matic Apr 4, 2025
dbd5521
remove install of obsolete jsoncpp
clonker Apr 4, 2025
f323bd4
cmake: use boost include dirs and version in status message
clonker Apr 4, 2025
e6d5699
set CMP0167 to OLD behavior for boost versions < 1.70
clonker Apr 4, 2025
4c23d04
Disable pedantic compilation for CMake 4.0.0 and AppleClang 15.0
clonker Apr 7, 2025
6da61ca
Merge pull request #15982 from ethereum/fix_macos_build
clonker Apr 8, 2025
2cd97dc
Use pre-release version of sphinx-a4doc for python 3.13
clonker Apr 8, 2025
0a6cce5
relax sphinx version range to [2.1, 9)
clonker Apr 8, 2025
971ac4c
require rtd theme < 3.0.0
clonker Apr 8, 2025
55506a9
Merge pull request #15987 from ethereum/fix_docs
clonker Apr 8, 2025
502ebaa
Add support for upcoming Boost 1.88.0
cho-m Mar 31, 2025
334b768
Remove Z3 from ppa scripts and add ubunutu plucky.
ekpyron Mar 12, 2025
38810a3
Adjust release checklist.
ekpyron Apr 8, 2025
fd2d543
Also drop libcvc4-dev and smtdependencies generally.
ekpyron Apr 8, 2025
4f23c18
Merge pull request #15976 from cho-m/support-boost-1.88.0
nikola-matic Apr 8, 2025
e13c612
Language Server: Fix hover crashes on invalid parameters
henryhchchc Apr 4, 2025
1cd7045
Remove disable pedantic mode switch for osx cmake 4.0.0 and clang 15.0.0
clonker Apr 14, 2025
09715e6
osx ci: Install Boost to /opt/boost instead of /usr/local
clonker Apr 14, 2025
e1bf062
Merge pull request #16005 from ethereum/soften_macos_pedantic_switch
clonker Apr 14, 2025
f1c3a2d
chore: remove redundant word in comment
closeobserve Apr 13, 2025
597e5a9
Merge pull request #16004 from closeobserve/closeobserve_feature
nikola-matic Apr 14, 2025
08310eb
Merge pull request #15980 from henryhchchc/develop
nikola-matic Apr 14, 2025
1706158
Update premium.sol
futreall Mar 25, 2025
a1be4f3
Update publisher.sol
futreall Mar 25, 2025
cc6a9cf
Merge pull request #15966 from futreall/develop
nikola-matic Apr 14, 2025
db53ca5
Merge pull request #15932 from ethereum/releasePPAScript
clonker Apr 15, 2025
513535a
Adding clarity on extcalls with precompiled contracts.
mattaereal Mar 8, 2024
8b85d14
Update custom.css
Bilogweb3 Feb 26, 2025
eda68d5
Update events.rst
PixelPil0t1 Mar 11, 2025
feed69b
Update calling_nonexisting_contract.sol
argentpapa Feb 27, 2025
ba3fd65
docs: Fix grammar in workflow trigger condition
voronor Feb 4, 2025
27f915c
Merge pull request #14931 from mattaereal/develop
matheusaaguiar Apr 16, 2025
ab77b34
Update ControlFlowGraphBuilder.h
eeemmmmmm Feb 26, 2025
7fee102
Merge pull request #15891 from Bilogweb3/develop
matheusaaguiar Apr 16, 2025
10b21b8
Replace temporary std::string with std::string_view in _yulname liter…
Feb 28, 2025
da51fe4
Merge pull request #15924 from PixelPil0t1/patch-1
matheusaaguiar Apr 16, 2025
0c28f4a
Merge pull request #15897 from argentpapa/develop
matheusaaguiar Apr 16, 2025
f5134df
Merge pull request #15827 from voronor/patch-2
matheusaaguiar Apr 16, 2025
771d805
Fix typo in test script comments
NeoByteXx Feb 22, 2025
687ad65
Merge pull request #15890 from eeemmmmmm/patch-2
matheusaaguiar Apr 16, 2025
7d1dfa3
Merge pull request #15904 from Ferran969/improve-yulname-literal
matheusaaguiar Apr 16, 2025
0881d62
Merge pull request #15885 from NeoByteXx/develop
matheusaaguiar Apr 16, 2025
d22a070
fix minor issues
sky-coderay Mar 14, 2025
8cf3305
Merge pull request #15940 from sky-coderay/develop
matheusaaguiar Apr 17, 2025
02d2c9a
change into test dir for cmdline tests
clonker Apr 9, 2025
2fa170e
update test expectations with cwd being in test dir
clonker Apr 10, 2025
2ab62d7
Merge pull request #15996 from ethereum/cmdlineTests_go_to_test_dir
clonker Apr 22, 2025
880b61b
SMTChecker: Refactor handling of ConstantCondition verification target
Feb 13, 2025
d9083dc
SMTChecker: Loop conditions should be analyzed as in loop context in BMC
Mar 21, 2025
8caf354
Merge pull request #15862 from ethereum/smt-fix-loops-in-bmc
Apr 23, 2025
b1a9031
SMTChecker: Clean up includes
Mar 29, 2025
629bb28
SMTChecker: Remove unused functionality
Mar 29, 2025
7526fbc
Merge pull request #16019 from ethereum/smt-more-refactoring
Apr 23, 2025
ae3da8c
docs: fixed a mismatch in the name of the function referenced in the …
ryabykhms Oct 2, 2024
5baa791
Merge pull request #15473 from ryabykhms/docs-example-issue
matheusaaguiar Apr 23, 2025
fe74111
EVMAssemblyStack: Add extra accessors that do not require contract name
cameel Apr 16, 2025
dd01ddd
TestCaseReader: Expose fileName()
cameel Mar 14, 2025
d3238c0
Add a transparent comparator to c_instructions to allow string_view l…
cameel Apr 19, 2025
266c7d4
EVM assembly test case with JSON input
cameel Mar 14, 2025
fe39551
Support human-readable assembly in EVM assembly test case
cameel Apr 18, 2025
6d62ea0
Merge pull request #16012 from ethereum/evmasm-test-case
cameel Apr 23, 2025
975ee13
eof: Enable peephole optimizer for EOF.
rodiazet Apr 9, 2025
03fde2a
eof: Add peephole optimiser tests for EOF specific optimisations
rodiazet Apr 23, 2025
4c4860b
Merge pull request #15991 from ipsilon/enable-peephole-optimiser
cameel Apr 24, 2025
649c8ee
Update SMTPortfolio.cpp
gap-editor Apr 26, 2025
76e8016
Update SMTPortfolio.cpp
gap-editor Apr 28, 2025
b136829
Merge pull request #16025 from gap-editor/1
Apr 28, 2025
09fc1d4
PlainAssemblyParser: Store the stream globally in the class
cameel Apr 25, 2025
73af652
PlainAssemblyParser: Syntax for subassemblies
cameel Apr 25, 2025
202933b
PlainAssemblyParser: Support pushing assembly sizes and offsets
cameel Apr 25, 2025
d77affb
Merge pull request #16021 from ethereum/subassemblies-in-evm-assembly…
cameel May 6, 2025
78107e3
Assembly item asserts that it's not implicity constructed by instruct…
clonker Apr 27, 2025
d0bae61
Merge pull request #16026 from ethereum/assert_swapn_dupn_in_assembly…
clonker May 6, 2025
49c2e55
Set prague as EVM default version
matheusaaguiar Apr 28, 2025
ca699f9
bump hardhat version
matheusaaguiar May 6, 2025
24d534f
Increase resource for uniswap ext test
matheusaaguiar May 6, 2025
13d734f
Workaround for openzepellin ext test
matheusaaguiar May 6, 2025
b53d23a
Merge pull request #16030 from ethereum/makePragueDefaultEVMVersion
matheusaaguiar May 7, 2025
1e6842c
Fix broken docs links
nikola-matic May 7, 2025
3bd783d
Merge pull request #16033 from ethereum/fix-docs-links
nikola-matic May 7, 2025
1c8d401
Set changelog release date
nikola-matic May 7, 2025
73712a0
Merge pull request #16035 from ethereum/set-release-date-for-0-8-30
nikola-matic May 7, 2025
ddd0776
Merge tag 'v0.8.30' into release_0.8.30
yanghang8612 Jul 15, 2026
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
  •  
  •  
  •  
13 changes: 10 additions & 3 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ parameters:
default: "solbuildpackpusher/solidity-buildpack-deps@sha256:98f963ed799a0d206ef8e7b5475f847e0dea53b7fdea9618bbc6106a62730bd2"
evm-version:
type: string
default: cancun
default: prague

orbs:
win: circleci/windows@2.2.0
Expand Down Expand Up @@ -385,7 +385,7 @@ commands:
name: Installing dependencies / Restoring dependency cache
command: |
if [[ -f ~/osx-dependencies-cached ]]; then
echo "Dependency flag exists. Removing /usr/local/ and /opt/homebrew/. These directories will be restored from cache."
echo "Dependency flag exists. Removing /usr/local/, /opt/homebrew/, and /opt/boost. These directories will be restored from cache."

# CircleCI is providing the circleci cli tools via some kind of symlink magic.
# So we just save the original symlinks and restore them later.
Expand All @@ -405,6 +405,10 @@ commands:
sudo mkdir -p /usr/local/bin
sudo chmod 777 /usr/{local,local/bin}

sudo rm -rf /opt/boost
sudo mkdir -p /opt/boost
sudo chmod 777 /opt/boost

mv /tmp/circleci "${circleci_binary_path}"
mv /tmp/circleci-agent "${circleci_agent_binary_path}"
fi
Expand All @@ -425,6 +429,7 @@ commands:
# Homebrew is installed in /usr/local on intel macs, but in /opt/homebrew on apple silicon.
- /usr/local
- /opt/homebrew
- /opt/boost
- save_cache:
key: osx-dependencies-cached-{{ arch }}-{{ checksum ".circleci/osx_install_dependencies.sh" }}
paths:
Expand Down Expand Up @@ -835,6 +840,7 @@ defaults:
project: uniswap
binary_type: native
image: cimg/node:18.16
resource_class: medium # Tests run out of memory on a smaller machine

- job_native_test_ext_prb_math: &job_native_test_ext_prb_math
<<: *requires_b_ubu_static
Expand Down Expand Up @@ -1168,7 +1174,8 @@ jobs:
environment:
<<: *base_osx_env
CMAKE_BUILD_TYPE: Release
CMAKE_OPTIONS: -DCMAKE_OSX_ARCHITECTURES:STRING=x86_64;arm64
# boost root configured to the prefix used in `osx_install_dependencies.sh`
CMAKE_OPTIONS: -DCMAKE_OSX_ARCHITECTURES:STRING=x86_64;arm64 -DBoost_ROOT=/opt/boost
steps:
- checkout
- install_dependencies_osx
Expand Down
6 changes: 2 additions & 4 deletions .circleci/osx_install_dependencies.sh
Original file line number Diff line number Diff line change
Expand Up @@ -59,9 +59,6 @@ then
brew install openjdk@11
brew install unzip

# writing to /usr/local/lib need administrative privileges.
sudo ./scripts/install_obsolete_jsoncpp_1_7_4.sh

# boost
boost_version="1.84.0"
boost_package="boost_${boost_version//./_}.tar.bz2"
Expand All @@ -72,7 +69,8 @@ then
cd "$boost_dir"
./bootstrap.sh --with-toolset=clang --with-libraries=thread,system,filesystem,program_options,serialization,test
# the default number of jobs that b2 is taking, is the number of detected available CPU threads.
sudo ./b2 -a address-model=64 architecture=arm+x86 install
# install boost to /opt/boost, to use it in CMake, specify Boost_ROOT
sudo ./b2 -a address-model=64 architecture=arm+x86 --prefix=/opt/boost install
cd ..
sudo rm -rf "$boost_dir"

Expand Down
2 changes: 1 addition & 1 deletion .circleci/soltest_all.sh
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ EVMS_WITH_EOF=(osaka)
# set EVM_VALUES to the default values.
IFS=" " read -ra EVM_VALUES <<< "${1:-${DEFAULT_EVM_VALUES[@]}}"

DEFAULT_EVM=cancun
DEFAULT_EVM=prague
OPTIMIZE_VALUES=(0 1)
EOF_VERSIONS=(0)

Expand Down
2 changes: 1 addition & 1 deletion 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.29")
set(PROJECT_VERSION "0.8.30")
# 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
4 changes: 2 additions & 2 deletions CODING_STYLE.md
Original file line number Diff line number Diff line change
Expand Up @@ -110,9 +110,9 @@ Use `solAssert` and `solUnimplementedAssert` generously to check assumptions tha
4. Favour declarations close to use; do not habitually declare at top of scope ala C.
5. Pass non-trivial parameters as const reference, unless the data is to be copied into the function, then either pass by const reference or by value and use std::move.
6. If a function returns multiple values, use std::tuple (std::pair acceptable) or better introduce a struct type. Do not use */& arguments.
7. Use parameters of pointer type only if ``nullptr`` is a valid argument, use references otherwise. Often, ``std::optional`` is better suited than a raw pointer.
7. Use parameters of pointer type only if `nullptr` is a valid argument, use references otherwise. Often, `std::optional` is better suited than a raw pointer.
8. Never use a macro where adequate non-preprocessor C++ can be written.
9. Only use ``auto`` if the type is very long and rather irrelevant.
9. Only use `auto` if the type is very long and rather irrelevant.
10. Do not pass bools: prefer enumerations instead.
11. Prefer enum class to straight enum.
12. Always initialize POD variables, even if their value is overwritten later.
Expand Down
13 changes: 13 additions & 0 deletions Changelog.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,16 @@
### 0.8.30 (2025-05-07)

Compiler Features:
* EVM: Set default EVM Version to `prague`.
* NatSpec: Capture Natspec documentation of `enum` values in the AST.


Bugfixes:
* SMTChecker: Do not consider loop conditions as constant-condition verification target as this could cause incorrect reports and internal compiler errors.
* SMTChecker: Fix incorrect analysis when only a subset of contracts is selected with `--model-checker-contracts`.
* SMTChecker: Fix internal compiler error when string literal is used to initialize user-defined type based on fixed bytes.


### 0.8.29 (2025-03-12)

Language Features:
Expand Down
Loading