Skip to content

0.9.0

Choose a tag to compare

@somework somework released this 05 Sep 17:24
· 40 commits to main since this release

Changed

  • Requires core 0.7: Console\SubmitterFactory / Console\SubmitterFactoryInterface are now
    IndexNowKit\Adapter\SubmitterFactory / IndexNowKit\Adapter\SubmitterFactoryInterface, Console\ResultSummary is
    IndexNowKit\Submission\ResultSummary. Application code that names them (a decorator of the SubmitterFactoryInterface binding) changes the use line; nothing else.
  • The test suite requires indexnowkit/testing ^0.1 (require-dev): the conformance kits and the H01–H05 assertions
    moved there from the core (Testing\Conformance\KeyFileAssertions, CheckOutputAssertions, ReadmeAssertions).
  • Requires indexnowkit/console ^0.1: the runners and definitions the artisan commands are built on moved there from the core
    with their FQCN unchanged (IndexNowKit\Console\*); Composer installs it with this package, nothing to do.
  • Sitemap\SitemapSupport (the @internal predicate with its static override) is gone: the provider binds an
    IndexNowKit\Adapter\OptionalPackage under IndexNowKitServiceProvider::SITEMAP_PACKAGE (SitemapServices::package()).
    A test that booted without the package through SitemapSupport::$installed = false binds
    IndexNowKitServiceProvider::SITEMAP_PACKAGE => fn() => SitemapServices::package(false) before the provider
    registers (Testbench: overrideApplicationBindings(); defineEnvironment() runs after register()). Config\ConfigFactory::factory(), create() and build() take an
    appended ?bool $sitemapInstalled = null. The check line for a configured but ignored sitemap block is a
    warning now (it was ok). The invalid-block critical line comes from SitemapConfig::loadOrDisabled() (same text).

Added

  • resources/boost/guidelines/core.blade.php: Laravel Boost picks it up on boost:install (conventions, a model
    snippet, verification).

Documentation

  • README: the quick-start model is tests/Readme/Post.php verbatim (complete use lines, the category relation the
    via: rule reads, casts/defaults that make it run); ReadmeQuickstartTest compares the README block with the file
    and runs the model through the test application against the FakeTransport.
  • README: "Notes for AI assistants" (package, minimal complete snippet, verification, pitfalls across the adapters);
    ReadmeAiNotesTest keeps it consistent with the commands and configuration keys.
  • README "Operations": the production checklist first, then monitoring rules, deleted pages, what not to submit,
    multi-domain and troubleshooting. docs/troubleshooting.md: "Staging submitted its URLs" and "Duplicates with
    memory and several workers". docs/multi-domain.md: www and apex, hreflang clusters through locales: 'all' /
    locale_hosts / via:.
  • Russian translation: docs/troubleshooting.ru.md (linked from README.ru.md).
  • homepage in composer.json points at the docs site (https://indexnowkit.github.io/php/).