Skip to content

0.3.2

Choose a tag to compare

@dereuromark dereuromark released this 04 May 00:31
· 29 commits to master since this release
909f78d

Fixes

  • Pagination icons rendered as literal <i class="fas ..."> text since 0.3.1. PaginatorHelper only honors the escape option — the narrower escapeTitle from #28 was silently ignored. Switched back to escape => false for the four nav links (#31).
  • Proper __d() translation usage

Improvements

  • Tighten row-save validation, mirroring the existing dispatch-side gates (#30):
    • validateShellCommand now requires QueueScheduler.allowRaw=true (or debug=true) at row-authoring time, so TYPE_SHELL_COMMAND rows can no longer be persisted on a production install where raw execution is off. Removes the pre-staged-row footgun where flipping allowRaw on later would arm previously-saved shell rows without a fresh review.
    • validateCakeCommand now enforces is_a($value, CommandInterface, true) in addition to the *Command suffix and class_exists checks. Catches typos and shrinks the constructor-side-effect window — the runtime task already rejected non-CommandInterface classes, but only after new $class() had run.
    • validateQueueTask now enforces is_a($value, Queue\Queue\Task, true) for the same defense-in-depth reason: refuse to persist rows the runner would later refuse anyway.
    • _getJobData() now reduces a non-array json_decode result (scalar / null / string) to [] instead of forwarding it to QueuedJobsTable::createJob() and triggering a TypeError. A row that bypasses validation (direct SQL insert, future loosening of the validator) now dispatches with empty params instead of crashing the runner.

Full Changelog: 0.3.1...0.3.2