You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+14-1Lines changed: 14 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,6 +7,18 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
8
8
## [Unreleased]
9
9
10
+
## [0.1.8] - 2025-10-27
11
+
12
+
### Added
13
+
-**HTML metadata**: `HtmlHandlers.extract_html_content/2` now returns byte counts alongside grapheme totals so every caller gets accurate offsets without recomputing (#6).
14
+
-**Examples**: New `html_metadata_examples.exs` and `windows_ci_examples.exs` scripts document the metadata workflow and Windows CI parity (#6, #7).
15
+
16
+
### Fixed
17
+
-**Syntax normalization**: Layer 3 consumes the shared metadata directly, removing duplicated byte math around HTML quoting (#6).
18
+
19
+
### CI
20
+
-**Windows coverage**: Introduced a `windows-latest` PowerShell job to the GitHub Actions matrix to run `mix deps.get`, `mix compile --warnings-as-errors`, and `mix test`, ensuring CRLF regressions are caught ahead of releases (#7).
21
+
10
22
## [0.1.7] - 2025-10-27
11
23
12
24
### Fixed
@@ -328,7 +340,8 @@ This is a **100% rewrite** - all previous code has been replaced with the new la
Copy file name to clipboardExpand all lines: README.md
+23-1Lines changed: 23 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -97,6 +97,7 @@ Runs **before** the main layer pipeline to handle complex patterns that would ot
97
97
- DOCTYPE declarations, comments, void elements
98
98
- Self-closing tags, nested structures
99
99
- Proper escaping of quotes, newlines, special chars
100
+
- Byte + grapheme metadata for consumer slices *(v0.1.8)*
100
101
101
102
#### 🔧 **Hardcoded Patterns***(ported from [json_repair](https://github.com/mangiucugna/json_repair) Python library)*
102
103
Layer 3 includes battle-tested cleanup patterns for edge cases commonly found in LLM output:
@@ -158,7 +159,7 @@ Add JsonRemedy to your `mix.exs`:
158
159
```elixir
159
160
defdepsdo
160
161
[
161
-
{:json_remedy, "~> 0.1.7"}
162
+
{:json_remedy, "~> 0.1.8"}
162
163
]
163
164
end
164
165
```
@@ -302,6 +303,15 @@ Demonstrates handling of unquoted HTML content in JSON values (common when APIs
302
303
303
304
This example showcases the HTML detection and quoting capabilities added in v0.1.5, which handle real-world scenarios where API endpoints return HTML error pages instead of JSON.
304
305
306
+
### 🧮 **HTML Metadata Examples** ✨ *NEW in v0.1.8*
307
+
```bash
308
+
mix run examples/html_metadata_examples.exs
309
+
```
310
+
Inspect the metadata returned when quoting HTML fragments:
311
+
- Grapheme vs byte counts for emoji-rich HTML bodies
312
+
- Byte-accurate offsets from non-zero starting positions
313
+
- Guidance for integrating the metadata into downstream pipelines
314
+
305
315
### 🌍 **Real-World Scenarios**
306
316
```bash
307
317
mix run examples/real_world_scenarios.exs
@@ -336,6 +346,15 @@ Verify reliability under load:
336
346
- Large array processing
337
347
- Memory usage stability
338
348
349
+
### 🪟 **Windows CI Examples** ✨ *NEW in v0.1.8*
350
+
```bash
351
+
mix run examples/windows_ci_examples.exs
352
+
```
353
+
Validate the cross-platform pipeline:
354
+
- Confirms the GitHub Actions workflow includes a Windows runner
355
+
- Lists the PowerShell commands executed in CI
356
+
- Helps contributors mirror the job locally when debugging CRLF issues
357
+
339
358
### 📊 **Example Output**
340
359
341
360
Here's what you'll see when running the real-world scenarios:
@@ -1012,6 +1031,9 @@ mix dialyzer # Type analysis
0 commit comments