Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

History Laravel Package

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...

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Operational visibility for IndexNow submissions as a first-class capability. The new 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.
  • Build vs. buy: buy the adapter layer, build the workflow around it. 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.
  • Multi-framework platform strategy. The shared 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.
  • Security and data-integrity hardening as a release gate. 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.
  • Roadmap signal: from submission helper to observability kit. Minor-version additions of public console classes and shared description APIs indicate the package is maturing toward an operations toolkit. PMs can plan follow-on features—dashboards, export, retention controls, alerting—on top of stable primitives instead of inventing them.
  • Dependency hygiene as a supportability decision. Requiring 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.

When to Consider This Package

  • Consider it when IndexNow is part of your SEO/indexing workflow and you need auditability. If you submit URLs to search engines and need to answer “what was submitted, when, and did it succeed?”, the new history/status commands and runner abstractions are directly relevant.
  • Consider it when you run Laravel plus other PHP frameworks. The adapter model and shared HistoryServices description contract reduce duplication across Laravel, Symfony, Yii2, and Yii3. Standardizing on this package can lower long-term maintenance cost versus separate integrations.
  • Consider it when you want console-native operations. If your team expects php artisan-style commands for diagnostics and history, the dedicated Symfony Console command classes with #[AsCommand] are a better fit than ad-hoc scripts.
  • Consider it when you store history in PDO-backed storage and care about injection boundaries. The Pdo\Schema::table() identifier check and taint-analysis support are relevant if history.pdo.table is configurable and you need defensible SQL safety.
  • Look elsewhere when you only need one-off URL pings. If IndexNow submission is a single fire-and-forget call with no history, debounce, queue, or multi-framework requirements, the added console and adapter surface may be more than you need.
  • Look elsewhere when you cannot meet platform requirements. The package now requires 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.
  • Look elsewhere for a full SEO platform. This is infrastructure for submission and diagnostics, not keyword research, sitemap generation, or analytics. Pair it with your existing SEO tooling rather than replacing it.
  • Proceed cautiously if you depend on pre-0.4 adapter internals. 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.

How to Pitch It (Stakeholders)

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.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
socialdept/atp-orm
cboxdk/laravel-assistant-client
socialdept/atp-resolver
socialdept/tenant-domains
tautvydasr/blade-class-names
socialdept/color-scales
maherelgamil/controller
coleus/widgets
coleus/table
coleus/users
coleus/music
coleus/health
coleus/calendar
coleus/notes
coleus/support
coleus/settings
coleus/apps
seampact/laravel
emmyconceptng/laravel-ng-postcode
jjsquady/round-robin