Weave Code
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 Laravel Package

sabre/uri

Lightweight, RFC3986-compliant PHP URI utility library. Resolve relative URLs, normalize for comparisons, parse/build (like parse_url with Windows path edge cases), and split URIs into dirname/basename. Fully unit tested and inspired by Node’s URL APIs.

View on GitHub
Deep Wiki
Context7
3.0.3

3.0.3 (2026-04-01)

  • #124 phpstan major version 2 (@phil-davis)
  • #127 add PHP 8.5 to CI workflows (@phil-davis)
  • #133 refactor: add and apply rector (ChristophWurst)

This release is confirmed to work with PHP 7.4 through 8.5.

3.0.2

3.0.2 (2024-09-04)

  • #98: Update readme and test (@phil-davis)
  • #100: Update CI and test things (@phil-davis)
  • #101: Create dependabot.yml (@DeepDiver1975)
  • #102: Bump actions/checkout from 3 to 4 (@DeepDiver1975)
  • #103: Change array<int...> to list<...> in PHP doc (@phil-davis)
  • #104: Add PHP 8.3 to CI (@phil-davis)
  • #105: add convertDeprecationsToExceptions option to unit test settings (@phil-davis)
  • and other CI and analysis/test tool changes
2.3.4

2.3.4 (2024-08-27)

  • #111: apply cs-fixer 3.54.0 changes to v2 branch (@phil-davis)
  • #115: Add PHP 8.3 to CI for v2 branch (@phil-davis)
  • #116: Add PHP 8.4 to CI for v2 branch (@phil-davis)
  • #117: check for nullable_type_declaration (@phil-davis)

Most of this is CI tooling to support PHP 8.3 and 8.4, which demonstrates that the tests pass with those latest PHP versions. There are some code format changes applied by php-cs-fixer. They do not effect behavior.

3.0.1

3.0.1 (2023-06-09)

  • #89: Call static assert functions with self:: (tests only) (@phil-davis)
  • #90: Implement phpstan strict rules and fix edge cases for paths that have "0" (@phil-davis)
  • #91: Use newer GitHub workflow action versions (CI only) (@phil-davis)
  • #93: Minor cs-fixer change (@phil-davis)
2.3.3

2.3.3 (2023-06-09)

  • #89: Call static assert functions with self:: (tests only) (@phil-davis)
  • #90: Implement phpstan strict rules and fix edge cases for paths that have "0" (@phil-davis)
  • #91: Use newer GitHub workflow action versions (CI only) (@phil-davis)
  • #93: Minor cs-fixer change (@phil-davis)

Note: This is a patch release for the "old" major version 2 series. There will also be a 3.0.1 release coming with the same patches for the current major version 3.

3.0.0

3.0.0 (2022-09-26)

This changes the behavior of parsing of some Windows file paths. See the discussions in PR #82 #71 #25 and issue #31 #81

2.2.4

2.2.4 (2022-09-19)

  • #83: Revert windows file paths change (was PR 71). See issue 81 (@phil-davis)

See the discussion in issue #81 and PR #83 and links from there. This patch release reverts to the previous behavior for Windows file paths like file:///C:/path/file.ext

The Windows file paths change was released in 2.2.3. So this 2.2.4 release allows anyone on 2.2.3 to bump just the patch version to 2.2.4 to get back the old behavior. This will be relevant to consumers who are still using PHP 7.1 7.2 or 7.3, and are thus on 2.2.. The 2.2. series is the last release series for those PHP versions.

The newer behavior will be released in a major version release, so that consumers can adjust to the change, if needed, in a more controlled manner. That release will also require a minimum of PHP 7.4

2.3.2

2.3.2 (2022-09-19)

  • #83: Revert windows file paths change (was PR 71). See issue 81 (@phil-davis)

See the discussion in issue #81 and PR #83 and links from there. This patch release reverts to the previous behavior for Windows file paths like file:///C:/path/file.ext

The newer behavior will be released in a major version release, so that consumers can adjust to the change, if needed, in a more controlled manner.

2.3.1

2.3.1 (2022-08-30)

  • #77: Add PHP 8.2 to CI - confirms that the code is working with PHP 8.2 (@phil-davis)
  • #78: Raise phpstan to level 8 (@phil-davis)
  • #79: Specify detailed return type of parse() (@phil-davis)
2.3.0

2.3.0 (2022-08-17)

  • #74: Minimum PHP 7.4 - drops PHP 7.1 7.2 and 7.3 and adds more type declarations (@phil-davis)
2.2.3

2.2.3 (2022-08-17)

2.2.2

2.2.2 (2021-11-04)

2.2.1

2.2.1 (2020-10-03)

2.2.0

2.2.0 (2020-01-31)

2.1.3
  • #43: allows the path to be 0
1.2.1
  • #16: Correctly parse urls that are only a fragment #.
2.1.1
  • #15: Don't throw an error when resolving a URI which path component is empty.
  • #16: Correctly parse urls that are only a fragment #.
2.1.2
  • #39: Some PHPDoc improvements.
  • PHPStan support.
  • Adopted the symfony php-cs-fixer standard.
  • Now testing against PHP 7.2 and 7.3.
2.1.0
  • Now throwing InvalidUriException if a uri passed to the parse function is invalid or could not be parsed.
  • #11: Fix support for URIs that start with a triple slash. PHP's parse_uri() doesn't support them, so we now have a pure-php fallback in case it fails.
  • #9: Fix support for relative URI's that have a non-uri encoded colon : in them.
1.2.0
  • Now throwing InvalidUriException if a uri passed to the parse function is invalid or could not be parsed.
  • #11: Fix support for URIs that start with a triple slash. PHP's parse_uri() doesn't support them, so we now have a pure-php fallback in case it fails.
  • #9: Fix support for relative URI's that have a non-uri encoded colon : in them.
1.1.1
  • #10: Correctly support file:// URIs in the build() method. (@yuloh)
2.0.1
  • #10: Correctly support file:// URIs in the build() method. (@yuloh)
2.0.0
  • Requires PHP 7.
  • Added type-hints where relevant.
1.1.0
  • #6: PHP's parse_url() corrupts strings if they contain certain non ascii-characters such as Chinese or Hebrew. sabre/uri's parse() function now percent-encodes these characters beforehand.
1.0.1
  • #4: Using php-cs-fixer to automatically enforce conding standards.
  • #5: Resolving to and building mailto: urls were not correctly handled.
1.0.0
  • Added a normalize function.
  • Added a buildUri function.
  • Fixed a bug in the resolve when only a new fragment is specified.

San José, CalConnect XXXII release!

0.0.1
  • First version!
  • Source was lifted from sabre/http package.
  • Provides a resolve and a split function.
  • Requires PHP 5.4.8 and up.
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.
davejamesmiller/laravel-breadcrumbs
artisanry/parsedown
christhompsontldr/phpsdk
enqueue/dsn
bunny/bunny
enqueue/test
enqueue/null
enqueue/amqp-tools
milesj/emojibase
bower-asset/punycode
bower-asset/inputmask
bower-asset/jquery
bower-asset/yii2-pjax
laravel/nova
spatie/laravel-mailcoach
spatie/laravel-superseeder
laravel/liferaft
nst/json-test-suite
danielmiessler/sec-lists
jackalope/jackalope-transport