carve-hexapdf 0.1.0 → 0.1.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: d47fc98c98ecd21adba76ed8abb6150aabe535bcb99ad844b6f48705f115dce8
4
- data.tar.gz: 3213a192f274a65f6e262ac73009dda8d33d88945406b20096120ce38d5a6158
3
+ metadata.gz: d9b8c7c6b8002f3587048d1711e0901a180e4f41a85778a2e4654f7daaeed9da
4
+ data.tar.gz: 6da20e9768485a0afe3aa2b71a73bb670a155a7adfb9e30d593bedead5db5632
5
5
  SHA512:
6
- metadata.gz: 84ad78a47f2cbb33608373ed0d05e3af1f7a14b2f250ed193ad42586bce5e3bae4bdd0b58659517d58e410e6d5f2d7d4a739d9aacd167597c2ff1ffc44a5834d
7
- data.tar.gz: 8f88fe4e7cfb412788e3d4c045937db3a03707d891221561ab181485fc6026577cfbbc058c74334c1a5fb4cd07d38dce5d3a4b21bc1f98024142d8e42731ee89
6
+ metadata.gz: 41deae43d68f4996a26a2e2ccae432550bb730877b82a164b5203fe3020e14e515e85d0261ff25a603c92bc7cc1957c2494c8ac7cf9b2c4174eed686f8b639c3
7
+ data.tar.gz: 3256a05ce59a8b4071df645e1df3690d3d9ee56c00d4f588f543330cf756c50e689c97aa39026db77e0caa1ac8f095b993fc57990dea20fecbb04d98fa838438
data/CHANGELOG.md CHANGED
@@ -5,6 +5,21 @@ All notable changes to this project are documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## Unreleased
9
+
10
+ ## [0.1.1] - 2026-08-27
11
+
12
+ ### Changed
13
+
14
+ - The development pin moves to released `carve-lang` 0.1.2, so the suite covers
15
+ the current embedded engine and output surface. The supported consumer range
16
+ remains `>= 0.1.1, < 0.2.0`: 0.1.1 still satisfies this renderer's API and
17
+ security requirements. On the engine's own 0.x scheme `0.1` is the major and the third digit
18
+ the minor, so the previous open range admitted, by the engine's own rules, a
19
+ release declared breaking - and this gem reads an AST whose node vocabulary
20
+ was already renamed once inside 0.1
21
+ ([#26](https://github.com/markup-carve/carve-hexapdf/issues/26)).
22
+
8
23
  ## [0.1.0] - 2026-08-19
9
24
 
10
25
  ### Added
@@ -38,7 +53,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
38
53
  URLs show alt text, raw HTML and comments are dropped; the renderer never
39
54
  raises.
40
55
 
41
- [Unreleased]: https://github.com/markup-carve/carve-hexapdf/compare/v0.1.0...HEAD
56
+ [Unreleased]: https://github.com/markup-carve/carve-hexapdf/compare/v0.1.1...HEAD
57
+ [0.1.1]: https://github.com/markup-carve/carve-hexapdf/compare/v0.1.0...v0.1.1
42
58
  [0.1.0]: https://github.com/markup-carve/carve-hexapdf/releases/tag/v0.1.0
43
59
 
44
60
  - **Composite figures render as one grouped float.** A bare `::: figure`
data/README.md CHANGED
@@ -215,6 +215,46 @@ always produces a PDF:
215
215
  fetching. Local files and `data:` URIs are embedded.
216
216
  - **Raw HTML** blocks/inlines and **comments** are dropped.
217
217
 
218
+ ## Development
219
+
220
+ ```sh
221
+ bundle install
222
+ bundle exec rake test
223
+ ```
224
+
225
+ ### Which engine you are testing against
226
+
227
+ `bundle install` here does **not** resolve `carve-lang` from RubyGems. `Gemfile`
228
+ pins the engine to a carve-rb revision, so a development run measures one exact
229
+ engine build rather than whatever the registry serves that day:
230
+
231
+ ```sh
232
+ bundle exec ruby script/verify_engine_pin.rb
233
+ # carve-lang 0.1.2 from carve-rb b7f3a91a... (Gemfile pins b7f3a91a4192)
234
+ ```
235
+
236
+ CI runs that before the suite and refuses when the Gemfile, the resolved bundle
237
+ and the loaded library disagree. To develop against a local carve-rb checkout,
238
+ point `CARVE_RB_PATH` at it - it has to be set on purpose, so the surprising
239
+ resolution is the one you asked for:
240
+
241
+ ```sh
242
+ CARVE_RB_PATH=../carve-rb bundle install
243
+ ```
244
+
245
+ An installed copy of this gem resolves differently, through the range
246
+ `carve-hexapdf.gemspec` declares - today `>= 0.1.1, < 0.2.0`. The two are
247
+ deliberately not the same engine, and the difference is not academic: this gem
248
+ reads an AST whose node vocabulary was renamed once already inside 0.1.
249
+ `test/engine_floor_test.rb` asks whether the engine under `bundle exec rake
250
+ test` still publishes the vocabulary the renderer maps, and
251
+ `script/consumer_engine_probe.rb` asks the same of an actual `gem install` -
252
+ daily in `Engine drift`, and again before every release.
253
+
254
+ There is no committed `Gemfile.lock`, and that is deliberate; the reasoning,
255
+ including why a lockfile would be a weaker pin here and what it would cost the
256
+ Ruby 3.1 job, is at the top of `Gemfile`.
257
+
218
258
  ## Licensing
219
259
 
220
260
  This gem is **MIT** licensed. However, **HexaPDF is dual-licensed AGPL-3.0 /
@@ -224,7 +264,3 @@ application) or hold a
224
264
  [HexaPDF commercial license](https://hexapdf.gettalong.org/#pricing). This gem
225
265
  only bridges Carve to HexaPDF; your use of HexaPDF is governed by HexaPDF's own
226
266
  terms.
227
-
228
- ## License
229
-
230
- MIT, markup-carve. See [LICENSE](LICENSE).
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Carve
4
4
  module Hexapdf
5
- VERSION = "0.1.0"
5
+ VERSION = "0.1.1"
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: carve-hexapdf
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - markup-carve
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-08-19 00:00:00.000000000 Z
11
+ date: 2026-09-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: carve-lang
@@ -17,6 +17,9 @@ dependencies:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: 0.1.1
20
+ - - "<"
21
+ - !ruby/object:Gem::Version
22
+ version: 0.2.0
20
23
  type: :runtime
21
24
  prerelease: false
22
25
  version_requirements: !ruby/object:Gem::Requirement
@@ -24,6 +27,9 @@ dependencies:
24
27
  - - ">="
25
28
  - !ruby/object:Gem::Version
26
29
  version: 0.1.1
30
+ - - "<"
31
+ - !ruby/object:Gem::Version
32
+ version: 0.2.0
27
33
  - !ruby/object:Gem::Dependency
28
34
  name: hexapdf
29
35
  requirement: !ruby/object:Gem::Requirement
@@ -107,7 +113,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
107
113
  - !ruby/object:Gem::Version
108
114
  version: '0'
109
115
  requirements: []
110
- rubygems_version: 3.4.20
116
+ rubygems_version: 3.4.19
111
117
  signing_key:
112
118
  specification_version: 4
113
119
  summary: Render the Carve markup language to PDF via the pure-Ruby HexaPDF engine.