Skip to content

0.10.0

Choose a tag to compare

@somework somework released this 05 Sep 19:25
· 29 commits to main since this release

Changed

  • Requires indexnowkit/core ^0.8, indexnowkit/console ^0.2 and (dev/suggest) indexnowkit/sitemap ^0.4. Core 0.8 strips tracking parameters by default (normalizer.strip_tracking_params) and makes Equals in params an error (see the core changelog).

Added

  • The indexnow:check lines of the adapter carry stable codes (core 0.8, check --json): queue.dispatch,
    queue.connection, queue.driver, eloquent.enabled, plus the core's debounce.store and sitemap.installed.
    Listed in the core's docs/check-codes.md.
  • indexnow:check --json (the report as JSON, schema docs/check.schema.json of indexnowkit/console), --strict
    (warnings fail the command: put it in the deploy pipeline) and a repeatable --host (console 0.2).
  • indexnow:key:generate --force keeps the replaced key as INDEXNOW_PREVIOUS_KEY and refuses a second rotation while
    it is set; --no-previous and --yes decide (console 0.2).
  • The 403 escalation of Client counts in the cache store behind debounce.store (core 0.8; the store's
    increment() makes it atomic): one critical line per streak for every worker. IndexNowKitServiceProvider::FAILURE_CACHE
    is the container id of that ?Psr\SimpleCache\CacheInterface (null with memory/none).
  • Binding Submission\SubmissionStoreInterface (NullSubmissionStore by default): the store the submitter and the
    command submitters record every Result in (core 0.8); rebind it after the provider to keep a history.
  • Configuration block normalizer (strip_tracking_params, tracking_params, trailing_slash, sort_query) in
    config/indexnow.php: the canonical form of every URL (core 0.8); UrlNormalizerInterface is bound through
    Url\UrlNormalizerFactory. Tracking parameters are stripped by default.
  • indexnow:explain --json and the when values in the text output (console 0.2).
  • indexnow:config (--json): the effective configuration with masked keys plus this adapter's own keys (console 0.2).
  • Results are Laravel events (spec 17 §5.7): every Result goes through the event dispatcher
    (Event::listen(Result::class, …), Telescope, Event::fake()), from the submitter and the command submitters alike,
    through the PSR-14 bridge Event\EventDispatcherBridge (container id IndexNowKitServiceProvider::EVENTS).
  • php artisan about has an IndexNow section: core version, enabled/dry-run, environment, base URL, masked key,
    engines, dispatch, debounce, the check command.