amoskeag-rb 0.1.5 → 0.4.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4fe9584f943ea746ccb1ba1c3c5dc14d15a10f7fcf8d72643f95845e4294dd7f
4
- data.tar.gz: 3770bfe5de0d8557f52b699faf0c946f0ae3e8a23a54fac390a1762bb631ddd6
3
+ metadata.gz: f4fb02e96be641f452265c0fa6714c9e7b9448bab515fd2806381901caaeaae3
4
+ data.tar.gz: 759250bd1ddb299c7e4ef82cc2bcd84d41b528af54cf06203efbbb5d07f29448
5
5
  SHA512:
6
- metadata.gz: e98269a9da5cefd39ea6b876d5c898fec968f53c1aefa81b33d2a5ccd3576cfd444da44b52b7bfd99bc7fe04499d7e4839d299c21b7835649554e4c458f49f50
7
- data.tar.gz: 9bb680f0b3eb54c03f7cc1b6882472ef8afa29a3425514e165f4428571478908cfc970a0ce740251f3e6b8deff4731d4353689be4af1994e131b0d2f361be3d0
6
+ metadata.gz: eba8b7bf002304602d47f593749e3c3e33e4ffe1ef613a0559361b5db58679b22df9d159ae325702c066cedbd8bbd87ed514368dc759e6b19e91f9138c5b113f
7
+ data.tar.gz: e7dae49f2879da9ca54675c6dcb0262f0f68aebe2eddebffa4759006e2e171cbf98bea69c0cc9373f5cc5a403393384ce58a2650131e57adceec32c065fc56a0
data/CHANGELOG.md CHANGED
@@ -5,6 +5,65 @@ All notable changes to the amoskeag-rb gem will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [0.4.0] - 2026-10-30
9
+
10
+ 0.3.0 was tagged but never published to RubyGems because its release build
11
+ failed. 0.4.0 ships everything listed under 0.3.0 plus the fixes below.
12
+
13
+ ### Changed
14
+ - `rb_sys` runtime dependency raised to `~> 0.9.117` (source-gem installs only).
15
+
16
+ ### Fixed
17
+ - Precompiled Linux and Windows gems failed to build: the cross-compile images
18
+ were selected from the old `rb_sys` constraint and their cargo could not read
19
+ `Cargo.lock` version 4.
20
+ - `x86_64-darwin` gem build never ran because its CI runner had been retired.
21
+ - Flaky thread-safety tests that depended on thread completion order.
22
+
23
+ ## [0.3.0] - 2026-09-25
24
+
25
+ ### Added
26
+ - Exact `Integer` and `BigDecimal` support. Ruby Integers and BigDecimals passed
27
+ in as data stay exact, and Amoskeag integer and decimal results come back as
28
+ `Integer` and `BigDecimal` instead of widening to `Float`.
29
+
30
+ ### Fixed
31
+ - Source gem failed to compile (`non-exhaustive patterns: AmoskeagValue::Decimal
32
+ and AmoskeagValue::Integer not covered`). The amoskeag git dependency was not
33
+ pinned and the shipped member-level `Cargo.lock` was ignored by the workspace,
34
+ so installs built against upstream HEAD. The dependency is now pinned to a
35
+ fixed `rev` and the workspace `Cargo.lock` ships in the gem.
36
+ - Precompiled platform gems announced in 0.2.0 were never published because the
37
+ build workflow and cross-compile config were not committed. They are now.
38
+ - `extconf.rb` only passes `-static-libgcc` when the linker driver supports it.
39
+
40
+ ## [0.2.0] - 2026-06-19
41
+
42
+ ### Added
43
+ - Precompiled, statically-linked native gems for every supported platform, so
44
+ `gem install amoskeag-rb` downloads a ready-to-run binary — no Rust toolchain,
45
+ no `cargo`, no compile step. Targets: `x86_64-linux`, `aarch64-linux`,
46
+ `x86_64-linux-musl`, `aarch64-linux-musl`, `x64-mingw-ucrt`, `arm64-darwin`,
47
+ and `x86_64-darwin`, each built against Ruby 3.1–3.4.
48
+ - `misc/native.yml` as the single source of truth for build platforms + ABIs.
49
+ - `rakelib/cross.rake` with `rake gem:<platform>` / `gem:cross` tasks (rb-sys-dock)
50
+ for local cross-builds.
51
+ - GitHub Actions workflow (`.github/workflows/gem.yml`) that tests, builds every
52
+ platform gem plus a source fallback, and publishes to RubyGems on tag via
53
+ Trusted Publishing (OIDC).
54
+
55
+ ### Changed
56
+ - Build switched from `Rake::ExtensionTask` to `RbSys::ExtensionTask`; the Rust
57
+ crate is now a Cargo workspace member (root `Cargo.toml`) so cross-compilation
58
+ and `cargo metadata` resolve cleanly.
59
+ - The native binary loads from a per-ABI path (`lib/amoskeag-rb/<ruby>/`), with a
60
+ fallback for source-gem installs.
61
+ - The source gem links libstdc++/libgcc statically on Linux for portability.
62
+
63
+ ### Fixed
64
+ - The extension loader no longer relies on a development-only relative path that
65
+ failed for installed gems.
66
+
8
67
  ## [0.1.0] - 2025-01-20
9
68
 
10
69
  ### Added
@@ -35,4 +94,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
35
94
  - Pure functional evaluation (no side effects)
36
95
  - Security-first design (immune to code injection)
37
96
 
97
+ [0.4.0]: https://github.com/durable-oss/amoskeag-rb/releases/tag/v0.4.0
98
+ [0.3.0]: https://github.com/durable-oss/amoskeag-rb/releases/tag/v0.3.0
99
+ [0.2.0]: https://github.com/durable-oss/amoskeag-rb/releases/tag/v0.2.0
38
100
  [0.1.0]: https://github.com/durable-oss/amoskeag-rb/releases/tag/v0.1.0