Skip to content

0.10.0

Choose a tag to compare

@somework somework released this 06 Sep 10:48
· 25 commits to main since this release

Added

  • indexnowkit/verify wiring (spec 17 §6.1). With the package installed the verify node is the full tree
    (enabled, redirect, non_canonical, origin_error, delay, timeout, max_redirects, max_batch,
    robots_cache_ttl, user_agent; DependencyInjection\VerifyServices); with verify.enabled: true
    indexnowkit.submitter and indexnowkit.command_submitter_factory are decorated by VerifyingSubmitter /
    VerifyingSubmitterFactory, so dispatch: sync, the Messenger handler, the profiler recorder and every command
    verify; Submitter::class keeps pointing at the plain submitter; indexnowkit.command_submitter_factory.unverified
    is the plain factory (for the --no-verify flag of indexnow:sitemap). New services: indexnowkit.verify_config,
    indexnowkit.verify.transport (verify.timeout, verify.user_agent, your http.client), indexnowkit.verify.robots.
    check lines: verify.installed (verify: installed, disabled (verify.enabled: false) / verify: enabled (…)),
    verify.dispatch (warning with dispatch: sync), verify.sample. Without the package the verify block is
    accepted and ignored (check says so) and --sample is an error naming the install line.
  • indexnow:check --sample=<url> / --sample-class=<FQCN>[:<id>] (repeatable; Check\SampleOptions,
    Check\VerifySampleCheck, Check\EntitySampler over indexnowkit.entity_loader with Doctrine).
  • indexnow:config --json prints the verify section when the package is installed.
  • indexnowkit/history wiring (spec 17 §6.2). With the package installed the history node is the full tree
    (store, limit, key_prefix, pdo.dsn, pdo.service, pdo.table, retention_days;
    DependencyInjection\HistoryServices); with history.store: psr16 or pdo the package's store is
    indexnowkit.submission_store (alias indexnowkit.history.store), so the submitter, the Messenger handler, the
    commands and the verify decorator record into it — an application service under that id still replaces it.
    psr16 uses the debounce pool's PSR-16 view (or cache.app with debounce.store: memory|none); pdo takes the
    Doctrine connection of pdo.service (a connection name or a service id, getNativeConnection()) or a PDO built
    from pdo.dsn — never both — and does not create the table (see the package's docs/migrations.md). New services:
    indexnowkit.history_config, indexnowkit.history.pdo / indexnowkit.history.cache, indexnowkit.forbidden_counter
    (Retry\ForbiddenCounter), indexnowkit.console.history, indexnowkit.console.status. Commands
    indexnow:history (--host, --status, --url, --since, --limit, --json, --purge[=days]) and
    indexnow:status (--json per the package's status.schema.json; the Messenger transport and bus as the
    adapter facts); without the package Command\HistoryNotInstalledCommand / StatusNotInstalledCommand print the
    install line and exit 1. check lines: history.installed (without the package), history.store,
    history.records. config --json gets the history section. The profiler panel lists the last 20 recorded
    submissions ("Recent submissions"; IndexNowDataCollector takes an appended ?SubmissionStoreInterface $history).
  • IndexNowKitBundle(?bool $sitemapInstalled = null, ?bool $verifyInstalled = null, ?bool $historyInstalled = null)
    (appended), the same on IndexNowKitConfiguration and IndexNowKitLoader; parameter indexnowkit.debounce.key_prefix;
    DependencyInjection\TransportFactory::create(..., array $extraHeaders = []).

Changed

  • Requires indexnowkit/core ^0.9, indexnowkit/console ^0.3 and (dev/suggest) indexnowkit/sitemap ^0.5,
    indexnowkit/doctrine ^0.7, indexnowkit/verify ^0.1, indexnowkit/history ^0.1.