v0.7.8

<p>Saves lock against concurrent writers, the admin uploads several files at once with a progress bar, and the edit panel remembers its tab.</p>

18 October 2026

Added

  • Toolkit\Lock and LockTimeout: exclusive file locks that serialize work across PHP processes on one host. App::lock($key, $fn, $timeout) is the keyed entry point. It is re-entrant, and unrelated keys share a fixed set of lock files.
  • Request::files($key) returns the uploads for a key as a list of single-file entries, for name="file" and name="file[]" alike.
  • Multi-file upload in the admin Files tab, with a progress bar while it runs. A failed file is reported by name.
  • The edit panel keeps its open tab in the session.

Changed

  • Record::save() runs under $app->lock(), keyed by the record's registry key, and merges against what is on disk when the lock is taken. Concurrent saves of different fields on one record all land. A read-then-write of the same field, such as a counter, needs the caller's own $app->lock().
  • Item::delete() takes the same lock.

Comments

No comments yet. Be the first!

Loading form…