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.11.0 release #1472

Merged
merged 115 commits into from
Nov 5, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
115 commits
Select commit Hold shift + click to select a range
07134e3
chore: remove callset from `Procedure` (#1470)
plafer Aug 27, 2024
d7c8933
chore: Add warning about `no_std` environment (#1471)
plafer Aug 27, 2024
b192c61
refactor: wrap MastForest in Program and Library in Arc (#1465)
bobbinth Aug 27, 2024
6523811
`Assembler::invoke`: no longer returns an `Option`
plafer Aug 27, 2024
4c77063
`MastForestBuilder`: `ensure_node` -> `add_node`
plafer Aug 27, 2024
bc5cb74
`Library`: use `MastNodeId` as unique identifier for procedures
plafer Aug 27, 2024
7272a55
fix tests
plafer Aug 28, 2024
725eff5
add failing test
plafer Aug 28, 2024
62b4c52
use `MastNodeId` to identify procedures in ModuleGraph
plafer Aug 28, 2024
72a7093
ProcedureInfo: store `body_node_id`
plafer Aug 28, 2024
30d2933
`ResolvedProcedure`: store body_id when present
plafer Aug 28, 2024
c678944
create a new root node on exec
plafer Aug 28, 2024
a352fa2
Revert "ProcedureInfo: store `body_node_id`"
plafer Aug 28, 2024
5ae4fd5
fix build after `ProcedureInfo` revert
plafer Aug 28, 2024
de51e2c
Remove `ResolvedProcedure::BodyNodeId`
plafer Aug 28, 2024
03471eb
`Assembler::resolve_target` returns `Either<MastNodeId, RpoDigest>`
plafer Aug 28, 2024
bc045b6
fix failing test
plafer Aug 28, 2024
67a061a
fmt
plafer Aug 28, 2024
a3c5d8c
add back map digest -> GID to mast forest builder
plafer Aug 28, 2024
b45d459
`MastForestBuilder`: change all `ensure_*` to `add_*`
plafer Aug 28, 2024
961d6f6
fix regression
plafer Aug 28, 2024
a4cb422
fix failing test
plafer Aug 29, 2024
0665cf5
changelog
plafer Aug 29, 2024
ef307c2
docs
plafer Aug 29, 2024
cccf018
docs
plafer Aug 29, 2024
883356a
add test `ensure_unique_node_ids_for_identical_procedures`
plafer Aug 29, 2024
ecec03b
cleanup `MastForestBuilder`
plafer Aug 29, 2024
aa04649
remove `ensure_unique_node_ids_for_identical_procedures` test
plafer Aug 29, 2024
72a482b
`MastForestBuilder::eq_hash()`
plafer Aug 29, 2024
e18c4e7
`MastForestBuilder`: digest -> mast_root
plafer Aug 29, 2024
4a46d32
`MastForestBuilder`: don't duplicate equal nodes
plafer Aug 29, 2024
d959dd6
revert changes to tests
plafer Aug 29, 2024
187db6b
invoke: don't create new node needlessly
plafer Aug 29, 2024
53003b5
fix test
plafer Aug 29, 2024
126931e
fix docs
plafer Aug 29, 2024
45539ed
fmt
plafer Aug 29, 2024
ded33b4
cleanup `Assembler::invoke`
plafer Aug 29, 2024
c5e6b8b
remove stale TODOs
plafer Aug 29, 2024
485cbc8
fix doc tests
plafer Aug 29, 2024
191404a
fix no_std
plafer Aug 29, 2024
5b3285e
`TestContext`: don't use debug mode by default
plafer Aug 30, 2024
f141c76
fix asmop hash
plafer Aug 30, 2024
8dd1662
Remove redundant comments
plafer Sep 3, 2024
ca2d6d1
revert comment change
plafer Sep 3, 2024
1b619e6
fix docstring
plafer Sep 3, 2024
a30a9c7
`Library::new()`: check that every procedures are indeed exports
plafer Sep 3, 2024
3b280f1
rename `procedure_root_digest`
plafer Sep 3, 2024
41f45d4
fix docs
plafer Sep 3, 2024
ed09c6c
refactor `Assembler::resolve_target()`
plafer Sep 3, 2024
2125923
split `Assembler::get_proc_root_id_from_mast_root`
plafer Sep 3, 2024
d294d20
`Assembler::resolve_target` docstring
plafer Sep 3, 2024
43185ec
fmt
plafer Sep 3, 2024
4c139bb
`invoke`: document
plafer Sep 3, 2024
dd72f68
fmt
plafer Sep 3, 2024
72b9fe5
add `unwrap()` comment
plafer Sep 3, 2024
8243fa2
fmt
plafer Sep 3, 2024
4eeeb03
adjust `Assembler::invoke()` comment
plafer Sep 3, 2024
2ffd050
fix `Assembler::ensure_valid_procedure_mast_root`
plafer Sep 3, 2024
9b74a8b
cleanup proc alias
plafer Sep 3, 2024
245022e
fmt
plafer Sep 3, 2024
f7d179e
Merge pull request #1473 from 0xPolygonMiden/plafer-mast-forest-build…
bitwalker Sep 4, 2024
b4e84a5
fix(assembly): properly indent first op in nested blocks
bitwalker Sep 5, 2024
1b4609e
Merge pull request #1481 from 0xPolygonMiden/bitwalker/masm-pretty-pr…
bitwalker Sep 5, 2024
0ce2fe5
feat: add no_std once primitive for stdlib deserialization (#1463)
sergerad Sep 6, 2024
2c46076
feat: improve handling of u32 operations (#1480)
bitwalker Sep 7, 2024
4ba0c53
Plafer 1122 fix decorators (#1466)
plafer Sep 11, 2024
492ce81
Simplify `batch_ops()` (#1492)
plafer Sep 12, 2024
19b5643
Merge branch 'main' into next
bobbinth Sep 13, 2024
dcde6d1
chore: fix lint
bobbinth Sep 13, 2024
f06923b
Fix operation batch flags constraints (#1495)
plafer Sep 17, 2024
9a1c34f
feat: introduce `Emit` instruction
plafer Sep 13, 2024
0b1c2f6
feat: remove `Decorator::Event`
plafer Sep 13, 2024
354052b
docs: fix docs after adding emit instruction
plafer Sep 17, 2024
0e2d4c4
fix: move push instruction to degree 5 flags
plafer Sep 18, 2024
080597b
Merge pull request #1496 from 0xPolygonMiden/plafer-1457-emit-instr
plafer Sep 18, 2024
097f76d
Documentation fixes (#1506)
PhilippGackstatter Sep 23, 2024
8e9fe06
fix: fix block hash table construction and docs (#1509)
plafer Sep 24, 2024
c6e2bc8
feat: enable specifying debug mode via cli option (#1502)
yasonk Sep 24, 2024
8762dae
feat: implement procedure annotation syntax
bitwalker Sep 23, 2024
7ee5170
fix: block stack table (#1511)
plafer Sep 25, 2024
be14f5b
fix: make chiplets vtable only use current row
plafer Sep 26, 2024
6f60f74
Merge pull request #1514 from 0xPolygonMiden/plafer-1389-fix-chiplets…
plafer Sep 26, 2024
f2b9161
Merge pull request #1510 from 0xPolygonMiden/bitwalker/annotations
bitwalker Sep 27, 2024
5085999
fix: bug in chiplet bus (#1516)
Al-Kindi-0 Oct 1, 2024
b2c5215
refactor: restrict the number of stack inputs and outputs to 16 (#1456)
Fumuran Oct 3, 2024
a898596
fix: fix block stack table dealing of RESPAN
plafer Oct 2, 2024
8d06221
Merge pull request #1512 from 0xPolygonMiden/plafer-fix-block-stack-t…
plafer Oct 3, 2024
b648a8a
chore: simplify requests hasher (#1524)
Al-Kindi-0 Oct 4, 2024
5dc5c2e
chore: fix lifetime lints
bobbinth Oct 4, 2024
f92a463
fix: simplify chiplets bus hasher chiplet (#1525)
plafer Oct 7, 2024
b2294a1
Update the stack documentation (#1530)
Fumuran Oct 17, 2024
2a97d8d
fix: `Program` deserialization (#1543)
Fumuran Oct 22, 2024
25f9382
docs: document how call and syscall work
plafer Oct 16, 2024
8029102
Merge pull request #1536 from 0xPolygonMiden/plafer-483-docs
plafer Oct 23, 2024
62a113e
chore: disable chiplets aux columns check (#1546)
plafer Oct 23, 2024
ae34c56
refactor: migrate to new padding rule (#1343)
Al-Kindi-0 Oct 24, 2024
dc41735
chore: remove dependabot, add issue templates
bobbinth Oct 28, 2024
9f9cc63
feat: implement `MastForest` merging (#1534)
PhilippGackstatter Oct 28, 2024
db71e28
Rename `EqHash` to `MastNodeFingerprint` (#1539)
PhilippGackstatter Oct 29, 2024
12dd5e5
fix: blake example (#1553)
Al-Kindi-0 Oct 29, 2024
fc46c04
fix: fix kernel ROM multiset check
plafer Oct 30, 2024
34ea043
Merge pull request #1556 from 0xPolygonMiden/plafer-1545-fix-kernel-rom
plafer Oct 30, 2024
6bbee60
feat: `DYN` takes a memory address instead of digest on stack
plafer Oct 15, 2024
550668c
feat: add dyncall operation
plafer Oct 18, 2024
7f469c4
docs: update docs for dyn and dyncall
plafer Oct 23, 2024
a30bc62
fix: block stack table construction
plafer Oct 30, 2024
766292d
Merge pull request #1557 from 0xPolygonMiden/plafer-fix-block-stack-t…
plafer Oct 31, 2024
2b96b85
Merge pull request #1535 from 0xPolygonMiden/plafer-1091-dyn-op-rework
plafer Nov 1, 2024
f1c0553
Permit child `MastNodeId`s to exceed the `MastNodeId`s of their paren…
PhilippGackstatter Nov 1, 2024
1ea1e1e
chore: migrate to winterfell v0.10 (#1533)
Al-Kindi-0 Nov 3, 2024
a82a174
feat: make prover conditionally asynchronous (#1563)
bobbinth Nov 3, 2024
ce26595
docs: fix typos (#1500)
cratiu222 Nov 4, 2024
60a5f37
chore: add the string that failed validation to `IdentError::InvalidC…
greenhat Nov 4, 2024
e3fa9ec
fix: on Library deserialization, use unchecked constructor for proced…
greenhat Nov 4, 2024
0a9344c
chore: update crate versions to v0.11.0
bobbinth Nov 5, 2024
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
38 changes: 38 additions & 0 deletions .github/ISSUE_TEMPLATE/1-bugreport.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
name: "Bug Report"
description: "File a bug report"
labels: ["bug"]
body:
- type: markdown
attributes:
value: |
Thank you for taking the time to fill out this bug report!
- type: textarea
id: version
attributes:
label: "Packages versions"
description: "Let us know the versions of any other packages used. For example, which version of the VM are you using?"
placeholder: "miden-vm: 0.1.0"
validations:
required: true
- type: textarea
id: bug-description
attributes:
label: "Bug description"
description: "Describe the behavior you are experiencing."
placeholder: "Tell us what happened and what should have happened."
validations:
required: true
- type: textarea
id: reproduce-steps
attributes:
label: "How can this be reproduced?"
description: "If possible, describe how to replicate the unexpected behavior that you see."
placeholder: "Steps!"
validations:
required: false
- type: textarea
id: logs
attributes:
label: Relevant log output
description: Please copy and paste any relevant log output. This is automatically formatted as code, no need for backticks.
render: shell
20 changes: 20 additions & 0 deletions .github/ISSUE_TEMPLATE/2-feature-request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
name: "Feature request"
description: "Request new goodies"
labels: ["enhancement"]
body:
- type: markdown
attributes:
value: |
Thank you for taking the time to fill a feature request!
- type: textarea
id: scenario-why
attributes:
label: "Feature description"
validations:
required: true
- type: textarea
id: scenario-how
attributes:
label: "Why is this feature needed?"
validations:
required: false
35 changes: 35 additions & 0 deletions .github/ISSUE_TEMPLATE/3-task.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
name: "Task"
description: "Work item"
body:
- type: markdown
attributes:
value: |
A task should be less than a week worth of work!
- type: textarea
id: task-what
attributes:
label: "What should be done?"
placeholder: "Impose restrictions on DYN and DYNCALL operation"
validations:
required: true
- type: textarea
id: task-how
attributes:
label: "How should it be done?"
placeholder: "Users should be able to specify whether DYN/DYNCALL operations are allowed in a given program"
validations:
required: true
- type: textarea
id: task-done
attributes:
label: "When is this task done?"
placeholder: "The task is done when users are able to specify whether DYN/DYNCALL operations are allowed in a given program"
validations:
required: true
- type: textarea
id: task-related
attributes:
label: "Additional context"
description: "Add context to the tasks. E.g. other related tasks or relevant discussions on PRs/chats."
validations:
required: false
1 change: 1 addition & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
blank_issues_enabled: true
6 changes: 0 additions & 6 deletions .github/dependabot.yml

This file was deleted.

9 changes: 0 additions & 9 deletions .github/pull_request_template.md

This file was deleted.

42 changes: 41 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,43 @@
# Changelog

## 0.10.6 (2024-09-12) - `miden-processor` crate only.
## 0.11.0 (2024-11-04)

#### Enhancements

- Added `miden_core::utils::sync::racy_lock` module (#1463).
- Updated `miden_core::utils` to re-export `std::sync::LazyLock` and `racy_lock::RacyLock as LazyLock` for std and no_std environments, respectively (#1463).
- Debug instructions can be enabled in the cli `run` command using `--debug` flag (#1502).
- Added support for procedure annotation (attribute) syntax to Miden Assembly (#1510).
- Make `miden-prover::prove()` method conditionally asynchronous (#1563).

#### Changes

- [BREAKING] Wrapped `MastForest`s in `Program` and `Library` structs in `Arc` (#1465).
- `MastForestBuilder`: use `MastNodeId` instead of MAST root to uniquely identify procedures (#1473).
- Made the undocumented behavior of the VM with regard to undefined behavior of u32 operations, stricter (#1480).
- Introduced the `Emit` instruction (#1496).
- [BREAKING] ExecutionOptions::new constructor requires a boolean to explicitly set debug mode (#1502).
- [BREAKING] The `run` and the `prove` commands in the cli will accept `--trace` flag instead of `--tracing` (#1502).
- Migrated to new padding rule for RPO (#1343).
- Migrated to `miden-crypto` v0.11.0 (#1343).
- Implemented `MastForest` merging (#1534).
- Rename `EqHash` to `MastNodeFingerprint` and make it `pub` (#1539).
- Updated Winterfell dependency to v0.10 (#1533).
- [BREAKING] `DYN` operation now expects a memory address pointing to the procedure hash (#1535).
- [BREAKING] `DYNCALL` operation fixed, and now expects a memory address pointing to the procedure hash (#1535).
- Permit child `MastNodeId`s to exceed the `MastNodeId`s of their parents (#1542).
- Don't validate export names on `Library` deserialization (#1554)

#### Fixes

- Fixed an issue with formatting of blocks in Miden Assembly syntax
- Fixed the construction of the block hash table (#1506)
- Fixed a bug in the block stack table (#1511) (#1512) (#1557)
- Fixed the construction of the chiplets virtual table (#1514) (#1556)
- Fixed the construction of the chiplets bus (#1516) (#1525)
- Decorators are now allowed in empty basic blocks (#1466)

## 0.10.6 (2024-09-12) - `miden-processor` crate only

#### Enhancements

Expand Down Expand Up @@ -42,6 +79,7 @@

- [BREAKING] Replaced `SourceManager` parameter with `Assembler` in `Library::from_dir` (#1445).
- [BREAKING] Moved `Library` and `KernelLibrary` exports to the root of the `miden-assembly` crate. (#1445).
- [BREAKING] Depth of the input and output stack was restricted to 16 (#1456).

## 0.10.2 (2024-08-10)

Expand Down Expand Up @@ -126,6 +164,8 @@
#### Stdlib

- Added `init_no_padding` procedure to `std::crypto::hashes::native` (#1313).
- [BREAKING] `native` module was renamed to the `rpo`, `hash_memory` procedure was renamed to the `hash_memory_words` (#1368).
- Added `hash_memory` procedure to `std::crypto::hashes::rpo` (#1368).

#### VM Internals

Expand Down
Loading
Loading