2025-09-30 - 2026-09-30
Overview
28 Pull requests merged by 2 users
Merged
#65 schemagen: reject required entries with no matching properties key
Merged
#58 schemagen: reject absent additionalProperties
Merged
#57 Fix schemagen integer parser rejecting zero with negative exponents
Merged
#54 Handle null parser in WeaselJsonParser_parse
Merged
#53 make WeaselJson_OVERFLOW a terminal state like WeaselJson_REJECT
Merged
#50 schemagen: add regression test for nullable cyclic $ref targets
Merged
#49 schemagen: reject self-referential array $ref cycles instead of crashing
Merged
#48 schemagen: escape control characters in generated C++ string literals
Merged
#47 schemagen: fix quadratic leading-zero strip in integer fallback
Merged
#46 schemagen: handle WeaselJsonParser_create failure in RootBuilder
Merged
#45 Include <cstdint> in json_value.h for uint8_t
Merged
#44 python: raise OSError when shared library is missing
Merged
#42 Handle null parser in WeaselJsonParser_reset and _destroy
Merged
#32 schemagen: reject scalar root values when root schema is object/array
Merged
#31 schemagen: cache non-object $defs entries to avoid duplicate types
Merged
#30 fix schemagen integer parsing boundary bugs
Merged
#28 schemagen: drop support for additionalProperties: true
Merged
#27 schemagen: reserve generated Root/Skip/RootScalar and avoid Kind/ArrN collisions
Merged
#29 schemagen: fix nullable root types (#13)
Merged
#25 Reject negative lengths in WeaselJsonParser_parse
Merged
#26 check WeaselJsonParser_create return value in Python bindings
Merged
#22 schemagen: add C++20 keywords to the C++ keyword allow-list
Merged
#15 Make parser reject state sticky after WeaselJson_REJECT
Merged
#9 schemagen: support objects with >32 properties
Merged
#10 Reset transient parser state in Parser3::reset
Merged
#8 schemagen: keep null elements in arrays with nullable item types
Merged
#11 schemagen: deduplicate enum constants that collide after sanitization
Merged
#7 Python bindings: add missing on_key_data callback
31 Issues closed from 2 users
Closed
#63 schemagen: required entries with no matching properties key are silently dropped - generated parser accepts schema-invalid documents
Closed
#55 schemagen: absent additionalProperties is not rejected at generation (contradicts README) and silently rejects extra properties
Closed
#56 schemagen integer parser rejects valid zero values with negative exponents (e.g. 0e-2)
Closed
#51 WeaselJsonParser_parse crashes on null parser
Closed
#52 After WeaselJson_OVERFLOW, a following EOF call can return WeaselJson_OK for an incomplete document
Closed
#14 schemagen drops nullability on cyclic $ref targets
Closed
#33 schemagen crashes (RecursionError) on cyclic array $ref targets
Closed
#35 schemagen emits unescaped control characters in generated C++ string literals
Closed
#34 schemagen integer parser has quadratic complexity for fractional leading zeros
Closed
#36 Generated RootBuilder dereferences null when WeaselJsonParser_create fails
Closed
#40 EOF flush for scalars ending at chunk boundary subtracts null pointers
Closed
#37 src/json_value.h uses uint8_t without including <cstdint>
Closed
#38 Python WeaselJsonParser constructor calls sys.exit(1) when the shared library is missing
Closed
#41 WeaselJsonParser_reset / _destroy crash on null parser
Closed
#39 Parser accepts invalid UTF-16 surrogate pairs (low-low) as valid
Closed
#16 schemagen builder crashes on scalar root values when root schema is object/array
Closed
#17 schemagen emits duplicate enum/vector types when the same non-object $defs entry is referenced multiple times
Closed
#19 schemagen integer parsing accepts out-of-range negatives and rejects valid positive boundary values
Closed
#20 schemagen builder accepts duplicate unknown keys in non-strict objects
Closed
#21 schemagen generated Root alias and Kind enum can collide with user-defined names
Closed
#13 schemagen generates broken code for nullable root types
Closed
#24 WeaselJsonParser_parse accepts negative len, causing undefined behavior
Closed
#23 Python bindings do not check for failed parser creation, causing segfaults
Closed
#18 schemagen C++ keyword allow-list is missing C++20 keywords
Closed
#12 Parser does not stay in REJECT state after returning WeaselJson_REJECT
Closed
#3 schemagen breaks required/duplicate checks for objects with >32 properties
Closed
#2 WeaselJsonParser_reset does not clear inKey, misrouting string callbacks
Closed
#5 schemagen drops null elements from arrays with nullable item types
Closed
#4 schemagen produces duplicate enum constants for distinct enum values
Closed
#6 Python bindings (weaseljson.py) omit on_key_data and misalign the C callbacks struct
Closed
#1 Use a trampoline to avoid stack overflow if the musttail attribute is not available
38 Issues created by 1 user
Opened
#1 Use a trampoline to avoid stack overflow if the musttail attribute is not available
Opened
#2 WeaselJsonParser_reset does not clear inKey, misrouting string callbacks
Opened
#3 schemagen breaks required/duplicate checks for objects with >32 properties
Opened
#4 schemagen produces duplicate enum constants for distinct enum values
Opened
#5 schemagen drops null elements from arrays with nullable item types
Opened
#6 Python bindings (weaseljson.py) omit on_key_data and misalign the C callbacks struct
Opened
#12 Parser does not stay in REJECT state after returning WeaselJson_REJECT
Opened
#13 schemagen generates broken code for nullable root types
Opened
#14 schemagen drops nullability on cyclic $ref targets
Opened
#16 schemagen builder crashes on scalar root values when root schema is object/array
Opened
#17 schemagen emits duplicate enum/vector types when the same non-object $defs entry is referenced multiple times
Opened
#18 schemagen C++ keyword allow-list is missing C++20 keywords
Opened
#19 schemagen integer parsing accepts out-of-range negatives and rejects valid positive boundary values
Opened
#20 schemagen builder accepts duplicate unknown keys in non-strict objects
Opened
#21 schemagen generated Root alias and Kind enum can collide with user-defined names
Opened
#23 Python bindings do not check for failed parser creation, causing segfaults
Opened
#24 WeaselJsonParser_parse accepts negative len, causing undefined behavior
Opened
#33 schemagen crashes (RecursionError) on cyclic array $ref targets
Opened
#34 schemagen integer parser has quadratic complexity for fractional leading zeros
Opened
#35 schemagen emits unescaped control characters in generated C++ string literals
Opened
#36 Generated RootBuilder dereferences null when WeaselJsonParser_create fails
Opened
#37 src/json_value.h uses uint8_t without including <cstdint>
Opened
#38 Python WeaselJsonParser constructor calls sys.exit(1) when the shared library is missing
Opened
#39 Parser accepts invalid UTF-16 surrogate pairs (low-low) as valid
Opened
#40 EOF flush for scalars ending at chunk boundary subtracts null pointers
Opened
#41 WeaselJsonParser_reset / _destroy crash on null parser
Opened
#51 WeaselJsonParser_parse crashes on null parser
Opened
#52 After WeaselJson_OVERFLOW, a following EOF call can return WeaselJson_OK for an incomplete document
Opened
#55 schemagen: absent additionalProperties is not rejected at generation (contradicts README) and silently rejects extra properties
Opened
#56 schemagen integer parser rejects valid zero values with negative exponents (e.g. 0e-2)
Opened
#59 schemagen emits type names starting with a digit for property keys beginning with a digit (generated code does not compile)
Opened
#60 schemagen emits type names with non-identifier characters (e.g. '.', '+', '/') for $defs/property names containing them (generated code does not compile)
Opened
#61 schemagen crashes / emits non-compiling code for nullable root object reached via $ref that is referenced in a cycle
Opened
#62 schemagen _CPP_KEYWORDS list is missing C++ keywords (mutable, wchar_t, char8_t, char16_t, char32_t, noexcept, typeid, *_cast, ...) — generated code does not compile
Opened
#63 schemagen: required entries with no matching properties key are silently dropped - generated parser accepts schema-invalid documents
Opened
#64 schemagen: arrays of booleans map to std::vector<bool> whose back() is a proxy rvalue — generated code does not compile
Opened
#66 schemagen: U+0000 in property keys / enum values generates string literals with an embedded NUL byte — matchKey/enum matching misroutes values and rejects schema-valid input
Opened
#67 schemagen: enum class Kind : uint8_t overflows for schemas with more than 256 object/array kinds - generated header does not compile