You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Adapter\HistoryServices::describeStore(?string $store, string $default, Closure $lookup) (wave M, spec 19 §4.10):
the debounce store as status prints it — memory and none as they are, a shared store as <id> (<ShortClass>) of
what the adapter's lookup resolves the id to, <id> (missing) when it resolves to nothing or throws. Laravel, Yii2
and Yii3 each built that line themselves; they pass their lookup now. debounceCacheId() answers through the core's DebounceStoreFactory::isShared().
Console\HistoryCommand and Console\StatusCommand (wave L, spec 18): the indexnow:history and indexnow:status
commands themselves as symfony/console classes over Console\HistoryRunner / Console\StatusRunner, each with its #[AsCommand]; the adapter builds the runner (History\Adapter\HistoryServices::historyRunner() / statusRunner()
and their *For() twins, the description of the debounce store and the queue facts included) and hands it over. The
Symfony bundle and the Yii3 package register these classes instead of copies of their own; without the package an
adapter registers Console\Command\HistoryNotInstalledCommand and StatusNotInstalledCommand of indexnowkit/console
under the same names. HistoryCommand::DEFAULT_LIMIT (50) is what a --limit that is not a number falls back to.
Minor version, not patch: new public classes, by the rule of the family; the Schema::table() entry below was written
for 0.3.1 and ships here.
Pdo\Schema::table(string $table): string — the table name once it passed the identifier check, the form that reaches
the SQL; assertTable() stays and delegates. PdoSubmissionStore and Schema::sql() keep the checked value, which is
what Psalm's taint analysis (@psalm-taint-escape sql) reads as the boundary between history.pdo.table and the CREATE TABLE / INSERT statements (audit 0.13 T20).
Changed
History\Adapter\HistoryServices::package() delegates to the core's Adapter\OptionalPackage::history() (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 call OptionalPackage::history() directly.
Requires ext-mbstring (RecordCodec truncates an error text with mb_substr() and declared nothing; audit 0.13 W3) and indexnowkit/core ^0.13; the commands need indexnowkit/console ^0.5 (require-dev, suggest).