Skip to content

Kaleta 3.7.0 – migration II

Choose a tag to compare

@github-actions github-actions released this 09 Oct 03:05
· 423 commits to main since this release

Kaleta 3.7 is migration II: what the owner's first five sites need before they can move from WordPress. It was audited before release, and the findings were fixed first.

Runs on PHP 8.3

  • Kaleta now needs PHP 8.3 or newer (it needed 8.4). Many hosting plans still run 8.3.
  • On PHP 8.3 Kaleta brings its own HTML5 parser for its sanitizers and importers, because PHP's built-in one only arrived in 8.4. On 8.4 and newer, PHP's own parser is used as before.
  • If your PHP 8.3 server runs the JIT in the per-function mode (opcache.jit = 1235), System status warns: that mode has a crash bug in PHP 8.3. PHP's default JIT mode (tracing), JIT off and PHP 8.4+ are fine.
  • Updates know which PHP they need: a site is never offered a release its server cannot run, and Settings → Backups and updates says which PHP a release needs.

Many items at once

  • Import items from CSV or JSON (Collections → the collection → Import): up to 5,000 rows, columns paired by themselves, a preview of every row before saving, images downloaded by address afterwards. New items arrive hidden. Excel files from Czech Windows are read correctly.
  • save_collection_items for Claude: up to 200 items per call, with a dry run.
  • The site import and the migration report now handle up to 3,000 addresses (it was 300), follow the old site's robots.txt and pause between requests.

Collection categories

  • A collection can have categories and subcategories with pages of their own – /products/treadmills/medical – with a description, an image, breadcrumbs, paging, sitemap entries and translations. An item can be in several categories.
  • Category pages are designed in the builder (Category page template); the Collection list element can list items or categories, including "more from this category".
  • Previous / next item: a new element that links the neighbouring items on an item page.
  • Form attachments: the size limit can be set per form (up to 25 MB, never above the server's limit).

English system addresses

  • Kaleta now writes /tasks, /subscription, /form, /consent, /conversion and /status.json. The Czech addresses (/ulohy, /odber, /formular …) keep working forever – cron jobs, links in e-mails already sent and forms on cached pages are not affected.

Safer by default

  • Every row of Claude's batch tools – and every record an import creates – counts against the hourly change limit for Claude, and the limit now holds when calls arrive at the same moment.
  • A page can never take over a system address, and an item never a category's address – whichever way it is created, imported or restored.
  • Many smaller hardening fixes from the review: robots.txt and sitemap limits for imports, old import files cleaned up after 14 days, stricter validation of addresses.

Updating

Update from Settings → Backups and updates. The update adds tables for collection categories.