microsandbox-rb 0.5.12 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +26 -3
- data/Cargo.lock +1 -1
- data/README.md +44 -3
- data/ext/microsandbox/Cargo.toml +1 -1
- data/lib/microsandbox/version.rb +15 -5
- data/lib/microsandbox.rb +9 -0
- data/sig/microsandbox.rbs +2 -0
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: abfe8d0fedb192bc5efa95a741ae971475a2a5cc441879c092108bc8bdf9eed5
|
|
4
|
+
data.tar.gz: ffeb9bda17817cc1c58bfe5cc9c7d58543cde155eead9d2e5eb3844c8a48b4dd
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 73379d82644123c717cd7db9391cab9bf72c16b5cf398ea104fb51d2b608353ed9cd6783db55e1490d941ae67728f1c69fe0bd2dcec37c7ad541c56996afea9f
|
|
7
|
+
data.tar.gz: b20914b13315697e89ec8a72e7620592a9c00d1e8fa908117ef24d64aea9755b431a2298b85d58ed00ca664065f0b626510c7f11fbb919860d3f839c93268a28
|
data/CHANGELOG.md
CHANGED
|
@@ -1,11 +1,33 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
3
|
All notable changes to this gem are documented here. The format is based on
|
|
4
|
-
[Keep a Changelog](https://keepachangelog.com/)
|
|
5
|
-
|
|
4
|
+
[Keep a Changelog](https://keepachangelog.com/). The gem follows its own
|
|
5
|
+
[semantic version](https://semver.org/), **independent of** the upstream
|
|
6
|
+
microsandbox runtime it embeds; each release notes the upstream runtime tag it
|
|
7
|
+
wraps, and the README's Versioning section keeps the full gem→runtime map.
|
|
6
8
|
|
|
7
9
|
## [Unreleased]
|
|
8
10
|
|
|
11
|
+
## [0.6.0] - 2026-06-23
|
|
12
|
+
|
|
13
|
+
This release puts the gem on its **own semantic version**, decoupled from the
|
|
14
|
+
upstream microsandbox runtime tag it embeds (which stays at `v0.5.8`). The
|
|
15
|
+
`0.5.x` lineage had stopped tracking upstream 1:1 — gem-only revisions and a
|
|
16
|
+
bundled breaking change (the `0.5.9 → 0.5.10` lifecycle split) had already
|
|
17
|
+
diverged the two numbers. `0.6.0` makes the split explicit; the gem version no
|
|
18
|
+
longer mirrors the upstream tag. See the README's **Versioning** section for the
|
|
19
|
+
gem→runtime map and the go-forward policy. No runtime change and no breaking API
|
|
20
|
+
change in this release.
|
|
21
|
+
|
|
22
|
+
### Added
|
|
23
|
+
|
|
24
|
+
- **`Microsandbox.runtime_version`** and the `Microsandbox::RUNTIME_VERSION`
|
|
25
|
+
constant — report the upstream microsandbox runtime tag this gem build embeds
|
|
26
|
+
(e.g. `"v0.5.8"`). The gem now versions itself independently of that tag, so
|
|
27
|
+
this is the supported way to learn which runtime is wrapped.
|
|
28
|
+
`spec/unit/version_spec.rb` pins the constant to the Cargo git tag so it can't
|
|
29
|
+
drift.
|
|
30
|
+
|
|
9
31
|
## [0.5.12] - 2026-06-23
|
|
10
32
|
|
|
11
33
|
### Fixed
|
|
@@ -269,6 +291,7 @@ microsandbox runtime, aligned with the official Python/Node/Go SDKs.
|
|
|
269
291
|
core crate has Apple-native deps). Until precompiled gems are published,
|
|
270
292
|
installing from source requires a Rust toolchain (stable >= 1.91).
|
|
271
293
|
|
|
272
|
-
[Unreleased]: https://github.com/ya-luotao/microsandbox-rb/compare/v0.
|
|
294
|
+
[Unreleased]: https://github.com/ya-luotao/microsandbox-rb/compare/v0.6.0...HEAD
|
|
295
|
+
[0.6.0]: https://github.com/ya-luotao/microsandbox-rb/compare/v0.5.12...v0.6.0
|
|
273
296
|
[0.5.8]: https://github.com/ya-luotao/microsandbox-rb/compare/v0.5.7...v0.5.8
|
|
274
297
|
[0.5.7]: https://github.com/superradcompany/microsandbox/releases/tag/v0.5.7
|
data/Cargo.lock
CHANGED
data/README.md
CHANGED
|
@@ -374,6 +374,43 @@ Resolution order when no backend is set programmatically: `MSB_BACKEND`
|
|
|
374
374
|
operations (create/start/stop/remove/get/list, one-shot exec, follow log
|
|
375
375
|
streaming); unsupported operations raise `Microsandbox::UnsupportedError`.
|
|
376
376
|
|
|
377
|
+
## Versioning
|
|
378
|
+
|
|
379
|
+
The gem follows its **own** [semantic version](https://semver.org/), **independent
|
|
380
|
+
of** the upstream `microsandbox` runtime it embeds. Early releases (`0.5.7`–`0.5.9`)
|
|
381
|
+
happened to share the upstream tag, but gem-only revisions and a bundled breaking
|
|
382
|
+
change diverged the two numbers — the gem version is **not** a reliable indicator
|
|
383
|
+
of the embedded runtime version. To learn which runtime a build wraps, ask it:
|
|
384
|
+
|
|
385
|
+
```ruby
|
|
386
|
+
Microsandbox::VERSION # => "0.6.0" (the gem's own version)
|
|
387
|
+
Microsandbox.runtime_version # => "v0.5.8" (the embedded upstream runtime tag)
|
|
388
|
+
```
|
|
389
|
+
|
|
390
|
+
| Gem version | Upstream runtime | Notes |
|
|
391
|
+
|-------------|------------------|-------|
|
|
392
|
+
| `0.5.7` | `v0.5.7` | initial release |
|
|
393
|
+
| `0.5.8` | `v0.5.7` | gem-only revision |
|
|
394
|
+
| `0.5.9` | `v0.5.7` | gem-only revision |
|
|
395
|
+
| `0.5.10` | `v0.5.8` | adopts upstream `v0.5.8`; **breaking** lifecycle split |
|
|
396
|
+
| `0.5.11` | `v0.5.8` | gem-only revision |
|
|
397
|
+
| `0.5.12` | `v0.5.8` | gem-only revision |
|
|
398
|
+
| `0.6.0` | `v0.5.8` | gem version decoupled from the upstream tag; adds `runtime_version` |
|
|
399
|
+
|
|
400
|
+
**Going forward** — the gem version moves on its own semver track and no longer
|
|
401
|
+
mirrors the upstream tag:
|
|
402
|
+
|
|
403
|
+
- A **gem-only** change (new bindings, fixes, refactors over the *same* runtime)
|
|
404
|
+
bumps the gem version by itself.
|
|
405
|
+
- **Adopting a new upstream runtime** bumps the gem version too and updates the
|
|
406
|
+
pinned git tag, `Microsandbox::RUNTIME_VERSION`, and the table above together.
|
|
407
|
+
- While the gem is `0.x`, a breaking API change bumps the **minor** (`0.5 → 0.6`),
|
|
408
|
+
not the patch — the `0.5.9 → 0.5.10` lifecycle split predates this policy and is
|
|
409
|
+
the reason for it.
|
|
410
|
+
|
|
411
|
+
Every release records its embedded runtime in `CHANGELOG.md`, and
|
|
412
|
+
`Microsandbox.runtime_version` reports it at runtime.
|
|
413
|
+
|
|
377
414
|
## Development
|
|
378
415
|
|
|
379
416
|
```bash
|
|
@@ -406,9 +443,13 @@ or credential setup is needed.
|
|
|
406
443
|
|
|
407
444
|
**Each release:**
|
|
408
445
|
|
|
409
|
-
1. Bump `Microsandbox::VERSION`
|
|
410
|
-
|
|
411
|
-
|
|
446
|
+
1. Bump the gem's **own** version — `Microsandbox::VERSION` and the matching
|
|
447
|
+
`[package] version` in `ext/microsandbox/Cargo.toml` (they must stay equal) —
|
|
448
|
+
on its independent semver track (see [Versioning](#versioning)); **don't** pick
|
|
449
|
+
the number to mirror the upstream tag. If the release also adopts a new upstream
|
|
450
|
+
runtime, bump the `tag = "vX.Y.Z"` on **both** the `microsandbox` and
|
|
451
|
+
`microsandbox-network` git deps, update `Microsandbox::RUNTIME_VERSION` to match,
|
|
452
|
+
and add a row to the Versioning table. Update `CHANGELOG.md`.
|
|
412
453
|
2. Push a `vX.Y.Z` tag. CI builds the **source gem** and pushes it to RubyGems
|
|
413
454
|
via `rubygems/configure-rubygems-credentials` (OIDC, `id-token: write`) — no
|
|
414
455
|
`RUBYGEMS_API_KEY` secret required.
|
data/ext/microsandbox/Cargo.toml
CHANGED
|
@@ -7,7 +7,7 @@ description = "Ruby SDK native extension for microsandbox — secure, fast micro
|
|
|
7
7
|
# Must equal Microsandbox::VERSION (lib/microsandbox/version.rb) — Native.version
|
|
8
8
|
# returns this via env!("CARGO_PKG_VERSION") and version_spec.rb asserts equality.
|
|
9
9
|
# The core-crate dependency below stays pinned at its own tag (v0.5.8).
|
|
10
|
-
version = "0.
|
|
10
|
+
version = "0.6.0"
|
|
11
11
|
authors = ["Super Rad Company <development@superrad.company>"]
|
|
12
12
|
repository = "https://github.com/superradcompany/microsandbox"
|
|
13
13
|
license = "Apache-2.0"
|
data/lib/microsandbox/version.rb
CHANGED
|
@@ -1,9 +1,19 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
3
|
module Microsandbox
|
|
4
|
-
# Gem version.
|
|
5
|
-
# the
|
|
6
|
-
#
|
|
7
|
-
#
|
|
8
|
-
|
|
4
|
+
# Gem version. Versioned independently of the upstream microsandbox runtime it
|
|
5
|
+
# embeds: the gem follows its own semver (while 0.x, breaking changes bump the
|
|
6
|
+
# minor and fixes bump the patch), so the number does NOT track the upstream tag
|
|
7
|
+
# one-to-one. Consult {RUNTIME_VERSION} for the wrapped runtime, and the
|
|
8
|
+
# Versioning section of the README for the full gem-to-runtime map. Must equal
|
|
9
|
+
# the native ext's Cargo crate version (`Native.version`), enforced by
|
|
10
|
+
# spec/unit/version_spec.rb.
|
|
11
|
+
VERSION = "0.6.0"
|
|
12
|
+
|
|
13
|
+
# The upstream microsandbox runtime release this gem build embeds — the `tag`
|
|
14
|
+
# pinned on the `microsandbox`/`microsandbox-network` git deps in
|
|
15
|
+
# ext/microsandbox/Cargo.toml. Exposed at runtime as
|
|
16
|
+
# {Microsandbox.runtime_version}. spec/unit/version_spec.rb asserts it stays in
|
|
17
|
+
# sync with the Cargo tag so it can't silently drift out of date.
|
|
18
|
+
RUNTIME_VERSION = "v0.5.8"
|
|
9
19
|
end
|
data/lib/microsandbox.rb
CHANGED
|
@@ -45,6 +45,15 @@ module Microsandbox
|
|
|
45
45
|
VERSION
|
|
46
46
|
end
|
|
47
47
|
|
|
48
|
+
# The upstream microsandbox runtime release this gem build embeds (the git
|
|
49
|
+
# `tag` pinned in ext/microsandbox/Cargo.toml). The gem's own {version} is
|
|
50
|
+
# versioned independently of this, so consult this to learn which runtime is
|
|
51
|
+
# wrapped. See the Versioning section of the README for the full map.
|
|
52
|
+
# @return [String] e.g. "v0.5.8"
|
|
53
|
+
def runtime_version
|
|
54
|
+
RUNTIME_VERSION
|
|
55
|
+
end
|
|
56
|
+
|
|
48
57
|
# Download and install the `msb` runtime + `libkrunfw` into
|
|
49
58
|
# `~/.microsandbox` (idempotent).
|
|
50
59
|
#
|
data/sig/microsandbox.rbs
CHANGED