mjml-rb 0.6.0 → 0.6.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 +4 -4
- data/CHANGELOG.md +9 -0
- data/README.md +4 -4
- data/docs/MIGRATING_TO_V5.md +2 -2
- data/docs/RELEASING.md +25 -25
- data/docs/USAGE.md +2 -2
- data/docs/releases/v0.6.1.md +23 -0
- data/lib/mjml-rb/version.rb +1 -1
- data/mjml-rb.gemspec +1 -1
- metadata +4 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 576ea91f6ddfa5f9761941fa5472420588e1d772907673ba53c6152648a8d42c
|
|
4
|
+
data.tar.gz: ebf5669edd5b226f15489207df1f50759c91bcff8b3f30a053582fb0a87f84c3
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 53032c44384bc5ef6293a93afb4560025b686858b083d8bebf628ebd2df39b65d926f6afd89fb555f79ceb09da6175ea1d06f3eb43e55d2e8e5e982657f0736a
|
|
7
|
+
data.tar.gz: 77793e15678450c9fb13c8788863d0396a611b8354886b822341d080bb948229d1e28a1d69aa6c9880f9423a5b6507df126b977a31c3a1ad29128df82d4d1fec
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.6.1 — 2026-11-05
|
|
4
|
+
|
|
5
|
+
- Raise the minimum `nokogiri` version from 1.13 to 1.19.5, which fixes
|
|
6
|
+
use-after-free, mutation XSS, and JRuby SSRF vulnerabilities.
|
|
7
|
+
- Keep the MJML compatibility target at 5.4.1.
|
|
8
|
+
|
|
9
|
+
See the [release notes](docs/releases/v0.6.1.md) and
|
|
10
|
+
[Nokogiri security release](https://github.com/sparklemotion/nokogiri/releases/tag/v1.19.5).
|
|
11
|
+
|
|
3
12
|
## 0.6.0 — 2026-10-16
|
|
4
13
|
|
|
5
14
|
Target MJML 5.4.1 with a development-only pinned reference compiler. Runtime
|
data/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# MJML Ruby Implementation
|
|
4
4
|
|
|
5
|
-
`mjml-rb` **0.6.
|
|
5
|
+
`mjml-rb` **0.6.1** is a pure-Ruby compiler targeting **MJML 5.4.1**.
|
|
6
6
|
The gem version and the upstream MJML version are separate. Node.js/npm is used
|
|
7
7
|
only for the development reference checks; compilation requires neither.
|
|
8
8
|
|
|
@@ -16,16 +16,16 @@ only for the development reference checks; compilation requires neither.
|
|
|
16
16
|
|
|
17
17
|
**[Full Usage Guide](docs/USAGE.md)** — API reference, all compiler options, component attribute tables, CLI flags, Rails setup, custom components, and more.
|
|
18
18
|
|
|
19
|
-
See the [0.6.
|
|
19
|
+
See the [0.6.1 release notes](docs/releases/v0.6.1.md) and [changelog](CHANGELOG.md).
|
|
20
20
|
|
|
21
21
|
## Installation
|
|
22
22
|
|
|
23
|
-
Requires Ruby **>= 3.3**, `css_parser` **>= 1.17, < 4**, and Nokogiri **>= 1.
|
|
23
|
+
Requires Ruby **>= 3.3**, `css_parser` **>= 1.17, < 4**, and Nokogiri **>= 1.19.5**.
|
|
24
24
|
CI covers Ruby 3.3, 3.4 and 4.0 with `css_parser` 1.21, 2.x and 3.x.
|
|
25
25
|
|
|
26
26
|
```ruby
|
|
27
27
|
# Gemfile
|
|
28
|
-
gem "mjml-rb", "~> 0.6.
|
|
28
|
+
gem "mjml-rb", "~> 0.6.1"
|
|
29
29
|
```
|
|
30
30
|
|
|
31
31
|
## Quick Start
|
data/docs/MIGRATING_TO_V5.md
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
# Migrating to MJML v5
|
|
2
2
|
|
|
3
|
-
`mjml-rb` 0.6.
|
|
3
|
+
`mjml-rb` 0.6.1 targets **MJML 5.4.1**. The 0.5.x line retains v4 behavior.
|
|
4
4
|
There is no v4/v5 runtime switch. The library remains synchronous and requires
|
|
5
5
|
no Node.js packages at runtime.
|
|
6
6
|
|
|
7
|
-
Requires Ruby >= 3.3, `css_parser` >= 1.17 and < 4, and Nokogiri >= 1.
|
|
7
|
+
Requires Ruby >= 3.3, `css_parser` >= 1.17 and < 4, and Nokogiri >= 1.19.5.
|
|
8
8
|
The CI matrix covers `css_parser` 1.21, 2.x and 3.x on Ruby 3.3, 3.4 and 4.0.
|
|
9
9
|
|
|
10
10
|
## Includes require opt-in
|
data/docs/RELEASING.md
CHANGED
|
@@ -1,35 +1,35 @@
|
|
|
1
|
-
# Publishing mjml-rb 0.6.
|
|
1
|
+
# Publishing mjml-rb 0.6.1
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
Release preparation bumps the version, validates the gem, and creates a draft
|
|
4
|
+
GitHub release targeting the release commit. Publishing the GitHub release and
|
|
5
|
+
pushing the gem to RubyGems are separate maintainer actions.
|
|
5
6
|
|
|
6
|
-
Before
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
7
|
+
Before publishing, review the release commit and its CI results, inspect the
|
|
8
|
+
packaged gem, and smoke-test its API and CLI from outside the checkout. Confirm
|
|
9
|
+
that the draft targets the intended release commit and includes the matching
|
|
10
|
+
`mjml-rb-0.6.1.gem` asset. If the release commit changes, rebuild and replace the
|
|
11
|
+
asset and update the draft's target before publishing.
|
|
11
12
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
The prepared [release notes](releases/v0.6.1.md) and changelog use 2026-11-05.
|
|
14
|
+
Update the date if publication happens later.
|
|
15
|
+
|
|
16
|
+
From a clean checkout of the reviewed release commit:
|
|
16
17
|
|
|
17
18
|
```sh
|
|
18
19
|
set -e
|
|
19
20
|
test -z "$(git status --porcelain)"
|
|
20
|
-
test "$(
|
|
21
|
-
|
|
22
|
-
release_commit=$(gh pr view 24 --repo faraquet/mjml-rb --json mergeCommit --jq .mergeCommit.oid)
|
|
23
|
-
git switch --detach "$release_commit"
|
|
24
|
-
test "$(ruby -Ilib -rmjml-rb/version -e 'print MjmlRb::VERSION')" = "0.6.0"
|
|
21
|
+
test "$(ruby -Ilib -rmjml-rb/version -e 'print MjmlRb::VERSION')" = "0.6.1"
|
|
22
|
+
bundle exec rake test
|
|
25
23
|
gem build mjml-rb.gemspec
|
|
26
|
-
git tag -a v0.6.0 -m "mjml-rb 0.6.0"
|
|
27
|
-
git push origin refs/tags/v0.6.0
|
|
28
|
-
gem push mjml-rb-0.6.0.gem
|
|
29
|
-
gh release create v0.6.0 --repo faraquet/mjml-rb --verify-tag --title "mjml-rb 0.6.0" --notes-file docs/releases/v0.6.0.md
|
|
30
24
|
```
|
|
31
25
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
26
|
+
After maintainer approval to publish:
|
|
27
|
+
|
|
28
|
+
```sh
|
|
29
|
+
gem push mjml-rb-0.6.1.gem
|
|
30
|
+
gh release edit v0.6.1 --repo faraquet/mjml-rb --draft=false --latest
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
Publishing the draft creates its `v0.6.1` tag at the selected target if the tag
|
|
34
|
+
does not already exist. `gem push` publishes to RubyGems using the maintainer's
|
|
35
|
+
credentials. `MjmlRb::MJML_COMPATIBILITY_VERSION` remains 5.4.1.
|
data/docs/USAGE.md
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
# mjml-rb Usage Guide
|
|
2
2
|
|
|
3
|
-
`mjml-rb` 0.6.
|
|
3
|
+
`mjml-rb` 0.6.1 is a pure-Ruby compiler targeting [MJML 5.4.1](https://mjml.io/).
|
|
4
4
|
Node.js/npm is only used for development reference checks, never at runtime.
|
|
5
5
|
|
|
6
6
|
- **Ruby**: >= 3.3 (CI-tested on 3.3, 3.4, and 4.0)
|
|
7
|
-
- **Dependencies**: css_parser (>= 1.17, < 4; CI-tested with 1.21, 2.x and 3.x), nokogiri (>= 1.
|
|
7
|
+
- **Dependencies**: css_parser (>= 1.17, < 4; CI-tested with 1.21, 2.x and 3.x), nokogiri (>= 1.19.5)
|
|
8
8
|
- **License**: MIT
|
|
9
9
|
|
|
10
10
|
---
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# mjml-rb 0.6.1 — 2026-11-05
|
|
2
|
+
|
|
3
|
+
Raise the minimum `nokogiri` dependency from 1.13 to 1.19.5 so installations
|
|
4
|
+
include the fixes from Nokogiri's latest security release. Newer Nokogiri
|
|
5
|
+
versions remain supported.
|
|
6
|
+
|
|
7
|
+
Nokogiri 1.19.5 fixes:
|
|
8
|
+
|
|
9
|
+
- A possible use-after-free when replacing attribute values on CRuby
|
|
10
|
+
([GHSA-3w22-6jfg-527w](https://github.com/sparklemotion/nokogiri/security/advisories/GHSA-3w22-6jfg-527w)).
|
|
11
|
+
- Mutation XSS involving HTML5 `noscript` serialization on CRuby
|
|
12
|
+
([GHSA-4p39-36wj-23h4](https://github.com/sparklemotion/nokogiri/security/advisories/GHSA-4p39-36wj-23h4)).
|
|
13
|
+
- A `NONET` bypass that could allow SSRF on JRuby
|
|
14
|
+
([GHSA-v995-44v6-5fqm](https://github.com/sparklemotion/nokogiri/security/advisories/GHSA-v995-44v6-5fqm)).
|
|
15
|
+
|
|
16
|
+
These are upstream Nokogiri fixes; this release does not change the MJML
|
|
17
|
+
compiler's rendering behavior. The MJML compatibility target remains **5.4.1**.
|
|
18
|
+
Ruby >= 3.3 and `css_parser` >= 1.17, < 4 are still required.
|
|
19
|
+
|
|
20
|
+
Update with `bundle update mjml-rb nokogiri`.
|
|
21
|
+
|
|
22
|
+
See the [Nokogiri 1.19.5 release notes](https://github.com/sparklemotion/nokogiri/releases/tag/v1.19.5)
|
|
23
|
+
for details and the HTML sanitization guidance for `noscript`.
|
data/lib/mjml-rb/version.rb
CHANGED
data/mjml-rb.gemspec
CHANGED
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: mjml-rb
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.6.
|
|
4
|
+
version: 0.6.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Andrei Andriichuk
|
|
@@ -35,14 +35,14 @@ dependencies:
|
|
|
35
35
|
requirements:
|
|
36
36
|
- - ">="
|
|
37
37
|
- !ruby/object:Gem::Version
|
|
38
|
-
version:
|
|
38
|
+
version: 1.19.5
|
|
39
39
|
type: :runtime
|
|
40
40
|
prerelease: false
|
|
41
41
|
version_requirements: !ruby/object:Gem::Requirement
|
|
42
42
|
requirements:
|
|
43
43
|
- - ">="
|
|
44
44
|
- !ruby/object:Gem::Version
|
|
45
|
-
version:
|
|
45
|
+
version: 1.19.5
|
|
46
46
|
description: Ruby-first MJML compiler API and CLI with compatibility-focused behavior.
|
|
47
47
|
email:
|
|
48
48
|
- andreiandriichuk@gmail.com
|
|
@@ -65,6 +65,7 @@ files:
|
|
|
65
65
|
- docs/RELEASING.md
|
|
66
66
|
- docs/USAGE.md
|
|
67
67
|
- docs/releases/v0.6.0.md
|
|
68
|
+
- docs/releases/v0.6.1.md
|
|
68
69
|
- lib/mjml-rb.rb
|
|
69
70
|
- lib/mjml-rb/cli.rb
|
|
70
71
|
- lib/mjml-rb/column_gutter.rb
|