Skip to content

v1.0.3

Choose a tag to compare

@github-actions github-actions released this 03 Jun 07:59
1ddbb1a

Fixed

  • Browsers no longer serve a stale scolta.js/scolta.css after a deploy. Root cause: the enqueue cache-busting token ($ver) was SCOLTA_VERSION, a static constant (1.0.3-dev) that does not change between dev builds, so the asset URL's ?ver= stayed identical across deploys and HTTP caches kept serving the old file (requiring a forced hard reload — e.g. the #162 verification showed the pre-subword build until a manual hard refresh). The token is now filemtime() of the actual shipped asset, so it changes whenever the file changes and a normal reload picks up fresh JS/CSS. SCOLTA_VERSION is unchanged for the plugin header/version reporting and the prompt-cache option. Added ShortcodeTest coverage asserting the enqueued version is not the static constant and equals the asset's mtime.
  • AI Provider settings field now reflects the saved provider instead of always showing Amazee when Amazee credentials are present (display-only bug; the persisted value and live API calls were already correct). The field renderer forced the selected option to amazee whenever get_api_key_source() detected Amazee credentials (e.g. an auto-provisioned trial), ignoring the saved ai_provider. The explicitly-saved provider now wins; source auto-detection is only a fallback for the empty state (no provider ever saved). Added AdminProviderFieldTest covering the render. (#123)

Added

  • expand_subword_deny_list scoring setting (default empty). New "Sub-word Guard Denylist" admin field (Scoring section) + sanitizer for the scolta-php sub-word query-term exemption (scolta-php#156 follow-up). Words listed here are never auto-exempted from the sub-word frequency guard even when the user types them, so a typed-but-generic word (e.g. hot on a recipe site) cannot re-flood results. Unlike Custom Stop Words, listed words stay searchable and scorable. Added AdminSubwordDenyListFieldTest covering the render and sanitizer.
  • expand_subword_max_frequency scoring setting (default 0.05). New admin field (Scoring section) + sanitizer + activation default for the scolta-php sub-word frequency guard (scolta-php#156). Controls when a multi-word expansion term's constituent words are searched on their own — restoring broad-query recall while blocking high-frequency noise.

Changed

  • Re-synced assets/js/scolta.js (and its .sha256) and the bundled WASM (assets/wasm/scolta_core.js/scolta_core_bg.wasm) to the canonical scolta-php source after the query-word-importance line was reverted. scolta-php reverted the whole query-word-importance line (scolta-php#165: #163 exemption + #164 ranking) and scolta-core reverted the scoring weight (scolta-core#32: #31) after validation showed both were inert — they changed result ordering on zero real queries. The committed copies are restored to that reverted canonical: no query_word_importance plumbing, no incidental_match_weight, no ai_query_word_importance gate, and the bundled WASM returns to the pre-#31 binary. The #156 sub-word frequency guard (#161) and the Fix A/D typed-query-term exemption (#162) are unaffected.
  • Opened 1.0.3-dev development cycle.
  • Scoring default tuning (matches scolta-php): cross_list_bonus 0.150.05, recency_boost_max 0.50.25, title_match_boost 1.02.0 in activation defaults and admin field defaults.
  • Synced assets/js/scolta.js (and its .sha256) to the canonical scolta-php source. Brings the committed copy up to date with the frequency-guarded sub-word expansion (scolta-php#156/#161) and the query-typed-word exemption (scolta-php#162) — restoring broad-query recall while the per-site expand_subword_deny_list vetoes typed-but-generic words. The settings plumbing landed previously; this brings the actual browser behavior in sync.