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

Tracking PR for v0.10.0 release #1340

Open
wants to merge 145 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
145 commits
Select commit Hold shift + click to select a range
b17befd
refactor: remove message about error returning (#1260)
Fumuran Feb 28, 2024
8a9af02
docs: fix broken links (#1263)
omahs Mar 3, 2024
1286cbd
refactor: remove unused find_lone_leaf function (#1262)
Fumuran Mar 4, 2024
b5f2fa6
refactor: integrate new ilog2 and cto instructions into MMR (#1269)
Fumuran Mar 5, 2024
43c0d8c
miden-vm: match the crate with the package name. Fix #1270 (#1271)
hackaugusto Mar 5, 2024
3b0d975
refactor: change StackOutputs fields from u64 to Felt (#1268)
Fumuran Mar 5, 2024
2b5b607
changelog: miden-vm crate renaming changelog (#1272)
hackaugusto Mar 6, 2024
17e4411
docs: fix typo in constants.rs (#1275)
eltociear Mar 7, 2024
322a70b
refactor: serialize usize with write_usize (#1266)
Fumuran Mar 9, 2024
d3feb4d
docs: fix multiset link in design section (#1286)
mFragaBA Mar 22, 2024
dcd6259
docs: update execution context docs to mention dyncall (#1285)
hackaugusto Mar 22, 2024
d5de231
chore: migrate to `miden-crypto` v0.9.0 (#1287)
Al-Kindi-0 Mar 25, 2024
d9dc097
test: add Falcon signature tests (#1257)
scottdieringer Apr 11, 2024
d282b01
stdlib: adds native hasher init procedure without padding (#1313)
hackaugusto Apr 25, 2024
ded6869
fix(assembly): always build as no_std with explicit std feature
bitwalker Feb 23, 2024
535f578
chore(assembly): sort module declarations
bitwalker Feb 23, 2024
4d3647f
feat: add byte(reader|writer) adapters for libstd write/read traits
bitwalker Mar 1, 2024
4a04bc6
feat: add assert_matches macro to core
bitwalker Mar 2, 2024
8b75747
feat: add basic diagnostics infrastructure
bitwalker Mar 2, 2024
ea6a3de
feat: introduce thiserror for defining error types
bitwalker Mar 2, 2024
5a87742
feat: introduce new and improved miden assembly parser
bitwalker Mar 2, 2024
a179067
feat: implement miden assembly source code formatter
bitwalker Mar 2, 2024
f04250b
feat: introduce subset of new abstract syntax tree
bitwalker Mar 2, 2024
e0b8e0d
feat: add miden assembly syntax tree visitors
bitwalker Mar 2, 2024
d93befb
wip(1/n): refactor procedure types
bitwalker Mar 2, 2024
9227303
wip(2/n): refactor invocation target type
bitwalker Mar 2, 2024
7f3a448
wip(3/n): refactor library types and api
bitwalker Mar 2, 2024
70718e8
wip(4/n): refactor instruction ast
bitwalker Mar 2, 2024
97f5b50
wip:(5/n): refactor module ast
bitwalker Mar 2, 2024
3e5519a
wip(6/n): extend AstSerdeOptions with debug info config
bitwalker Mar 2, 2024
5f3c286
wip(7/n): remove old code, update ast tests
bitwalker Mar 2, 2024
c49576b
wip(8/n): implement semantic analysis
bitwalker Mar 2, 2024
3b330c7
wip(9/n): implement module graph and call graph structures
bitwalker Mar 2, 2024
218990e
wip(10/n): refactor procedure cache
bitwalker Mar 2, 2024
4a2d8fe
wip(11/10): refactor assembler interface
bitwalker Mar 7, 2024
51ca030
fix: update miden repl and stdlib with assembler changes
bitwalker Mar 3, 2024
4987b36
docs: update assembler documentation
bitwalker Mar 7, 2024
166f369
fix: fully specify thiserror/miette deps rather than relying purely o…
bitwalker Mar 8, 2024
ae23dd3
fix: merge conflict
bitwalker Mar 8, 2024
643edc8
fix: replace logos-based lexer with hand-written lexer
bitwalker Mar 9, 2024
17eb693
fix: improve dynexec/procref test
bitwalker Mar 9, 2024
6361dda
chore: clean up clippy warnings
bitwalker Mar 9, 2024
38949be
chore: update rust-version to latest stable for assembler
bitwalker Mar 9, 2024
6dde990
fix(perf): make procedure name parsing actually efficient
bitwalker Mar 9, 2024
fdaf6bb
chore: fix rustdoc warnings
bitwalker Mar 9, 2024
31da2ce
fix: improve parser error messages
bitwalker Mar 9, 2024
a7db646
feat: allow libraries fed to the assembler to be unsized types
bitwalker Mar 9, 2024
8796d07
fix: ignore local project settings for zed
bitwalker Mar 10, 2024
23f6bcc
fix: ensure rustfmt enforces line-width guidelines on comments
bitwalker Mar 10, 2024
c4ea0a5
fix: ensure consistent spacing of items and comment width
bitwalker Mar 10, 2024
1ee1ad2
fix: only render docs for exported procedures
bitwalker Mar 10, 2024
3de89bc
fix: clarify reason accessing discriminant value is safe
bitwalker Mar 11, 2024
438ffd7
docs: update comment formatting to follow 100 char rule
bobbinth Mar 14, 2024
726d1ce
docs: fix comment formatting and add section separators
bobbinth Mar 14, 2024
bbe8301
feat: add compile trait to simplify interfaces accepting modules
bitwalker Mar 16, 2024
f674bbf
docs: document some undocumented traits/types
bitwalker Mar 16, 2024
276da34
fix: export pretty-assertions helpers from test-utils
bitwalker Mar 16, 2024
25dd2e8
fix: simplify a few grammar rules, improve precision of related diagn…
bitwalker Mar 16, 2024
5e8168e
feat: simplify the assembler api using the new compile trait
bitwalker Mar 16, 2024
e15e038
fix: turn free function for handling parse errors into trait impl
bitwalker Mar 16, 2024
b48fbe5
fix: address a couple of review comments
bitwalker Mar 16, 2024
2f3786d
chore: clean up winterfell deprecations
bitwalker Mar 16, 2024
0e44c53
fix: some small tweaks to remove trailing whitespace in pretty-printe…
bitwalker Mar 19, 2024
8aa9f10
fix: remove restriction on kernel imports
bitwalker Mar 19, 2024
9ac53f0
fix: use u8 for index in debug.stack decorator
bitwalker Mar 19, 2024
be0e6d1
fix: expose procedure.invoked/extend_invoked to downstream crates
bitwalker Mar 20, 2024
7d36cc7
fix: replace some uses of text formatter with const_text
bitwalker Mar 20, 2024
cdbe451
docs: comment formatting, section headers, minor typo fixes
bobbinth Mar 21, 2024
61224bf
docs: minor comment fixes
bobbinth Mar 21, 2024
e6af53d
chore: clean up some unused code, minor doc corrections
bitwalker Mar 21, 2024
76ece16
refactor: move various modulegraph-related items into module_graph mo…
bitwalker Mar 21, 2024
a86d853
refactor: break up module graph implementation more granularly
bitwalker Mar 21, 2024
8ecf925
chore: remove code that was extracted to miden-formatting
bitwalker Mar 22, 2024
e33ff7e
fix: properly support distinction between errors and warnings
bitwalker Mar 22, 2024
769a992
docs: update documented behavior of 'exec'
bitwalker Mar 22, 2024
c65e115
fix: add some callgraph tests, remove unused function, fix one bug re…
bitwalker Mar 26, 2024
2f9a02e
fix: address assorted review comments
bitwalker Mar 26, 2024
8259ae3
chore: clean up implementation a bit, address some review feedback
bitwalker Mar 28, 2024
af7c45c
chore: fix typos, comment formatting, add section headers
bobbinth Mar 31, 2024
14329b2
chore: comment formatting and section headers
bobbinth Apr 2, 2024
3a655c0
fix: address a few more review comments
bitwalker Apr 3, 2024
80b8063
fix: a few small adjustments from review
bitwalker Apr 29, 2024
356ba87
fix: build errors due to conflict, address some clippy warnings
bitwalker Apr 29, 2024
fa09b30
feat: integrate miden-gpu crate into prover (#1310)
TheMenko Apr 29, 2024
c2504b9
tests: fix Falcon test wrong parameter bounds (#1320)
Al-Kindi-0 Apr 30, 2024
f1b3925
fix: export ability to create raw idents for downstream crates
bitwalker May 6, 2024
1a9dc9e
fix: missing rustc-check-cfg directive
bitwalker May 6, 2024
0ac5412
fix: invalid cargo feature reference in miden-stdlib
bitwalker May 6, 2024
97669a4
refactor: make kernel procedure table inclusions part of virtual tabl…
Al-Kindi-0 May 22, 2024
7e901ad
chore: migrate to Winterfell v0.9.0 (#1332)
Al-Kindi-0 May 22, 2024
ac9b07c
refactor: cleanup block hash table (#1333)
plafer May 28, 2024
02d153f
feat: implement error codes for the `mtree_verify` instructions (#1328)
Fumuran Jun 6, 2024
1a65242
feat: impl immediate values support for field comparison instructions…
Fumuran Jun 7, 2024
a63109d
chore: merge `main` branch into `next` (#1351)
Fumuran Jun 7, 2024
7318ecc
Merge branch 'main' into next
Fumuran Jun 7, 2024
b98103a
Merge pull request #1352 from 0xPolygonMiden/andrew-merge-main-into-n…
bobbinth Jun 7, 2024
bf885b7
chore: update changelog
bobbinth Jun 7, 2024
4d38d80
fixed page alignment issue in metal prover and added rpo test for fib…
cf Mar 15, 2024
d7862cd
fix format
GopherJ Jun 12, 2024
34fde66
feat: implement table-based MAST (#1349)
plafer Jun 18, 2024
978c142
fix:segment page alignment issue in metal prover
bobbinth Jun 20, 2024
0c19d50
fix: update metal codebase to adjust it to 0.9 version of crates (#1357)
TheMenko Jun 20, 2024
39fb5b3
feat: add support for imm values for u32 comparison instructions (#1358)
Fumuran Jun 21, 2024
7953b04
feat(assembler): add language support for explicit nop
bitwalker Jun 21, 2024
5ab0cbf
feat(assembler): allow up to one block of `if.true` to be empty
bitwalker Jun 21, 2024
de53a4a
feat: implement `if.false` opcode
bitwalker Jun 22, 2024
f81f74c
docs: update if.true/false docs
bitwalker Jun 22, 2024
5c7e123
docs: document `nop` instruction
bitwalker Jun 22, 2024
74384f8
chore: update changelog
bitwalker Jun 22, 2024
107142d
chore: add rust-toolchain.toml (#1361)
bitwalker Jun 22, 2024
72c93cb
chore: simplify lowering of if/else in assembler
bitwalker Jun 22, 2024
ddf536c
feat: support explicit nops, allow either branch of `if.true` to be e…
bobbinth Jun 24, 2024
03e362b
feat: support absolute module/procedure paths
bitwalker Jun 22, 2024
26c973c
fix(assembler): add missing support for special chars in quoted idents
bitwalker Jul 2, 2024
2acd6e0
fix(assembler): incorrect printing of absolute proc paths
bitwalker Jul 2, 2024
4235684
fix(assembler): fix handling of absolute aliases, alias printing
bitwalker Jul 2, 2024
2da11ad
docs(assembly): improve documentation around procedure paths, imports…
bitwalker Jul 2, 2024
ecd26a2
Support the immediate values for `u32` bitwise instructions (#1362)
Fumuran Jul 2, 2024
629ea82
Introduce `MastForestStore` (#1359)
plafer Jul 3, 2024
d774b7f
Optimize truncate_stack procedure (#1384)
Fumuran Jul 8, 2024
0c3c77b
fix: add error handling for underflow, add test (#1379)
Fumuran Jul 8, 2024
63170ca
refactor: add imm value emulation, remove excess instructions (#1380)
Fumuran Jul 10, 2024
bbd3bb7
feat: implement serialization/deserialization for `Operation` (#1390)
plafer Jul 11, 2024
322538e
feat(processor): expose the process api
bitwalker Jul 15, 2024
2c6c987
feat(processor): allow public construction of execution trace
bitwalker Jul 15, 2024
b9fa825
Merge pull request #1397 from 0xPolygonMiden/bitwalker/pub-execution-…
bitwalker Jul 15, 2024
f194eb4
feat(processor): allow public construction of vm state iterator (#1398)
bitwalker Jul 16, 2024
d7955d3
Throw warning and fail CI if `CHANGELOG.md` file has not been modifie…
phklive Jul 16, 2024
56ccf86
Standardise CI & Makefile across Miden repos (#1342)
phklive Jul 17, 2024
b433b57
`MastForest` serialization (#1370)
plafer Jul 17, 2024
323160d
chore: add `changelog.yml` file (#1406)
phklive Jul 18, 2024
14995b4
feat: MastForest maximum node length invariant (#1394)
sergerad Jul 19, 2024
64c7401
feat: add more functions for ensuring nodes via MastForestBuilder (#1…
sergerad Jul 20, 2024
2c22ac1
chore: add section separators
bobbinth Jul 20, 2024
b10567b
chore: minor MAST module cleanup (#1407)
bobbinth Jul 22, 2024
f187552
feat: make `Assembler` single-use (#1409)
plafer Jul 23, 2024
51ab7bb
refactor: remove procedure cache from the assembler (#1411)
bobbinth Jul 23, 2024
4f0dbf2
chore: fix typos and add section separators
bobbinth Jul 23, 2024
454d344
Rename `internals` feature to `testing` (#1399)
Fumuran Jul 24, 2024
b8a767f
add `Assembler::assemble_library()` (#1413)
plafer Jul 25, 2024
74f1c2f
feat: add more functions for adding nodes to MastForest (#1412)
sergerad Jul 27, 2024
8a5497e
chore: increment all crates version to v0.10.0 (#1414)
greenhat Jul 27, 2024
78b55a9
Plafer mast library compilation (#1401)
plafer Jul 29, 2024
afbd43c
feat: implement kernel compilation in the assembler (#1418)
bobbinth Jul 30, 2024
70a6dc0
chore: commit `Cargo.lock` + `cargo update` (#1415)
phklive Jul 30, 2024
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
  •  
  •  
  •  
29 changes: 8 additions & 21 deletions .github/workflows/book.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,36 +2,23 @@ name: miden book

on:
push:
branches:
- main
- next
branches: [main, next]

jobs:
deploy:
name: Deploy miden-vm mdbook
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions-rs/toolchain@v1
with:
toolchain: nightly
override: true
- uses: actions/checkout@main
- name: Install katex, alerts and linkcheck
run: |
rustup update --no-self-update stable
cargo +stable install mdbook-katex mdbook-linkcheck mdbook-alerts

- name: Setup mdBook
uses: peaceiris/actions-mdbook@v1
with:
mdbook-version: 'latest'

- name: Install mdbook-katex
uses: actions-rs/cargo@v1
with:
command: install
args: mdbook-katex

- name: Install mdbook-linkcheck
uses: actions-rs/cargo@v1
with:
command: install
args: mdbook-linkcheck
mdbook-version: "latest"

- name: Build miden book
run: mdbook build docs/
Expand Down
25 changes: 25 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# Runs build related jobs.

name: build

on:
push:
branches: [main, next]
pull_request:
types: [opened, reopened, synchronize]

jobs:
no-std:
name: Build for no-std
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
toolchain: [stable, nightly]
steps:
- uses: actions/checkout@main
- name: Build for no-std
run: |
rustup update --no-self-update ${{ matrix.toolchain }}
rustup target add wasm32-unknown-unknown
make build-no-std
23 changes: 23 additions & 0 deletions .github/workflows/changelog.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Runs changelog related jobs.
# CI job heavily inspired by: https://github.com/tarides/changelog-check-action

name: changelog

on:
pull_request:
types: [opened, reopened, synchronize, labeled, unlabeled]

jobs:
changelog:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@main
with:
fetch-depth: 0
- name: Check for changes in changelog
env:
BASE_REF: ${{ github.event.pull_request.base.ref }}
NO_CHANGELOG_LABEL: ${{ contains(github.event.pull_request.labels.*.name, 'no changelog') }}
run: ./scripts/check-changelog.sh "${{ inputs.changelog }}"
shell: bash
139 changes: 0 additions & 139 deletions .github/workflows/ci.yml

This file was deleted.

53 changes: 53 additions & 0 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
# Runs linting related jobs.

name: lint

on:
push:
branches: [main, next]
pull_request:
types: [opened, reopened, synchronize]

jobs:
clippy:
name: clippy nightly on ubuntu-latest
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@main
- name: Clippy
run: |
rustup update --no-self-update nightly
rustup +nightly component add clippy
make clippy

rustfmt:
name: rustfmt check nightly on ubuntu-latest
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@main
- name: Rustfmt
run: |
rustup update --no-self-update nightly
rustup +nightly component add rustfmt
make format-check

doc:
name: doc stable on ubuntu-latest
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@main
- name: Build docs
run: |
rustup update --no-self-update
make doc

version:
name: check rust version consistency
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@main
with:
profile: minimal
override: true
- name: check rust versions
run: ./scripts/check-rust-version.sh
24 changes: 24 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
name: test

on:
push:
branches: [main, next]
pull_request:
types: [opened, reopened, synchronize]

jobs:
test:
name: test ${{matrix.toolchain}} on ubuntu-latest
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
toolchain: [stable, nightly]
timeout-minutes: 30
steps:
- uses: actions/checkout@main
- uses: taiki-e/install-action@nextest
- name: Perform tests
run: |
rustup update --no-self-update ${{matrix.toolchain}}
make test
7 changes: 3 additions & 4 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,6 @@
# will have compiled files and executables
/target/

# Remove Cargo.lock from gitignore if creating an executable, leave it for libraries
# More information here https://doc.rust-lang.org/cargo/guide/cargo-toml-vs-cargo-lock.html
Cargo.lock

# These are backup files generated by rustfmt
**/*.rs.bk

Expand All @@ -23,3 +19,6 @@ stdlib/assets/std.masl

# VS Code
.vscode/

# Zed
.zed/
Loading
Loading