sasso-rails 0.1.6 → 0.1.8

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: fcadbccdd6218359fa702c4cd5d40d8a77719ab640d73fdb9f669e7cfbf0a34f
4
- data.tar.gz: ec46192843d26baeaf154a518aee04d3f756be19264fd08694ab21be7cff5927
3
+ metadata.gz: 73d0547c3d8d12c8781a672098800fba93d8518c51fcd98a8065f0e8d4249768
4
+ data.tar.gz: aad074d78f43edb67b1f8ea43012d855afb35652d8e1e9514464a862725bc251
5
5
  SHA512:
6
- metadata.gz: 6fa62b124804aa1b1f729d7d6170ec49cc7f6f9834cde807045de50b5cd658a27b141dd69f81e528109c5e66d25e0f70387bc5fadacb517b16ab39a72787bf36
7
- data.tar.gz: ff0b99c3290096d3d8c8fc6c734f4a1e3e33b33b3e28dbccdfef552e2d9848bc968630d2ad03763017a7a496e25ea36c1e48eb1044745f6fe39567fa2ace72f2
6
+ metadata.gz: 358ba16009d6ab754d9b8c50ca3e9c061ca88c9b51431b898aafbbfb09075896880ad75c2f9b4cb266400e6352d9339124253ed09d2beb679915e1697e341c21
7
+ data.tar.gz: 47334488762747b64da86a8da675d20dbfb0a15022750169a2135daecc830e262e9d5220723175e22a181de0706d698657e7db42f3d95b10bb8587d544944248
data/CHANGELOG.md CHANGED
@@ -8,6 +8,81 @@ the engine-gem version range it requires.
8
8
 
9
9
  ## [Unreleased]
10
10
 
11
+ ## [0.1.8] - 2026-10-30
12
+
13
+ Requires the `sasso` gem **>= 0.14.0** (unchanged); works with **0.21.0**, which a
14
+ fresh `bundle install` or `bundle update sasso` now resolves.
15
+
16
+ ### Added
17
+
18
+ - **Ruby 4.0** in CI. It needs `sasso` **>= 0.14.1**, the first engine-gem
19
+ release with a precompiled 4.0 binary (0.14.0's source gem does not build on
20
+ 4.0); Bundler picks one automatically unless your app pins `sasso` 0.14.0.
21
+
22
+ ### Changed
23
+
24
+ - **Upgrading to `sasso` 0.21.0 can break `sasso:build`.** It adopts core 0.15.0
25
+ through 0.21.0, and some stylesheets that compiled under 0.14.0 now raise
26
+ `Sasso::CompileError` — and so fail `assets:precompile` on deploy. The likely
27
+ ones in a Rails app: a built-in called with an argument name it does not
28
+ declare (`math.max(1, 2, $x: 999)`), an argument passed both by position and
29
+ by name, and selectors that dart-sass's grammar rejects (`[a=1]`, `a^b`). Some
30
+ output also changes meaning, not only bytes (compressed `color()`, a quoted
31
+ attribute value's whitespace, a non-ASCII space in a selector), and asset
32
+ digests change once again. Run `bin/rails sasso:build` after the upgrade, and
33
+ read the engine gem's
34
+ [CHANGELOG](https://github.com/momiji-rs/sasso-ruby/blob/main/CHANGELOG.md)
35
+ (section `0.21.0`) for the full list. Pin `gem "sasso", "~> 0.14.0"` in your
36
+ Gemfile to stay on the old compiler while you fix stylesheets.
37
+ - **A new `bogus-combinators` deprecation warning** may appear in `sasso:build`
38
+ / `sasso:watch` output, for a rule whose selector has a repeated or leading
39
+ combinator (`a > + b`). The compiler already dropped those rules silently; the
40
+ warning is the only sign the CSS lost them. This gem does not expose
41
+ `silence_deprecations:`, so fix the selector to clear it.
42
+ - The `sasso` floor stays at **>= 0.14.0**: this gem uses none of 0.21.0's new
43
+ options, and raising it would force the breakage above onto apps that pinned
44
+ the older compiler. No change to this gem's own API, generators, or rake
45
+ tasks. Verified green against `sasso` 0.21.0 (23 runs, 70 assertions).
46
+
47
+ ## [0.1.7] - 2026-09-17
48
+
49
+ Requires the `sasso` gem **>= 0.14.0** (was `>= 0.2.7`), and **Ruby >= 3.2**.
50
+
51
+ ### Removed
52
+
53
+ - **Ruby 3.1 support** (`required_ruby_version` is now `>= 3.2.0`), following the
54
+ `sasso` engine gem, which dropped it in 0.14.0. CI had already stopped testing
55
+ 3.1 because the current Rails dep tree does not resolve there; now no dep set
56
+ does.
57
+
58
+ ### Changed
59
+
60
+ - Bumped the `sasso` engine-gem floor to **>= 0.14.0**. From that release the
61
+ engine gem's version tracks the compiler crate it bundles, so the floor names
62
+ the compiler too: core 0.14.0, at **dart-sass 1.104.1** parity, where 0.2.7
63
+ carried core 0.6.3 (1.101.0).
64
+ - **Your built CSS will change, and so will its digest.** The compiler's output
65
+ moved with the core, so a Propshaft/Sprockets fingerprint computed over a
66
+ stylesheet's bytes changes on the next `assets:precompile` even when the
67
+ stylesheet did not — expect one cache-busting round of new asset URLs. The
68
+ engine gem's
69
+ [CHANGELOG](https://github.com/momiji-rs/sasso-ruby/blob/main/CHANGELOG.md)
70
+ lists every change; the ones most likely to show up in a Rails app:
71
+ - **Serialization only** — the CSS means the same thing, it is spelled
72
+ differently. A legacy color with a fractional channel writes its rgb triple
73
+ as percentages, and compressed `hsl`/`hwb` route through `rgb`, so
74
+ `darken(#336699, 10%)` compresses to `rgb(15%,30%,45%)` rather than
75
+ `hsl(210,50%,30%)`. Source-map `mappings` also change: a declaration whose
76
+ value is a bare `$name` now maps back to the variable's definition.
77
+ - **Not serialization only** — global `whiteness()` / `blackness()` are no
78
+ longer built-ins and now pass through as plain CSS, matching dart-sass. This
79
+ one changes what the browser does: `whiteness(#f00)` used to compile to `0%`,
80
+ and now emits an unknown CSS function, which makes the declaration invalid
81
+ and the browser drop it. It is also silent — no error, no warning — so it is
82
+ the one to grep for. Use `color.whiteness()` via `@use "sass:color"`.
83
+ - No change to this gem's own API, generators, or rake tasks. Verified green
84
+ against `sasso` 0.14.0 (23 runs, 70 assertions).
85
+
11
86
  ## [0.1.6] - 2026-06-25
12
87
 
13
88
  Requires the `sasso` gem **>= 0.2.7** (was `>= 0.2.6`).
data/README.md CHANGED
@@ -19,7 +19,9 @@ Why this gem over the alternatives:
19
19
 
20
20
  ## Compatibility
21
21
 
22
- - **Ruby** ≥ 3.1.
22
+ - **Ruby** ≥ 3.2 (the `sasso` engine gem dropped 3.1 in 0.14.0), tested on
23
+ 3.2–4.0. Ruby 4.0 needs `sasso` ≥ 0.14.1, the first release with a 4.0
24
+ binary; Bundler resolves one unless your app pins 0.14.0.
23
25
  - **Rails** ≥ 7.0 (`railties >= 7.0`), on **either** asset pipeline. Verified
24
26
  end-to-end (`generate sasso:install` → `sasso:build` → production
25
27
  `assets:precompile` → served CSS) on:
@@ -155,9 +157,19 @@ $ bundle lock --add-platform x86_64-linux aarch64-linux \
155
157
 
156
158
  ## Versioning
157
159
 
158
- This gem versions independently of the `sasso` compiler gem and pins it with a
159
- range (`sasso >= 0.2.3, < 1`). An app may pin a specific compiler version in its
160
- own `Gemfile`.
160
+ This gem versions independently of the `sasso` compiler gem, which it depends on
161
+ by *range* rather than by exact version — so its own number does not name a
162
+ compiler. See the [gemspec](sasso-rails.gemspec) for the current range and the
163
+ [CHANGELOG](CHANGELOG.md) for which release moved it; `Sasso::CORE_VERSION`
164
+ reports the compiler your app actually has installed. An app may pin a specific
165
+ compiler version in its own `Gemfile`.
166
+
167
+ A compiler upgrade within the range is not always a drop-in. **`sasso` 0.21.0
168
+ rejects some stylesheets that 0.14.x compiled** (stricter built-in argument
169
+ checking and selector grammar) and changes some output, so run
170
+ `bin/rails sasso:build` after `bundle update sasso`, and read the engine gem's
171
+ [CHANGELOG](https://github.com/momiji-rs/sasso-ruby/blob/main/CHANGELOG.md)
172
+ before deploying. `gem "sasso", "~> 0.14.0"` keeps the older compiler.
161
173
 
162
174
  ## License
163
175
 
@@ -2,9 +2,12 @@
2
2
 
3
3
  module Sasso
4
4
  module Rails
5
- # Versioned INDEPENDENTLY of both the `sasso` gem and the `sasso` crate.
6
- # The gemspec pins the engine gem with a range (sasso >= 0.1.1, < 1), so a
7
- # compiler bump does not force a lockstep release of this integration gem.
8
- VERSION = "0.1.6"
5
+ # Versioned INDEPENDENTLY of both the `sasso` gem and the `sasso` crate: the
6
+ # gemspec depends on a RANGE of the engine gem, so a compiler bump does not
7
+ # force a lockstep release of this integration gem. The range itself lives in
8
+ # the gemspec and is deliberately not restated here — this comment claimed
9
+ # `>= 0.1.1` through two floor bumps. `Sasso::CORE_VERSION` reports the
10
+ # compiler actually installed.
11
+ VERSION = "0.1.8"
9
12
  end
10
13
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sasso-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.6
4
+ version: 0.1.8
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-06-25 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: railties
@@ -30,7 +30,7 @@ dependencies:
30
30
  requirements:
31
31
  - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: 0.2.7
33
+ version: 0.14.0
34
34
  - - "<"
35
35
  - !ruby/object:Gem::Version
36
36
  version: '1'
@@ -40,7 +40,7 @@ dependencies:
40
40
  requirements:
41
41
  - - ">="
42
42
  - !ruby/object:Gem::Version
43
- version: 0.2.7
43
+ version: 0.14.0
44
44
  - - "<"
45
45
  - !ruby/object:Gem::Version
46
46
  version: '1'
@@ -79,7 +79,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - ">="
81
81
  - !ruby/object:Gem::Version
82
- version: 3.1.0
82
+ version: 3.2.0
83
83
  required_rubygems_version: !ruby/object:Gem::Requirement
84
84
  requirements:
85
85
  - - ">="