axelferdinand/statamic-secretary
Secretary is a Statamic addon that provides a simple, configurable assistant for your control panel. It helps streamline everyday content-management tasks, integrates with existing Statamic workflows, and is easy to install and customize.
What v0.1.13 actually is. A hygiene release, not a feature release. Three things landed: (1) committed Control Panel assets rebuilt against a pinned Statamic 6.31.0 lock, (2) CI now verifies those assets are deterministic (build output must match what is committed), (3) it rolls up the security work from v0.1.11 (Postmark replay protection) and v0.1.12 (dependency lock refresh). There are no new features, no deprecations, and no announced breaking changes in this version.
Architecture fit. The notes place this firmly as a Statamic addon consumed by a Laravel application, not a standalone Laravel library: it ships Control Panel (CP) frontend assets and is version-locked to a Statamic 6.31.0 dev lock. That means it inherits Statamic's addon lifecycle — service provider registration, config publishing, Vite-based CP asset build — and its compatibility envelope is capped by the host app's Statamic major/minor. It is not a drop-in for a plain Laravel app without Statamic.
Integration feasibility. Mechanically easy: Composer require, publish config, publish/migrate if the replay-protection store is DB-backed, add Postmark credentials and a webhook route. The friction points are the committed-asset workflow (consumers either trust the committed dist or must reproduce the build) and the Statamic version pin.
Technical risk — the dominant concerns are version maturity and coupling, not this release.
0.1.x bump is allowed to break. This is the single largest risk and it will not change based on v0.1.13.Key questions to put to the maintainer before adoption.
dist integrity check (checksum or build attestation) beyond internal CI?Stack fit. Assumes Laravel + Statamic 6.31.x + Control Panel enabled. In that stack the package slots in as a normal addon; outside it, nothing here applies. Confirm the Laravel major implied by Statamic 6.31 matches the host application before anything else.
Migration path. v0.1.12 → v0.1.13 is patch-level and should be a lockfile-only change plus a rebuilt asset directory: no config keys, no routes, no migrations. If arriving from ≤ v0.1.10, treat it as a minor upgrade — verify whether the replay-protection migration is new, and whether the webhook endpoint must be re-registered in Postmark.
Compatibility gates.
^0.1.13 explicitly; do not float dev-main.6.31.x line the addon's assets were built against; a Statamic minor bump invalidates the CP asset hash.Sequencing.
composer update <package>, diff composer.lock and review every transitive bump.Maintenance. Release cadence is high relative to payload size — three releases in three patch versions, two of them security-motivated. Combined with pre-1.0 versioning, expect to touch this package at least monthly and to read every changelog. Small blast radius per release, but non-zero.
Support. Unverified upstream responsiveness. No LTS, no vendor SLA, likely one or two maintainers. Needs a named internal owner who can read the source; do not assume upstream will answer.
Scaling. The package itself is thin; volume is bounded by Postmark and by CP UI traffic. The real scaling concern is the replay-protection store — it grows with webhook volume and needs a TTL and a prune job, or it becomes an unbounded table/cache region.
Failure modes.
Ramp-up. Roughly half a day for a Laravel developer already fluent in Statamic addon conventions; add a further day if the team must own and reproduce the CP asset build pipeline rather than trusting committed dist. Teams without Statamic experience should budget a week, most of it on Statamic rather than this package.
Recommendation. Safe to take as a patch on an already-integrated v0.1.11+ install. For new adoption, treat the pre-1.0 version and the Statamic-only fit as the deciding factors, not the security fixes — and do not sign off until questions 1–4 above have answers, since the current changelog does not describe what the package does, what it supports, or how its new stateful component behaves.
How can I help you explore Laravel packages today?