Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Uri Template Laravel Package

guzzlehttp/uri-template

Expands RFC 6570 URI templates into concrete URI strings in PHP, turning templates like /users/{id}{?tab} into real paths with query strings from an array of values.

View on GitHub
Deep Wiki
Context7
v2.0.0

Changed

  • Invalid URI template syntax now throws InvalidArgumentException instead of expanding partially
  • Literal template text is now validated and valid non-ASCII literals are pct-encoded
  • URI template variable names and modifiers are now validated according to RFC 6570
  • Prefix modifiers are now rejected for list and map values
  • Referenced variable values are now validated before expansion
  • Dense zero-indexed arrays are expanded as lists and sparse or mixed-key arrays as maps
  • UriTemplate is now non-instantiable; use UriTemplate::expand() statically
  • Nested null values in lists and maps are now treated as undefined members and omitted
  • Variable values must now be valid UTF-8; invalid byte sequences throw InvalidArgumentException
  • Booleans now expand as 1 and 0 at every nesting level
  • Non-finite floats now throw InvalidArgumentException instead of expanding as INF or NAN
  • Non-empty lists whose members are all null are now treated as defined variables
  • Variable specifier whitespace padding is now detected with the real whitespace set
  • UriTemplate now rejects native PHP serialization and unserialization
  • Referenced variable values are now detached and formed before expansion begins
  • Template syntax is now validated for every expression before variable values are formed
  • Stringable objects are now converted to strings once per value position while values are formed
  • Invalid UTF-8 in variable values and map keys is now rejected while values are formed
  • Finite floats are now converted to their expansion strings while values are formed
  • Exceptions thrown by __toString() now surface while values are formed, before any output exists

Fixed

  • Fixed invalid template expressions being accepted as query and path-style parameter names
  • Fixed prefix modifiers counting bytes instead of Unicode code points and pct-encoded triplets
  • Fixed unsupported variable shapes producing warnings, conversion errors, or Array output
  • Fixed path-style parameter explode rendering empty members as name= instead of bare name
  • Fixed map keys not using the operator's allow set under reserved and fragment expansion
  • Fixed map explode rendering empty members as name= instead of bare name for unnamed operators
  • Fixed the documented variables array type rejecting integer keys for numeric variable names
  • Fixed all-null maps throwing with prefix modifiers instead of being skipped as undefined
  • Fixed prefix modifiers splitting Unicode code points encoded as multiple pct-encoded triplets
  • Fixed path-style composites rendering bare name instead of name= for empty joined members
  • Fixed null nested query array members being rejected for their keys instead of being omitted
  • Fixed float values expanding with the locale decimal separator on PHP versions before 8.0
  • Fixed PCRE engine failures on very long variable names being reported as invalid template syntax
  • Fixed invalid UTF-8 errors for list and map members not reporting the member path
  • Fixed exception messages embedding raw controls or malformed UTF-8 from expressions and map keys
  • Fixed invalid UTF-8 in literal text reported at the segment offset, not the first invalid byte
  • Fixed PCRE engine failures during literal text validation being reported as invalid UTF-8
  • Fixed PCRE engine failures during variable UTF-8 validation not being reported as runtime errors
  • Fixed PCRE engine failures during invalid UTF-8 offset recovery being reported as invalid UTF-8

Removed

  • Dropped support for PHP 7.2 and 7.3
v1.0.10

Fixed

  • Fixed prefix modifiers counting Unicode code points and pct-encoded characters instead of bytes
v1.0.9

Changed

  • Pass explicit trim characters ahead of the PHP 8.6 trim default change
v1.0.8

Fixed

  • Report PCRE errors when URI template value encoding fails
v1.0.7

Fixed

  • Fixed the operator's leading character being omitted when defined variables expand to empty strings
  • Fixed non-finite float values emitting coercion warnings on PHP 8.5
v1.0.6

Fixed

  • Fixed empty nested arrays adding empty components to exploded query expansions
  • Fixed nested query array keys being double-encoded during exploded query expansion
  • Fixed reserved and fragment expansion preserving existing pct-encoded triplets in variable values
v1.0.5

Changed

  • Officially support PHP 8.5
v1.0.4

Changed

  • Officially support PHP 8.4
v1.0.3

Changed

  • Updated link to RFC 6570
v1.0.2

Changed

  • Officially support PHP 8.2 and 8.3

Fixed

  • Fixed using 0 as an expanded value
v1.0.1

Changed

  • Officially support PHP 8.1
v1.0.0

Changed

  • Dropped support for PHP 7.1
v0.2.0

Added

  • Support PHP 7.1 and 8.0

Changed

  • Renamed GuzzleHttp\Utility\ to GuzzleHttp\UriTemplate\

Fixed

  • Delegate RFC 3986 query string encoding to PHP
  • Fixed some bugs when parts ofs values are not strings
v0.1.1

Fixed

v0.1.0

Added

  • Moved the UriTemplate class in this package
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
novasa/laravel-language-center
opencage/geocode
adolfoholzer/parameters
livenetworks/ln-starter
shitoudev/permissionmanager
johannesclimacus/laravel-tui
hocvt/seotools
vitalybaev/sypexgeo
amphibee/themosis-ignition
gito-me/fast-excel
frankyso/laravel-ipaymu
geolize-studio/laravel-chile
boomerangui/chat
cgv/localized-resource
noith/settings
kda/laravel-package
kda/filament-dynamic-navigation
bypersoft/signbox
pairus/product-data
fayne/laravel-filament-cms-core