sasso 0.14.0 → 0.14.1

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: 48e0d49603b5fa0b739a8f52c44b52b6dffdf7ead5561fab036584829f0c5b57
4
- data.tar.gz: 5dc5d4d1d8dab9d7202465f73a989e9e4cb6aed5b25811d5d090b3e100edf575
3
+ metadata.gz: 8be9f3f7763446b860e1dbf23b57cb075aded0446821bf576956c6c004d66011
4
+ data.tar.gz: 4556887906e983fd1e6bcd88bb9ecd1936650c6fb84db7d12e2cdd12852d0d21
5
5
  SHA512:
6
- metadata.gz: 5a5fc9a1351d5b31b705c9763ca0c5bf4981d5c56782f949099a1228e14be24fc8aef56866c3cad7624655883dda2383eb792376b864aab3d359cd56eba5cc47
7
- data.tar.gz: f6b9ae0fd2f91181439c7bfda2002aeb4845a6219ab41055cffe8a5ac41a02d54d3ed30d0fad54fe2e6311b55c7ab77ff4fd0151b3a1f41a0e13f90a498375e0
6
+ metadata.gz: 49911acde6cb6c77b6058946fb9579590421e221c41a7515e08b4627e7c3471e1dc5dcaa01f386bd584e63f0a576bd8c04abf55cb1a3d218b8fca6e1cc3f1645
7
+ data.tar.gz: 2aba6f84fd058e12fe046fb58155b024790a3e773dfdd66220815862bfe0bd21f9a9c768e55e543f5708529b51efa746853af7dac021c3596d1cf2ec34a58e22
data/CHANGELOG.md CHANGED
@@ -9,6 +9,22 @@ the gem independently of the crate.
9
9
 
10
10
  ## [Unreleased]
11
11
 
12
+ ## [0.14.1] - 2026-10-30
13
+
14
+ _A gem-only patch. The bundled core compiler is still `sasso` 0.14.0, so
15
+ `Sasso::CORE_VERSION` reports 0.14.0 and the CSS output is unchanged._
16
+
17
+ ### Added
18
+
19
+ - **Ruby 4.0 support.** The precompiled platform gems now carry a Ruby 4.0
20
+ binary, and CI tests against 4.0. Previously 4.0 fell back to the source gem,
21
+ which did not compile.
22
+
23
+ ### Fixed
24
+
25
+ - **The source gem compiles on Ruby 4.0.** The extension now builds against
26
+ magnus 0.8 instead of 0.7, whose bindings do not match the Ruby 4.0 headers.
27
+
12
28
  ## [0.14.0] - 2026-09-17
13
29
 
14
30
  _The gem version now tracks the core compiler's. It jumps 0.2.7 → 0.14.0 to meet
@@ -33,7 +49,10 @@ ways listed below._
33
49
 
34
50
  The gem's Ruby API is unchanged, but the CSS it emits moved with the core. If
35
51
  you byte-compare output — snapshot tests, asset digests, build caches — expect
36
- diffs. The CSS is equivalent; only its spelling changed.
52
+ diffs. Every change below is **serialization only** — the CSS still means what
53
+ it meant — with **one exception, the first**: `whiteness()` / `blackness()` stop
54
+ being evaluated, which makes the declaration around them invalid, so a browser
55
+ drops it. That one is worth grepping for; the rest are safe to re-baseline.
37
56
 
38
57
  - **Global `whiteness()` / `blackness()` are no longer built-ins** (core 0.9.0):
39
58
  they are `sass:color`-only, so the bare call is now an unknown function and
data/Cargo.lock CHANGED
@@ -106,21 +106,21 @@ dependencies = [
106
106
 
107
107
  [[package]]
108
108
  name = "magnus"
109
- version = "0.7.1"
109
+ version = "0.8.4"
110
110
  source = "registry+https://github.com/rust-lang/crates.io-index"
111
- checksum = "3d87ae53030f3a22e83879e666cb94e58a7bdf31706878a0ba48752994146dab"
111
+ checksum = "e76237a607e1dea288dd0ef0c6c8f49037df2152d14bb52b3542c46522d9e6fc"
112
112
  dependencies = [
113
113
  "magnus-macros",
114
114
  "rb-sys",
115
- "rb-sys-env",
115
+ "rb-sys-env 0.2.3",
116
116
  "seq-macro",
117
117
  ]
118
118
 
119
119
  [[package]]
120
120
  name = "magnus-macros"
121
- version = "0.6.0"
121
+ version = "0.8.0"
122
122
  source = "registry+https://github.com/rust-lang/crates.io-index"
123
- checksum = "5968c820e2960565f647819f5928a42d6e874551cab9d88d75e3e0660d7f71e3"
123
+ checksum = "47607461fd8e1513cb4f2076c197d8092d921a1ea75bd08af97398f593751892"
124
124
  dependencies = [
125
125
  "proc-macro2",
126
126
  "quote",
@@ -197,6 +197,12 @@ version = "0.1.2"
197
197
  source = "registry+https://github.com/rust-lang/crates.io-index"
198
198
  checksum = "a35802679f07360454b418a5d1735c89716bde01d35b1560fc953c1415a0b3bb"
199
199
 
200
+ [[package]]
201
+ name = "rb-sys-env"
202
+ version = "0.2.3"
203
+ source = "registry+https://github.com/rust-lang/crates.io-index"
204
+ checksum = "cca7ad6a7e21e72151d56fe2495a259b5670e204c3adac41ee7ef676ea08117a"
205
+
200
206
  [[package]]
201
207
  name = "regex"
202
208
  version = "1.12.4"
@@ -238,7 +244,7 @@ version = "0.1.0"
238
244
  dependencies = [
239
245
  "magnus",
240
246
  "rb-sys",
241
- "rb-sys-env",
247
+ "rb-sys-env 0.1.2",
242
248
  "sasso 0.14.0",
243
249
  ]
244
250
 
data/README.md CHANGED
@@ -19,9 +19,21 @@ gem "sasso"
19
19
  $ bundle install
20
20
  ```
21
21
 
22
- Precompiled native gems ship for common platforms (Linux gnu/musl, macOS, and
23
- Windows on x86_64/arm64), so no Rust toolchain is needed. On other platforms the
24
- gem compiles from source via `cargo` (needs a Rust toolchain).
22
+ **Ruby 3.2, 3.3, 3.4 and 4.0** are supported, and CI tests each of them on
23
+ Linux and macOS. Ruby 4.0 needs sasso 0.14.1 or later.
24
+
25
+ Precompiled native gems for all four Ruby versions ship for these platforms, so
26
+ they need no Rust toolchain:
27
+
28
+ | OS | platforms |
29
+ |---|---|
30
+ | Linux (glibc) | `x86_64-linux`, `aarch64-linux` |
31
+ | Linux (musl) | `x86_64-linux-musl`, `aarch64-linux-musl` |
32
+ | macOS | `x86_64-darwin`, `arm64-darwin` |
33
+ | Windows | `x64-mingw-ucrt` |
34
+
35
+ On any other platform the gem compiles from source with `cargo`, which needs a
36
+ Rust toolchain.
25
37
 
26
38
  ## Usage
27
39
 
data/ext/sasso/Cargo.toml CHANGED
@@ -21,7 +21,7 @@ crate-type = ["cdylib"]
21
21
 
22
22
  [dependencies]
23
23
  # Build-time only — NOT runtime gem deps, preserving sasso's zero-runtime-dep promise.
24
- magnus = "0.7"
24
+ magnus = "0.8"
25
25
  # Direct dep (magnus pulls it transitively too) so its `links = "rb"` exposes
26
26
  # the `DEP_RB_*` env to OUR build.rs — `rb_sys_env::activate()` needs it, and
27
27
  # cargo only forwards a linked dep's metadata to its DIRECT dependents.
data/lib/sasso/version.rb CHANGED
@@ -6,5 +6,5 @@ module Sasso
6
6
  # (ext/sasso/Cargo.toml). A gem-only fix takes the next patch, so the gem may
7
7
  # sit ahead of the crate within a minor — `Sasso::CORE_VERSION` reads the
8
8
  # version out of the linked binary and is the authority on what is loaded.
9
- VERSION = "0.14.0"
9
+ VERSION = "0.14.1"
10
10
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sasso
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.14.0
4
+ version: 0.14.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - momiji-rs
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-09-17 00:00:00.000000000 Z
11
+ date: 2026-10-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rb_sys