Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Tags: techouse/qs

Tags

v1.7.1

Toggle v1.7.1's commit message

Verified

This commit was signed with the committer’s verified signature.
techouse Klemen Tusar
🔖 release v1.7.1

## 1.7.1

* [FIX] restore robust cyclic detection when `filter` callbacks wrap values in fresh containers by tracking object identity before filter/date transformations
* [FIX] improve deep path handling in encoder key materialization/dot-encoding via iterative `KeyPathNode` caching (avoids recursive overflow risk and reuses ancestor caches)
* [CHORE] refactor encoder internals to share immutable frame config through new `EncodeConfig` and reduce per-frame option duplication
* [CHORE] replace `weak_map` usage in encode cycle tracking with identity-based `Set<Object>` side-channel and remove `weak_map` dependency
* [CHORE] expand encoder regression coverage with new tests for filter-wrapped cycles, `KeyPathNode` caching/encoding edge cases, and `EncodeConfig.copyWith` sentinel behavior
* [CHORE] refine decode internals with clearer duplicate-handling branching and a small dot-decoding fast-path guard (`cleanRoot.contains('%2')`)

v1.7.0

Toggle v1.7.0's commit message

Verified

This commit was signed with the committer’s verified signature.
techouse Klemen Tusar
🔖 release v1.7.0

## 1.7.0

* [FEAT] add `DecodeOptions.throwOnLimitExceeded` for strict limit enforcement on parameter, list, and depth overflows
* [FIX] tolerate malformed UTF-8 when encoding `ByteBuffer` values to match Node `Buffer.toString('utf8')`
* [FIX] encode `ByteBuffer` values via charset even when `encode=false` (avoid `Instance of 'ByteBuffer'` output)
* [FIX] ensure invalid charset in `Utils.encode` consistently throws `ArgumentError`
* [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 `FakeEncoding` test helper

v1.6.1

Toggle v1.6.1's commit message

Verified

This commit was signed with the committer’s verified signature.
techouse Klemen Tusar
🔖 release v1.6.1

## 1.6.1

* [FIX] prevent `DecodeOptions.listLimit` bypass in bracket notation to mitigate potential DoS via memory exhaustion

v1.6.0

Toggle v1.6.0's commit message

Verified

This commit was signed with the committer’s verified signature.
techouse Klemen Tusar
🔖 release v1.6.0

## 1.6.0

* [FEAT] add `EncodeOptions.commaCompactNulls`, allowing omission of `null` entries in lists when using the `ListFormat.comma`. This results in cleaner output (e.g., `[true, false, null, true]` becomes `"true,false,true"`).

v1.5.6

Toggle v1.5.6's commit message

Verified

This commit was signed with the committer’s verified signature.
techouse Klemen Tusar
🔖 release v1.5.6

## 1.5.6

* [CHORE] add highlights section outlining key features to README

v1.5.5

Toggle v1.5.5's commit message

Verified

This commit was signed with the committer’s verified signature.
techouse Klemen Tusar
🔖 release v1.5.5

## 1.5.5

* [CHORE] add screenshots section with package logo to pubspec.yaml

v1.5.4

Toggle v1.5.4's commit message

Verified

This commit was signed with the committer’s verified signature.
techouse Klemen Tusar
🔖 release v1.5.4

## 1.5.4

* [CHORE] add issue tracker and funding links to pubspec.yaml

v1.5.3

Toggle v1.5.3's commit message

Verified

This commit was signed with the committer’s verified signature.
techouse Klemen Tusar
🔖 release v1.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

v1.5.2

Toggle v1.5.2's commit message

Verified

This commit was signed with the committer’s verified signature.
techouse Klemen Tusar
🔖 release v1.5.2

## 1.5.2

- [FIX] enforce `decodeDotInKeys` and `allowDots` option 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 `allowDots` and `decodeDotInKeys` consistency in `DecodeOptions`
- [CHORE] add comprehensive tests for encoded dot behavior in keys to ensure C# port (QsNet) parity and option consistency
- [CHORE]️ refactor `DecodeOptions` to support legacy decoders and unify decode logic; add `decodeKey`/`decodeValue` helpers
- [CHORE] add tests for encoded dot handling in keys and custom decoder behavior in `DecodeOptions`
- [CHORE] remove unused import of `DecodeKind` from qs.dart
- [CHORE] update decode.dart comments to clarify key decoding and dot/bracket handling logic
- [CHORE] clarify `DecodeOptions` docs for `allowDots` and `decodeDotInKeys` interaction; improve `charsetSentinel` and 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 `listLimit` behavior and list growth checks in decode logic comments
- [CHORE] clarify `listLimit` negative value behavior and `throwOnLimitExceeded` interaction 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 `listLimit` in decode logic comments

v1.5.1

Toggle v1.5.1's commit message

Verified

This commit was signed with the committer’s verified signature.
techouse Klemen Tusar
🔖 release v1.5.1