Skip to content

Commit 409e42f

Browse files
authored
Release v0.1.13: Genoa (#1016)
v0.1.13 Genoa ### Changed - Introduce sub-commands to the CLI. Now we have dedicated sub-commands for `compile`, `doc`, `shell-completion` and the `language-server`, which makes for a cleaner CLI. [seanyoung](https://github.com/seanyoung) - On Solana, emitted events are encoded with Borsh encoding following the Anchor format. [LucasSte](https://github.com/LucasSte) - The ewasm target has been removed, since ewasm is not going to implemented on Ethereum. The target has been reused for an new EVM target, which is not complete yet. [seanyoung](https://github.com/seanyoung) - Substrate: Concrete contracts must now have at least one public function. A public function is in a contract, if it has public or external functions, if it has a receive or any fallback function or if it has public storage items (those will yield public getters). This aligns solang up with `ink!`. [xermicus](https://github.com/xermicus) ### Added - Solana v1.11 is now supported. [seanyoung](https://github.com/seanyoung) - On Solana, programs now use a custom heap implementation, just like on Substrate. As result, it is now possible to `.push()` and `.pop()` on dynamic arrays in memory. [seanyoung](https://github.com/seanyoung) - Arithmetic overflow tests are implemented for all integer widths, [salaheldinsoliman](https://github.com/salaheldinsoliman) - Add an NFT example for Solana [LucasSte](https://github.com/LucasSte) - Add a wrapper for the Solana System Program [LucasSte](https://github.com/LucasSte) - The selector for functions can be overriden with the `selector=hex"abcd0123"` syntax. [seanyoung](https://github.com/seanyoung) - Shell completion is available using the `solang shell-completion` subcommand. [xermicus](https://github.com/xermicus) - Add support for the `create_program_address()` and `try_find_program_address()` system call on Solana [seanyoung](https://github.com/seanyoung) - Substrate: The `print()` builtin is now supported and will write to the debug buffer. Additionally, error messages from the `require` statements will now be written to the debug buffer as well. The Substrate contracts pallet prints the contents of the debug buffer to the console for RPC ("dry-run") calls in case the `runtime::contracts=debug` log level is configured. [xermicus](https://github.com/xermicus) ### Fixed - DocComments `/** ... */` are now permitted anywhere. [seanyoung](https://github.com/seanyoung) - Function calls to contract functions via contract name are no longer possible, except for functions of base contracts. [xermicus](https://github.com/xermicus) Signed-off-by: Sean Young <[email protected]>
1 parent a744748 commit 409e42f

File tree

4 files changed

+63
-15
lines changed

4 files changed

+63
-15
lines changed

CHANGELOG.md

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

5-
## Unreleased
5+
## v0.1.13 Genoa
6+
7+
### Changed
8+
- Introduce sub-commands to the CLI. Now we have dedicated sub-commands for
9+
`compile`, `doc`, `shell-completion` and the `language-server`, which makes
10+
for a cleaner CLI.
11+
[seanyoung](https://github.com/seanyoung)
12+
- On Solana, emitted events are encoded with Borsh encoding following the Anchor
13+
format.
14+
[LucasSte](https://github.com/LucasSte)
15+
- The ewasm target has been removed, since ewasm is not going to implemented on
16+
Ethereum. The target has been reused for an new EVM target, which is not complete
17+
yet.
18+
[seanyoung](https://github.com/seanyoung)
19+
- Substrate: Concrete contracts must now have at least one public function. A
20+
public function is in a contract, if it has public or external functions, if
21+
it has a receive or any fallback function or if it has public storage items
22+
(those will yield public getters). This aligns solang up with `ink!`.
23+
[xermicus](https://github.com/xermicus)
624

725
### Added
26+
- Solana v1.11 is now supported.
27+
[seanyoung](https://github.com/seanyoung)
828
- On Solana, programs now use a custom heap implementation, just like on
929
Substrate. As result, it is now possible to `.push()` and `.pop()` on
1030
dynamic arrays in memory.
31+
[seanyoung](https://github.com/seanyoung)
32+
- Arithmetic overflow tests are implemented for all integer widths,
33+
[salaheldinsoliman](https://github.com/salaheldinsoliman)
34+
- Add an NFT example for Solana
35+
[LucasSte](https://github.com/LucasSte)
36+
- Add a wrapper for the Solana System Program
37+
[LucasSte](https://github.com/LucasSte)
38+
- The selector for functions can be overriden with the `selector=hex"abcd0123"`
39+
syntax.
40+
[seanyoung](https://github.com/seanyoung)
41+
- Shell completion is available using the `solang shell-completion` subcommand.
42+
[xermicus](https://github.com/xermicus)
43+
- Add support for the `create_program_address()` and `try_find_program_address()`
44+
system call on Solana
45+
[seanyoung](https://github.com/seanyoung)
46+
- Substrate: The `print()` builtin is now supported and will write to the debug
47+
buffer. Additionally, error messages from the `require` statements will now be
48+
written to the debug buffer as well. The Substrate contracts pallet prints the
49+
contents of the debug buffer to the console for RPC ("dry-run") calls in case
50+
the `runtime::contracts=debug` log level is configured.
51+
[xermicus](https://github.com/xermicus)
52+
53+
### Fixed
54+
- DocComments `/** ... */` are now permitted anywhere.
55+
[seanyoung](https://github.com/seanyoung)
56+
- Function calls to contract functions via contract name are no longer possible,
57+
except for functions of base contracts.
58+
[xermicus](https://github.com/xermicus)
1159

1260
## v0.1.12 Cairo
1361

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.1.12"
3+
version = "0.1.13"
44
authors = ["Sean Young <[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.8"
4848
once_cell = "1.10"
49-
solang-parser = { path = "solang-parser", version = "0.1.17" }
49+
solang-parser = { path = "solang-parser", version = "0.1.18" }
5050
codespan-reporting = "0.11"
5151
phf = "0.10.1"
5252
rust-lapper = "1.0"

docs/installing.rst

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

2929
There are binaries available on github releases:
3030

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

3737
On MacOS, remember to give execution permission to the file and remove it from quarantine by executing the following commands:
3838

@@ -53,7 +53,7 @@ Option 3: Use ghcr.io/hyperledger/solang containers
5353

5454
New images are automatically made available on
5555
`solang containers <https://github.com/hyperledger/solang/pkgs/container/solang>`_.
56-
There is a release `v0.1.12` tag and a `latest` tag:
56+
There is a release `v0.1.13` tag and a `latest` tag:
5757

5858
.. code-block:: bash
5959
@@ -110,15 +110,15 @@ These patches make it possible to generate code for Solana, and fixes some
110110
concurrency issues in the lld linker.
111111

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

117117
Linux
118118
~~~~~
119119

120120
A pre-built version of LLVM, specifically configured for Solang, is available at
121-
`<https://github.com/hyperledger/solang/releases/download/v0.1.12/llvm13.0-linux-x86-64.tar.xz>`_.
121+
`<https://github.com/hyperledger/solang/releases/download/v0.1.13/llvm13.0-linux-x86-64.tar.xz>`_.
122122
After downloading, untar the file in a terminal and add it to your path.
123123

124124
.. code-block:: bash
@@ -130,7 +130,7 @@ Windows
130130
~~~~~~~
131131

132132
A pre-built version of LLVM, specifically configured for Solang, is available at
133-
`<https://github.com/hyperledger/solang/releases/download/v0.1.12/llvm13.0-win.zip>`_.
133+
`<https://github.com/hyperledger/solang/releases/download/v0.1.13/llvm13.0-win.zip>`_.
134134

135135
After unzipping the file, add the bin directory to your path.
136136

@@ -142,8 +142,8 @@ Mac
142142
~~~
143143

144144
A pre-built version of LLVM for intel macs, is available at
145-
`<https://github.com/hyperledger/solang/releases/download/v0.1.12/llvm13.0-mac-intel.tar.xz>`_ and for arm macs there is
146-
`<https://github.com/hyperledger/solang/releases/download/v0.1.12/llvm13.0-mac-arm.tar.xz>`_. After downloading,
145+
`<https://github.com/hyperledger/solang/releases/download/v0.1.13/llvm13.0-mac-intel.tar.xz>`_ and for arm macs there is
146+
`<https://github.com/hyperledger/solang/releases/download/v0.1.13/llvm13.0-mac-arm.tar.xz>`_. After downloading,
147147
untar the file in a terminal and add it to your path like so:
148148

149149
.. code-block:: bash

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.1.17"
3+
version = "0.1.18"
44
authors = ["Sean Young <[email protected]>"]
55
homepage = "https://github.com/hyperledger/solang"
66
documentation = "https://solang.readthedocs.io/"

0 commit comments

Comments
 (0)