Skip to content

Releases: techouse/qs

1.7.0

09 Feb 18:31
b659d62

Choose a tag to compare

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

https://pub.dev/packages/qs_dart/versions/1.7.0

1.6.1

11 Jan 19:43
f8f06cc

Choose a tag to compare

1.6.1

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

https://pub.dev/packages/qs_dart/versions/1.6.1

1.6.0

03 Nov 21:53
a70a9b8

Choose a tag to compare

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").

https://pub.dev/packages/qs_dart/versions/1.6.0

1.5.6

03 Sep 08:13
ce84f0d

Choose a tag to compare

1.5.6

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

https://pub.dev/packages/qs_dart/versions/1.5.6

1.5.5

27 Aug 12:54
da0978a

Choose a tag to compare

1.5.5

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

https://pub.dev/packages/qs_dart/versions/1.5.5

1.5.4

24 Aug 08:25
640849b

Choose a tag to compare

1.5.4

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

https://pub.dev/packages/qs_dart/versions/1.5.4

1.5.3

23 Aug 22:59
10894f9

Choose a tag to compare

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

https://pub.dev/packages/qs_dart/versions/1.5.3

1.5.2

23 Aug 15:26
ab249c8

Choose a tag to compare

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

https://pub.dev/packages/qs_dart/versions/1.5.2

1.5.1

20 Aug 21:26
489b4ee

Choose a tag to compare

1.5.1

  • [FIX] fix decoder type and include throwOnLimitExceeded in equality check

https://pub.dev/packages/qs_dart/versions/1.5.1

1.5.0

20 Aug 06:49
eafe80a

Choose a tag to compare

1.5.0

  • [FEAT] add key-aware decoding capability to the query string decoder via DecodeKind

https://pub.dev/packages/qs_dart/versions/1.5.0