Commit 245bc8e
committed
p5-YAML-Syck: update to 1.45.
1.45 Apr 23 2026
[Bug Fixes]
- Fix: use syck_base64_free() to fix Windows "Free to wrong pool" crash
in base64 encode/decode buffers; also plugs a memory leak (PR #189)
- Fix: clear type tag on blessed scalar alias early-return so the stale
tag no longer leaks onto the next emitted item (GH #193, PR #194)
- Fix: negative float#base60 values produce wrong results; strip sign
before accumulating and avoid negative zero for portable
stringification (PR #191)
- Fix: prevent memory leaks when Load/LoadJSON croak on parse errors
(PR #192)
[Maintenance]
- Test: add coverage for SortKeys and JSON MaxDepth (PR #188)
- Test: add error handling coverage for LoadFile/DumpFile (PR #190)
- Update README
1.44 Apr 02 2026
[Bug Fixes]
- Fix: positive hex and octal values parsed as 0 with ImplicitTyping
(PR #187)
- Fix: resolve uintptr_t redefinition error on Win64 MinGW
(PR #186)
1.43 Apr 01 2026
[Bug Fixes]
- Fix: prevent resource leaks on croak/early-return paths in Dump
(PR NetBSD#161)
- Fix: prevent output SV leaks on croak in Dump/DumpFile callers
(PR NetBSD#163)
- Fix: Load() in list context returns empty list for empty/undef input;
also applies to LoadBytes and LoadUTF8 (GH NetBSD#164, PR NetBSD#165)
- Fix: DumpCode serializes prototype string instead of code body
(PR NetBSD#168)
- Fix: memory leak in !perl/scalar Load — newRV_inc should be
newRV_noinc (PR NetBSD#170)
- Fix: add pTHX_ to SAVEDESTRUCTOR_X callback for threaded Perl
(GH NetBSD#175, PR NetBSD#176)
- Fix: add TODO guard for eval_pv leak on Perl < 5.14
(GH NetBSD#179, PR NetBSD#180)
- Fix: negative hex and octal values parsed as 0 with ImplicitTyping
(PR #183)
- Fix: negative int#base60 values produce unsigned wraparound (PR #185)
[Improvements]
- Modernize META_MERGE for CPANTS compliance (PR NetBSD#162)
- Fix hash table size handling and remove compile warnings in syck_st
(PR NetBSD#174)
[Maintenance]
- Restore TODO guard for Dump code leak test on Perl < 5.26 (PR NetBSD#167)
- Resolve 2010 TODO in perl_json_postprocess with test coverage
(PR NetBSD#166)
- CI: upgrade actions to resolve Node.js 20 deprecation warnings
(PR NetBSD#177)
1.42 Mar 27 2026
[Bug Fixes]
- Fix: replace strtok() with strpbrk() and fix sign-compare warnings in
perl_syck.h (PR NetBSD#145)
- Fix: terminate plain scalars at document boundaries --- and ... (PR NetBSD#150)
- Fix: skip %TAG and %YAML directives in document header (PR NetBSD#151)
- Fix: plug SV leak when eval_pv croaks on bad perl/code blocks (PR NetBSD#153)
- Fix: allow non-specific tag '!' before block scalars (GH NetBSD#27, PR NetBSD#102)
- Fix: remove spurious %type <nodeId> for indent_open in gram.y
(GH NetBSD#157, PR NetBSD#158)
- Fix: use modern bison %define api.prefix directive (GH NetBSD#159, PR NetBSD#160)
[Improvements]
- Implement YAML merge key (<<) support (PR NetBSD#149)
[Maintenance]
- Remove dead Perl 5.6/5.8 version guards from test files (PR NetBSD#146)
- Add YAML 1.0 spec compliance audit and coverage tests (PR NetBSD#148)
- Add comprehensive round-trip tests for YAML 1.0 spec features (PR NetBSD#152)
- Remove unneeded TODO in t/json-basic.t (PR NetBSD#154)
- Add regex Dump/Load/round-trip tests to perl tag scheme (PR NetBSD#155)
- Do not require a .y file to build YAML::Syck; add brew support for bison
- Don't ship docs/ directory in tarball
1.41 Mar 22 2026
[Bug Fixes]
- Fix float parsing on -Dusequadmath perls: use Perl's Atof() instead of
strtod() so that floats like -3.14 are not corrupted by double-precision
rounding artifacts (GH NetBSD#140, PR NetBSD#141)
1.39 Mar 21 2026
[Bug Fixes]
- Fix t/yaml-implicit-typing.t failure with -Duselongdouble perls (GH NetBSD#138, PR NetBSD#139)
1.38 Mar 20 2026
[Bug Fixes]
- Fix: escape solidus (/) as \/ in JSON::Syck::Dump for XSS safety (GH NetBSD#125, PR NetBSD#130)
- Fix: anchor tracking for blessed scalar refs in Dump (GH NetBSD#126, PR NetBSD#131)
- Fix: prevent buffer underflow in base60 (sexagesimal) parsing (PR NetBSD#133)
- Fix: guard against NULL type from strtok in tag parsing (PR NetBSD#135)
- Fix: correct copy-paste bug in syck_seq_assign() ASSERT macros (PR NetBSD#137)
[Improvements]
- Resolve TODO tests for empty/invalid YAML to match actual behavior (GH NetBSD#127, PR NetBSD#129)
[Maintenance]
- Remove dead Perl 5.6 TODOs and convert 5.8 TODO to SKIP (PR NetBSD#129)
- Add comprehensive implicit type resolution test suite (PR NetBSD#137)
- Update MANIFEST to include all unit tests
- Clean up test names to remove unnecessary numbering
1.37 Mar 18 2026
[Features]
- Add LoadBytes, LoadUTF8, DumpBytes, DumpUTF8 functions (GH NetBSD#51)
[Fixes]
- Fix heap buffer overflow in the YAML emitter - CVE-2026-4177 (GH NetBSD#67)
- Fix DumpFile with tied filehandles (IO::String, IO::Scalar) (GH NetBSD#22)
- Fix _is_glob to recognize IO::Handle subclasses (GH NetBSD#23)
- Fix memory leak when dumping filehandles (RT#41199, GH NetBSD#42)
- Fix dumping of tied hashes (GH NetBSD#31)
- Fix dumping strings starting with '...' as unquoted plain scalars (GH NetBSD#34)
- Fix dumping strings with tabs and carriage returns as plain scalars (GH NetBSD#59)
- Fix double-dash YAML parsing (RT#34073, GH NetBSD#35)
- Fix extra newline after empty arrays/hashes in YAML output (GH NetBSD#36)
- Remove trailing whitespace from YAML output lines (GH NetBSD#37, NetBSD#38, NetBSD#39)
- Fix quoting of \r and \t in YAML output instead of emitting raw bytes (GH NetBSD#40)
- Fix growing !!perl/regexp objects in roundtrips (GH NetBSD#43)
- Fix quoted '=' being transformed into 'str' (GH NetBSD#45)
- Fix backslash-space escape in double-quoted YAML strings (GH NetBSD#61)
- Fix flow sequence comma separator not recognized without trailing space (GH NetBSD#60)
- Fix wide character warning in DumpFile (GH NetBSD#28)
- Fix inline arrays without space after comma (GH NetBSD#25)
- Fix: quote strings matching YAML implicit types to prevent roundtrip failures (GH NetBSD#26)
- Fix JSON::Syck::Dump to use JSON-valid \uXXXX escapes in output (GH NetBSD#21)
- Fix JSON::Syck::Load decoding of \/ and \uXXXX escape sequences (GH NetBSD#30)
- Fix: apply JSON postprocessing to JSON::Syck::DumpFile output (GH NetBSD#104)
- Fix: add tied-filehandle fallback to JSON::Syck::DumpFile (GH NetBSD#98)
- Fix: handle JSON escape sequences in SingleQuote mode Load (GH NetBSD#99)
- Fix: restore Perl 5.8 compatibility in test suite (GH NetBSD#121)
- Fix: correct copy-paste error in Makefile.PL clean target (GH NetBSD#101)
- Fix: correct $SortKeys POD default from false to true (GH NetBSD#100)
- Fix: correct POD documentation errors (GH NetBSD#103)
[Maintenance]
- Add C23-compatible function prototypes for GCC 15 compatibility (GH #112)
- Silence macOS compiler warnings (GH NetBSD#92)
- Guard stdint.h include for portability (HP-UX 11.11) (GH NetBSD#33)
- Guard stdint.h include in syck_st.h for portability (GH NetBSD#24)
- Update ppport.h to 3.68
- Add regression tests for magical variable dumping (GH NetBSD#32)
- CI: modernize GitHub Actions workflow (GH NetBSD#123, NetBSD#124)
- CI: add disttest job to validate MANIFEST completeness
1.36 Oct 10 2025
- Address memory corruption leading to 'str' value being set on empty keys
Thanks @timlegge
1.35 Oct 9 2025
- Address parsing error related to string detection on read for empty strings.1 parent f5709a7 commit 245bc8e
2 files changed
Lines changed: 8 additions & 9 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
2 | 2 | | |
3 | | - | |
| 3 | + | |
4 | 4 | | |
5 | | - | |
6 | 5 | | |
7 | | - | |
| 6 | + | |
8 | 7 | | |
9 | 8 | | |
10 | | - | |
| 9 | + | |
11 | 10 | | |
12 | 11 | | |
13 | 12 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
2 | 2 | | |
3 | | - | |
4 | | - | |
5 | | - | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
0 commit comments