sevgi-sundries 0.94.0 → 0.95.0

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: e8ddc5568e2938adbef615c7bc12663083287016955cd708bd342ec95423bfea
4
- data.tar.gz: 64b06db206dcf954131c8348e0e1871a39c80677f83a15fc683cc84ab943d2aa
3
+ metadata.gz: 3dec50633b4f3c460af91dc1ab19341355f3ede4dd1df4bac99d4ab076b0ac53
4
+ data.tar.gz: b6d478d2d796f1a6379f1a40301795b41f9dca9ad68cce017e17b2c369703641
5
5
  SHA512:
6
- metadata.gz: de63cbabb66ebaa15dfbb78d4aa5cb14384fb8414c15cd13f4a5e1665c3e8a28d66bfef4e7014acb51c486024efcc1e545f04d10172b228716e27050ac1854ff
7
- data.tar.gz: 9b74f16efebe20b184b0ba277d588e20403cb3633256868b03b8d9bcf608f846bb266283283bbf7316e65fb0de5c065d69e20ab3f5fd5c7c597ecf74b0f1bc57
6
+ metadata.gz: 9f36b8b5f8d7ca21602e67a50cc3272d452c4308a57b4773c94232337de9b236505e4283f09ffb85f57827087975b8ba53be8ee9d72b41b8f2d111ab6ec5ada3
7
+ data.tar.gz: f82107592d7771d7ce72cbfc16276db3994097385a10205748064515110faba49b5c3fef842c405deb8b6f4746940736cb985f79be750ed9c58fdb674a014a7b
data/CHANGELOG.md CHANGED
@@ -1,4 +1,152 @@
1
1
  # Changelog
2
2
 
3
- Sevgi Sundries follows the root Sevgi release notes:
4
- https://github.com/roktas/sevgi/blob/main/CHANGELOG.md
3
+ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html) and follows
4
+ [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
5
+
6
+ ## Unreleased
7
+
8
+ ## 0.95.0 - 2026-07-11
9
+
10
+ ### Security
11
+
12
+ - Validated XML-bound names, metadata, content, attributes, comments, preambles, and renderer inputs before serialization;
13
+ mutable content and attribute inputs can no longer invalidate an earlier check.
14
+ - Emitted collision-safe Derender source and preserved qualified or foreign nodes without dispatching them through
15
+ same-named Ruby or DSL methods.
16
+ - Verified physical gem payloads and checksums, then published immutable archives in dependency order from one manifest
17
+ through pinned, least-privilege workflows.
18
+
19
+ ### Added
20
+
21
+ - Added opt-in real-browser Showcase coverage for tab navigation and mobile SVG sizing, with failure-safe server and
22
+ browser lifecycle tests.
23
+ - Added comprehensive public YARD contract checks plus focused release-preflight and root Rakefile coverage.
24
+
25
+ ### Changed
26
+
27
+ - CI now exercises the exact Ruby 3.4.0 compatibility floor separately from the current development Ruby.
28
+ - Standard no longer caches missing SVG specifications, preserving later registry updates.
29
+ - Document and Paper profile registration is process-global and thread-atomic; identical non-bang definitions return the
30
+ canonical registration while conflicting definitions fail without replacement.
31
+ - Content, document metadata, and attribute stores capture caller-independent snapshots and stringify custom mutable
32
+ leaves once at their public mutation boundaries.
33
+ - Release verification validates actual archive contents, records their order and checksums in a manifest, and keeps the
34
+ Ruby floor compatible with the checked-in bundle.
35
+
36
+ ### Fixed
37
+
38
+ - Preserved mixed inline text, namespace-qualified and foreign nodes, whitespace, nested SVG elements, raw evaluation
39
+ parents, and Ruby-name collisions during Derender conversion.
40
+ - Rejected cyclic or invalid graphics payloads, unsafe XML renderer inputs, non-finite canvas and geometry values, and
41
+ malformed Standard, ruler, tile, grid, and export arguments before partial mutation or rendering.
42
+ - Kept open paths from receiving synthetic interiors and made per-call intersection precision independent of ambient
43
+ thread precision.
44
+ - Made multi-element append/prepend ordered and atomic, document and paper registration coherent under contention, and
45
+ copied graphics trees independent of their sources.
46
+ - Corrected PDF stamping across nested graphics-state restoration and duplicate stream rewrites.
47
+ - Made SIGINT forwarding trap-safe, balanced executor signal guards for empty scripts, and rejected recursive script-load
48
+ cycles without losing the original executor context.
49
+ - Packaged canonical README, LICENSE, and CHANGELOG files in every component gem, made manifests and release verification
50
+ independent of the working directory, validated physical package members, and preserved dependency order through the
51
+ production publishing path.
52
+ - Made Showcase shell and browser cleanup failure-safe and kept generated examples stable across browser layouts.
53
+
54
+ ### Removed
55
+
56
+ - Removed the stale internal `Undefined::Self` sentinel constant and obsolete root release-script plumbing.
57
+
58
+ ## 0.94.0 - 2026-07-10
59
+
60
+ ### Security
61
+
62
+ - XML content is validated before rendering, preventing control characters and unsafe markup from reaching generated
63
+ documents.
64
+ - Derender evaluation treats XML as data rather than executable Ruby.
65
+
66
+ ### Changed
67
+
68
+ - Breaking: made geometry element collections immutable and element equality/hash exact; use `#eq?(precision:)` for
69
+ approximate element comparison.
70
+ - Breaking: replaced `Derender.evaluate!` and `Derender.evaluate_file!` with explicit `evaluate_children` and
71
+ `evaluate_file_children` children-only APIs.
72
+ - Native PDF/PNG export dependencies are optional at runtime; users of those exporters must install Cairo/RSVG and the
73
+ relevant PDF libraries explicitly.
74
+ - Executor, Showcase, and shell execution isolate process-global state and preserve nested load failures with their
75
+ source context.
76
+ - Generated documentation and complete package archives are validated by release checks.
77
+
78
+ ### Fixed
79
+
80
+ - Preserved parsed XML semantics and nested inline text during Derender conversion.
81
+ - Rejected cyclic duplicate/adoption operations and invalid graphics, geometry, Standard, ruler, tile, and export inputs
82
+ before partial mutation or rendering.
83
+ - Reported PDF stamp replacements accurately.
84
+ - Hardened Showcase navigation, SVG preview scaling, rendered artifacts, and documentation layouts.
85
+
86
+ ## 0.93.1 - 2026-07-08
87
+
88
+ ### Changed
89
+
90
+ - Added the checker board example to the documentation showcase flow.
91
+ - Consolidated Victor Book attribution for adapted showcase examples into a single documentation note.
92
+
93
+ ### Fixed
94
+
95
+ - Fixed documentation site deployment to build with Zola 0.22.1 so showcase code syntax highlighting is rendered in
96
+ production.
97
+
98
+ ## 0.93.0 - 2026-07-08
99
+
100
+ ### Added
101
+
102
+ - Added scoped numeric precision control with thread-local defaults and `F.with_precision`.
103
+ - Added opt-in SimpleCov coverage reporting with generated output under `.cache/ruby/coverage`.
104
+ - Added YARD API documentation setup and initial public API documentation across the main components.
105
+ - Added initial user documentation pages and expanded showcase examples.
106
+
107
+ ### Changed
108
+
109
+ - Breaking: cleaned up public API names and DSL ergonomics across geometry, graphics, derender, and sundries.
110
+ - Reworked graphics document and paper profile registration semantics around explicit DSL words.
111
+ - Stabilized executor load-stack handling and CLI error reporting for script-mode DSL failures.
112
+ - Moved generated Ruby tooling output under `.cache/ruby`.
113
+ - Separated GitHub Release verification from manual RubyGems publishing.
114
+
115
+ ### Fixed
116
+
117
+ - Hardened graphics DSL dispatch, namespace isolation, document rendering, paper sizes, and validation handoff.
118
+ - Fixed derender escaping, executable text DSL output, evaluation, and load edge cases.
119
+ - Stabilized SVG standard validation, namespace handling, color data, and error contracts.
120
+ - Aligned geometry line shifting with equation offsets and tightened primitive edge cases.
121
+ - Stabilized sundries grid, ruler, tile, and native export edge cases.
122
+ - Fixed showcase rendering, SVG tab display, syntax highlighting, layout, and stale artifact handling.
123
+
124
+ ### Removed
125
+
126
+ - Removed dead graphics canvas conforming API.
127
+ - Removed unsupported bang derender/decompile wrappers.
128
+
129
+ ## 0.73.2 - 2026-07-04
130
+
131
+ ### Fixed
132
+
133
+ - Removed parent-directory license paths from gem packages so published gems install cleanly.
134
+
135
+ ## 0.73.1 - 2026-07-04
136
+
137
+ ### Fixed
138
+
139
+ - Corrected the SVG standard `seashell` color value.
140
+ - Deferred `sevgi-sundries` export loading in graphics so optional native export dependencies are only loaded when
141
+ `PDF` or `PNG` export is used.
142
+ - Removed a shadowed block parameter in graphics dispatch.
143
+ - Fixed component lint task execution from the repository root.
144
+
145
+ ### Changed
146
+
147
+ - Updated the development Ruby version to 4.0.5 and refreshed the bundle.
148
+ - Adopted rubyfmt-driven formatting and updated RuboCop configuration.
149
+
150
+ ## 0.73.0 - 2026-05-01
151
+
152
+ Initial release.