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 +4 -4
- data/CHANGELOG.md +62 -0
- data/Cargo.lock +945 -0
- data/Cargo.toml +13 -0
- data/LICENSE +22 -0
- data/README.md +2 -1
- data/ext/amoskeag/Cargo.toml +17 -9
- data/ext/amoskeag/extconf.rb +51 -5
- data/ext/amoskeag/src/lib.rs +235 -114
- data/lib/amoskeag-rb/version.rb +1 -1
- data/lib/amoskeag-rb.rb +24 -10
- metadata +8 -9
- data/ext/amoskeag/Cargo.lock +0 -432
- data/ext/amoskeag/Makefile +0 -584
- data/ext/amoskeag/amoskeag_native.so +0 -0
- data/ext/amoskeag/mkmf.log +0 -16
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: f4fb02e96be641f452265c0fa6714c9e7b9448bab515fd2806381901caaeaae3
|
|
4
|
+
data.tar.gz: 759250bd1ddb299c7e4ef82cc2bcd84d41b528af54cf06203efbbb5d07f29448
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
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
|