laika-core

Upgrading

To 5.1.1

Bug fixes only. No code changes are needed.

Area Fix
OptionModel new OptionModel('name') called the connection name as a function and failed. The connection is now honoured, with separate models, caches and install state per connection.
OptionModel Nothing created or seeded the options table once schema auto-discovery was removed. The table is now installed and seeded with the defaults the first time Option is used.
OptionModel A stored '' or '0' no longer counts as missing, so insert() can’t hit a duplicate-key error. The cached value is the stored one, never a caller’s default.
Activity The activities table was always created on the default connection, even when inserting elsewhere. It now follows the connection passed to insert(), with one install flag per connection.
Redirect::back() The referer host was compared with HTTP_HOST, which includes the port, so on localhost:8000 every referer was rejected. Hosts are now compared without the port, honouring trusted proxies. //evil.com and /\evil.com paths are collapsed to local paths.
composer.json aws/aws-sdk-php (^3.394) and filp/whoops (^2.18) accept updates again, including security fixes.

To 5.1.0

Behaviour Changes

Dependency Changes

Package Constraint
laikait/laika-session 5.1.*. Session::scope() replaces the trailing $for argument; see its upgrade notes.
laikait/laika-auth 2.1.*. Guards take their config array in the constructor.

The framework’s root composer.json must require laikait/laika-core: ^5.1 to receive these versions.

After Upgrading

  1. Run php laika app:cache (or app:sync). A manifest compiled before 5.1.0 still lists the old core schemas.
  2. Make sure the database user can run CREATE TABLE once, or create options and activities ahead of time.
  3. Search for Session::set($key, $value, 'SCOPE')-style calls. PHP ignores the extra argument, so they silently write to the APP scope.