Skip to content

Releases

0.9.0

Choose a tag to compare

@somework somework released this 07 Sep 17:33

symfony/var-exporter stays at ^6.4 || ^7.0 in require-dev: Doctrine ORM 3 builds its lazy ghosts with the
var-exporter 6.4/7 API and refuses version 8 unless native lazy objects are enabled ("Symfony LazyGhost is not available").

Added

  • IndexNowListener can be built over a change-handler closure and a sink instead of the facade:
    new IndexNowListener(fn() => $services->changes(), null, $staging, $logger, sink: fn(array $urls) => $services->kit()->collect($urls)).
    The change handler is then built on the first flush that has something to classify, so an adapter with a lazy graph
    (Adapter\Services) no longer builds submitter, client and transport just to register the listener. The facade
    constructor is unchanged and keeps working, $autoFlush included.

Changed

  • IndexNowListener::__construct(): the first parameter is $source (IndexNowKit|Closure), formerly $indexNow.
    Positional calls are unchanged; a call passing it by name (indexNow:) renames the argument (the bundle did).
  • The test harness configures a second host with its own key, so conformance scenario C04 (URLs of two hosts -> one
    POST per host under its own key) actually runs here instead of being skipped.
  • composer ci:install:orm3dbal3: the ORM 3 + DBAL 3 combination is declared supported but was never installed
    anywhere (highest = ORM 3 + DBAL 4, lowest and dbal3 = ORM 2 + DBAL 3). It uses phpstan.dbal3.neon like every
    other DBAL 3 flavour — the config switches on the DBAL major, not the ORM one.
  • Requires indexnowkit/core ^0.13.

0.8.1

Choose a tag to compare

@somework somework released this 06 Sep 18:50

Changed

  • IndexNowListener builds its ObjectChangeHandler with the facade's extractor as the third argument (core 0.12.0 makes
    the extractor a required parameter); a new AttributeUrlResolver($indexNow->attributes, $indexNow->extractor, ...) in
    your own wiring needs the same (README updated).
  • Requires indexnowkit/core ^0.12.

0.8.0

Choose a tag to compare

@somework somework released this 06 Sep 17:54

Changed

  • Middleware\IndexNowConnection::rollBack() discards the staged URLs in a finally (DBAL 4 and 3): a driver that
    threw on rollback left them staged, and the next successful commit on the same connection submitted the URLs of the
    rolled-back transaction
    . On DBAL 3 a commit() returning false discards them too.
  • IndexNowListener accumulates a flush that another listener triggers inside postFlush() into the outer one instead
    of resetting the outer flush's pending entities.
  • Requires indexnowkit/core ^0.11.

Added

  • tests/CoreConformanceTest: the C01–C20 kit against the graph the Doctrine wiring is built around, as the framework adapters run it.

0.7.1

Choose a tag to compare

@somework somework released this 06 Sep 12:22

Changed

  • Requires indexnowkit/core ^0.10 (Attribute\ParamExtractor became an injected object; nothing else in the core changed).
  • IndexNowListener builds its own ObjectChangeHandler (when given a resolver) with the extractor of the facade.

0.7.0

Choose a tag to compare

@somework somework released this 06 Sep 10:48

Changed

  • Requires indexnowkit/core ^0.9 (Retry\ForbiddenCounter, wave F); no code change in this package.

0.6.0

Choose a tag to compare

@somework somework released this 05 Sep 19:25

Changed

  • Requires indexnowkit/core ^0.8 (the Reason cases and the check codes of wave E); no code change in this package.

0.5.0

Choose a tag to compare

@somework somework released this 05 Sep 17:24

Changed

  • Requires core 0.7. The test suite requires indexnowkit/testing ^0.1 (require-dev): OrmConformanceTestCase and
    ReadmeAssertions moved there from the core (the kit keeps its FQCN; the assertions are
    Testing\Conformance\ReadmeAssertions).

Documentation

  • README: "Notes for AI assistants" (package, minimal complete snippet, verification, pitfalls across the adapters);
    ReadmeAiNotesTest keeps it consistent with the commands and configuration keys.
  • homepage in composer.json points at the docs site (https://indexnowkit.github.io/php/).

0.4.0

Choose a tag to compare

@somework somework released this 05 Sep 07:41

Changed

  • Requires indexnowkit/core ^0.6 (wave 0a of docs/spec/17). No change in this package's own API; upgrade
    together with the core.

Documentation

  • docs/bc.md: what this package keeps stable (IndexNowDoctrine, the listener and middleware, the
    commit-safety behaviour, the DBAL/ORM majors) and what is not a contract. README: "Why this over X", the issues link.

0.3.1

Choose a tag to compare

@somework somework released this 04 Sep 19:02

Changed

  • Requires indexnowkit/core ^0.5 (the second adapter kit release, additive). No change in this package's own API;
    upgrade together with the core.

0.3.0

Choose a tag to compare

@somework somework released this 04 Sep 18:07

Changed

  • Requires indexnowkit/core ^0.4 (the adapter kit release: the sitemap reader is indexnowkit/sitemap,
    Result::urlsOf() is gone). No change in this package's own API; upgrade together with the core.
  • Dev tooling: phpstan runs on the DBAL 4 / ORM 3 install only (DBAL 3 / ORM 2 declare their signatures in
    docblocks that contradict it); the lowest and dbal3 flavours still run the tests.