Skip to content

Commit e72daf1

Browse files
authored
Merge branch 'develop' into patch-1
2 parents 79bda59 + d6a396e commit e72daf1

File tree

56 files changed

+1122
-490
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

56 files changed

+1122
-490
lines changed

.circleci/config.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ parameters:
3434
default: "solbuildpackpusher/solidity-buildpack-deps@sha256:98f963ed799a0d206ef8e7b5475f847e0dea53b7fdea9618bbc6106a62730bd2"
3535
evm-version:
3636
type: string
37-
default: cancun
37+
default: prague
3838

3939
orbs:
4040
win: circleci/windows@2.2.0
@@ -831,6 +831,7 @@ defaults:
831831
project: uniswap
832832
binary_type: native
833833
image: cimg/node:18.16
834+
resource_class: medium # Tests run out of memory on a smaller machine
834835

835836
- job_native_test_ext_prb_math: &job_native_test_ext_prb_math
836837
<<: *requires_b_ubu_static

.circleci/soltest_all.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ EVMS_WITH_EOF=(osaka)
3838
# set EVM_VALUES to the default values.
3939
IFS=" " read -ra EVM_VALUES <<< "${1:-${DEFAULT_EVM_VALUES[@]}}"
4040

41-
DEFAULT_EVM=cancun
41+
DEFAULT_EVM=prague
4242
OPTIMIZE_VALUES=(0 1)
4343
EOF_VERSIONS=(0 1)
4444

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ include(EthPolicy)
2121
eth_policy()
2222

2323
# project name and version should be set after cmake_policy CMP0048
24-
set(PROJECT_VERSION "0.8.30")
24+
set(PROJECT_VERSION "0.8.31")
2525
# OSX target needed in order to support std::visit
2626
set(CMAKE_OSX_DEPLOYMENT_TARGET "10.14")
2727
project(solidity VERSION ${PROJECT_VERSION} LANGUAGES C CXX)

Changelog.md

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,18 @@
1-
### 0.8.30 (unreleased)
1+
### 0.8.31 (unreleased)
22

33
Language Features:
44

55

66
Compiler Features:
7+
8+
9+
Bugfixes:
10+
11+
12+
### 0.8.30 (2025-05-07)
13+
14+
Compiler Features:
15+
* EVM: Set default EVM Version to `prague`.
716
* NatSpec: Capture Natspec documentation of `enum` values in the AST.
817

918

docs/assembly.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -216,6 +216,7 @@ shadow any declaration visible in the scope of the inline assembly block
216216
Since Solidity 0.7.0, variables and functions declared inside the
217217
inline assembly block may not contain ``.``, but using ``.`` is
218218
valid to access Solidity variables from outside the inline assembly block.
219+
However, it is still valid to use dots if you use Solidity in Yul-only mode.
219220

220221
Things to Avoid
221222
---------------

docs/bugs_by_version.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1923,6 +1923,10 @@
19231923
],
19241924
"released": "2021-03-23"
19251925
},
1926+
"0.8.30": {
1927+
"bugs": [],
1928+
"released": "2025-05-07"
1929+
},
19261930
"0.8.4": {
19271931
"bugs": [
19281932
"FullInlinerNonExpressionSplitArgumentEvaluationOrder",

docs/contracts/inheritance.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -548,7 +548,7 @@ Multiple Inheritance and Linearization
548548

549549
Languages that allow multiple inheritance have to deal with
550550
several problems. One is the `Diamond Problem <https://en.wikipedia.org/wiki/Multiple_inheritance#The_diamond_problem>`_.
551-
Solidity is similar to Python in that it uses "`C3 Linearization <https://en.wikipedia.org/wiki/C3_linearization>`_"
551+
Solidity is similar to Python in that it uses C3 Linearization
552552
to force a specific order in the directed acyclic graph (DAG) of base classes. This
553553
results in the desirable property of monotonicity but
554554
disallows some inheritance graphs. Especially, the order in

docs/index.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ Community contributors help translate this documentation into several languages.
8686
Note that they have varying degrees of completeness and up-to-dateness.
8787
The English version stands as a reference.
8888

89-
You can switch between languages by clicking on the flyout menu in the bottom-left corner
89+
You can switch between languages by clicking on the flyout menu in the bottom-right corner
9090
and selecting the preferred language.
9191

9292
* `Chinese <https://docs.soliditylang.org/zh-cn/latest/>`_

docs/using-the-compiler.rst

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -176,12 +176,12 @@ at each version. Backward compatibility is not guaranteed between each version.
176176
- Introduces ``prevrandao()`` and ``block.prevrandao``, and changes the semantics of the now deprecated ``block.difficulty``, disallowing ``difficulty()`` in inline assembly (see `EIP-4399 <https://eips.ethereum.org/EIPS/eip-4399>`_).
177177
- ``shanghai``
178178
- Smaller code size and gas savings due to the introduction of ``push0`` (see `EIP-3855 <https://eips.ethereum.org/EIPS/eip-3855>`_).
179-
- ``cancun`` (**default**)
179+
- ``cancun``
180180
- The block's blob base fee (`EIP-7516 <https://eips.ethereum.org/EIPS/eip-7516>`_ and `EIP-4844 <https://eips.ethereum.org/EIPS/eip-4844>`_) can be accessed via the global ``block.blobbasefee`` or ``blobbasefee()`` in inline assembly.
181181
- Introduces ``blobhash()`` in inline assembly and a corresponding global function to retrieve versioned hashes of blobs associated with the transaction (see `EIP-4844 <https://eips.ethereum.org/EIPS/eip-4844>`_).
182182
- Opcode ``mcopy`` is available in assembly (see `EIP-5656 <https://eips.ethereum.org/EIPS/eip-5656>`_).
183183
- Opcodes ``tstore`` and ``tload`` are available in assembly (see `EIP-1153 <https://eips.ethereum.org/EIPS/eip-1153>`_).
184-
- ``prague`` (**experimental**)
184+
- ``prague`` (**default**)
185185
- ``osaka`` (**experimental**)
186186
- Experimental compilation to EOF is available starting from this version. (`EIP-7692 <https://eips.ethereum.org/EIPS/eip-7692>`_)
187187

@@ -356,8 +356,8 @@ Input Description
356356
// Version of the EVM to compile for (optional).
357357
// Affects type checking and code generation. Can be homestead,
358358
// tangerineWhistle, spuriousDragon, byzantium, constantinople,
359-
// petersburg, istanbul, berlin, london, paris, shanghai, cancun (default), prague (experimental) or osaka (experimental).
360-
"evmVersion": "cancun",
359+
// petersburg, istanbul, berlin, london, paris, shanghai, cancun, prague (default) or osaka (experimental).
360+
"evmVersion": "prague",
361361
// EVM Object Format version to compile for (optional, experimental).
362362
// Currently the only valid value is 1. If not specified, legacy non-EOF bytecode will be generated.
363363
"eofVersion": null,

0 commit comments

Comments
 (0)