Skip to content

Commit 53172f3

Browse files
authored
v0.3.0 Venice (#1319)
The parser and semantic analysis stage of Solang have gone through [a security audit](https://github.com/solana-labs/security-audits/blob/master/solang/Trail_of_Bits_Solang_Final_report.pdf). All security issues have been fixed. ### Added - The CLI now has a `--release` option, which disables printing of errors [salaheldinsoliman](https://github.com/salaheldinsoliman) - **Substrate**: chain extensions can be now used. [xermicus](https://github.com/xermicus) ### Fixed - Solidity error definitions are now parsed. [seanyoung](https://github.com/seanyoung) - The Ethereum Solidity parser and semantic analysis tests are now run on Solang sema during `cargo test`. [seanyoung](https://github.com/seanyoung) - If a function returns a `storage` reference, then not returning a value explicitly is an error, since the reference must refer to an existing storage variable. [seanyoung](https://github.com/seanyoung) - Many small improvements have been made to the parser and semantic analysis, improving compatibility with Ethereum Solidity. [seanyoung](https://github.com/seanyoung) [xermicus](https://github.com/xermicus) [LucasSte](https://github.com/LucasSte) ### Changed - **Solana**: Addresses are now base58 encoded when formated with `"address:{}".format(address)`. [LucasSte](https://github.com/LucasSte) - **Substrate**: No longer use the prefixed names for seal runtime API calls, which grants small improvements in contract sizes. [xermicus](https://github.com/xermicus) Signed-off-by: Sean Young <[email protected]>
1 parent a09b8b9 commit 53172f3

File tree

6 files changed

+44
-27
lines changed

6 files changed

+44
-27
lines changed

CHANGELOG.md

Lines changed: 31 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,36 @@
22
All notable changes to [Solang](https://github.com/hyperledger/solang/)
33
will be documented here.
44

5+
## v0.3.0 Venice
6+
7+
The parser and semantic analysis stage of Solang have gone through
8+
[a security audit](https://github.com/solana-labs/security-audits/blob/master/solang/Trail_of_Bits_Solang_Final_report.pdf). All security issues have been fixed.
9+
10+
### Added
11+
- The CLI now has a `--release` option, which disables printing of errors [salaheldinsoliman](https://github.com/salaheldinsoliman)
12+
- **Substrate**: chain extensions can be now used.
13+
[xermicus](https://github.com/xermicus)
14+
15+
### Fixed
16+
- Solidity error definitions are now parsed.
17+
[seanyoung](https://github.com/seanyoung)
18+
- The Ethereum Solidity parser and semantic analysis tests are now run on Solang sema during
19+
`cargo test`.
20+
[seanyoung](https://github.com/seanyoung)
21+
- If a function returns a `storage` reference, then not returning a value explicitly is an error, since
22+
the reference must refer to an existing storage variable.
23+
[seanyoung](https://github.com/seanyoung)
24+
- Many small improvements have been made to the parser and semantic analysis, improving compatibility
25+
with Ethereum Solidity.
26+
[seanyoung](https://github.com/seanyoung)
27+
[xermicus](https://github.com/xermicus)
28+
[LucasSte](https://github.com/LucasSte)
29+
30+
### Changed
31+
- **Solana**: Addresses are now base58 encoded when formated with `"address:{}".format(address)`.
32+
[LucasSte](https://github.com/LucasSte)
33+
- **Substrate**: No longer use the prefixed names for seal runtime API calls, which grants small improvements in contract sizes. [xermicus](https://github.com/xermicus)
34+
535
## v0.2.3 Geneva
636

737
### Added
@@ -11,7 +41,7 @@ will be documented here.
1141
[seanyoung](https://github.com/seanyoung)
1242
- **Solana**: if a contract uses the `SystemAccount`, `ClockAccount`, or other standard builtin
1343
accounts, then this is automatically added to the IDL. [LucasSte](https://github.com/LucasSte)
14-
- **Substrate**: The content of the debug buffer is formatted in a human readable way. This vastly improves it's readability, allowing to spot API runtime return codes, runtime errors and debug prints much easier. [salaheldinsoliman](https://github.com/salaheldinsoliman)
44+
- **Substrate**: The content of the debug buffer is formatted in a human readable way. This vastly improves its readability, allowing to spot API runtime return codes, runtime errors and debug prints much easier. [salaheldinsoliman](https://github.com/salaheldinsoliman)
1545

1646
### Fixed
1747
- Solana: contracts with a seed for the constructor do not require a signer in the Anchor IDL

Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "solang"
3-
version = "0.2.3"
3+
version = "0.3.0"
44
authors = ["Sean Young <[email protected]>", "Lucas Steuernagel <[email protected]>", "Cyrill Leutwiler <[email protected]>"]
55
homepage = "https://github.com/hyperledger/solang"
66
documentation = "https://solang.readthedocs.io/"
@@ -46,7 +46,7 @@ itertools = "0.10"
4646
num-rational = "0.4"
4747
indexmap = "1.9"
4848
once_cell = "1.17"
49-
solang-parser = { path = "solang-parser", version = "0.2.4" }
49+
solang-parser = { path = "solang-parser", version = "0.3.0" }
5050
codespan-reporting = "0.11"
5151
phf = { version = "0.11", features = ["macros"] }
5252
rust-lapper = "1.1"

README.md

Lines changed: 3 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -133,21 +133,6 @@ up to date with the newest Solidity syntax and features. In addition, we focus
133133
and improve developer experience.
134134
Here is a brief description of what we envision for the next versions.
135135

136-
### V0.3
137-
138-
| Feature | Status |
139-
|----------------------------------------------|-------------|
140-
| Specify values as "1 sol" and "1e9 lamports" | Completed |
141-
| Call Solana's Rust contracts from Solidity | Completed |
142-
| Improvements in overflow checking | Completed |
143-
| Support Solana's Program Derived Addresses | Completed |
144-
| Call Solidity from Solana's Rust contracts | Not started |
145-
| Improve developer experience for Substrate | Completed |
146-
| Tooling for calls between ink! <> solidity | In progress |
147-
| Support chain extensions for Substrate | Completed |
148-
| Provide CLI for node interactions | Not started |
149-
150-
151136
### V0.4
152137

153138
| Feature | Status |
@@ -156,6 +141,9 @@ Here is a brief description of what we envision for the next versions.
156141
| Adopt single static assignment for code generation | Not started |
157142
| Support openzeppelin on Substrate target | Not started |
158143
| Provide Solidity -> Substrate porting guide | Not started |
144+
| Call Solidity from Solana's Rust contracts | Not started |
145+
| Tooling for calls between ink! <> solidity | In progress |
146+
| Provide CLI for node interactions | Not started |
159147

160148
## License
161149

RELEASE_CHECKLIST.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616
- Merge the PR
1717
- Apply tag to merged commit on main branch
1818
- Push tag to origin
19-
- When changing LLVM version, regenerate the CI image using GitHub's manual actions trigger
2019
- Wait for build to succeed
2120
- `cargo publish`
2221
- Release new version of vscode plugin if needed

docs/installing.rst

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -28,11 +28,11 @@ Option 2: Download binaries
2828

2929
There are binaries available on github releases:
3030

31-
- `Linux x86-64 <https://github.com/hyperledger/solang/releases/download/v0.2.3/solang-linux-x86-64>`_
32-
- `Linux arm64 <https://github.com/hyperledger/solang/releases/download/v0.2.3/solang-linux-arm64>`_
33-
- `Windows x64 <https://github.com/hyperledger/solang/releases/download/v0.2.3/solang.exe>`_
34-
- `MacOS intel <https://github.com/hyperledger/solang/releases/download/v0.2.3/solang-mac-intel>`_
35-
- `MacOS arm <https://github.com/hyperledger/solang/releases/download/v0.2.3/solang-mac-arm>`_
31+
- `Linux x86-64 <https://github.com/hyperledger/solang/releases/download/v0.3.0/solang-linux-x86-64>`_
32+
- `Linux arm64 <https://github.com/hyperledger/solang/releases/download/v0.3.0/solang-linux-arm64>`_
33+
- `Windows x64 <https://github.com/hyperledger/solang/releases/download/v0.3.0/solang.exe>`_
34+
- `MacOS intel <https://github.com/hyperledger/solang/releases/download/v0.3.0/solang-mac-intel>`_
35+
- `MacOS arm <https://github.com/hyperledger/solang/releases/download/v0.3.0/solang-mac-arm>`_
3636

3737
Download the file and save it somewhere in your ``$PATH``, for example the bin directory in your home directory. If the
3838
path you use is not already in ``$PATH``, then you need to add it yourself.
@@ -56,7 +56,7 @@ Option 3: Use ghcr.io/hyperledger/solang containers
5656

5757
New images are automatically made available on
5858
`solang containers <https://github.com/hyperledger/solang/pkgs/container/solang>`_.
59-
There is a release `v0.2.3` tag and a `latest` tag:
59+
There is a release `v0.3.0` tag and a `latest` tag:
6060

6161
.. code-block:: bash
6262
@@ -113,7 +113,7 @@ These patches make it possible to generate code for Solana, and fixes
113113
concurrency issues in the lld linker.
114114

115115
You can either download the pre-built libraries from
116-
`github <https://github.com/hyperledger/solang/releases/tag/v0.2.3>`_
116+
`github <https://github.com/hyperledger/solang/releases/tag/v0.3.0>`_
117117
or :ref:`build your own from source <llvm-from-source>`. After that, you need to add the ``bin`` of your
118118
LLVM directory to your path, so that the build system of Solang can find the correct version of LLVM to use.
119119

solang-parser/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "solang-parser"
3-
version = "0.2.4"
3+
version = "0.3.0"
44
authors = ["Sean Young <[email protected]>", "Lucas Steuernagel <[email protected]>", "Cyrill Leutwiler <[email protected]>"]
55
homepage = "https://github.com/hyperledger/solang"
66
documentation = "https://solang.readthedocs.io/"

0 commit comments

Comments
 (0)