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

Semver Laravel Package

composer/semver

A standalone PHP library for parsing, validating, and comparing semantic version numbers and constraints, extracted from Composer. It normalizes versions, handles stability flags and branches, and powers dependency version checks. Requires PHP 5.3.2+.

View on GitHub
Deep Wiki
Context7
3.5.1
  • Fixed Intervals::isSubsetOf() returning false for < 0.0.0, which now correctly matches nothing and so is a subset of any constraint (#192)

Full Changelog: https://github.com/composer/semver/compare/3.5.0...3.5.1

3.5.0
  • Added VersionParser::isValid() to check whether a version string can be normalized (#168)
  • Fixed Intervals::compactConstraint() turning constraints that match no dev versions, like > 1.0.0 != 2.0.0 || < 1.9.0, into != 2.0.0 which matches all dev-* versions (#189)
  • Fixed >= and < constraints on RC versions, like >=1.0-RC1, getting an extra -dev suffix which beta and alpha constraints did not get (#187)
  • Improved CompilingMatcher performance by avoiding building concatenated cache keys on every call (#186)

Full Changelog: https://github.com/composer/semver/compare/3.4.4...3.5.0

3.4.4

What's Changed

New Contributors

Full Changelog: https://github.com/composer/semver/compare/3.4.3...3.4.4

3.4.3
  • Fixed some type annotations

Full Changelog: https://github.com/composer/semver/compare/3.4.2...3.4.3

3.4.2
  • Fixed PHP 5.3 syntax error

Full Changelog: https://github.com/composer/semver/compare/3.4.1...3.4.2

3.4.1
  • Fixed normalizeStability's return type to enforce valid stabilities

Full Changelog: https://github.com/composer/semver/compare/3.4.0...3.4.1

3.4.0
  • Support larger major version numbers (#149)

Full Changelog: https://github.com/composer/semver/compare/3.3.2...3.4.0

3.3.2
  • Fixed handling of non-string values (#134)
3.3.1
  • Fixed possible cache key clash in the CompilingMatcher memoization (#132)
3.3.0
  • Improved performance of CompilingMatcher by memoizing more (#131)
    • Added CompilingMacher::clear to clear all memoization caches
3.2.9
  • Revert #129 (Fixed MultiConstraint with MatchAllConstraint) which caused regressions

Full Changelog: https://github.com/composer/semver/compare/3.2.8...3.2.9

3.2.8

Full Changelog: https://github.com/composer/semver/compare/3.2.7...3.2.8

3.2.7
  • Fixed: typo in type definition of Intervals class causing issues with Psalm scanning vendors
3.2.6
  • Fixed: type improvements to parseStability
3.2.5
  • Fixed: issue comparing disjunctive MultiConstraints to conjunctive ones (#127)
    • Fixed: added complete type information using phpstan annotations
1.7.2
  • Fixed: Allow installing on php 8
3.2.3
  • Fixed: constraints in the form of X || Y, >=Y.1 and other such complex constructs were in some cases being optimized into a more restrictive constraint
3.2.4
  • Fixed: code clean-up
3.2.2
  • Fixed: internal code cleanups
1.7.1
  • Fixed: accidental validation of broken constraints combining ^/~ and wildcards, and -dev suffix allowing weird cases
    • Fixed: normalization of beta0 and such which was dropping the 0
3.2.1
  • Fixed: accidental validation of broken constraints combining ^/~ and wildcards, and -dev suffix allowing weird cases
    • Fixed: normalization of beta0 and such which was dropping the 0
3.1.0
  • Added: support for constraints like ^2.x-dev and ~2.x-dev, not very useful but seen in the wild and failed to validate with 3.0.1
    • Fixed: invalid aliases will no longer throw, unless explicitly validated by Composer in the root package
3.2.0
  • Added: support for x || [@dev](https://github.com/dev), not very useful but seen in the wild and failed to validate with 1.5.2/1.6.0
    • Added: support for foobar-dev being equal to dev-foobar, dev-foobar is the official way to write it but we need to support the other for BC and convenience
1.7.0
  • Added: support for x || [@dev](https://github.com/dev), not very useful but seen in the wild and failed to validate with 1.5.2/1.6.0
    • Added: support for foobar-dev being equal to dev-foobar, dev-foobar is the official way to write it but we need to support the other for BC and convenience
1.6.0
  • Added: support for constraints like ^2.x-dev and ~2.x-dev, not very useful but seen in the wild and failed to validate with 1.5.2
    • Fixed: invalid aliases will no longer throw, unless explicitly validated by Composer in the root package
1.5.2
  • Fixed: handling of some invalid -dev versions which were seen as valid
  • Fixed: some doctypes
3.0.1
  • Fixed: handling of some invalid -dev versions which were seen as valid
3.0.0
  • Break: Renamed EmptyConstraint, replace it with MatchAllConstraint
    • Break: Unlikely to affect anyone but strictly speaking a breaking change, *.* and such variants will not match all dev-* versions anymore, only * does
    • Break: ConstraintInterface is now considered internal/private and not meant to be implemented by third parties anymore
    • Added Intervals class to check if a constraint is a subsets of another one, and allow compacting complex MultiConstraints into simpler ones
    • Added CompilingMatcher class to speed up constraint matching against simple Constraint instances
    • Added MatchAllConstraint and MatchNoneConstraint which match everything and nothing
    • Added more advanced optimization of contiguous constraints inside MultiConstraint
    • Added tentative support for PHP 8
    • Fixed ConstraintInterface::matches to be commutative in all cases
2.0.0
  • Break: dev-master, dev-trunk and dev-default now normalize to dev-master, dev-trunk and dev-default instead of 9999999-dev in 1.x
    • Break: Removed the deprecated AbstractConstraint
    • Added getUpperBound and getLowerBound to ConstraintInterface. They return Composer\Semver\Constraint\Bound instances
    • Added MultiConstraint::create to create the most-optimal form of ConstraintInterface from an array of constraint strings
1.5.1
  • Fixed: Parsing of aliased version was not validating the alias to be a valid version
1.5.0
  • Added: some support for date versions (e.g. 201903) in ~ operator
  • Fixed: support for stabilities in ~ operator was inconsistent
1.4.2
  • Fixed: collapsing of complex constraints lead to buggy constraints
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.
wandesnet/mercadopago-laravel
tsfcorp/email
larafony/core
laravel-enso/currencies
tartan/laravel-online-payment
gam/laravel-sat-catalogs
cloudcreativity/laravel-stripe
abdulelahragih/querybuilder
wedevbr/celcoin-laravel
surazdott/nepali-date
devsquad-cockpit/laravel
coding-socks/laravel-upload-handler
artisanbarista/laravel-shield
shopwwi/laravel-cache
instance-code/repository
flooris/prestashop-models
lab2view/laravel-generator
lenderspender/laravel-wizard
joecampo/laravel-notification-basecamp
square1/laravel-collection-rolling-average