diff --git a/docs/docs/dev_docs/contracts/syntax/main.md b/docs/docs/dev_docs/contracts/syntax/main.md
index ff85d8a5b65f..c89e97a1a2db 100644
--- a/docs/docs/dev_docs/contracts/syntax/main.md
+++ b/docs/docs/dev_docs/contracts/syntax/main.md
@@ -18,21 +18,22 @@ Aztec.nr contains abstractions which remove the need to understand the low-level
To import Aztec.nr into your Aztec contract project, simply include it as a dependency. For example:
-```toml
-[package]
+import { AztecPackagesVersion } from "@site/src/components/Version";
+
+{`[package]
name = "token_contract"
authors = [""]
compiler_version = "0.1"
type = "contract"
-
+
[dependencies]
# Framework import
-aztec = { git="https://github.com/AztecProtocol/aztec-packages/", tag="master", directory="yarn-project/aztec-nr/aztec" }
-
+aztec = { git="https://github.com/AztecProtocol/aztec-packages/", tag="${AztecPackagesVersion()}", directory="yarn-project/aztec-nr/aztec" }
+
# Utility dependencies
-value_note = { git="https://github.com/AztecProtocol/aztec-packages/", tag="master", directory="yarn-project/aztec-nr/value-note"}
-safe_math = { git="https://github.com/AztecProtocol/aztec-packages/", tag="master", directory="yarn-project/aztec-nr/safe-math"}
-```
+value_note = { git="https://github.com/AztecProtocol/aztec-packages/", tag="${AztecPackagesVersion()}", directory="yarn-project/aztec-nr/value-note"}
+safe_math = { git="https://github.com/AztecProtocol/aztec-packages/", tag="${AztecPackagesVersion()}", directory="yarn-project/aztec-nr/safe-math"}
+`}
:::info
Note: currently the dependency name ***MUST*** be `aztec`. The framework expects this namespace to be available when compiling into contracts. This limitation may be removed in the future.
diff --git a/docs/docs/dev_docs/dapps/tutorials/contract_deployment.md b/docs/docs/dev_docs/dapps/tutorials/contract_deployment.md
index 90b607a846ce..fc940f98cf82 100644
--- a/docs/docs/dev_docs/dapps/tutorials/contract_deployment.md
+++ b/docs/docs/dev_docs/dapps/tutorials/contract_deployment.md
@@ -17,12 +17,13 @@ nargo new --contract token
Then, open the `contracts/token/Nargo.toml` configuration file, and add the `aztec.nr` and `value_note` libraries as dependencies:
-```toml
-[dependencies]
-aztec = { git="https://github.com/AztecProtocol/aztec-nr", tag="master", directory="aztec" }
-value_note = { git="https://github.com/AztecProtocol/aztec-nr", tag="master", directory="value-note" }
-safe_math = { git="https://github.com/AztecProtocol/aztec-nr", tag="master", directory="safe-math" }
-```
+import { AztecPackagesVersion } from "@site/src/components/Version";
+
+{`[dependencies]
+aztec = { git="https://github.com/AztecProtocol/aztec-packages/", tag="${AztecPackagesVersion()}", directory="yarn-project/aztec-nr/aztec" }
+value_note = { git="https://github.com/AztecProtocol/aztec-packages/", tag="${AztecPackagesVersion()}", directory="yarn-project/aztec-nr/value-note"}
+safe_math = { git="https://github.com/AztecProtocol/aztec-packages/", tag="${AztecPackagesVersion()}", directory="yarn-project/aztec-nr/safe-math"}
+`}
Last, copy-paste the code from the `Token` contract into `contracts/token/main.nr`:
diff --git a/docs/docs/dev_docs/getting_started/noir_contracts.md b/docs/docs/dev_docs/getting_started/noir_contracts.md
index 6daa1b159420..39f2a265ec92 100644
--- a/docs/docs/dev_docs/getting_started/noir_contracts.md
+++ b/docs/docs/dev_docs/getting_started/noir_contracts.md
@@ -59,16 +59,19 @@ Before writing the contracts, we must add the aztec.nr library. This adds smart
3. Add aztec.nr library as a dependency to your noir project. Open Nargo.toml that is in the `contracts/example_contract` folder, and add the dependency section as follows:
-```
-[package]
+import { AztecPackagesVersion } from "@site/src/components/Version";
+
+{`[package]
name = "example_contract"
authors = [""]
compiler_version = "0.1"
type = "contract"
-
+
[dependencies]
-aztec = { git="https://github.com/AztecProtocol/aztec-packages", tag="master", directory="yarn-project/aztec-nr/aztec" }
-```
+aztec = { git="https://github.com/AztecProtocol/aztec-packages", tag="${AztecPackagesVersion()}", directory="yarn-project/aztec-nr/aztec" }
+`}
+
+0.7.10 // x-release-please-version
You are now ready to write your own contracts!
diff --git a/docs/docs/dev_docs/getting_started/token_contract_tutorial.md b/docs/docs/dev_docs/getting_started/token_contract_tutorial.md
index d162ff8fafb3..da1268e3bd51 100644
--- a/docs/docs/dev_docs/getting_started/token_contract_tutorial.md
+++ b/docs/docs/dev_docs/getting_started/token_contract_tutorial.md
@@ -80,18 +80,19 @@ Your project should look like this:
Add the following dependencies to your Nargo.toml file, below the package information:
-```toml
-[package]
+import { AztecPackagesVersion } from "@site/src/components/Version";
+
+{`[package]
name = "token_contract"
authors = [""]
compiler_version = "0.1"
type = "contract"
-
+
[dependencies]
-aztec = { git="https://github.com/AztecProtocol/aztec-packages/", tag="master", directory="yarn-project/aztec-nr/aztec" }
-value_note = { git="https://github.com/AztecProtocol/aztec-packages/", tag="master", directory="yarn-project/aztec-nr/value-note"}
-safe_math = { git="https://github.com/AztecProtocol/aztec-packages/", tag="master", directory="yarn-project/aztec-nr/safe-math"}
-```
+aztec = { git="https://github.com/AztecProtocol/aztec-packages/", tag="${AztecPackagesVersion()}", directory="yarn-project/aztec-nr/aztec" }
+value_note = { git="https://github.com/AztecProtocol/aztec-packages/", tag="${AztecPackagesVersion()}", directory="yarn-project/aztec-nr/value-note"}
+safe_math = { git="https://github.com/AztecProtocol/aztec-packages/", tag="${AztecPackagesVersion()}", directory="yarn-project/aztec-nr/safe-math"}
+`}
## Contract Interface
diff --git a/docs/docusaurus.config.js b/docs/docusaurus.config.js
index 185e49035cf2..7354306c98f9 100644
--- a/docs/docusaurus.config.js
+++ b/docs/docusaurus.config.js
@@ -88,7 +88,17 @@ const config = {
const noirVersion = JSON.parse(
fs.readFileSync(noirVersionPath).toString()
).tag;
- return { noir: noirVersion };
+ const aztecVersionPath = path.resolve(
+ __dirname,
+ "../.release-please-manifest.json"
+ );
+ const aztecVersion = JSON.parse(
+ fs.readFileSync(aztecVersionPath).toString()
+ )["."];
+ return {
+ noir: noirVersion,
+ "aztec-packages": `aztec-packages-v${aztecVersion}`,
+ };
} catch (err) {
throw new Error(
`Error loading Noir version from noir-compiler in docusaurus build. Check load-versions in docusaurus.config.js.\n${err}`
@@ -236,6 +246,17 @@ const config = {
className: "code-block-error-line",
line: "this-will-error",
},
+ // This could be used to have release-please modify the current version in code blocks.
+ // However doing so requires to manually add each md file to release-please-config.json/extra-files
+ // which is easy to forget an error prone, so instead we rely on the AztecPackagesVersion() function.
+ {
+ line: "x-release-please-version",
+ block: {
+ start: "x-release-please-start-version",
+ end: "x-release-please-end",
+ },
+ className: "not-allowed-to-be-empty",
+ },
],
},
}),
diff --git a/docs/src/components/Version/index.js b/docs/src/components/Version/index.js
index 47f934142430..01bf315f2221 100644
--- a/docs/src/components/Version/index.js
+++ b/docs/src/components/Version/index.js
@@ -8,3 +8,4 @@ export default function Version({ what }) {
}
export const NoirVersion = () => Versions()["noir"];
+export const AztecPackagesVersion = () => Versions()["aztec-packages"];
\ No newline at end of file
diff --git a/docs/src/theme/MDXComponents.js b/docs/src/theme/MDXComponents.js
index 3d40619c5cc6..78ee1c4fb222 100644
--- a/docs/src/theme/MDXComponents.js
+++ b/docs/src/theme/MDXComponents.js
@@ -9,6 +9,7 @@ export default {
...MDXComponents,
Version,
NoirVersion,
+ AztecPackagesVersion,
InstallNargoInstructions,
CodeBlock,
};