Skip to content

Releases: Upstatement/routes

1.0.0-rc.2 — Release candidate: canonical redirect fix + feature freeze

Choose a tag to compare

@jarednova jarednova released this 11 Jul 21:09
907dc78

Release candidate for 1.0.0, feature-frozen ahead of the stable release.

What's in it

  • Fix: canonical redirects no longer hijack matched routes (#53), with regression tests.
  • Carries everything from the 1.0.0 beta line (singleton refactor, custom match types, base path support for subdirectory installs, decimal/slug route parameters, PHP 8.2+ support).

Notes

  • Supersedes 1.0.0-rc.1, which was published against the pre-#53 code and is immutable on Packagist. Please test against 1.0.0-rc.2.
  • Planned soak of ~1 week; promotes to 1.0.0 stable if no blockers surface.

Full changelog: 1.0.0-rc.1...1.0.0-rc.2

Release candidate: canonical redirect fix + feature freeze

Choose a tag to compare

@jarednova jarednova released this 11 Jul 01:15
431f135

What's Changed

Full Changelog: 1.0.0-beta.2...1.0.0-rc.1

1.0.0-beta.2

1.0.0-beta.2 Pre-release
Pre-release

Choose a tag to compare

@Levdbas Levdbas released this 07 Jul 20:15
8bcfd77

In additional to beta 1, the following is now added to this new beta release.

What's Changed

New Contributors

Full Changelog: 1.0.0-beta.1...1.0.0-beta.2

Singleton refactor, custom match types, base path support

Choose a tag to compare

@jarednova jarednova released this 19 Apr 14:07
d89b8aa

⚠️ Beta release. APIs may shift before 1.0.0 stable. Please test against your projects and
file issues with feedback.

What's New

  • Custom AltoRouter match types via addMatchTypes() — register your own match type patterns
    (e.g. numeric IDs, slugs, UUIDs) to use in route definitions. See the README for usage examples.
  • Base path support for subdirectory installations — Routes now correctly handles WordPress
    installs mounted in a subdirectory. The router resolves against the relative path instead of the full
    request URI.

Breaking Changes

  • Routes is now a singleton. Direct instantiation patterns are replaced by a single shared
    instance. If you were holding your own new Routes() reference, switch to the singleton accessor —
    see README for the migration path.
  • Several internal method signatures changed to operate on instance context rather than static calls.
    If you were extending or subclassing Routes, review your overrides.

Fixes

  • match_current_request now correctly uses instance context on all call sites
  • Null-check on the router in match_current_request to guard against edge cases where no routes are
    registered
  • Reordered class properties for clarity

Documentation

  • New README section covering addMatchTypes() with examples
  • New README section on base path handling for subdirectory WordPress installs
  • Updated installation instructions
  • Documented 1.0.0 breaking changes

Housekeeping

  • Cleaned up plugin header comments
  • Removed unused autoload checks

Upgrading from 0.10.0

  1. Replace any direct new Routes() usage with the singleton accessor
  2. Review any subclasses for signature changes on instance methods
  3. If you use subdirectory installs, verify your routes still resolve as expected (behavior changed —
    should now Just Work where it previously required manual base-path hacks)

Full Changelog: 0.10.0...1.0.0-beta.1

HEAD method support, PHP 8.2, CI modernization

Choose a tag to compare

@jarednova jarednova released this 19 Apr 14:06
55bbfc3

What's New

  • HEAD method supportRoutes::map() now accepts HEAD as a valid HTTP method (#50)
  • PHP 8.2 required — minimum PHP version bumped from 7.3 to 8.2
  • Mantle framework integration — added mantle-framework/support, contracts, and container as
    dependencies

Improvements

  • Major refactor of Routes.php for readability, structure, and inline documentation
  • Modernized string operations (str_contains, str_starts_with) for clarity and performance
  • Clearer parameter descriptions on load()
  • Template filter callback now receives the current template parameter

Tooling & CI

  • Migrated from Travis CI to GitHub Actions (lint, Rector, PHPUnit)
  • Added Easy Coding Standard (ecs.php) and Rector (rector.php) configs
  • Updated PHPUnit config and test bootstrap
  • Rewrote test suite under tests/RoutesTest.php with expanded coverage

Fixes

  • Corrected "Preceeding" → "Preceding" in test names
  • Reset matches_class_test array between class route assertions
  • Assorted .gitattributes / .gitignore cleanup

Breaking Changes

  • PHP 8.2 is now the minimum supported version. Projects on older PHP must stay on 0.9.2 or
    upgrade their runtime before installing this release.

Full Changelog: 0.9.2...0.10.0

0.9.2

Choose a tag to compare

@Levdbas Levdbas released this 25 Feb 18:08
196a4db

What's Changed

New Contributors

Full Changelog: 0.9.1...0.9.2

Allow for 1.x composer installers for PHP 5.*

Choose a tag to compare

@jarednova jarednova released this 22 Jun 19:54
cac3c84

What's Changed

  • Allow for 1.x composer installers to support WP.org deployment by @jarednova in #42

Full Changelog: 0.9...0.9.1

Fix for WordPress 6.0

Choose a tag to compare

@jarednova jarednova released this 22 Jun 19:29
e4a995a

What's Changed

  • Use parse_request instead of do_parse_request action to fix compatibility with Wordpress 6 by @idflood in #41

New Contributors

Full Changelog: 0.8.2...0.9

Update of Composer specs

Choose a tag to compare

@jarednova jarednova released this 26 Feb 07:15
2fff0d9
Merge pull request #33 from Upstatement/coveralls

set PHP 7.x version

Update to version 2.0.2 of AltoRouter

Choose a tag to compare

@jarednova jarednova released this 16 Oct 00:12

What's Changed

New Contributors

Full Changelog: 0.8...0.8.1