Releases: techouse/qs
Releases · techouse/qs
1.7.0
1.7.0
- [FEAT] add
DecodeOptions.throwOnLimitExceededfor strict limit enforcement on parameter, list, and depth overflows - [FIX] tolerate malformed UTF-8 when encoding
ByteBuffervalues to match NodeBuffer.toString('utf8') - [FIX] encode
ByteBuffervalues via charset even whenencode=false(avoidInstance of 'ByteBuffer'output) - [FIX] ensure invalid charset in
Utils.encodeconsistently throwsArgumentError - [FIX] improve merge semantics for lists/maps (hole replacement, undefined normalization under
parseLists=false, and non-mutating list/set merges) - [FIX] add runtime validation and DecodeOptions constructor asserts for invalid charsets and inconsistent dot options
- [CHORE] refactor encode/merge internals to stack-based frames (
EncodeFrame,MergeFrame,MergePhase) for deep-nesting safety - [CHORE] expand coverage for encode/decode/merge edge cases and add a shared
FakeEncodingtest helper
1.6.1
1.6.1
- [FIX] prevent
DecodeOptions.listLimitbypass in bracket notation to mitigate potential DoS via memory exhaustion
1.6.0
1.6.0
- [FEAT] add
EncodeOptions.commaCompactNulls, allowing omission ofnullentries in lists when using theListFormat.comma. This results in cleaner output (e.g.,[true, false, null, true]becomes"true,false,true").
1.5.6
1.5.6
- [CHORE] add highlights section outlining key features to README
1.5.5
1.5.5
- [CHORE] add screenshots section with package logo to pubspec.yaml
1.5.4
1.5.4
- [CHORE] add issue tracker and funding links to pubspec.yaml
1.5.3
1.5.3
- [FIX] fix handling of degenerate dot cases in key splitting logic
- [FIX] fix bracketed key detection in dot decoding logic
- [FIX] fix normalization of synthetic bracket segments for unterminated groups in key decoding
- [FIX] fix list limit error messaging and improve bracket counting logic in key decoding
- [FIX] fix list parsing logic by removing unnecessary bracketed check for index assignment
- [CHORE] add comprehensive tests for encoded dot behavior in key decoding
- [CHORE] add tests for key splitting behavior with depth remainder and strictDepth options
- [CHORE] add tests for leading and encoded dot handling in key decoding
1.5.2
1.5.2
- [FIX] enforce
decodeDotInKeysandallowDotsoption consistency; clarify dot decoding in documentation - [FIX] fix dot notation encoding in key splitter; handle top-level dots and bracket depth correctly
- [FIX] fix list limit check to account for current list length when splitting comma-separated values
- [FIX] fix parameter splitting to correctly enforce limit and wrap excess bracket groups as single segment
- [FIX] fix list limit enforcement and unify key/value decoding in parser
- [FIX] preserve leading dot in key decoding except for degenerate ".[" case
- [CHORE] add tests for
allowDotsanddecodeDotInKeysconsistency inDecodeOptions - [CHORE] add comprehensive tests for encoded dot behavior in keys to ensure C# port (QsNet) parity and option consistency
- [CHORE]️ refactor
DecodeOptionsto support legacy decoders and unify decode logic; adddecodeKey/decodeValuehelpers - [CHORE] add tests for encoded dot handling in keys and custom decoder behavior in
DecodeOptions - [CHORE] remove unused import of
DecodeKindfrom qs.dart - [CHORE] update decode.dart comments to clarify key decoding and dot/bracket handling logic
- [CHORE] clarify
DecodeOptionsdocs forallowDotsanddecodeDotInKeysinteraction; improvecharsetSentineland decoder behavior descriptions - [CHORE]️ simplify custom decoder handling in
DecodeOptions; remove dynamic invocation and legacy overloads - [CHORE] update tests to use new decoder signature with
DecodeKind; remove legacy dynamic invocation cases - [CHORE] add tests for leading and double dot handling with
allowDots=true - [CHORE] remove legacy dynamic decoder fallback tests and helper class
- [CHORE] fix custom percent-decoding logic to handle non-encoded characters and improve byte extraction
- [CHORE] clarify negative
listLimitbehavior and list growth checks in decode logic comments - [CHORE] clarify
listLimitnegative value behavior andthrowOnLimitExceededinteraction in decode options comments - [CHORE] improve decode tests for nested list handling, list limit error matching, and long input parsing; fix percent-decoding to handle '+' as space
- [CHORE] clarify handling of percent-encoded dots in keys and list growth with negative
listLimitin decode logic comments
1.5.1
1.5.1
- [FIX] fix
decodertype and includethrowOnLimitExceededin equality check
1.5.0
1.5.0
- [FEAT] add key-aware decoding capability to the query string decoder via
DecodeKind