Repository navigation
0.8.0
Added
-
Console\SitemapRunnertakes?Psr\Clock\ClockInterface $clock = null(appended) andchangedSince(?string $option, ?DateTimeImmutable $now = null)counts a relative--changed-since("1 day") back from$now(wave M, spec 19 §4.9,
PSR-20):SitemapServices::runner(…, ?ClockInterface $clock = null)passes the graph's clock, soTesting\FrozenClock
moves the sitemap filter with the debounce window and the submission timestamps. Before, the runner read the wall
clock throughnew DateTimeImmutable('-1 day')— the one place of the family a frozen clock could not reach. An
absolute date is taken as it is, as before. -
Console\SitemapCommand(wave L, spec 18): theindexnow:sitemapcommand itself as a symfony/console class over
Console\SitemapRunner, with#[AsCommand];Sitemap\Adapter\SitemapServices::command($runner, $sitemapUrlOption)
builds it. The Symfony bundle and the Yii3 package register this class instead of a copy of their own; an adapter
without the package registersConsole\Command\SitemapNotInstalledCommandofindexnowkit/consoleunder the same
name. Constructor:(SitemapRunner $runner, string $sitemapUrlOption = 'sitemap.url')— the second names the
adapter'ssitemap.urloption in the help. -
Console\SitemapRunnertakesbool $enabled = true(appended) and answerssitemap.enabled is false.with exit 2
when it is off;SitemapServices::runner()passesSitemapConfig::$enabled. Before, the Yii3 command checked the flag
itself and the bundle registered no command at all (it still does); the one place is now the runner, whatever the
adapter chose.
Changed
-
Requires
indexnowkit/console ^0.5(the command classes and the stubs live there). -
A
<loc>on a host this site has no key for is dropped (Console\SitemapRunner), before anything fetches or
submits it: only the hostsKeyProviderInterface::managedHosts()names —base_urlplus thehostsmap — pass,
whatever source produced the entries. One line in the run summary (on stderr with--json) says how many URLs were
skipped and on which hosts. Nested sitemaps were already restricted to the origin of the root; the entries were not,
so a sitemap built from user content (or a swapped one) could make the pre-flight ofindexnowkit/verifyGET
internal addresses. With no key at all (neitherbase_urlnor ahostsmap) nothing can be compared: the entries go
as they are, with one warning.strict_hosts: trueis documented as the recommendation for a sitemap built from user
content. -
Sitemap\Adapter\SitemapServices::package()delegates to the core'sAdapter\OptionalPackage::sitemap()(core
0.13.0): the name, the marker and the feature word live there, so an adapter asks about the package without loading
this class. Same object, same texts; adapters should callOptionalPackage::sitemap()directly. -
Requires
indexnowkit/core ^0.13.