Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Barcelona Release v0.1.10 #683

Merged
merged 3 commits into from
Mar 1, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ jobs:
- name: Run cargo fmt
run: cargo fmt --all -- --check
- name: Run cargo clippy
run: cargo clippy --tests --bins -- -D warnings -D clippy::inconsistent-struct-constructor
run: cargo clippy --workspace --tests --bins -- -D warnings -D clippy::inconsistent-struct-constructor

linux-x86-64:
name: Linux x86-64
Expand Down Expand Up @@ -94,7 +94,7 @@ jobs:
components: clippy
# We run clippy on Linux in the lint job above, but this does not check #[cfg(windows)] items
- name: Run cargo clippy
run: cargo clippy --tests --bins -- -D warnings -D clippy::inconsistent-struct-constructor
run: cargo clippy --workspace --tests --bins -- -D warnings -D clippy::inconsistent-struct-constructor
- name: Build
run: cargo build --verbose
- name: Run tests
Expand Down
5 changes: 4 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,21 @@
All notable changes to [Solang](https://github.com/hyperledger-labs/solang/)
will be documented here.

## [Unreleased]
## [0.1.10]

### Added
- On Solana, the accounts that were passed into the transactions are listed in
the `tx.accounts` builtin. There is also a builtin struct `AccountInfo`
- A new common subexpression elimination pass was added, thanks to
[LucasSte](https://github.com/hyperledger-labs/solang/pull/550)
- A graphviz dot file can be generated from the ast, using `--emit ast-dot`
- Many improvements to the solidity parser, and the parser has been spun out
in it's own create `solang-parser`.

### Changed
- Solang now uses LLVM 13.0, based on the [Solana LLVM tree](https://github.com/solana-labs/llvm-project/)
- The ast datastructure has been simplified.
- Many bugfixes across the entire tree.

## [0.1.9]

Expand Down
8 changes: 4 additions & 4 deletions Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "solang"
version = "0.1.9"
version = "0.1.10"
authors = ["Sean Young <[email protected]>"]
homepage = "https://github.com/hyperledger-labs/solang"
documentation = "https://solang.readthedocs.io/"
Expand All @@ -18,13 +18,13 @@ regex = "1"
num-bigint = "0.4"
num-traits = "0.2"
parity-wasm = "0.42"
clap = "3.0"
clap = "3.1"
hex = "0.4"
tiny-keccak = { version = "2.0", features = ["keccak"] }
serde_json = "1.0"
serde = "1.0"
serde_derive = { version = "1.0" }
inkwell = { version = "^0.1.0-beta.3", features = ["target-webassembly", "target-bpf", "no-libffi-linking", "llvm13-0"], optional = true }
inkwell = { version = "^0.1.0-beta.4", features = ["target-webassembly", "target-bpf", "no-libffi-linking", "llvm13-0"], optional = true }
blake2-rfc = "0.2.18"
handlebars = "4.2"
contract-metadata = "0.3.0"
Expand Down Expand Up @@ -54,7 +54,7 @@ wasmi = "0.11"
rand = "0.7"
sha2 = "0.10"
# solana_rbpf makes api changes in patch versions
solana_rbpf = "=0.2.23"
solana_rbpf = "=0.2.24"
byteorder = "1.3"
assert_cmd = "2.0"
bincode = "1.3"
Expand Down
3 changes: 2 additions & 1 deletion RELEASE_CHECKLIST.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# Release Checklist

- Update the version in `Cargo.toml`, the binary links in `docs/installing.rst`, and `CHANGELOG.md`
- Update the version in `Cargo.toml`, `solang-parser/Cargo.toml`, the binary
links in `docs/installing.rst`, and `CHANGELOG.md`
- Copy the contents of the CHANGELOG for this release into commit message
- Ensure the cargo publish is happy `cargo publish --dry-run`
- Try the release github actions by pushing a tag to your solang fork
Expand Down
32 changes: 14 additions & 18 deletions docs/installing.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,27 +6,23 @@ The Solang compiler is a single binary. It can be installed in different ways.
Download release binaries
-------------------------

For Linux x86-64, there is a binary available in the github releases:
There are binaries available on github releases:

`<https://github.com/hyperledger-labs/solang/releases/download/v0.1.9/solang-linux>`_
- `Linux x86-64 <https://github.com/hyperledger-labs/solang/releases/download/v0.1.10/solang-linux-x86-64>`_
- `Linux arm64 <https://github.com/hyperledger-labs/solang/releases/download/v0.1.10/solang-linux-arm64>`_
- `Windows x64 <https://github.com/hyperledger-labs/solang/releases/download/v0.1.10/solang.exe>`_
- `MacOS intel <https://github.com/hyperledger-labs/solang/releases/download/v0.1.10/solang-mac-intel>`_
- `MacOS arm <https://github.com/hyperledger-labs/solang/releases/download/v0.1.10/solang-mac-arm>`_

For Windows x64, there is a binary available:

`<https://github.com/hyperledger-labs/solang/releases/download/v0.1.9/solang.exe>`_

For MacOS, there is an arm and intel binary available.
Remember to remove the quarantine attribute using ``xattr -d com.apple.quarantine solang-mac-arm`` in the terminal.

`<https://github.com/hyperledger-labs/solang/releases/download/v0.1.9/solang-mac-arm>`_

`<https://github.com/hyperledger-labs/solang/releases/download/v0.1.9/solang-mac-intel>`_
On MacOS, remember to remove the quarantine attribute using ``xattr -d com.apple.quarantine solang-mac-arm``
in the terminal.

Using ghcr.io/hyperledger-labs/solang containers
------------------------------------------------

New images are automatically made available on
`solang containers <https://github.com/hyperledger-labs/solang/pkgs/container/solang>`_.
There is a release `v0.1.9` tag and a `latest` tag:
There is a release `v0.1.10` tag and a `latest` tag:

.. code-block:: bash

Expand Down Expand Up @@ -68,15 +64,15 @@ These patches make it possible to generate code for Solana, and fixes some
concurrency issues in the lld linker.

You can either download the pre-built libraries from
`github <https://github.com/hyperledger-labs/solang/releases/tag/v0.1.9>`_
`github <https://github.com/hyperledger-labs/solang/releases/tag/v0.1.10>`_
or build your own from source. After that, you need to add the `bin` directory to your
path, so that the build system of Solang can find the correct version of llvm to use.

Installing LLVM on Linux
________________________

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

.. code-block:: bash
Expand All @@ -88,7 +84,7 @@ Installing LLVM on Windows
__________________________

A pre-built version of llvm, specifically configured for Solang, is available at
`<https://github.com/hyperledger-labs/solang/releases/download/llvm13.0-1/llvm13.0-win.zip>`_.
`<https://github.com/hyperledger-labs/solang/releases/download/v0.1.10/llvm13.0-win.zip>`_.

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

Expand All @@ -100,8 +96,8 @@ Installing LLVM on Mac
______________________

A pre-built version of llvm for intel macs, is available at
`<https://github.com/hyperledger-labs/solang/releases/download/llvm13.0-1/llvm13.0-mac-intel.tar.xz>`_ and for arm macs there is
`<https://github.com/hyperledger-labs/solang/releases/download/llvm13.0-1/llvm13.0-mac-arm.tar.xz>`_. After downloading,
`<https://github.com/hyperledger-labs/solang/releases/download/v0.1.10/llvm13.0-mac-intel.tar.xz>`_ and for arm macs there is
`<https://github.com/hyperledger-labs/solang/releases/download/v0.1.10/llvm13.0-mac-arm.tar.xz>`_. After downloading,
untar the file in a terminal and add it to your path like so:

.. code-block:: bash
Expand Down
2 changes: 1 addition & 1 deletion solang-parser/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "solang-parser"
version = "0.1.2"
version = "0.1.10"
authors = ["Sean Young <[email protected]>"]
homepage = "https://github.com/hyperledger-labs/solang"
documentation = "https://solang.readthedocs.io/"
Expand Down
1 change: 1 addition & 0 deletions solang-parser/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ pub mod diagnostics;
mod doc;
pub mod lexer;
pub mod pt;
#[cfg(test)]
mod test;

#[allow(clippy::all)]
Expand Down
Loading