bridgetown-sasso 0.1.2 → 0.1.4

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: 208d783f96d6dcf7efffc4112aca4fc7ab1947079a7673f5327c288dc10a8da3
4
- data.tar.gz: dd5a1024a5499459f710219f7c9d7dbbf1521eba1a4b17971ee9a680cfff50e2
3
+ metadata.gz: 65220f69a837eb9a95df7aa4675ad9f0058d67696105bc96ee935828e547d09f
4
+ data.tar.gz: 2b4bf563cc2805ef1407a43711b72f127dea20c2d53172625bbfaf17b58713a5
5
5
  SHA512:
6
- metadata.gz: de1f96fe0ee51cefcdefe3dd51edc592553db57ca2fa34b72cb4a6dadad91e9c03ee7951415567512d98a498f69d0790e2d56d16b2ecfce0f5053d97b5af90e3
7
- data.tar.gz: 7d7a349db2d81f9c0a7ec0a8b1a623e0249a49c0cad3649f9a4998df6fc7a4587e878e219018b81635e9897cb6aa4732b18aec6a5dbe82d0b1a6cafdc7b822ef
6
+ metadata.gz: 9723d7e0c6990f7b34b9a0c40446d2649504adaaa31d076bedfff3a94ad15718f6301cbd9fc95dfe3eef960fa45498d05b2e1d50f468c163933bac8c4eb237b5
7
+ data.tar.gz: 9b403fa952020fd52b13ab855f8bcd15eb407f09b1d7562e3932600f399e20daa922720dc68013a143060f1e9878636e6b35bda8b2af97925308fb9a401ab562
data/CHANGELOG.md CHANGED
@@ -3,8 +3,78 @@
3
3
  All notable changes to **bridgetown-sasso** are documented here.
4
4
  The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
5
5
 
6
+ This plugin versions independently of the `sasso` compiler gem — it depends on a
7
+ *range* of it, so its own number could not honestly name a compiler version.
8
+ Each release notes the range it requires; `Sasso::CORE_VERSION` reports the
9
+ compiler actually installed.
10
+
6
11
  ## [Unreleased]
7
12
 
13
+ ## [0.1.4] - 2026-10-30
14
+
15
+ Works with the `sasso` gem **0.21.0** (core 0.21.0). The requirement is
16
+ unchanged at **>= 0.14.0, < 1**, so a fresh `bundle install` or
17
+ `bundle update sasso` picks up 0.21.0.
18
+
19
+ ### Added
20
+
21
+ - **Ruby 4.0** on the CI matrix. `sasso` ships precompiled gems for Ruby 4.0
22
+ from 0.14.1, and Bridgetown 2.2 installs there.
23
+
24
+ ### Changed
25
+
26
+ - **`sasso` 0.21 can fail a build that compiled under 0.14.** Its compiler is
27
+ stricter than 0.14's: built-in functions reject unknown argument names, an
28
+ argument passed both positionally and by name is an error, and the selector
29
+ grammar is tighter. Any of these raises `Sasso::CompileError` and so fails the
30
+ Bridgetown build. Some edge-case output also changes, and there is a new
31
+ `bogus-combinators` deprecation warning. The engine gem's
32
+ [CHANGELOG](https://github.com/momiji-rs/sasso-ruby/blob/main/CHANGELOG.md)
33
+ (section `[0.21.0]`) lists every change. If a site breaks, pin
34
+ `gem "sasso", "~> 0.14.0"` while you fix the stylesheet.
35
+ - The `sasso` floor deliberately stays at 0.14.0. This plugin passes only
36
+ `style:` and `load_paths:` to `Sasso.compile`, so it needs nothing from 0.21,
37
+ and keeping the floor lets a site hold 0.14 as described above. sasso 0.21's
38
+ new `silence_deprecations:` option is not exposed; this plugin has no
39
+ diagnostic options.
40
+ - No change to this plugin's own API or configuration. Verified green on Ruby
41
+ 4.0 against `sasso` 0.21.0 and 0.14.1 (5 tests, 12 assertions).
42
+
43
+ ## [0.1.3] - 2026-09-17
44
+
45
+ Now requires the `sasso` gem **>= 0.14.0** (was `>= 0.2.7`), and **Ruby >= 3.2**.
46
+
47
+ ### Removed
48
+
49
+ - **Ruby 3.1 support** (`required_ruby_version` is now `>= 3.2.0`), following the
50
+ `sasso` engine gem, which dropped it in 0.14.0. It is off the CI matrix too.
51
+
52
+ ### Changed
53
+
54
+ - Bumped the `sasso` engine-gem floor to **>= 0.14.0**. From that release the
55
+ engine gem's version tracks the compiler crate it bundles, so the floor names
56
+ the compiler as well: core 0.14.0, at **dart-sass 1.104.1** parity, where 0.2.7
57
+ carried core 0.6.3 (1.101.0).
58
+ - **Your compiled CSS changes**, because the compiler's output moved with the
59
+ core. It stays byte-identical to dart-sass — the plugin's own test asserts that
60
+ — but it is not byte-identical to what 0.2.7 produced, so a build that diffs or
61
+ digests its `.css` output sees one round of churn. The engine gem's
62
+ [CHANGELOG](https://github.com/momiji-rs/sasso-ruby/blob/main/CHANGELOG.md)
63
+ lists every change; the two most likely to appear in a Bridgetown site:
64
+ - **Serialization only** — the CSS means the same thing, spelled differently.
65
+ Compressed `hsl`/`hwb` route through `rgb`, and a legacy color with a
66
+ fractional channel writes percentages, so `darken(#336699, 10%)` compresses
67
+ to `rgb(15%,30%,45%)` rather than `hsl(210,50%,30%)`.
68
+ - **Not serialization only** — global `whiteness()` / `blackness()` are no
69
+ longer built-ins and now pass through as plain CSS, matching dart-sass. This
70
+ one changes what the browser does: `whiteness(#f00)` used to compile to `0%`,
71
+ and now emits an unknown CSS function, which makes the declaration invalid
72
+ and the browser drop it. It is also silent — no error, no warning — so it is
73
+ the one to grep for. Use `color.whiteness()` via `@use "sass:color"`.
74
+ - No change to this plugin's own API or configuration. Verified green against
75
+ `sasso` 0.14.0 (5 tests, 12 assertions), including the byte-for-byte
76
+ standalone-compile check.
77
+
8
78
  ## [0.1.2] - 2026-06-25
9
79
 
10
80
  Now requires the `sasso` gem **>= 0.2.7** (was `>= 0.2.3`), whose library API
data/README.md CHANGED
@@ -46,6 +46,20 @@ Or scaffold everything in one step:
46
46
  bin/bridgetown apply https://github.com/momiji-rs/bridgetown-sasso
47
47
  ```
48
48
 
49
+ ### Requirements
50
+
51
+ Ruby >= 3.2 (tested through 4.0), Bridgetown >= 2.0, and the `sasso` gem
52
+ >= 0.14.0, < 1. **`sasso` 0.21 has a stricter compiler than 0.14**: some
53
+ stylesheets that compiled before now raise `Sasso::CompileError` and fail the
54
+ build (built-ins reject unknown argument names, and selector parsing is
55
+ tighter). See the
56
+ [sasso CHANGELOG](https://github.com/momiji-rs/sasso-ruby/blob/main/CHANGELOG.md).
57
+ To hold the old compiler while you fix them, pin it in your Gemfile:
58
+
59
+ ```ruby
60
+ gem "sasso", "~> 0.14.0"
61
+ ```
62
+
49
63
  ## Configuration
50
64
 
51
65
  All optional (defaults shown):
@@ -25,10 +25,21 @@ Gem::Specification.new do |spec|
25
25
  end
26
26
  spec.require_paths = ["lib"]
27
27
 
28
- spec.required_ruby_version = ">= 3.1.0"
28
+ # Follows the `sasso` engine gem, which dropped Ruby 3.1 in 0.14.0 (3.1 left
29
+ # security maintenance in March 2025). A 3.1 install could not resolve the
30
+ # dependency below in any case.
31
+ spec.required_ruby_version = ">= 3.2.0"
29
32
 
30
33
  spec.add_dependency "bridgetown", ">= 2.0"
31
- spec.add_dependency "sasso", ">= 0.2.7", "< 1"
34
+ # The compiler engine gem. From 0.14.0 its version tracks the core compiler
35
+ # crate it bundles, so this floor names the compiler too: 0.14.0 carries core
36
+ # 0.14.0 (dart-sass 1.104.1 parity), where 0.2.7 carried core 0.6.3 (1.101.0).
37
+ # `< 1` allows the rest of the 0.x line — this plugin uses one method of it.
38
+ # The floor deliberately stays at 0.14.0 for sasso 0.21.0: this plugin passes
39
+ # only `style:` and `load_paths:`, so it needs nothing newer, and 0.21's
40
+ # stricter compiler rejects some stylesheets 0.14 accepted — a site hit by
41
+ # that can pin `sasso "~> 0.14.0"` while it fixes them. Verified green on both.
42
+ spec.add_dependency "sasso", ">= 0.14.0", "< 1"
32
43
 
33
44
  spec.add_development_dependency "bundler"
34
45
  spec.add_development_dependency "minitest", "~> 5.0"
@@ -3,5 +3,5 @@
3
3
  module BridgetownSasso
4
4
  # The plugin version floats independently of the `sasso` compiler gem; the
5
5
  # gemspec pins the compiler with a range.
6
- VERSION = "0.1.2"
6
+ VERSION = "0.1.4"
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bridgetown-sasso
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.4
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: bridgetown
@@ -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'
@@ -149,7 +149,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
149
149
  requirements:
150
150
  - - ">="
151
151
  - !ruby/object:Gem::Version
152
- version: 3.1.0
152
+ version: 3.2.0
153
153
  required_rubygems_version: !ruby/object:Gem::Requirement
154
154
  requirements:
155
155
  - - ">="