indexnowkit/history
A Laravel package for adding audit-style history to Eloquent models. Track creates, updates, and deletes, persist snapshots or changed fields, and review a clear timeline of record activity with simple, framework-friendly APIs. Ideal for lightweight auditing and accountability without a heavyweight...
indexnow:history and indexnow:status console commands turn submission tracking into a supportable product surface: teams can inspect recent submissions, debounce-store behavior, and queue facts without bespoke scripts. This supports roadmap decisions around admin tooling, diagnostics, and SLA monitoring rather than treating IndexNow as fire-and-forget.Console\HistoryCommand / StatusCommand plus the adapter-provided HistoryRunner / StatusRunner mean Laravel teams inherit the command behavior rather than reimplementing history and status output. PM effort shifts from plumbing to product-specific concerns: scheduling, alerting, retention policy, and UX for non-engineers.HistoryServices::describeStore() contract and the Laravel/Yii2/Yii3 alignment signal that the package is investing in a common adapter surface. That supports decisions to standardize IndexNow tooling across PHP services, and to avoid per-framework forks.Pdo\Schema::table() and the Psalm taint-escape boundary between history.pdo.table and CREATE TABLE / INSERT support a “safe by default” posture for teams storing submission history in SQL. This is a product-risk reduction item, not just an implementation detail.ext-mbstring and indexnowkit/core ^0.13 (with indexnowkit/console ^0.5 suggested for commands) clarifies platform prerequisites. That informs upgrade planning, CI images, and support policy for Laravel versions and PHP extensions.HistoryServices description contract reduce duplication across Laravel, Symfony, Yii2, and Yii3. Standardizing on this package can lower long-term maintenance cost versus separate integrations.php artisan-style commands for diagnostics and history, the dedicated Symfony Console command classes with #[AsCommand] are a better fit than ad-hoc scripts.Pdo\Schema::table() identifier check and taint-analysis support are relevant if history.pdo.table is configurable and you need defensible SQL safety.ext-mbstring, indexnowkit/core ^0.13, and the commands rely on indexnowkit/console ^0.5 as a dev/suggested dependency. If your deployment cannot satisfy those constraints, evaluate alternatives or defer adoption.HistoryServices::package() now delegates to OptionalPackage::history() and adapters are told to call that directly. This is a minor-version compatibility change worth checking in custom adapters before upgrading.For executives: This release makes IndexNow submissions observable and supportable. Instead of a hidden integration, teams get built-in history and status commands plus a consistent adapter model across Laravel and other PHP frameworks. That reduces custom tooling, shortens incident diagnosis, and lowers the risk of unsafe SQL handling in submission history. It is a minor release with new public classes, so it is an additive upgrade—but it does raise platform requirements (ext-mbstring, core ^0.13, console ^0.5 for commands) that should be reflected in upgrade planning.
For engineering: Treat 0.4.0 as the point where history and status become reusable package primitives. Use HistoryCommand / StatusCommand and the adapter-provided runners rather than duplicating command logic. Custom adapters should migrate from HistoryServices::package() to OptionalPackage::history() and adopt describeStore() for consistent debounce-store reporting. Validate PDO table configuration against the new Schema::table() boundary and confirm Psalm taint expectations. Add ext-mbstring to CI and production images, and pin to core ^0.13; add indexnowkit/console ^0.5 where console commands are required. Because this is a minor version with new public API, schedule a regression pass on custom adapters and command registration before rollout.
How can I help you explore Laravel packages today?