Release Notes

9.1.1

New features

  • Performance optimization when writing to content areas with a tree structure
  • Error message when using filter[depth] without filter[parent_id] as developer feedback; documentation expanded

Bug fixes

  • DOCX export and import now include localized fields of embedded content
  • DOCX import now properly retains the template selection
  • Prevented script error when invoking cApp.ui.focus
  • Corrected main menu load timing and optimized cApp.a11y.focusLayer()
  • Removed duplicate .container element on template info pages

9.1.0

New features

  • Trash for input fields: deleted fields can be restored together with their contents until the scheduler deletes them permanently.
  • CMS:SELECT request: permitted URL keys can be specified per field (filter[field], filter_op[field] …). The URL can only further restrict a filter of the template.
  • The template selection in the record shows the template name if the label is empty.

Bug fixes

  • Contents of password fields can no longer be filtered or sorted (protection against brute-force guessing).
  • The lock notice in the backend (maintenance, upgrade due) is on a single line and is no longer covered by the header.

9.0.9

New features

  • Batch processing:
    • Parent record and position in the tree (subtrees move along)
    • API record.batch with parent_id/previous_id
    • Protection against cycles
    • Self-test check_batch_tree
  • Field extensions (HTMLVisual, MarkdownVisual, IconPicker) also work in embedded input forms of link fields.
  • IconPicker: the Enter key applies the search text.
  • Schema tooltips on field labels

Bug fixes

  • Backend header: the buttons stay right-aligned in narrow windows; menus and icons are positioned correctly.

9.0.8

New features

  • CLI template commands: command definitions as JSON, for example for the VS Code extension.
  • The CI checks whether the command snippets are complete in all languages.

9.0.7

New features

  • Dark mode in the backend as a personal setting
  • Template module:
    • “Insert CMS command …” with a parameter dialog
    • Missing resulttemplates can be created with a basic structure.
    • Command reference as snippets in 12 languages
  • The HTMLVisual extension now also allows tags that the sanitizer removes when pasting into the WYSIWYG view.
  • CMS:SAVEDATA also binds the variable in the template scope.

Bug fixes

  • Auto-growing text fields keep their height while their layer is hidden.
dklmodus.jpg

9.0.6

New features

  • Update check:
    • reports only installable minor updates
    • notice on the start page only for camindo/cms and security warnings
  • The installer creates the standard converter “Internal Image Preview (GD)”.
  • Template list with a sortable column “Changed at”

Bug fixes

  • A multilingual field without a language id (in a single-language instance) is now saved as the value of the primary language.
  • Input field form: the visibility of the blocks that depend on the display type is now correct from the start.

9.0.5

New features

  • Frontend pages send Cache-Control: private, no-cache.
  • With a frontend session or active frontend editing, no-store applies.
  • Both can be overridden with CMS:HEADER.

9.0.4

New features

  • CLI htaccess status|renew: checks or renews the managed block in public/.htaccess.
  • CLI cache records (optionally per instance/content area) as well as a form under Tools › Server
  • Secret files (.camindo.key etc.) belong to the web server user after installation; new option --web-user.
  • Encrypted fields are only delivered as the placeholder [encrypted] when needed.
  • Project skeleton under AGPL-3.0-or-later
  • CI additionally against MariaDB 10.6 and 11.4; new self-test check_record_files

Bug fixes

  • MariaDB: opening a record for editing failed (parent_ids constraint).
  • MariaDB: syntax error when saving a file field
  • If the key file exists but is not readable, there is no longer a silent fallback to

9.0.3

New features

  • Accessibility in the backend (WCAG 2.1 AA / BITV 2.0):
    • Skip links and named landmarks
    • List rows and context menus can be operated by keyboard
    • Focus management for layers and form errors
    • Status announcements for screen readers
  • Personal setting “Animation”; prefers-reduced-motion is respected.
  • Manual chapter “Keyboard operation”
  • The installer shows the absolute path at the end.

Bug fixes

  • The loading icon (spinner) had been broken by a search-and-replace in the code and was therefore displayed as a broken image.

9.0.2

New features

  • Code comments consistently in English
  • Installer:
    • checks the database connection immediately and asks again on error
    • creates the main instance
    • shows a banner at startup
  • Instance module: en_US is preselected.
  • Translations added