diff --git a/Cargo.lock b/Cargo.lock index e60ee68..317b6d2 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1745,7 +1745,7 @@ dependencies = [ [[package]] name = "hyperlight-javascript-sandbox" -version = "0.1.0" +version = "0.2.0" dependencies = [ "anyhow", "hyperlight-js", @@ -1802,7 +1802,7 @@ dependencies = [ [[package]] name = "hyperlight-sandbox" -version = "0.1.0" +version = "0.2.0" dependencies = [ "anyhow", "bitflags 2.11.0", @@ -1826,7 +1826,7 @@ dependencies = [ [[package]] name = "hyperlight-sandbox-backend-hyperlight-js" -version = "0.1.0" +version = "0.2.0" dependencies = [ "hyperlight-javascript-sandbox", "hyperlight-sandbox", @@ -1836,7 +1836,7 @@ dependencies = [ [[package]] name = "hyperlight-sandbox-backend-wasm" -version = "0.1.0" +version = "0.2.0" dependencies = [ "hyperlight-sandbox", "hyperlight-sandbox-pyo3-common", @@ -1846,7 +1846,7 @@ dependencies = [ [[package]] name = "hyperlight-sandbox-pyo3-common" -version = "0.1.0" +version = "0.2.0" dependencies = [ "anyhow", "hyperlight-sandbox", @@ -1918,7 +1918,7 @@ dependencies = [ [[package]] name = "hyperlight-wasm-sandbox" -version = "0.1.0" +version = "0.2.0" dependencies = [ "anyhow", "bytes", diff --git a/Cargo.toml b/Cargo.toml index bc8680a..1817b28 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -14,7 +14,7 @@ exclude = [ resolver = "2" [workspace.package] -version = "0.1.0" +version = "0.2.0" edition = "2024" rust-version = "1.89" license = "Apache-2.0" @@ -23,10 +23,12 @@ license = "Apache-2.0" hyperlight-sandbox = { path = "src/hyperlight_sandbox" } hyperlight-javascript-sandbox = { path = "src/javascript_sandbox" } hyperlight-wasm-sandbox = { path = "src/wasm_sandbox" } +hyperlight-sandbox-pyo3-common = { path = "src/sdk/python/pyo3_common" } hyperlight-common = { version = "0.14.0", default-features = false } hyperlight-component-macro = { version = "0.14.0" } hyperlight-host = { version = "0.14.0", default-features = false, features = ["executable_heap"] } hyperlight-wasm = { git = "https://github.com/jsturtevant/hyperlight-wasm", rev = "05a9eea" } #branch util-compont-fixes +pyo3 = { version = "0.28", features = ["extension-module"] } # Patched component-util (name collision fix, flags fix, empty-ns fix) # https://github.com/jsturtevant/hyperlight-1/tree/wasm-component-fixes diff --git a/RELEASE.md b/RELEASE.md new file mode 100644 index 0000000..f0d9b91 --- /dev/null +++ b/RELEASE.md @@ -0,0 +1,47 @@ +# Release Process + +## 1. Update Package Versions + +Bump the version in **all** manifest files. For example, to go from `0.1.0` → `0.2.0`: + +### Rust (Cargo) + +- `Cargo.toml` — `[workspace.package] version` +- `src/nanvix_sandbox/Cargo.toml` — `[package] version` (excluded from workspace, must be updated manually) + +All other workspace member crates inherit the version automatically. + +### Python (pyproject.toml) + +- `pyproject.toml` (root dev package) +- `src/sdk/python/core/pyproject.toml` (also update `optional-dependencies` version constraints) +- `src/sdk/python/hyperlight_js_backend/pyproject.toml` +- `src/sdk/python/wasm_backend/pyproject.toml` +- `src/sdk/python/wasm_guests/javascript_guest/pyproject.toml` +- `src/sdk/python/wasm_guests/python_guest/pyproject.toml` + +### JavaScript (package.json) + +- `src/wasm_sandbox/guests/javascript/package.json` + +## 2. Verify the Build + +```sh +just build +just fmt-check +``` + +## 3. Commit and Merge + +Open a PR with the version bump, get it reviewed, and merge to `main`. + +## 4. Tag and Publish + +```sh +git checkout main +git pull --ff-only +git tag -s -a v0.2.0 -m "v0.2.0" +git push --tags +``` + +Replace `v0.2.0` with the version you are releasing. diff --git a/pyproject.toml b/pyproject.toml index 5058671..390aa4d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "hyperlight-sandbox-dev" -version = "0.0.0" +version = "0.2.0" requires-python = ">=3.10" [tool.uv] diff --git a/src/nanvix_sandbox/Cargo.lock b/src/nanvix_sandbox/Cargo.lock index a8b72de..b5ffd0a 100644 --- a/src/nanvix_sandbox/Cargo.lock +++ b/src/nanvix_sandbox/Cargo.lock @@ -1306,7 +1306,7 @@ dependencies = [ [[package]] name = "hyperlight-nanvix-sandbox" -version = "0.1.0" +version = "0.2.0" dependencies = [ "anyhow", "hyperlight-nanvix", @@ -1317,7 +1317,7 @@ dependencies = [ [[package]] name = "hyperlight-sandbox" -version = "0.1.0" +version = "0.2.0" dependencies = [ "anyhow", "bitflags 2.11.0", diff --git a/src/nanvix_sandbox/Cargo.toml b/src/nanvix_sandbox/Cargo.toml index 4e952e9..f104c11 100644 --- a/src/nanvix_sandbox/Cargo.toml +++ b/src/nanvix_sandbox/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "hyperlight-nanvix-sandbox" -version = "0.1.0" +version = "0.2.0" edition = "2021" license = "Apache-2.0" description = "Nanvix microkernel sandbox backend for hyperlight-sandbox" diff --git a/src/sdk/python/core/pyproject.toml b/src/sdk/python/core/pyproject.toml index 5973a39..58a1e5e 100644 --- a/src/sdk/python/core/pyproject.toml +++ b/src/sdk/python/core/pyproject.toml @@ -4,13 +4,13 @@ build-backend = "setuptools.build_meta" [project] name = "hyperlight-sandbox" -version = "0.1.0" +version = "0.2.0" description = "Python API for running code in isolated Hyperlight sandboxes with swappable backends" readme = "README.md" license = "Apache-2.0" requires-python = ">=3.10" dependencies = [] -optional-dependencies = { wasm = ["hyperlight-sandbox-backend-wasm>=0.1.0"], hyperlight_js = ["hyperlight-sandbox-backend-hyperlight-js>=0.1.0"], python_guest = ["hyperlight-sandbox-python-guest>=0.1.0"], javascript_guest = ["hyperlight-sandbox-javascript-guest>=0.1.0"], dev = ["atheris>=2.3.0"] } +optional-dependencies = { wasm = ["hyperlight-sandbox-backend-wasm>=0.2.0"], hyperlight_js = ["hyperlight-sandbox-backend-hyperlight-js>=0.2.0"], python_guest = ["hyperlight-sandbox-python-guest>=0.2.0"], javascript_guest = ["hyperlight-sandbox-javascript-guest>=0.2.0"], dev = ["atheris>=2.3.0"] } classifiers = [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", diff --git a/src/sdk/python/hyperlight_js_backend/Cargo.toml b/src/sdk/python/hyperlight_js_backend/Cargo.toml index 1d3e27e..00cfa6c 100644 --- a/src/sdk/python/hyperlight_js_backend/Cargo.toml +++ b/src/sdk/python/hyperlight_js_backend/Cargo.toml @@ -1,16 +1,17 @@ [package] name = "hyperlight-sandbox-backend-hyperlight-js" -version = "0.1.0" -edition = "2024" +version.workspace = true +edition.workspace = true +rust-version.workspace = true +license.workspace = true description = "HyperlightJS backend bindings for hyperlight-sandbox" -license = "Apache-2.0" [lib] name = "_native_js" crate-type = ["cdylib"] [dependencies] -pyo3 = { version = "0.28", features = ["extension-module"] } -hyperlight-sandbox = { path = "../../../hyperlight_sandbox" } -hyperlight-javascript-sandbox = { path = "../../../javascript_sandbox" } -hyperlight-sandbox-pyo3-common = { path = "../pyo3_common" } \ No newline at end of file +pyo3.workspace = true +hyperlight-sandbox.workspace = true +hyperlight-javascript-sandbox.workspace = true +hyperlight-sandbox-pyo3-common.workspace = true \ No newline at end of file diff --git a/src/sdk/python/hyperlight_js_backend/pyproject.toml b/src/sdk/python/hyperlight_js_backend/pyproject.toml index 95bdf08..851cadf 100644 --- a/src/sdk/python/hyperlight_js_backend/pyproject.toml +++ b/src/sdk/python/hyperlight_js_backend/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "maturin" [project] name = "hyperlight-sandbox-backend-hyperlight-js" -version = "0.1.0" +version = "0.2.0" description = "HyperlightJS backend implementation for hyperlight-sandbox" readme = "README.md" license = "Apache-2.0" diff --git a/src/sdk/python/pyo3_common/Cargo.toml b/src/sdk/python/pyo3_common/Cargo.toml index f52ae3e..4ca3e1a 100644 --- a/src/sdk/python/pyo3_common/Cargo.toml +++ b/src/sdk/python/pyo3_common/Cargo.toml @@ -1,13 +1,14 @@ [package] name = "hyperlight-sandbox-pyo3-common" -version = "0.1.0" -edition = "2024" +version.workspace = true +edition.workspace = true +rust-version.workspace = true +license.workspace = true description = "Shared PyO3 helpers for hyperlight-sandbox backend crates" -license = "Apache-2.0" [dependencies] -pyo3 = { version = "0.28", features = ["extension-module"] } -hyperlight-sandbox = { path = "../../../hyperlight_sandbox" } +pyo3.workspace = true +hyperlight-sandbox.workspace = true anyhow = "1" serde_json = "1" log = "0.4" diff --git a/src/sdk/python/wasm_backend/Cargo.toml b/src/sdk/python/wasm_backend/Cargo.toml index ec4ba3a..62a2912 100644 --- a/src/sdk/python/wasm_backend/Cargo.toml +++ b/src/sdk/python/wasm_backend/Cargo.toml @@ -1,16 +1,17 @@ [package] name = "hyperlight-sandbox-backend-wasm" -version = "0.1.0" -edition = "2024" +version.workspace = true +edition.workspace = true +rust-version.workspace = true +license.workspace = true description = "Wasm backend bindings for hyperlight-sandbox" -license = "Apache-2.0" [lib] name = "_native_wasm" crate-type = ["cdylib"] [dependencies] -pyo3 = { version = "0.28", features = ["extension-module"] } -hyperlight-sandbox = { path = "../../../hyperlight_sandbox" } -hyperlight-wasm-sandbox = { path = "../../../wasm_sandbox" } -hyperlight-sandbox-pyo3-common = { path = "../pyo3_common" } \ No newline at end of file +pyo3.workspace = true +hyperlight-sandbox.workspace = true +hyperlight-wasm-sandbox.workspace = true +hyperlight-sandbox-pyo3-common.workspace = true \ No newline at end of file diff --git a/src/sdk/python/wasm_backend/pyproject.toml b/src/sdk/python/wasm_backend/pyproject.toml index be1574d..3f21491 100644 --- a/src/sdk/python/wasm_backend/pyproject.toml +++ b/src/sdk/python/wasm_backend/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "maturin" [project] name = "hyperlight-sandbox-backend-wasm" -version = "0.1.0" +version = "0.2.0" description = "Wasm backend implementation for hyperlight-sandbox" readme = "README.md" license = "Apache-2.0" diff --git a/src/sdk/python/wasm_guests/javascript_guest/pyproject.toml b/src/sdk/python/wasm_guests/javascript_guest/pyproject.toml index abbf5f6..a68261e 100644 --- a/src/sdk/python/wasm_guests/javascript_guest/pyproject.toml +++ b/src/sdk/python/wasm_guests/javascript_guest/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "hyperlight-sandbox-javascript-guest" -version = "0.1.0" +version = "0.2.0" description = "Packaged Hyperlight Wasm JavaScript guest exposed as javascript_guest.path" readme = "README.md" license = "Apache-2.0" diff --git a/src/sdk/python/wasm_guests/python_guest/pyproject.toml b/src/sdk/python/wasm_guests/python_guest/pyproject.toml index 4779dd7..35d93d6 100644 --- a/src/sdk/python/wasm_guests/python_guest/pyproject.toml +++ b/src/sdk/python/wasm_guests/python_guest/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "hyperlight-sandbox-python-guest" -version = "0.1.0" +version = "0.2.0" description = "Packaged Hyperlight Wasm Python guest exposed as python_guest.path" readme = "README.md" license = "Apache-2.0" diff --git a/src/wasm_sandbox/guests/javascript/package-lock.json b/src/wasm_sandbox/guests/javascript/package-lock.json index 6710b87..4e7dcb3 100644 --- a/src/wasm_sandbox/guests/javascript/package-lock.json +++ b/src/wasm_sandbox/guests/javascript/package-lock.json @@ -1,12 +1,12 @@ { "name": "hyperlight-sandbox-js-guest", - "version": "0.1.0", + "version": "0.2.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "hyperlight-sandbox-js-guest", - "version": "0.1.0", + "version": "0.2.0", "devDependencies": { "@bytecodealliance/componentize-js": "^0.19.3", "@bytecodealliance/jco": "^1.17.6" diff --git a/src/wasm_sandbox/guests/javascript/package.json b/src/wasm_sandbox/guests/javascript/package.json index 6e51d89..acdb682 100644 --- a/src/wasm_sandbox/guests/javascript/package.json +++ b/src/wasm_sandbox/guests/javascript/package.json @@ -1,6 +1,6 @@ { "name": "hyperlight-sandbox-js-guest", - "version": "0.1.0", + "version": "0.2.0", "private": true, "type": "module", "scripts": { diff --git a/uv.lock b/uv.lock index 515819d..b621ed8 100644 --- a/uv.lock +++ b/uv.lock @@ -671,7 +671,7 @@ wheels = [ [[package]] name = "hyperlight-sandbox" -version = "0.1.0" +version = "0.2.0" source = { editable = "src/sdk/python/core" } [package.optional-dependencies] @@ -703,17 +703,17 @@ provides-extras = ["wasm", "hyperlight-js", "python-guest", "javascript-guest", [[package]] name = "hyperlight-sandbox-backend-hyperlight-js" -version = "0.1.0" +version = "0.2.0" source = { editable = "src/sdk/python/hyperlight_js_backend" } [[package]] name = "hyperlight-sandbox-backend-wasm" -version = "0.1.0" +version = "0.2.0" source = { editable = "src/sdk/python/wasm_backend" } [[package]] name = "hyperlight-sandbox-dev" -version = "0.0.0" +version = "0.2.0" source = { virtual = "." } [package.dev-dependencies] @@ -777,12 +777,12 @@ dev = [ [[package]] name = "hyperlight-sandbox-javascript-guest" -version = "0.1.0" +version = "0.2.0" source = { editable = "src/sdk/python/wasm_guests/javascript_guest" } [[package]] name = "hyperlight-sandbox-python-guest" -version = "0.1.0" +version = "0.2.0" source = { editable = "src/sdk/python/wasm_guests/python_guest" } [[package]]