-
Notifications
You must be signed in to change notification settings - Fork 266
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
fix(docs): Show latest released code on published site #3716
Conversation
Don't fully understand the situation yet.
There shouldn't be any need for our docs to be treated as any special case here, unless im missing something. |
It doesn't seem like this PR does anything wildly disturbing however, so happy to approve if it quickly solves something. (edit: hmm, maybe it does have some weird implications. as it changes the content-hash no other parts of the build will ever be able to find it. be that downstream jobs (ok there are none), or scripts like bootstrap_docker that attempt to download images based on content-hash (probably doesn't matter for docs). It is a hack though. |
We don't have versioned docs for Aztec, so every deployment goes to a single site. The rationale for treating our docs specially is that docs for a given release are very often changed after that version has been released, as devrel writes new content for that version or document issues and workarounds. This lets them put content online fast, without having to wait for the next release cycle. However, snippets need to be sourced from the latest release, since users usually copy-paste them directly, and they must be compatible with the released version they are working with. |
If docs need to be able to do releases "after the fact", it can either be done manually, or via a specific docs deployment workflow in our config.yml. I suspect we also should also start versioning our docs. |
@critesjosh @signorecello @catmcgee can you chime in here? Main question is whether docs changes should be held off until the next release (with the option to trigger a deployment manually if needed) and be published along with the new version of the packages, or should be published immediately as they are merged into master. |
Is it so hard to version them? Then we can have both master and tagged versions. I guess versioning doesn't directly solve the other question of "are docs, like code, immutable". i.e. once released, we're stuck with them until another release. Master would always point to the latest. It doesn't sound like this is a great workflow as it seems we are accepting that docs can be "lagging behind" the releases in terms of them needing updates etc, which seems reasonable. I'm not sure if we can live in world where we say the docs are fixed and immutable to the version they were released on, but if you want the very latest version of the docs, you look at the "master" docs. If this was acceptable, this would be the best approach. We just version the docs and that's that. However if that's not good enough, we could have the option to update the docs for already released versions via a CCI workflow that can be manually triggered. |
To clarify, when you say "version the docs", you mean...?
|
Updating the docs with every push to master is a fine workflow for the stage of development we are at. We always want people using the latest version, there hasn't been a need for referencing old docs versions afaik. We haven't had any major docs updates staged for a release (maybe once). Since it's infrequent, we can just stage updates in a draft PR for now to keep it simple. We can revisit the process when supporting previous releases is more important. |
I meant the first one. But, assuming this is just getting ahead of ourselves, then let's just focus on the master version, which is what this was originally all about. I don't understand why we need this approach. Why does
Why are the docs not just built off of whatever has been created through the pipeline, and released at the end of the pipeline along with our other stuff? (we do releases on master now, at least for dockerhub stuff, would like to extend this to npm under a |
The pipeline on master has unreleased code. If we deploy our docs showing snippets from unreleased code, our users will try to copy them and fail. This happened so often that led us to include this toggle. The "weird" thing here is that we want the text to be the latest on master, as @critesjosh mentions above, but show code snippets that reference the latest release. However, if your question was hinting at "why don't we always build docs with the latest released code snippets" (ie INCLUDE_RELEASED_CODE is always set), it's a fair point. The idea was to build PRs with the latest version of everything, so you would know the website would look like if there was a release; but we're not doing deploy previews anymore, so maybe it's not worth it. |
Hey as you know I've been working a lot with Noir docs, which are even more problematic given the versioning. In this case, we want two things: Tagged versionWe want a version of the docs that matches the released version. So given a timeline such as:
Current versionWe want a version of the docs that reflects everything that is in master. So the timeline:
Without knowing the specifics of how docs are built here, this could be made with docusaurus versions. Wait wait wait, don't freak out yet, let me finish 😄 My theoretical approach would be:
This has the disadvantage of making it kind of impossible to change docs in previous versions made in the past. For example if we're in 0.16.0 and there's a typo, we can't fix it until a new release comes in. This is unacceptable for Noir, but I believe would be an acceptable tradeoff here |
So a quick chat after, seems like this fix just makes it work fine for the time being 👍 I wouldn't fix if it ain't broken! |
To keep everyone reading this up to date, we just discussed @signorecello's suggestion over the phone together with @critesjosh. We concluded that a versioned approach would be useful in the future, when there's demand to keep docs for older versions available. However, right now we are pushing our users to stay on the latest release of the sandbox, and it's more common for devrel to make improvement and changes to existing docs than it is to document breaking changes, hence the workflow of "always publish texts for master but with the code from the latest release" works fine. |
Having two different docs builds, one with released code and one without, doesn't fly with build-system, since it checks the content hash of the content to determine whether to rebuild based on committed data only. This means that the hack introduced [here](#3716) does not work. So we'll just build as if we were in master on every run, for now.
Our docs build script checks a `INCLUDE_RELEASED_CODE` env var to determine what code snippets to include in the site build (either latest released version or master). This should be set when deploying the site to the public, which happens on every build on master. So we need to set this env var when on master. However, just setting the env var doesn't work, since we need to get it inside the docs docker build context. Also, we need this build to be seen as different than a build in a branch by the `check_rebuild` script, even if they have the same content hash, since `INCLUDE_RELEASED_CODE` affects the result. One option for fixing this would've been adding a mechanism for passing args to the `build` script in `build-system` which in turn passes them as `ARG`s to the `docker build` call, so they can be turned into `ENV` vars visible by our scripts. Another option could've been defining a different `Dockerfile`, a `Dockerfile.master`, where this `ENV` var is hardcoded. However, neither of these solves the `check_rebuild` issue. So what we're doing is manually changing the contents of the `docs` folder by writing a `.env` file with the env var we need to set, and loading it when building. This both gets the env var inside the docker context (since we're passing it in a file) and triggers a rebuild when needed (since it changes the inputs used for calculating the content hash). Separately from the issues above, we need to manually fetch additional commits from the repo, since we need to load code from the released commit. We're doing that in the same step where we set up the `.env`, which is after the checkout but before the build step. While this approach seems to work, it is doing much stuff around build-system, rather than playing along with it. So @charlielye I'd appreciate your comments here before merging!
Having two different docs builds, one with released code and one without, doesn't fly with build-system, since it checks the content hash of the content to determine whether to rebuild based on committed data only. This means that the hack introduced [here](#3716) does not work. So we'll just build as if we were in master on every run, for now.
🤖 I have created a release *beep* *boop* --- <details><summary>aztec-packages: 0.17.0</summary> ## [0.17.0](aztec-packages-v0.16.9...aztec-packages-v0.17.0) (2024-01-09) ### ⚠ BREAKING CHANGES * Remove aggregation objects from RecursionConstraint ([#3885](#3885)) * Noir development branch (serialization changes) ([#3858](#3858)) * **aztec.js:** Move accounts out of aztec.js into new package ([#3844](#3844)) * Add Side effect counter struct for ordering ([#3608](#3608)) * typing partial address, deduplicating `Point`, `Point` -> `GrumpkinPoint` ([#3814](#3814)) * moving `compute_selector` to `FunctionSelector` ([#3806](#3806)) * moving compute_address func to AztecAddress ([#3801](#3801)) * updated note hash and nullifier macro ([#3777](#3777)) * return full verification contract from `AcirComposer::get_solidity_verifier` ([#3735](#3735)) * deduplicating circuit types + typing everything ([#3594](#3594)) ### Features * A script which runs `nargo fmt` in all packages + running it ([#3803](#3803)) ([5f0ebd6](5f0ebd6)) * Add new metrics ([#3855](#3855)) ([a2b267b](a2b267b)) * Adding option to set initial and max memory ([#3265](#3265)) ([0ad75fe](0ad75fe)) * **avm-main:** Pil -> permutations ([#3650](#3650)) ([c52acf6](c52acf6)) * **avm-mini:** Call and return opcodes ([#3704](#3704)) ([e534204](e534204)) * **avm:** Add standalone jump opcode ([#3781](#3781)) ([b1b2e7c](b1b2e7c)) * **avm:** VM circuit handles tagged memory ([#3725](#3725)) ([739fe90](739fe90)), closes [#3644](#3644) * **aztec.js:** Move accounts out of aztec.js into new package ([#3844](#3844)) ([afd7b6d](afd7b6d)), closes [#3807](#3807) * Barretenberg doxygen CI ([#3818](#3818)) ([022a918](022a918)) * Bb uses goblin ([#3636](#3636)) ([d093266](d093266)) * Compile base rollup as a circuit ([#3739](#3739)) ([5118d44](5118d44)) * Contract inclusion proof ([#3680](#3680)) ([43aa603](43aa603)) * Correct circuit construction from acir ([#3757](#3757)) ([a876ab8](a876ab8)) * Deduplicating circuit types + typing everything ([#3594](#3594)) ([fcb04a7](fcb04a7)), closes [#3592](#3592) [#3059](#3059) * Goblin and eccvm bench ([#3606](#3606)) ([1fe63b2](1fe63b2)) * Goblinize the final ecc ops in ZM ([#3741](#3741)) ([3048d08](3048d08)) * Launch the monorepo in a codespace. ([#3829](#3829)) ([f5a4a78](f5a4a78)) * Moving `compute_selector` to `FunctionSelector` ([#3806](#3806)) ([bbaebf4](bbaebf4)), closes [#3681](#3681) * Moving compute_address func to AztecAddress ([#3801](#3801)) ([3107aad](3107aad)), closes [#3794](#3794) * Node version check in `yarn-project/bootstrap.sh` ([#3780](#3780)) ([c29e4ee](c29e4ee)) * Noir development branch (serialization changes) ([#3858](#3858)) ([d2ae2cd](d2ae2cd)) * Only one tx per base rollup ([#3742](#3742)) ([9eef247](9eef247)) * ProverPolynomials owns its memory ([#3560](#3560)) ([a4aba00](a4aba00)) * Public data tree as indexed tree ([#3566](#3566)) ([4711ef7](4711ef7)) * PXE adds note processors for stored accounts ([#3673](#3673)) ([93f9315](93f9315)) * Return full verification contract from `AcirComposer::get_solidity_verifier` ([#3735](#3735)) ([bd5614c](bd5614c)) * Serialize synchronize and simulateTx calls by the pxe via SerialQueue ([#3817](#3817)) ([e893675](e893675)) * Specific membership witness functions in aztec-nr ([#3674](#3674)) ([3403877](3403877)), closes [#3663](#3663) * Tree ids in noir ([#3809](#3809)) ([ec2e36e](ec2e36e)) * Txpool persistence ([#3672](#3672)) ([4dd076c](4dd076c)), closes [#3365](#3365) * Typing partial address, deduplicating `Point`, `Point` -> `GrumpkinPoint` ([#3814](#3814)) ([44458be](44458be)), closes [#3682](#3682) * Update to latest noir and update noir compiler ([#3696](#3696)) ([62a17a4](62a17a4)) * Updated note hash and nullifier macro ([#3777](#3777)) ([e83dd2b](e83dd2b)), closes [#3669](#3669) ### Bug Fixes * AWS deploy_service regex + faucet dockerfile ([#3699](#3699)) ([260c7c3](260c7c3)) * Broken aztec-nr imports ([#3693](#3693)) ([7c8814e](7c8814e)) * Build scripts if statements ([#3700](#3700)) ([4847c19](4847c19)) * **ci:** Contracts_deployed check ([#3703](#3703)) ([6c4bf75](6c4bf75)) * **ci:** Redeploy triggers ([#3677](#3677)) ([cc515da](cc515da)) * CRS not needed for gate_count. Grumpkin not needed for non-goblin. ([#3872](#3872)) ([8cda00d](8cda00d)) * Deploy l1 contracts script ([#3713](#3713)) ([309be4b](309be4b)) * Disable goblin bbjs tests ([#3836](#3836)) ([1f5b2c6](1f5b2c6)) * Docker user permissions ([#3711](#3711)) ([35316fc](35316fc)) * **docs:** Fix docs build during releases ([#3815](#3815)) ([2e0776a](2e0776a)) * **docs:** Force docs build using latest released code always ([#3762](#3762)) ([5545ee6](5545ee6)) * **docs:** Make git repo available when building docs ([#3761](#3761)) ([bce2d99](bce2d99)) * **docs:** Show latest released code on published site ([#3716](#3716)) ([f1eb6d5](f1eb6d5)) * Event macro ([#3784](#3784)) ([3af2438](3af2438)), closes [#3655](#3655) * Fix for faucet and node deployment config ([#3722](#3722)) ([a60b71a](a60b71a)) * Flaky e2e-p2p test ([#3831](#3831)) ([5b1e9f2](5b1e9f2)) * Issue with `run_nargo_fmt.sh` + minor yellow paper naming improvements ([#3833](#3833)) ([8e692c1](8e692c1)) * Map relative path to protocol circuits ([#3694](#3694)) ([125ab1d](125ab1d)) * Noir-protocol circuits ([#3734](#3734)) ([34e2505](34e2505)) * Reenable goblin bbjs for a single test ([#3838](#3838)) ([30e47a0](30e47a0)) * Setup aztec-cli cache ([#3698](#3698)) ([48b7474](48b7474)) * Stale pseudocode in yellow paper process func ([#3869](#3869)) ([4a73e3d](4a73e3d)) * Subrepo commit ([b5bfb0b](b5bfb0b)) * There is no main.js ([#3691](#3691)) ([58ba060](58ba060)) * Unpick world state circulars. ([#3721](#3721)) ([84f4671](84f4671)) * Update for new p2p bootstrap node names ([#3710](#3710)) ([c7b29b3](c7b29b3)) * Update toy to new master ([78cf525](78cf525)) * Use lookup instead of resolve to ensure consider /etc/hosts ([#3720](#3720)) ([eb8413e](eb8413e)) ### Miscellaneous * Add GH action to notify gate count differences ([#3724](#3724)) ([c0a24fb](c0a24fb)), closes [#3467](#3467) * Add Side effect counter struct for ordering ([#3608](#3608)) ([c58b197](c58b197)) * Add small how to diagram section ([#3804](#3804)) ([df581f0](df581f0)) * Added cryptography section to yellow paper ([#3647](#3647)) ([286028b](286028b)) * Adding some clarification after a question on discourse ([#3823](#3823)) ([f3d37d7](f3d37d7)) * Align bb.js testing ([#3840](#3840)) ([c489727](c489727)) * **avm:** Avm memory trace building ([#3835](#3835)) ([b7766d6](b7766d6)) * Aztec js circulars ([#3723](#3723)) ([378407d](378407d)) * Bring boxes back to CI. Build and run using docker/docker-compose. ([#3727](#3727)) ([4a1c0df](4a1c0df)) * Build protocol circuits on CI and stop committing artifacts ([#3816](#3816)) ([fa1c456](fa1c456)) * Checking noir formatting in CI ([#3828](#3828)) ([b53bacf](b53bacf)), closes [#3825](#3825) * Cleaning inconsistency ([#3851](#3851)) ([9bbd70a](9bbd70a)) * Cleanup recursion interface ([#3744](#3744)) ([fde0ac3](fde0ac3)) * **docs:** Add block productions ([#3770](#3770)) ([f091f49](f091f49)) * **docs:** Add high level overview of a tx ([#3763](#3763)) ([9a55e57](9a55e57)) * **docs:** Remove npm reference section from testing page ([#3719](#3719)) ([1484c11](1484c11)) * **docs:** Remove references to npm packages ([#3676](#3676)) ([bd5355f](bd5355f)) * **docs:** Starting a migration notes section ([#3853](#3853)) ([060f39a](060f39a)) * **docs:** Update deps in tutorials ([#3708](#3708)) ([f3d93aa](f3d93aa)) * **docs:** Update install script ([#3847](#3847)) ([7003853](7003853)) * **docs:** Update reference link ([#3768](#3768)) ([18edb98](18edb98)) * **docs:** Update testing pages ([#3733](#3733)) ([1c68e3b](1c68e3b)) * **docs:** Update token bridge tutorial ([#3773](#3773)) ([764cb46](764cb46)) * **docs:** Update trees page ([#3732](#3732)) ([b265531](b265531)) * **dsl:** Abstract nested aggregation object from ACIR ([#3765](#3765)) ([92f72e4](92f72e4)) * Increase benchmark warning threshold for trial decrypt ([#3602](#3602)) ([913943e](913943e)) * Just nargo compile. ([#3775](#3775)) ([3d08ef9](3d08ef9)) * Move boxes out of yarn-project ([#3688](#3688)) ([472596c](472596c)) * Noir sync ([#3884](#3884)) ([217de09](217de09)) * Remove aggregation objects from RecursionConstraint ([#3885](#3885)) ([9a80008](9a80008)) * Remove HashToField128Security ACIR opcode ([#3631](#3631)) ([1d6d3c9](1d6d3c9)) * Removing leaf data type + related cleanup ([#3794](#3794)) ([3030cc8](3030cc8)) * Rename generate-ts/nr commands to codegen. ([#3843](#3843)) ([1fcb964](1fcb964)) * Replace relative paths to noir-protocol-circuits ([c2fed18](c2fed18)) * Replace relative paths to noir-protocol-circuits ([3accd8a](3accd8a)) * Replace relative paths to noir-protocol-circuits ([346590b](346590b)) * Replace relative paths to noir-protocol-circuits ([861d928](861d928)) * Show noir tag alongside commit on sandbox startup ([#3750](#3750)) ([009f66d](009f66d)) * Update governance vote ballot ([#3789](#3789)) ([f8976ad](f8976ad)) * Update how_to_contribute.md ([#3759](#3759)) ([4567ec4](4567ec4)) * Update privacy main.md ([#3760](#3760)) ([c3d8b5d](c3d8b5d)) * Use repo BB for gate diff ([#3852](#3852)) ([506e719](506e719)) * Use simple "flat" CRS. ([#3748](#3748)) ([5c6c2ca](5c6c2ca)) * Use traits in noir-protocol-circuits ([#3832](#3832)) ([88fcf8d](88fcf8d)) ### Documentation * A layout of logs section of yellow paper ([#3582](#3582)) ([8c759f6](8c759f6)) * Add current thinking on upgrades ([#3743](#3743)) ([9f3d972](9f3d972)) * Add da doc ([#3736](#3736)) ([193f3f2](193f3f2)), closes [#3645](#3645) * Bytecode ([#3701](#3701)) ([912df7e](912df7e)) * Extend state documentation ([#3731](#3731)) ([a99cbd6](a99cbd6)) * Remove mentions of noir-compiler ([#3702](#3702)) ([ea7cd50](ea7cd50)) * Yellow paper rollup circuits and state update ([#3558](#3558)) ([b2d6376](b2d6376)) * **yellow-paper:** Circuits ([#3782](#3782)) ([a935ca3](a935ca3)) * **yellow-paper:** Contract deployment ([#3624](#3624)) ([b282867](b282867)), closes [#3104](#3104) * **yellow-paper:** Drop pokodl request in key derivation ([#3837](#3837)) ([a3920fb](a3920fb)) * **yellow-paper:** Update keys and addresses ([#3707](#3707)) ([56992ae](56992ae)) * **yellowpaper:** AVM high-level execution ([#3717](#3717)) ([2ded221](2ded221)) * **yellowpaper:** AVM intro sections ([#3692](#3692)) ([c48e76c](c48e76c)) * **yellowpaper:** Avm nested call returns, updating calling context ([#3749](#3749)) ([a1c701d](a1c701d)) * **yellowpaper:** Finish AVM Context definitions ([#3709](#3709)) ([4cfb427](4cfb427)) * **yellowpaper:** Private kernel circuits ([#3559](#3559)) ([056e553](056e553)) </details> <details><summary>barretenberg.js: 0.17.0</summary> ## [0.17.0](barretenberg.js-v0.16.9...barretenberg.js-v0.17.0) (2024-01-09) ### ⚠ BREAKING CHANGES * return full verification contract from `AcirComposer::get_solidity_verifier` ([#3735](#3735)) ### Features * Adding option to set initial and max memory ([#3265](#3265)) ([0ad75fe](0ad75fe)) * Bb uses goblin ([#3636](#3636)) ([d093266](d093266)) * Correct circuit construction from acir ([#3757](#3757)) ([a876ab8](a876ab8)) * Return full verification contract from `AcirComposer::get_solidity_verifier` ([#3735](#3735)) ([bd5614c](bd5614c)) ### Miscellaneous * Remove HashToField128Security ACIR opcode ([#3631](#3631)) ([1d6d3c9](1d6d3c9)) * Use simple "flat" CRS. ([#3748](#3748)) ([5c6c2ca](5c6c2ca)) </details> <details><summary>barretenberg: 0.17.0</summary> ## [0.17.0](barretenberg-v0.16.9...barretenberg-v0.17.0) (2024-01-09) ### ⚠ BREAKING CHANGES * Remove aggregation objects from RecursionConstraint ([#3885](#3885)) * Noir development branch (serialization changes) ([#3858](#3858)) * Add Side effect counter struct for ordering ([#3608](#3608)) * return full verification contract from `AcirComposer::get_solidity_verifier` ([#3735](#3735)) ### Features * Adding option to set initial and max memory ([#3265](#3265)) ([0ad75fe](0ad75fe)) * **avm-main:** Pil -> permutations ([#3650](#3650)) ([c52acf6](c52acf6)) * **avm-mini:** Call and return opcodes ([#3704](#3704)) ([e534204](e534204)) * **avm:** Add standalone jump opcode ([#3781](#3781)) ([b1b2e7c](b1b2e7c)) * **avm:** VM circuit handles tagged memory ([#3725](#3725)) ([739fe90](739fe90)), closes [#3644](#3644) * Barretenberg doxygen CI ([#3818](#3818)) ([022a918](022a918)) * Bb uses goblin ([#3636](#3636)) ([d093266](d093266)) * Correct circuit construction from acir ([#3757](#3757)) ([a876ab8](a876ab8)) * Goblin and eccvm bench ([#3606](#3606)) ([1fe63b2](1fe63b2)) * Goblinize the final ecc ops in ZM ([#3741](#3741)) ([3048d08](3048d08)) * Noir development branch (serialization changes) ([#3858](#3858)) ([d2ae2cd](d2ae2cd)) * ProverPolynomials owns its memory ([#3560](#3560)) ([a4aba00](a4aba00)) * Return full verification contract from `AcirComposer::get_solidity_verifier` ([#3735](#3735)) ([bd5614c](bd5614c)) ### Bug Fixes * CRS not needed for gate_count. Grumpkin not needed for non-goblin. ([#3872](#3872)) ([8cda00d](8cda00d)) * Disable goblin bbjs tests ([#3836](#3836)) ([1f5b2c6](1f5b2c6)) * Reenable goblin bbjs for a single test ([#3838](#3838)) ([30e47a0](30e47a0)) * Update toy to new master ([78cf525](78cf525)) ### Miscellaneous * Add Side effect counter struct for ordering ([#3608](#3608)) ([c58b197](c58b197)) * Align bb.js testing ([#3840](#3840)) ([c489727](c489727)) * **avm:** Avm memory trace building ([#3835](#3835)) ([b7766d6](b7766d6)) * Bring boxes back to CI. Build and run using docker/docker-compose. ([#3727](#3727)) ([4a1c0df](4a1c0df)) * Cleanup recursion interface ([#3744](#3744)) ([fde0ac3](fde0ac3)) * **dsl:** Abstract nested aggregation object from ACIR ([#3765](#3765)) ([92f72e4](92f72e4)) * Remove aggregation objects from RecursionConstraint ([#3885](#3885)) ([9a80008](9a80008)) * Remove HashToField128Security ACIR opcode ([#3631](#3631)) ([1d6d3c9](1d6d3c9)) * Use simple "flat" CRS. ([#3748](#3748)) ([5c6c2ca](5c6c2ca)) </details> --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
🤖 I have created a release *beep* *boop* --- <details><summary>aztec-packages: 0.17.0</summary> ## [0.17.0](AztecProtocol/aztec-packages@aztec-packages-v0.16.9...aztec-packages-v0.17.0) (2024-01-09) ### ⚠ BREAKING CHANGES * Remove aggregation objects from RecursionConstraint ([#3885](AztecProtocol/aztec-packages#3885)) * Noir development branch (serialization changes) ([#3858](AztecProtocol/aztec-packages#3858)) * **aztec.js:** Move accounts out of aztec.js into new package ([#3844](AztecProtocol/aztec-packages#3844)) * Add Side effect counter struct for ordering ([#3608](AztecProtocol/aztec-packages#3608)) * typing partial address, deduplicating `Point`, `Point` -> `GrumpkinPoint` ([#3814](AztecProtocol/aztec-packages#3814)) * moving `compute_selector` to `FunctionSelector` ([#3806](AztecProtocol/aztec-packages#3806)) * moving compute_address func to AztecAddress ([#3801](AztecProtocol/aztec-packages#3801)) * updated note hash and nullifier macro ([#3777](AztecProtocol/aztec-packages#3777)) * return full verification contract from `AcirComposer::get_solidity_verifier` ([#3735](AztecProtocol/aztec-packages#3735)) * deduplicating circuit types + typing everything ([#3594](AztecProtocol/aztec-packages#3594)) ### Features * A script which runs `nargo fmt` in all packages + running it ([#3803](AztecProtocol/aztec-packages#3803)) ([5f0ebd6](AztecProtocol/aztec-packages@5f0ebd6)) * Add new metrics ([#3855](AztecProtocol/aztec-packages#3855)) ([a2b267b](AztecProtocol/aztec-packages@a2b267b)) * Adding option to set initial and max memory ([#3265](AztecProtocol/aztec-packages#3265)) ([0ad75fe](AztecProtocol/aztec-packages@0ad75fe)) * **avm-main:** Pil -> permutations ([#3650](AztecProtocol/aztec-packages#3650)) ([c52acf6](AztecProtocol/aztec-packages@c52acf6)) * **avm-mini:** Call and return opcodes ([#3704](AztecProtocol/aztec-packages#3704)) ([e534204](AztecProtocol/aztec-packages@e534204)) * **avm:** Add standalone jump opcode ([#3781](AztecProtocol/aztec-packages#3781)) ([b1b2e7c](AztecProtocol/aztec-packages@b1b2e7c)) * **avm:** VM circuit handles tagged memory ([#3725](AztecProtocol/aztec-packages#3725)) ([739fe90](AztecProtocol/aztec-packages@739fe90)), closes [#3644](AztecProtocol/aztec-packages#3644) * **aztec.js:** Move accounts out of aztec.js into new package ([#3844](AztecProtocol/aztec-packages#3844)) ([afd7b6d](AztecProtocol/aztec-packages@afd7b6d)), closes [#3807](AztecProtocol/aztec-packages#3807) * Barretenberg doxygen CI ([#3818](AztecProtocol/aztec-packages#3818)) ([022a918](AztecProtocol/aztec-packages@022a918)) * Bb uses goblin ([#3636](AztecProtocol/aztec-packages#3636)) ([d093266](AztecProtocol/aztec-packages@d093266)) * Compile base rollup as a circuit ([#3739](AztecProtocol/aztec-packages#3739)) ([5118d44](AztecProtocol/aztec-packages@5118d44)) * Contract inclusion proof ([#3680](AztecProtocol/aztec-packages#3680)) ([43aa603](AztecProtocol/aztec-packages@43aa603)) * Correct circuit construction from acir ([#3757](AztecProtocol/aztec-packages#3757)) ([a876ab8](AztecProtocol/aztec-packages@a876ab8)) * Deduplicating circuit types + typing everything ([#3594](AztecProtocol/aztec-packages#3594)) ([fcb04a7](AztecProtocol/aztec-packages@fcb04a7)), closes [#3592](AztecProtocol/aztec-packages#3592) [#3059](AztecProtocol/aztec-packages#3059) * Goblin and eccvm bench ([#3606](AztecProtocol/aztec-packages#3606)) ([1fe63b2](AztecProtocol/aztec-packages@1fe63b2)) * Goblinize the final ecc ops in ZM ([#3741](AztecProtocol/aztec-packages#3741)) ([3048d08](AztecProtocol/aztec-packages@3048d08)) * Launch the monorepo in a codespace. ([#3829](AztecProtocol/aztec-packages#3829)) ([f5a4a78](AztecProtocol/aztec-packages@f5a4a78)) * Moving `compute_selector` to `FunctionSelector` ([#3806](AztecProtocol/aztec-packages#3806)) ([bbaebf4](AztecProtocol/aztec-packages@bbaebf4)), closes [#3681](AztecProtocol/aztec-packages#3681) * Moving compute_address func to AztecAddress ([#3801](AztecProtocol/aztec-packages#3801)) ([3107aad](AztecProtocol/aztec-packages@3107aad)), closes [#3794](AztecProtocol/aztec-packages#3794) * Node version check in `yarn-project/bootstrap.sh` ([#3780](AztecProtocol/aztec-packages#3780)) ([c29e4ee](AztecProtocol/aztec-packages@c29e4ee)) * Noir development branch (serialization changes) ([#3858](AztecProtocol/aztec-packages#3858)) ([d2ae2cd](AztecProtocol/aztec-packages@d2ae2cd)) * Only one tx per base rollup ([#3742](AztecProtocol/aztec-packages#3742)) ([9eef247](AztecProtocol/aztec-packages@9eef247)) * ProverPolynomials owns its memory ([#3560](AztecProtocol/aztec-packages#3560)) ([a4aba00](AztecProtocol/aztec-packages@a4aba00)) * Public data tree as indexed tree ([#3566](AztecProtocol/aztec-packages#3566)) ([4711ef7](AztecProtocol/aztec-packages@4711ef7)) * PXE adds note processors for stored accounts ([#3673](AztecProtocol/aztec-packages#3673)) ([93f9315](AztecProtocol/aztec-packages@93f9315)) * Return full verification contract from `AcirComposer::get_solidity_verifier` ([#3735](AztecProtocol/aztec-packages#3735)) ([bd5614c](AztecProtocol/aztec-packages@bd5614c)) * Serialize synchronize and simulateTx calls by the pxe via SerialQueue ([#3817](AztecProtocol/aztec-packages#3817)) ([e893675](AztecProtocol/aztec-packages@e893675)) * Specific membership witness functions in aztec-nr ([#3674](AztecProtocol/aztec-packages#3674)) ([3403877](AztecProtocol/aztec-packages@3403877)), closes [#3663](AztecProtocol/aztec-packages#3663) * Tree ids in noir ([#3809](AztecProtocol/aztec-packages#3809)) ([ec2e36e](AztecProtocol/aztec-packages@ec2e36e)) * Txpool persistence ([#3672](AztecProtocol/aztec-packages#3672)) ([4dd076c](AztecProtocol/aztec-packages@4dd076c)), closes [#3365](AztecProtocol/aztec-packages#3365) * Typing partial address, deduplicating `Point`, `Point` -> `GrumpkinPoint` ([#3814](AztecProtocol/aztec-packages#3814)) ([44458be](AztecProtocol/aztec-packages@44458be)), closes [#3682](AztecProtocol/aztec-packages#3682) * Update to latest noir and update noir compiler ([#3696](AztecProtocol/aztec-packages#3696)) ([62a17a4](AztecProtocol/aztec-packages@62a17a4)) * Updated note hash and nullifier macro ([#3777](AztecProtocol/aztec-packages#3777)) ([e83dd2b](AztecProtocol/aztec-packages@e83dd2b)), closes [#3669](AztecProtocol/aztec-packages#3669) ### Bug Fixes * AWS deploy_service regex + faucet dockerfile ([#3699](AztecProtocol/aztec-packages#3699)) ([260c7c3](AztecProtocol/aztec-packages@260c7c3)) * Broken aztec-nr imports ([#3693](AztecProtocol/aztec-packages#3693)) ([7c8814e](AztecProtocol/aztec-packages@7c8814e)) * Build scripts if statements ([#3700](AztecProtocol/aztec-packages#3700)) ([4847c19](AztecProtocol/aztec-packages@4847c19)) * **ci:** Contracts_deployed check ([#3703](AztecProtocol/aztec-packages#3703)) ([6c4bf75](AztecProtocol/aztec-packages@6c4bf75)) * **ci:** Redeploy triggers ([#3677](AztecProtocol/aztec-packages#3677)) ([cc515da](AztecProtocol/aztec-packages@cc515da)) * CRS not needed for gate_count. Grumpkin not needed for non-goblin. ([#3872](AztecProtocol/aztec-packages#3872)) ([8cda00d](AztecProtocol/aztec-packages@8cda00d)) * Deploy l1 contracts script ([#3713](AztecProtocol/aztec-packages#3713)) ([309be4b](AztecProtocol/aztec-packages@309be4b)) * Disable goblin bbjs tests ([#3836](AztecProtocol/aztec-packages#3836)) ([1f5b2c6](AztecProtocol/aztec-packages@1f5b2c6)) * Docker user permissions ([#3711](AztecProtocol/aztec-packages#3711)) ([35316fc](AztecProtocol/aztec-packages@35316fc)) * **docs:** Fix docs build during releases ([#3815](AztecProtocol/aztec-packages#3815)) ([2e0776a](AztecProtocol/aztec-packages@2e0776a)) * **docs:** Force docs build using latest released code always ([#3762](AztecProtocol/aztec-packages#3762)) ([5545ee6](AztecProtocol/aztec-packages@5545ee6)) * **docs:** Make git repo available when building docs ([#3761](AztecProtocol/aztec-packages#3761)) ([bce2d99](AztecProtocol/aztec-packages@bce2d99)) * **docs:** Show latest released code on published site ([#3716](AztecProtocol/aztec-packages#3716)) ([f1eb6d5](AztecProtocol/aztec-packages@f1eb6d5)) * Event macro ([#3784](AztecProtocol/aztec-packages#3784)) ([3af2438](AztecProtocol/aztec-packages@3af2438)), closes [#3655](AztecProtocol/aztec-packages#3655) * Fix for faucet and node deployment config ([#3722](AztecProtocol/aztec-packages#3722)) ([a60b71a](AztecProtocol/aztec-packages@a60b71a)) * Flaky e2e-p2p test ([#3831](AztecProtocol/aztec-packages#3831)) ([5b1e9f2](AztecProtocol/aztec-packages@5b1e9f2)) * Issue with `run_nargo_fmt.sh` + minor yellow paper naming improvements ([#3833](AztecProtocol/aztec-packages#3833)) ([8e692c1](AztecProtocol/aztec-packages@8e692c1)) * Map relative path to protocol circuits ([#3694](AztecProtocol/aztec-packages#3694)) ([125ab1d](AztecProtocol/aztec-packages@125ab1d)) * Noir-protocol circuits ([#3734](AztecProtocol/aztec-packages#3734)) ([34e2505](AztecProtocol/aztec-packages@34e2505)) * Reenable goblin bbjs for a single test ([#3838](AztecProtocol/aztec-packages#3838)) ([30e47a0](AztecProtocol/aztec-packages@30e47a0)) * Setup aztec-cli cache ([#3698](AztecProtocol/aztec-packages#3698)) ([48b7474](AztecProtocol/aztec-packages@48b7474)) * Stale pseudocode in yellow paper process func ([#3869](AztecProtocol/aztec-packages#3869)) ([4a73e3d](AztecProtocol/aztec-packages@4a73e3d)) * Subrepo commit ([b5bfb0b](AztecProtocol/aztec-packages@b5bfb0b)) * There is no main.js ([#3691](AztecProtocol/aztec-packages#3691)) ([58ba060](AztecProtocol/aztec-packages@58ba060)) * Unpick world state circulars. ([#3721](AztecProtocol/aztec-packages#3721)) ([84f4671](AztecProtocol/aztec-packages@84f4671)) * Update for new p2p bootstrap node names ([#3710](AztecProtocol/aztec-packages#3710)) ([c7b29b3](AztecProtocol/aztec-packages@c7b29b3)) * Update toy to new master ([78cf525](AztecProtocol/aztec-packages@78cf525)) * Use lookup instead of resolve to ensure consider /etc/hosts ([#3720](AztecProtocol/aztec-packages#3720)) ([eb8413e](AztecProtocol/aztec-packages@eb8413e)) ### Miscellaneous * Add GH action to notify gate count differences ([#3724](AztecProtocol/aztec-packages#3724)) ([c0a24fb](AztecProtocol/aztec-packages@c0a24fb)), closes [#3467](AztecProtocol/aztec-packages#3467) * Add Side effect counter struct for ordering ([#3608](AztecProtocol/aztec-packages#3608)) ([c58b197](AztecProtocol/aztec-packages@c58b197)) * Add small how to diagram section ([#3804](AztecProtocol/aztec-packages#3804)) ([df581f0](AztecProtocol/aztec-packages@df581f0)) * Added cryptography section to yellow paper ([#3647](AztecProtocol/aztec-packages#3647)) ([286028b](AztecProtocol/aztec-packages@286028b)) * Adding some clarification after a question on discourse ([#3823](AztecProtocol/aztec-packages#3823)) ([f3d37d7](AztecProtocol/aztec-packages@f3d37d7)) * Align bb.js testing ([#3840](AztecProtocol/aztec-packages#3840)) ([c489727](AztecProtocol/aztec-packages@c489727)) * **avm:** Avm memory trace building ([#3835](AztecProtocol/aztec-packages#3835)) ([b7766d6](AztecProtocol/aztec-packages@b7766d6)) * Aztec js circulars ([#3723](AztecProtocol/aztec-packages#3723)) ([378407d](AztecProtocol/aztec-packages@378407d)) * Bring boxes back to CI. Build and run using docker/docker-compose. ([#3727](AztecProtocol/aztec-packages#3727)) ([4a1c0df](AztecProtocol/aztec-packages@4a1c0df)) * Build protocol circuits on CI and stop committing artifacts ([#3816](AztecProtocol/aztec-packages#3816)) ([fa1c456](AztecProtocol/aztec-packages@fa1c456)) * Checking noir formatting in CI ([#3828](AztecProtocol/aztec-packages#3828)) ([b53bacf](AztecProtocol/aztec-packages@b53bacf)), closes [#3825](AztecProtocol/aztec-packages#3825) * Cleaning inconsistency ([#3851](AztecProtocol/aztec-packages#3851)) ([9bbd70a](AztecProtocol/aztec-packages@9bbd70a)) * Cleanup recursion interface ([#3744](AztecProtocol/aztec-packages#3744)) ([fde0ac3](AztecProtocol/aztec-packages@fde0ac3)) * **docs:** Add block productions ([#3770](AztecProtocol/aztec-packages#3770)) ([f091f49](AztecProtocol/aztec-packages@f091f49)) * **docs:** Add high level overview of a tx ([#3763](AztecProtocol/aztec-packages#3763)) ([9a55e57](AztecProtocol/aztec-packages@9a55e57)) * **docs:** Remove npm reference section from testing page ([#3719](AztecProtocol/aztec-packages#3719)) ([1484c11](AztecProtocol/aztec-packages@1484c11)) * **docs:** Remove references to npm packages ([#3676](AztecProtocol/aztec-packages#3676)) ([bd5355f](AztecProtocol/aztec-packages@bd5355f)) * **docs:** Starting a migration notes section ([#3853](AztecProtocol/aztec-packages#3853)) ([060f39a](AztecProtocol/aztec-packages@060f39a)) * **docs:** Update deps in tutorials ([#3708](AztecProtocol/aztec-packages#3708)) ([f3d93aa](AztecProtocol/aztec-packages@f3d93aa)) * **docs:** Update install script ([#3847](AztecProtocol/aztec-packages#3847)) ([7003853](AztecProtocol/aztec-packages@7003853)) * **docs:** Update reference link ([#3768](AztecProtocol/aztec-packages#3768)) ([18edb98](AztecProtocol/aztec-packages@18edb98)) * **docs:** Update testing pages ([#3733](AztecProtocol/aztec-packages#3733)) ([1c68e3b](AztecProtocol/aztec-packages@1c68e3b)) * **docs:** Update token bridge tutorial ([#3773](AztecProtocol/aztec-packages#3773)) ([764cb46](AztecProtocol/aztec-packages@764cb46)) * **docs:** Update trees page ([#3732](AztecProtocol/aztec-packages#3732)) ([b265531](AztecProtocol/aztec-packages@b265531)) * **dsl:** Abstract nested aggregation object from ACIR ([#3765](AztecProtocol/aztec-packages#3765)) ([92f72e4](AztecProtocol/aztec-packages@92f72e4)) * Increase benchmark warning threshold for trial decrypt ([#3602](AztecProtocol/aztec-packages#3602)) ([913943e](AztecProtocol/aztec-packages@913943e)) * Just nargo compile. ([#3775](AztecProtocol/aztec-packages#3775)) ([3d08ef9](AztecProtocol/aztec-packages@3d08ef9)) * Move boxes out of yarn-project ([#3688](AztecProtocol/aztec-packages#3688)) ([472596c](AztecProtocol/aztec-packages@472596c)) * Noir sync ([#3884](AztecProtocol/aztec-packages#3884)) ([217de09](AztecProtocol/aztec-packages@217de09)) * Remove aggregation objects from RecursionConstraint ([#3885](AztecProtocol/aztec-packages#3885)) ([9a80008](AztecProtocol/aztec-packages@9a80008)) * Remove HashToField128Security ACIR opcode ([#3631](AztecProtocol/aztec-packages#3631)) ([1d6d3c9](AztecProtocol/aztec-packages@1d6d3c9)) * Removing leaf data type + related cleanup ([#3794](AztecProtocol/aztec-packages#3794)) ([3030cc8](AztecProtocol/aztec-packages@3030cc8)) * Rename generate-ts/nr commands to codegen. ([#3843](AztecProtocol/aztec-packages#3843)) ([1fcb964](AztecProtocol/aztec-packages@1fcb964)) * Replace relative paths to noir-protocol-circuits ([c2fed18](AztecProtocol/aztec-packages@c2fed18)) * Replace relative paths to noir-protocol-circuits ([3accd8a](AztecProtocol/aztec-packages@3accd8a)) * Replace relative paths to noir-protocol-circuits ([346590b](AztecProtocol/aztec-packages@346590b)) * Replace relative paths to noir-protocol-circuits ([861d928](AztecProtocol/aztec-packages@861d928)) * Show noir tag alongside commit on sandbox startup ([#3750](AztecProtocol/aztec-packages#3750)) ([009f66d](AztecProtocol/aztec-packages@009f66d)) * Update governance vote ballot ([#3789](AztecProtocol/aztec-packages#3789)) ([f8976ad](AztecProtocol/aztec-packages@f8976ad)) * Update how_to_contribute.md ([#3759](AztecProtocol/aztec-packages#3759)) ([4567ec4](AztecProtocol/aztec-packages@4567ec4)) * Update privacy main.md ([#3760](AztecProtocol/aztec-packages#3760)) ([c3d8b5d](AztecProtocol/aztec-packages@c3d8b5d)) * Use repo BB for gate diff ([#3852](AztecProtocol/aztec-packages#3852)) ([506e719](AztecProtocol/aztec-packages@506e719)) * Use simple "flat" CRS. ([#3748](AztecProtocol/aztec-packages#3748)) ([5c6c2ca](AztecProtocol/aztec-packages@5c6c2ca)) * Use traits in noir-protocol-circuits ([#3832](AztecProtocol/aztec-packages#3832)) ([88fcf8d](AztecProtocol/aztec-packages@88fcf8d)) ### Documentation * A layout of logs section of yellow paper ([#3582](AztecProtocol/aztec-packages#3582)) ([8c759f6](AztecProtocol/aztec-packages@8c759f6)) * Add current thinking on upgrades ([#3743](AztecProtocol/aztec-packages#3743)) ([9f3d972](AztecProtocol/aztec-packages@9f3d972)) * Add da doc ([#3736](AztecProtocol/aztec-packages#3736)) ([193f3f2](AztecProtocol/aztec-packages@193f3f2)), closes [#3645](AztecProtocol/aztec-packages#3645) * Bytecode ([#3701](AztecProtocol/aztec-packages#3701)) ([912df7e](AztecProtocol/aztec-packages@912df7e)) * Extend state documentation ([#3731](AztecProtocol/aztec-packages#3731)) ([a99cbd6](AztecProtocol/aztec-packages@a99cbd6)) * Remove mentions of noir-compiler ([#3702](AztecProtocol/aztec-packages#3702)) ([ea7cd50](AztecProtocol/aztec-packages@ea7cd50)) * Yellow paper rollup circuits and state update ([#3558](AztecProtocol/aztec-packages#3558)) ([b2d6376](AztecProtocol/aztec-packages@b2d6376)) * **yellow-paper:** Circuits ([#3782](AztecProtocol/aztec-packages#3782)) ([a935ca3](AztecProtocol/aztec-packages@a935ca3)) * **yellow-paper:** Contract deployment ([#3624](AztecProtocol/aztec-packages#3624)) ([b282867](AztecProtocol/aztec-packages@b282867)), closes [#3104](AztecProtocol/aztec-packages#3104) * **yellow-paper:** Drop pokodl request in key derivation ([#3837](AztecProtocol/aztec-packages#3837)) ([a3920fb](AztecProtocol/aztec-packages@a3920fb)) * **yellow-paper:** Update keys and addresses ([#3707](AztecProtocol/aztec-packages#3707)) ([56992ae](AztecProtocol/aztec-packages@56992ae)) * **yellowpaper:** AVM high-level execution ([#3717](AztecProtocol/aztec-packages#3717)) ([2ded221](AztecProtocol/aztec-packages@2ded221)) * **yellowpaper:** AVM intro sections ([#3692](AztecProtocol/aztec-packages#3692)) ([c48e76c](AztecProtocol/aztec-packages@c48e76c)) * **yellowpaper:** Avm nested call returns, updating calling context ([#3749](AztecProtocol/aztec-packages#3749)) ([a1c701d](AztecProtocol/aztec-packages@a1c701d)) * **yellowpaper:** Finish AVM Context definitions ([#3709](AztecProtocol/aztec-packages#3709)) ([4cfb427](AztecProtocol/aztec-packages@4cfb427)) * **yellowpaper:** Private kernel circuits ([#3559](AztecProtocol/aztec-packages#3559)) ([056e553](AztecProtocol/aztec-packages@056e553)) </details> <details><summary>barretenberg.js: 0.17.0</summary> ## [0.17.0](AztecProtocol/aztec-packages@barretenberg.js-v0.16.9...barretenberg.js-v0.17.0) (2024-01-09) ### ⚠ BREAKING CHANGES * return full verification contract from `AcirComposer::get_solidity_verifier` ([#3735](AztecProtocol/aztec-packages#3735)) ### Features * Adding option to set initial and max memory ([#3265](AztecProtocol/aztec-packages#3265)) ([0ad75fe](AztecProtocol/aztec-packages@0ad75fe)) * Bb uses goblin ([#3636](AztecProtocol/aztec-packages#3636)) ([d093266](AztecProtocol/aztec-packages@d093266)) * Correct circuit construction from acir ([#3757](AztecProtocol/aztec-packages#3757)) ([a876ab8](AztecProtocol/aztec-packages@a876ab8)) * Return full verification contract from `AcirComposer::get_solidity_verifier` ([#3735](AztecProtocol/aztec-packages#3735)) ([bd5614c](AztecProtocol/aztec-packages@bd5614c)) ### Miscellaneous * Remove HashToField128Security ACIR opcode ([#3631](AztecProtocol/aztec-packages#3631)) ([1d6d3c9](AztecProtocol/aztec-packages@1d6d3c9)) * Use simple "flat" CRS. ([#3748](AztecProtocol/aztec-packages#3748)) ([5c6c2ca](AztecProtocol/aztec-packages@5c6c2ca)) </details> <details><summary>barretenberg: 0.17.0</summary> ## [0.17.0](AztecProtocol/aztec-packages@barretenberg-v0.16.9...barretenberg-v0.17.0) (2024-01-09) ### ⚠ BREAKING CHANGES * Remove aggregation objects from RecursionConstraint ([#3885](AztecProtocol/aztec-packages#3885)) * Noir development branch (serialization changes) ([#3858](AztecProtocol/aztec-packages#3858)) * Add Side effect counter struct for ordering ([#3608](AztecProtocol/aztec-packages#3608)) * return full verification contract from `AcirComposer::get_solidity_verifier` ([#3735](AztecProtocol/aztec-packages#3735)) ### Features * Adding option to set initial and max memory ([#3265](AztecProtocol/aztec-packages#3265)) ([0ad75fe](AztecProtocol/aztec-packages@0ad75fe)) * **avm-main:** Pil -> permutations ([#3650](AztecProtocol/aztec-packages#3650)) ([c52acf6](AztecProtocol/aztec-packages@c52acf6)) * **avm-mini:** Call and return opcodes ([#3704](AztecProtocol/aztec-packages#3704)) ([e534204](AztecProtocol/aztec-packages@e534204)) * **avm:** Add standalone jump opcode ([#3781](AztecProtocol/aztec-packages#3781)) ([b1b2e7c](AztecProtocol/aztec-packages@b1b2e7c)) * **avm:** VM circuit handles tagged memory ([#3725](AztecProtocol/aztec-packages#3725)) ([739fe90](AztecProtocol/aztec-packages@739fe90)), closes [#3644](AztecProtocol/aztec-packages#3644) * Barretenberg doxygen CI ([#3818](AztecProtocol/aztec-packages#3818)) ([022a918](AztecProtocol/aztec-packages@022a918)) * Bb uses goblin ([#3636](AztecProtocol/aztec-packages#3636)) ([d093266](AztecProtocol/aztec-packages@d093266)) * Correct circuit construction from acir ([#3757](AztecProtocol/aztec-packages#3757)) ([a876ab8](AztecProtocol/aztec-packages@a876ab8)) * Goblin and eccvm bench ([#3606](AztecProtocol/aztec-packages#3606)) ([1fe63b2](AztecProtocol/aztec-packages@1fe63b2)) * Goblinize the final ecc ops in ZM ([#3741](AztecProtocol/aztec-packages#3741)) ([3048d08](AztecProtocol/aztec-packages@3048d08)) * Noir development branch (serialization changes) ([#3858](AztecProtocol/aztec-packages#3858)) ([d2ae2cd](AztecProtocol/aztec-packages@d2ae2cd)) * ProverPolynomials owns its memory ([#3560](AztecProtocol/aztec-packages#3560)) ([a4aba00](AztecProtocol/aztec-packages@a4aba00)) * Return full verification contract from `AcirComposer::get_solidity_verifier` ([#3735](AztecProtocol/aztec-packages#3735)) ([bd5614c](AztecProtocol/aztec-packages@bd5614c)) ### Bug Fixes * CRS not needed for gate_count. Grumpkin not needed for non-goblin. ([#3872](AztecProtocol/aztec-packages#3872)) ([8cda00d](AztecProtocol/aztec-packages@8cda00d)) * Disable goblin bbjs tests ([#3836](AztecProtocol/aztec-packages#3836)) ([1f5b2c6](AztecProtocol/aztec-packages@1f5b2c6)) * Reenable goblin bbjs for a single test ([#3838](AztecProtocol/aztec-packages#3838)) ([30e47a0](AztecProtocol/aztec-packages@30e47a0)) * Update toy to new master ([78cf525](AztecProtocol/aztec-packages@78cf525)) ### Miscellaneous * Add Side effect counter struct for ordering ([#3608](AztecProtocol/aztec-packages#3608)) ([c58b197](AztecProtocol/aztec-packages@c58b197)) * Align bb.js testing ([#3840](AztecProtocol/aztec-packages#3840)) ([c489727](AztecProtocol/aztec-packages@c489727)) * **avm:** Avm memory trace building ([#3835](AztecProtocol/aztec-packages#3835)) ([b7766d6](AztecProtocol/aztec-packages@b7766d6)) * Bring boxes back to CI. Build and run using docker/docker-compose. ([#3727](AztecProtocol/aztec-packages#3727)) ([4a1c0df](AztecProtocol/aztec-packages@4a1c0df)) * Cleanup recursion interface ([#3744](AztecProtocol/aztec-packages#3744)) ([fde0ac3](AztecProtocol/aztec-packages@fde0ac3)) * **dsl:** Abstract nested aggregation object from ACIR ([#3765](AztecProtocol/aztec-packages#3765)) ([92f72e4](AztecProtocol/aztec-packages@92f72e4)) * Remove aggregation objects from RecursionConstraint ([#3885](AztecProtocol/aztec-packages#3885)) ([9a80008](AztecProtocol/aztec-packages@9a80008)) * Remove HashToField128Security ACIR opcode ([#3631](AztecProtocol/aztec-packages#3631)) ([1d6d3c9](AztecProtocol/aztec-packages@1d6d3c9)) * Use simple "flat" CRS. ([#3748](AztecProtocol/aztec-packages#3748)) ([5c6c2ca](AztecProtocol/aztec-packages@5c6c2ca)) </details> --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
…#3716) Our docs build script checks a `INCLUDE_RELEASED_CODE` env var to determine what code snippets to include in the site build (either latest released version or master). This should be set when deploying the site to the public, which happens on every build on master. So we need to set this env var when on master. However, just setting the env var doesn't work, since we need to get it inside the docs docker build context. Also, we need this build to be seen as different than a build in a branch by the `check_rebuild` script, even if they have the same content hash, since `INCLUDE_RELEASED_CODE` affects the result. One option for fixing this would've been adding a mechanism for passing args to the `build` script in `build-system` which in turn passes them as `ARG`s to the `docker build` call, so they can be turned into `ENV` vars visible by our scripts. Another option could've been defining a different `Dockerfile`, a `Dockerfile.master`, where this `ENV` var is hardcoded. However, neither of these solves the `check_rebuild` issue. So what we're doing is manually changing the contents of the `docs` folder by writing a `.env` file with the env var we need to set, and loading it when building. This both gets the env var inside the docker context (since we're passing it in a file) and triggers a rebuild when needed (since it changes the inputs used for calculating the content hash). Separately from the issues above, we need to manually fetch additional commits from the repo, since we need to load code from the released commit. We're doing that in the same step where we set up the `.env`, which is after the checkout but before the build step. While this approach seems to work, it is doing much stuff around build-system, rather than playing along with it. So @charlielye I'd appreciate your comments here before merging!
…rotocol#3762) Having two different docs builds, one with released code and one without, doesn't fly with build-system, since it checks the content hash of the content to determine whether to rebuild based on committed data only. This means that the hack introduced [here](AztecProtocol#3716) does not work. So we'll just build as if we were in master on every run, for now.
🤖 I have created a release *beep* *boop* --- <details><summary>aztec-packages: 0.17.0</summary> ## [0.17.0](AztecProtocol/aztec-packages@aztec-packages-v0.16.9...aztec-packages-v0.17.0) (2024-01-09) ### ⚠ BREAKING CHANGES * Remove aggregation objects from RecursionConstraint ([AztecProtocol#3885](AztecProtocol#3885)) * Noir development branch (serialization changes) ([AztecProtocol#3858](AztecProtocol#3858)) * **aztec.js:** Move accounts out of aztec.js into new package ([AztecProtocol#3844](AztecProtocol#3844)) * Add Side effect counter struct for ordering ([AztecProtocol#3608](AztecProtocol#3608)) * typing partial address, deduplicating `Point`, `Point` -> `GrumpkinPoint` ([AztecProtocol#3814](AztecProtocol#3814)) * moving `compute_selector` to `FunctionSelector` ([AztecProtocol#3806](AztecProtocol#3806)) * moving compute_address func to AztecAddress ([AztecProtocol#3801](AztecProtocol#3801)) * updated note hash and nullifier macro ([AztecProtocol#3777](AztecProtocol#3777)) * return full verification contract from `AcirComposer::get_solidity_verifier` ([AztecProtocol#3735](AztecProtocol#3735)) * deduplicating circuit types + typing everything ([AztecProtocol#3594](AztecProtocol#3594)) ### Features * A script which runs `nargo fmt` in all packages + running it ([AztecProtocol#3803](AztecProtocol#3803)) ([5f0ebd6](AztecProtocol@5f0ebd6)) * Add new metrics ([AztecProtocol#3855](AztecProtocol#3855)) ([a2b267b](AztecProtocol@a2b267b)) * Adding option to set initial and max memory ([AztecProtocol#3265](AztecProtocol#3265)) ([0ad75fe](AztecProtocol@0ad75fe)) * **avm-main:** Pil -> permutations ([AztecProtocol#3650](AztecProtocol#3650)) ([c52acf6](AztecProtocol@c52acf6)) * **avm-mini:** Call and return opcodes ([AztecProtocol#3704](AztecProtocol#3704)) ([e534204](AztecProtocol@e534204)) * **avm:** Add standalone jump opcode ([AztecProtocol#3781](AztecProtocol#3781)) ([b1b2e7c](AztecProtocol@b1b2e7c)) * **avm:** VM circuit handles tagged memory ([AztecProtocol#3725](AztecProtocol#3725)) ([739fe90](AztecProtocol@739fe90)), closes [AztecProtocol#3644](AztecProtocol#3644) * **aztec.js:** Move accounts out of aztec.js into new package ([AztecProtocol#3844](AztecProtocol#3844)) ([afd7b6d](AztecProtocol@afd7b6d)), closes [AztecProtocol#3807](AztecProtocol#3807) * Barretenberg doxygen CI ([AztecProtocol#3818](AztecProtocol#3818)) ([022a918](AztecProtocol@022a918)) * Bb uses goblin ([AztecProtocol#3636](AztecProtocol#3636)) ([d093266](AztecProtocol@d093266)) * Compile base rollup as a circuit ([AztecProtocol#3739](AztecProtocol#3739)) ([5118d44](AztecProtocol@5118d44)) * Contract inclusion proof ([AztecProtocol#3680](AztecProtocol#3680)) ([43aa603](AztecProtocol@43aa603)) * Correct circuit construction from acir ([AztecProtocol#3757](AztecProtocol#3757)) ([a876ab8](AztecProtocol@a876ab8)) * Deduplicating circuit types + typing everything ([AztecProtocol#3594](AztecProtocol#3594)) ([fcb04a7](AztecProtocol@fcb04a7)), closes [AztecProtocol#3592](AztecProtocol#3592) [AztecProtocol#3059](AztecProtocol#3059) * Goblin and eccvm bench ([AztecProtocol#3606](AztecProtocol#3606)) ([1fe63b2](AztecProtocol@1fe63b2)) * Goblinize the final ecc ops in ZM ([AztecProtocol#3741](AztecProtocol#3741)) ([3048d08](AztecProtocol@3048d08)) * Launch the monorepo in a codespace. ([AztecProtocol#3829](AztecProtocol#3829)) ([f5a4a78](AztecProtocol@f5a4a78)) * Moving `compute_selector` to `FunctionSelector` ([AztecProtocol#3806](AztecProtocol#3806)) ([bbaebf4](AztecProtocol@bbaebf4)), closes [AztecProtocol#3681](AztecProtocol#3681) * Moving compute_address func to AztecAddress ([AztecProtocol#3801](AztecProtocol#3801)) ([3107aad](AztecProtocol@3107aad)), closes [AztecProtocol#3794](AztecProtocol#3794) * Node version check in `yarn-project/bootstrap.sh` ([AztecProtocol#3780](AztecProtocol#3780)) ([c29e4ee](AztecProtocol@c29e4ee)) * Noir development branch (serialization changes) ([AztecProtocol#3858](AztecProtocol#3858)) ([d2ae2cd](AztecProtocol@d2ae2cd)) * Only one tx per base rollup ([AztecProtocol#3742](AztecProtocol#3742)) ([9eef247](AztecProtocol@9eef247)) * ProverPolynomials owns its memory ([AztecProtocol#3560](AztecProtocol#3560)) ([a4aba00](AztecProtocol@a4aba00)) * Public data tree as indexed tree ([AztecProtocol#3566](AztecProtocol#3566)) ([4711ef7](AztecProtocol@4711ef7)) * PXE adds note processors for stored accounts ([AztecProtocol#3673](AztecProtocol#3673)) ([93f9315](AztecProtocol@93f9315)) * Return full verification contract from `AcirComposer::get_solidity_verifier` ([AztecProtocol#3735](AztecProtocol#3735)) ([bd5614c](AztecProtocol@bd5614c)) * Serialize synchronize and simulateTx calls by the pxe via SerialQueue ([AztecProtocol#3817](AztecProtocol#3817)) ([e893675](AztecProtocol@e893675)) * Specific membership witness functions in aztec-nr ([AztecProtocol#3674](AztecProtocol#3674)) ([3403877](AztecProtocol@3403877)), closes [AztecProtocol#3663](AztecProtocol#3663) * Tree ids in noir ([AztecProtocol#3809](AztecProtocol#3809)) ([ec2e36e](AztecProtocol@ec2e36e)) * Txpool persistence ([AztecProtocol#3672](AztecProtocol#3672)) ([4dd076c](AztecProtocol@4dd076c)), closes [AztecProtocol#3365](AztecProtocol#3365) * Typing partial address, deduplicating `Point`, `Point` -> `GrumpkinPoint` ([AztecProtocol#3814](AztecProtocol#3814)) ([44458be](AztecProtocol@44458be)), closes [AztecProtocol#3682](AztecProtocol#3682) * Update to latest noir and update noir compiler ([AztecProtocol#3696](AztecProtocol#3696)) ([62a17a4](AztecProtocol@62a17a4)) * Updated note hash and nullifier macro ([AztecProtocol#3777](AztecProtocol#3777)) ([e83dd2b](AztecProtocol@e83dd2b)), closes [AztecProtocol#3669](AztecProtocol#3669) ### Bug Fixes * AWS deploy_service regex + faucet dockerfile ([AztecProtocol#3699](AztecProtocol#3699)) ([260c7c3](AztecProtocol@260c7c3)) * Broken aztec-nr imports ([AztecProtocol#3693](AztecProtocol#3693)) ([7c8814e](AztecProtocol@7c8814e)) * Build scripts if statements ([AztecProtocol#3700](AztecProtocol#3700)) ([4847c19](AztecProtocol@4847c19)) * **ci:** Contracts_deployed check ([AztecProtocol#3703](AztecProtocol#3703)) ([6c4bf75](AztecProtocol@6c4bf75)) * **ci:** Redeploy triggers ([AztecProtocol#3677](AztecProtocol#3677)) ([cc515da](AztecProtocol@cc515da)) * CRS not needed for gate_count. Grumpkin not needed for non-goblin. ([AztecProtocol#3872](AztecProtocol#3872)) ([8cda00d](AztecProtocol@8cda00d)) * Deploy l1 contracts script ([AztecProtocol#3713](AztecProtocol#3713)) ([309be4b](AztecProtocol@309be4b)) * Disable goblin bbjs tests ([AztecProtocol#3836](AztecProtocol#3836)) ([1f5b2c6](AztecProtocol@1f5b2c6)) * Docker user permissions ([AztecProtocol#3711](AztecProtocol#3711)) ([35316fc](AztecProtocol@35316fc)) * **docs:** Fix docs build during releases ([AztecProtocol#3815](AztecProtocol#3815)) ([2e0776a](AztecProtocol@2e0776a)) * **docs:** Force docs build using latest released code always ([AztecProtocol#3762](AztecProtocol#3762)) ([5545ee6](AztecProtocol@5545ee6)) * **docs:** Make git repo available when building docs ([AztecProtocol#3761](AztecProtocol#3761)) ([bce2d99](AztecProtocol@bce2d99)) * **docs:** Show latest released code on published site ([AztecProtocol#3716](AztecProtocol#3716)) ([f1eb6d5](AztecProtocol@f1eb6d5)) * Event macro ([AztecProtocol#3784](AztecProtocol#3784)) ([3af2438](AztecProtocol@3af2438)), closes [AztecProtocol#3655](AztecProtocol#3655) * Fix for faucet and node deployment config ([AztecProtocol#3722](AztecProtocol#3722)) ([a60b71a](AztecProtocol@a60b71a)) * Flaky e2e-p2p test ([AztecProtocol#3831](AztecProtocol#3831)) ([5b1e9f2](AztecProtocol@5b1e9f2)) * Issue with `run_nargo_fmt.sh` + minor yellow paper naming improvements ([AztecProtocol#3833](AztecProtocol#3833)) ([8e692c1](AztecProtocol@8e692c1)) * Map relative path to protocol circuits ([AztecProtocol#3694](AztecProtocol#3694)) ([125ab1d](AztecProtocol@125ab1d)) * Noir-protocol circuits ([AztecProtocol#3734](AztecProtocol#3734)) ([34e2505](AztecProtocol@34e2505)) * Reenable goblin bbjs for a single test ([AztecProtocol#3838](AztecProtocol#3838)) ([30e47a0](AztecProtocol@30e47a0)) * Setup aztec-cli cache ([AztecProtocol#3698](AztecProtocol#3698)) ([48b7474](AztecProtocol@48b7474)) * Stale pseudocode in yellow paper process func ([AztecProtocol#3869](AztecProtocol#3869)) ([4a73e3d](AztecProtocol@4a73e3d)) * Subrepo commit ([b5bfb0b](AztecProtocol@b5bfb0b)) * There is no main.js ([AztecProtocol#3691](AztecProtocol#3691)) ([58ba060](AztecProtocol@58ba060)) * Unpick world state circulars. ([AztecProtocol#3721](AztecProtocol#3721)) ([84f4671](AztecProtocol@84f4671)) * Update for new p2p bootstrap node names ([AztecProtocol#3710](AztecProtocol#3710)) ([c7b29b3](AztecProtocol@c7b29b3)) * Update toy to new master ([78cf525](AztecProtocol@78cf525)) * Use lookup instead of resolve to ensure consider /etc/hosts ([AztecProtocol#3720](AztecProtocol#3720)) ([eb8413e](AztecProtocol@eb8413e)) ### Miscellaneous * Add GH action to notify gate count differences ([AztecProtocol#3724](AztecProtocol#3724)) ([c0a24fb](AztecProtocol@c0a24fb)), closes [AztecProtocol#3467](AztecProtocol#3467) * Add Side effect counter struct for ordering ([AztecProtocol#3608](AztecProtocol#3608)) ([c58b197](AztecProtocol@c58b197)) * Add small how to diagram section ([AztecProtocol#3804](AztecProtocol#3804)) ([df581f0](AztecProtocol@df581f0)) * Added cryptography section to yellow paper ([AztecProtocol#3647](AztecProtocol#3647)) ([286028b](AztecProtocol@286028b)) * Adding some clarification after a question on discourse ([AztecProtocol#3823](AztecProtocol#3823)) ([f3d37d7](AztecProtocol@f3d37d7)) * Align bb.js testing ([AztecProtocol#3840](AztecProtocol#3840)) ([c489727](AztecProtocol@c489727)) * **avm:** Avm memory trace building ([AztecProtocol#3835](AztecProtocol#3835)) ([b7766d6](AztecProtocol@b7766d6)) * Aztec js circulars ([AztecProtocol#3723](AztecProtocol#3723)) ([378407d](AztecProtocol@378407d)) * Bring boxes back to CI. Build and run using docker/docker-compose. ([AztecProtocol#3727](AztecProtocol#3727)) ([4a1c0df](AztecProtocol@4a1c0df)) * Build protocol circuits on CI and stop committing artifacts ([AztecProtocol#3816](AztecProtocol#3816)) ([fa1c456](AztecProtocol@fa1c456)) * Checking noir formatting in CI ([AztecProtocol#3828](AztecProtocol#3828)) ([b53bacf](AztecProtocol@b53bacf)), closes [AztecProtocol#3825](AztecProtocol#3825) * Cleaning inconsistency ([AztecProtocol#3851](AztecProtocol#3851)) ([9bbd70a](AztecProtocol@9bbd70a)) * Cleanup recursion interface ([AztecProtocol#3744](AztecProtocol#3744)) ([fde0ac3](AztecProtocol@fde0ac3)) * **docs:** Add block productions ([AztecProtocol#3770](AztecProtocol#3770)) ([f091f49](AztecProtocol@f091f49)) * **docs:** Add high level overview of a tx ([AztecProtocol#3763](AztecProtocol#3763)) ([9a55e57](AztecProtocol@9a55e57)) * **docs:** Remove npm reference section from testing page ([AztecProtocol#3719](AztecProtocol#3719)) ([1484c11](AztecProtocol@1484c11)) * **docs:** Remove references to npm packages ([AztecProtocol#3676](AztecProtocol#3676)) ([bd5355f](AztecProtocol@bd5355f)) * **docs:** Starting a migration notes section ([AztecProtocol#3853](AztecProtocol#3853)) ([060f39a](AztecProtocol@060f39a)) * **docs:** Update deps in tutorials ([AztecProtocol#3708](AztecProtocol#3708)) ([f3d93aa](AztecProtocol@f3d93aa)) * **docs:** Update install script ([AztecProtocol#3847](AztecProtocol#3847)) ([7003853](AztecProtocol@7003853)) * **docs:** Update reference link ([AztecProtocol#3768](AztecProtocol#3768)) ([18edb98](AztecProtocol@18edb98)) * **docs:** Update testing pages ([AztecProtocol#3733](AztecProtocol#3733)) ([1c68e3b](AztecProtocol@1c68e3b)) * **docs:** Update token bridge tutorial ([AztecProtocol#3773](AztecProtocol#3773)) ([764cb46](AztecProtocol@764cb46)) * **docs:** Update trees page ([AztecProtocol#3732](AztecProtocol#3732)) ([b265531](AztecProtocol@b265531)) * **dsl:** Abstract nested aggregation object from ACIR ([AztecProtocol#3765](AztecProtocol#3765)) ([92f72e4](AztecProtocol@92f72e4)) * Increase benchmark warning threshold for trial decrypt ([AztecProtocol#3602](AztecProtocol#3602)) ([913943e](AztecProtocol@913943e)) * Just nargo compile. ([AztecProtocol#3775](AztecProtocol#3775)) ([3d08ef9](AztecProtocol@3d08ef9)) * Move boxes out of yarn-project ([AztecProtocol#3688](AztecProtocol#3688)) ([472596c](AztecProtocol@472596c)) * Noir sync ([AztecProtocol#3884](AztecProtocol#3884)) ([217de09](AztecProtocol@217de09)) * Remove aggregation objects from RecursionConstraint ([AztecProtocol#3885](AztecProtocol#3885)) ([9a80008](AztecProtocol@9a80008)) * Remove HashToField128Security ACIR opcode ([AztecProtocol#3631](AztecProtocol#3631)) ([1d6d3c9](AztecProtocol@1d6d3c9)) * Removing leaf data type + related cleanup ([AztecProtocol#3794](AztecProtocol#3794)) ([3030cc8](AztecProtocol@3030cc8)) * Rename generate-ts/nr commands to codegen. ([AztecProtocol#3843](AztecProtocol#3843)) ([1fcb964](AztecProtocol@1fcb964)) * Replace relative paths to noir-protocol-circuits ([c2fed18](AztecProtocol@c2fed18)) * Replace relative paths to noir-protocol-circuits ([3accd8a](AztecProtocol@3accd8a)) * Replace relative paths to noir-protocol-circuits ([346590b](AztecProtocol@346590b)) * Replace relative paths to noir-protocol-circuits ([861d928](AztecProtocol@861d928)) * Show noir tag alongside commit on sandbox startup ([AztecProtocol#3750](AztecProtocol#3750)) ([009f66d](AztecProtocol@009f66d)) * Update governance vote ballot ([AztecProtocol#3789](AztecProtocol#3789)) ([f8976ad](AztecProtocol@f8976ad)) * Update how_to_contribute.md ([AztecProtocol#3759](AztecProtocol#3759)) ([4567ec4](AztecProtocol@4567ec4)) * Update privacy main.md ([AztecProtocol#3760](AztecProtocol#3760)) ([c3d8b5d](AztecProtocol@c3d8b5d)) * Use repo BB for gate diff ([AztecProtocol#3852](AztecProtocol#3852)) ([506e719](AztecProtocol@506e719)) * Use simple "flat" CRS. ([AztecProtocol#3748](AztecProtocol#3748)) ([5c6c2ca](AztecProtocol@5c6c2ca)) * Use traits in noir-protocol-circuits ([AztecProtocol#3832](AztecProtocol#3832)) ([88fcf8d](AztecProtocol@88fcf8d)) ### Documentation * A layout of logs section of yellow paper ([AztecProtocol#3582](AztecProtocol#3582)) ([8c759f6](AztecProtocol@8c759f6)) * Add current thinking on upgrades ([AztecProtocol#3743](AztecProtocol#3743)) ([9f3d972](AztecProtocol@9f3d972)) * Add da doc ([AztecProtocol#3736](AztecProtocol#3736)) ([193f3f2](AztecProtocol@193f3f2)), closes [AztecProtocol#3645](AztecProtocol#3645) * Bytecode ([AztecProtocol#3701](AztecProtocol#3701)) ([912df7e](AztecProtocol@912df7e)) * Extend state documentation ([AztecProtocol#3731](AztecProtocol#3731)) ([a99cbd6](AztecProtocol@a99cbd6)) * Remove mentions of noir-compiler ([AztecProtocol#3702](AztecProtocol#3702)) ([ea7cd50](AztecProtocol@ea7cd50)) * Yellow paper rollup circuits and state update ([AztecProtocol#3558](AztecProtocol#3558)) ([b2d6376](AztecProtocol@b2d6376)) * **yellow-paper:** Circuits ([AztecProtocol#3782](AztecProtocol#3782)) ([a935ca3](AztecProtocol@a935ca3)) * **yellow-paper:** Contract deployment ([AztecProtocol#3624](AztecProtocol#3624)) ([b282867](AztecProtocol@b282867)), closes [AztecProtocol#3104](AztecProtocol#3104) * **yellow-paper:** Drop pokodl request in key derivation ([AztecProtocol#3837](AztecProtocol#3837)) ([a3920fb](AztecProtocol@a3920fb)) * **yellow-paper:** Update keys and addresses ([AztecProtocol#3707](AztecProtocol#3707)) ([56992ae](AztecProtocol@56992ae)) * **yellowpaper:** AVM high-level execution ([AztecProtocol#3717](AztecProtocol#3717)) ([2ded221](AztecProtocol@2ded221)) * **yellowpaper:** AVM intro sections ([AztecProtocol#3692](AztecProtocol#3692)) ([c48e76c](AztecProtocol@c48e76c)) * **yellowpaper:** Avm nested call returns, updating calling context ([AztecProtocol#3749](AztecProtocol#3749)) ([a1c701d](AztecProtocol@a1c701d)) * **yellowpaper:** Finish AVM Context definitions ([AztecProtocol#3709](AztecProtocol#3709)) ([4cfb427](AztecProtocol@4cfb427)) * **yellowpaper:** Private kernel circuits ([AztecProtocol#3559](AztecProtocol#3559)) ([056e553](AztecProtocol@056e553)) </details> <details><summary>barretenberg.js: 0.17.0</summary> ## [0.17.0](AztecProtocol/aztec-packages@barretenberg.js-v0.16.9...barretenberg.js-v0.17.0) (2024-01-09) ### ⚠ BREAKING CHANGES * return full verification contract from `AcirComposer::get_solidity_verifier` ([AztecProtocol#3735](AztecProtocol#3735)) ### Features * Adding option to set initial and max memory ([AztecProtocol#3265](AztecProtocol#3265)) ([0ad75fe](AztecProtocol@0ad75fe)) * Bb uses goblin ([AztecProtocol#3636](AztecProtocol#3636)) ([d093266](AztecProtocol@d093266)) * Correct circuit construction from acir ([AztecProtocol#3757](AztecProtocol#3757)) ([a876ab8](AztecProtocol@a876ab8)) * Return full verification contract from `AcirComposer::get_solidity_verifier` ([AztecProtocol#3735](AztecProtocol#3735)) ([bd5614c](AztecProtocol@bd5614c)) ### Miscellaneous * Remove HashToField128Security ACIR opcode ([AztecProtocol#3631](AztecProtocol#3631)) ([1d6d3c9](AztecProtocol@1d6d3c9)) * Use simple "flat" CRS. ([AztecProtocol#3748](AztecProtocol#3748)) ([5c6c2ca](AztecProtocol@5c6c2ca)) </details> <details><summary>barretenberg: 0.17.0</summary> ## [0.17.0](AztecProtocol/aztec-packages@barretenberg-v0.16.9...barretenberg-v0.17.0) (2024-01-09) ### ⚠ BREAKING CHANGES * Remove aggregation objects from RecursionConstraint ([AztecProtocol#3885](AztecProtocol#3885)) * Noir development branch (serialization changes) ([AztecProtocol#3858](AztecProtocol#3858)) * Add Side effect counter struct for ordering ([AztecProtocol#3608](AztecProtocol#3608)) * return full verification contract from `AcirComposer::get_solidity_verifier` ([AztecProtocol#3735](AztecProtocol#3735)) ### Features * Adding option to set initial and max memory ([AztecProtocol#3265](AztecProtocol#3265)) ([0ad75fe](AztecProtocol@0ad75fe)) * **avm-main:** Pil -> permutations ([AztecProtocol#3650](AztecProtocol#3650)) ([c52acf6](AztecProtocol@c52acf6)) * **avm-mini:** Call and return opcodes ([AztecProtocol#3704](AztecProtocol#3704)) ([e534204](AztecProtocol@e534204)) * **avm:** Add standalone jump opcode ([AztecProtocol#3781](AztecProtocol#3781)) ([b1b2e7c](AztecProtocol@b1b2e7c)) * **avm:** VM circuit handles tagged memory ([AztecProtocol#3725](AztecProtocol#3725)) ([739fe90](AztecProtocol@739fe90)), closes [AztecProtocol#3644](AztecProtocol#3644) * Barretenberg doxygen CI ([AztecProtocol#3818](AztecProtocol#3818)) ([022a918](AztecProtocol@022a918)) * Bb uses goblin ([AztecProtocol#3636](AztecProtocol#3636)) ([d093266](AztecProtocol@d093266)) * Correct circuit construction from acir ([AztecProtocol#3757](AztecProtocol#3757)) ([a876ab8](AztecProtocol@a876ab8)) * Goblin and eccvm bench ([AztecProtocol#3606](AztecProtocol#3606)) ([1fe63b2](AztecProtocol@1fe63b2)) * Goblinize the final ecc ops in ZM ([AztecProtocol#3741](AztecProtocol#3741)) ([3048d08](AztecProtocol@3048d08)) * Noir development branch (serialization changes) ([AztecProtocol#3858](AztecProtocol#3858)) ([d2ae2cd](AztecProtocol@d2ae2cd)) * ProverPolynomials owns its memory ([AztecProtocol#3560](AztecProtocol#3560)) ([a4aba00](AztecProtocol@a4aba00)) * Return full verification contract from `AcirComposer::get_solidity_verifier` ([AztecProtocol#3735](AztecProtocol#3735)) ([bd5614c](AztecProtocol@bd5614c)) ### Bug Fixes * CRS not needed for gate_count. Grumpkin not needed for non-goblin. ([AztecProtocol#3872](AztecProtocol#3872)) ([8cda00d](AztecProtocol@8cda00d)) * Disable goblin bbjs tests ([AztecProtocol#3836](AztecProtocol#3836)) ([1f5b2c6](AztecProtocol@1f5b2c6)) * Reenable goblin bbjs for a single test ([AztecProtocol#3838](AztecProtocol#3838)) ([30e47a0](AztecProtocol@30e47a0)) * Update toy to new master ([78cf525](AztecProtocol@78cf525)) ### Miscellaneous * Add Side effect counter struct for ordering ([AztecProtocol#3608](AztecProtocol#3608)) ([c58b197](AztecProtocol@c58b197)) * Align bb.js testing ([AztecProtocol#3840](AztecProtocol#3840)) ([c489727](AztecProtocol@c489727)) * **avm:** Avm memory trace building ([AztecProtocol#3835](AztecProtocol#3835)) ([b7766d6](AztecProtocol@b7766d6)) * Bring boxes back to CI. Build and run using docker/docker-compose. ([AztecProtocol#3727](AztecProtocol#3727)) ([4a1c0df](AztecProtocol@4a1c0df)) * Cleanup recursion interface ([AztecProtocol#3744](AztecProtocol#3744)) ([fde0ac3](AztecProtocol@fde0ac3)) * **dsl:** Abstract nested aggregation object from ACIR ([AztecProtocol#3765](AztecProtocol#3765)) ([92f72e4](AztecProtocol@92f72e4)) * Remove aggregation objects from RecursionConstraint ([AztecProtocol#3885](AztecProtocol#3885)) ([9a80008](AztecProtocol@9a80008)) * Remove HashToField128Security ACIR opcode ([AztecProtocol#3631](AztecProtocol#3631)) ([1d6d3c9](AztecProtocol@1d6d3c9)) * Use simple "flat" CRS. ([AztecProtocol#3748](AztecProtocol#3748)) ([5c6c2ca](AztecProtocol@5c6c2ca)) </details> --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
Our docs build script checks a
INCLUDE_RELEASED_CODE
env var to determine what code snippets to include in the site build (either latest released version or master). This should be set when deploying the site to the public, which happens on every build on master. So we need to set this env var when on master.However, just setting the env var doesn't work, since we need to get it inside the docs docker build context. Also, we need this build to be seen as different than a build in a branch by the
check_rebuild
script, even if they have the same content hash, sinceINCLUDE_RELEASED_CODE
affects the result.One option for fixing this would've been adding a mechanism for passing args to the
build
script inbuild-system
which in turn passes them asARG
s to thedocker build
call, so they can be turned intoENV
vars visible by our scripts. Another option could've been defining a differentDockerfile
, aDockerfile.master
, where thisENV
var is hardcoded. However, neither of these solves thecheck_rebuild
issue.So what we're doing is manually changing the contents of the
docs
folder by writing a.env
file with the env var we need to set, and loading it when building. This both gets the env var inside the docker context (since we're passing it in a file) and triggers a rebuild when needed (since it changes the inputs used for calculating the content hash).Separately from the issues above, we need to manually fetch additional commits from the repo, since we need to load code from the released commit. We're doing that in the same step where we set up the
.env
, which is after the checkout but before the build step.While this approach seems to work, it is doing much stuff around build-system, rather than playing along with it. So @charlielye I'd appreciate your comments here before merging!