Skip to content

V1.0.2-RC3

Choose a tag to compare

@drawfig drawfig released this 20 Aug 18:33

mouse-php v1.0.2-RC3 Release Notes

This release brings mouse-php to Release Candidate 3, moving us one step closer to our first full stable release. RC3 focuses heavily on refining the out-of-the-box authentication flow and streamlining the developer experience for decoupled frontends. To achieve this, we are officially introducing our new mRPC protocol, complete with a dedicated JavaScript library to make frontend-backend authentication and communication effortless.

New Features

  • mRPC Protocol & JS Library: Created the official mRPC specification, a new mRPC-compliant response utility for the backend, and a companion JavaScript library to easily integrate decoupled frontends.

  • Full Documentation: Comprehensive documentation is now officially included.

  • Squeak CLI Expansion: Added the add-utility command and new scaffolding capabilities to Squeak.

  • PostgreSQL Support: Introduced a Postgres-specific version of the User model.

  • Handshake Security: Added Thundering Herd protection for the KLI handshake.

Updates & Enhancements

  • Lazy Database Connections: Major performance win, database connections are no longer opened until after the routing engine has successfully validated the route.

  • Database Utility Overhaul: Reworked and appropriately renamed the Database Utility to fully support PostgreSQL and pave the way for future database driver inclusions.

  • Auth Scaffolding Rework: Audited and reworked the basic authentication scaffold and its routing layer to match the new architectural approach. The scaffold now prompts you to pick a database-specific version of the model.

  • Welcome Page Polish: Cleaned up the footer layout, made the primary buttons and links point to the actual documentation/quick start guides, and updated the default code block text to be more useful out of the box.

Architecture & Breaking Changes

  • Decoupled Authentication: Authentication is no longer handled by an explicit tag in the routing data. To secure a route, simply place it inside the security middleware group.

  • Middleware Data Injection: Middleware data is now directly injected into the $REQUEST_DATA property, safely nested under the "middleware_data" key.

Bug Fixes

  • Squeak Routing: Resolved an issue where Squeak would fail to operate correctly if the routing table was empty.