Skip to content

Releases: ryanfowler/match

v0.3.3

Choose a tag to compare

@ryanfowler ryanfowler released this 02 Aug 12:47
a3af5cb

What's Changed

  • Support case-insensitive matching for indexed static hosts by @ryanfowler in #49

Full Changelog: v0.3.2...v0.3.3

v0.3.2

Choose a tag to compare

@ryanfowler ryanfowler released this 03 Jul 23:14
32a8d8f

What's Changed

  • Remove redundant MatchInto params reset by @ryanfowler in #47
  • perf: add skipPathSegment for index-only segment advance by @ryanfowler in #48

Full Changelog: v0.3.1...v0.3.2

v0.3.1

Choose a tag to compare

@ryanfowler ryanfowler released this 23 May 01:05
70db14c

What's Changed

  • Add exact static route map for faster literal matching by @ryanfowler in #36
  • Split plain params from affixed params in the router trie by @ryanfowler in #37
  • Add a compressed radix fast path for simple routes by @ryanfowler in #38
  • Split node implementations into focused files by @ryanfowler in #39
  • Deduplicate insert finalization in node insertion path by @ryanfowler in #40
  • Refactor route capture storage to compact metadata slices by @ryanfowler in #41
  • Refactor route and DNS parsing onto a shared scanner by @ryanfowler in #42
  • Share the conflict-index bucket helper between match and dns by @ryanfowler in #43
  • Name the routing tuning constants by @ryanfowler in #44
  • Optimize router matching and insertion hot paths by @ryanfowler in #45
  • Remove eager param growth from simple dynamic matching by @ryanfowler in #46

Full Changelog: v0.3.0...v0.3.1

v0.3.0

Choose a tag to compare

@ryanfowler ryanfowler released this 21 May 22:07
1a41960

What's Changed

  • Add DNS hostname matching sub-package by @ryanfowler in #31
  • Move DNS docs below the primary router sections by @ryanfowler in #32
  • Harden DNS matching and expand edge-case coverage by @ryanfowler in #33
  • Make Params mutating and pointer-based for faster matching by @ryanfowler in #34
  • Speed up DNS matcher lookups and insert conflicts by @ryanfowler in #35

Full Changelog: v0.2.0...v0.3.0

v0.2.0

Choose a tag to compare

@ryanfowler ryanfowler released this 21 May 13:57
41f6e8f

What's Changed

Full Changelog: v0.1.2...v0.2.0

v0.1.2

Choose a tag to compare

@ryanfowler ryanfowler released this 16 May 19:39
9fcee46

What's Changed

  • Fix MatchPrefix from leaking empty route on absolute paths by @ryanfowler in #21
  • Reduce routeEntry memory retention during insertion by @ryanfowler in #22
  • Optimize dynamic route insert conflict checks by @ryanfowler in #23
  • Optimize match and match prefix hot paths by @ryanfowler in #24
  • Optimize route parsing and absolute-root matching by @ryanfowler in #25

Full Changelog: v0.1.1...v0.1.2

v0.1.1

Choose a tag to compare

@ryanfowler ryanfowler released this 16 May 00:57
8503bef

What's Changed

  • Refine README router description wording by @ryanfowler in #15
  • Store trie routes as stable pointers by @ryanfowler in #16
  • Fix catch-all conflict detection for overlapping dynamic routes by @ryanfowler in #17
  • Fix false-positive route conflicts for disjoint ambiguous segments by @ryanfowler in #18
  • Reject unescaped braces inside parameter names by @ryanfowler in #19
  • Precompute capture metadata for route matching by @ryanfowler in #20

Full Changelog: v0.1.0...v0.1.1

v0.1.0

Choose a tag to compare

@ryanfowler ryanfowler released this 15 May 06:10
4906da5

What's Changed

  • Replace route-list matcher with a Go radix tree port of matchit by @ryanfowler in #1
  • Add PR CI checks for formatting, tests, and staticcheck by @ryanfowler in #2
  • Add performant Params merge support by @ryanfowler in #3
  • Use strings.IndexByte in nextPathSegment by @ryanfowler in #4
  • Remove duplicate literal prefix helper by @ryanfowler in #5
  • Remove dead code from findParamEnd by @ryanfowler in #6
  • Optimize dynamic segment matching and brace unescaping by @ryanfowler in #7
  • Optimize Match path scanning and preserve root catch-all fallback by @ryanfowler in #8
  • Fix param edge reuse for divergent route names by @ryanfowler in #9
  • Improve router documentation for accuracy and usability by @ryanfowler in #10
  • Preserve MatchInto buffers on misses and reuse parsed route patterns by @ryanfowler in #11
  • Harden Go module tests for routing and Params edge cases by @ryanfowler in #12
  • Add prefix matching to the router by @ryanfowler in #13
  • Add pkg.go.dev docs badge to the README by @ryanfowler in #14

New Contributors

Full Changelog: https://github.com/ryanfowler/match/commits/v0.1.0