Loading installer base images from remote URLs is no longer supported for security reasons. Administrators using custom base images should place the SQL file in the appropriate local db/ directory and reference it locally.
PHP CLI paths are now validated before execution. Administrators using a custom or non-standard PHP CLI path should ensure that it points to a valid PHP executable.
MediaWiki attachment imports now reject unsafe URLs, local or private network targets, and invalid attachment paths. Administrators importing attachments from internal or non-public locations should review their import workflow.
[+]Authentication tokens are more strictly validated
Authentication and API token handling has been hardened. Existing tokens may be invalidated by security-related configuration changes or token revocation, so administrators using integrations based on API or authentication tokens should verify them after upgrading.
2. Security
[+]Graph formula: replace eval() with Math_Formula library
[+]MediaWiki importer: block unsafe attachment URLs and sanitize filenames
Harden MediaWiki attachment imports by allowing only public HTTP(S) URLs, blocking local or private network targets, and sanitizing filenames to prevent SSRF, local file access, and path traversal.
https://gitlab.com/tikiwiki/tiki/-/merge_requests/10949
[+]Performance stats: prevent SQL injection in sorting
[+]Harden remember-me cookies and invalidate them after password changes
Strengthen remember-me cookies with session-aligned Secure, HttpOnly, and SameSite attributes, centralize their handling, and invalidate existing remember-me tokens after a password change.
https://gitlab.com/tikiwiki/tiki/-/merge_requests/10979
[+]TikiAccessLib: refactor CSRF handling and remove unnecessary logging
Improve CSRF handling for login and password changes, add brute-force protection to password-change attempts, and avoid logging sensitive GET/POST request data in CSRF error logs.
https://gitlab.com/tikiwiki/tiki/-/merge_requests/10978
[+]API tokens: strengthen token generation and storage
Generate API tokens with cryptographically secure randomness and store only SHA-256 verifiers instead of plaintext tokens, while adding support to revoke all API and OAuth tokens.
https://gitlab.com/tikiwiki/tiki/-/merge_requests/10974
[+]Harden auth tokens and tighten token access controls
Strengthen authentication tokens with HMAC-SHA256 signing and a per-installation secret, improve token validation and usage limits, and add support for rotating the signing secret to revoke existing tokens.
https://gitlab.com/tikiwiki/tiki/-/merge_requests/10981
[+]Installer: prevent SQL injection in database user provisioning
Validate database names and users, safely quote credentials in GRANT queries, and restrict database-user creation to initial installation to prevent SQL injection during setup.
https://gitlab.com/tikiwiki/tiki/-/merge_requests/11000
[+]API: prevent tracker/form data from being cached in wiki page responses
Fix the Tabular permissions link to use the correct import-export object type and allow feature_filter values that contain characters rejected by the stricter word filter.
https://gitlab.com/tikiwiki/tiki/-/merge_requests/10810
[+]Tabular: fix CSV/JSON synchronization and separator handling
Move area category handling into the section-change callback so category IDs are initialized before use, preventing undefined variable warnings when Areas are enabled.
https://gitlab.com/tikiwiki/tiki/-/merge_requests/10818
[+]Sections: update current object correctly when section changes
[+]FileGals: make file delete permissions consistent across all views
Standardize file deletion permission checks across File Gallery views, allowing file owners to delete their files consistently in both the standard gallery and elFinder interfaces.
https://gitlab.com/tikiwiki/tiki/-/merge_requests/10829
[+]ItemsList: handle empty field selection in link field ID option
[+]Calendar: show a setup prompt when no calendars exist
Replace the previous error page with a clear setup prompt when no calendars are available, allowing administrators to create a calendar directly or advising other users to contact an administrator.
https://gitlab.com/tikiwiki/tiki/-/merge_requests/10600
[+]Cookie consent: add category support and improve preference handling
Add cookie category selection and optional {ELSE} content to the CookieConsent plugin, while fixing the consent preferences form to show current selections correctly.
https://gitlab.com/tikiwiki/tiki/-/merge_requests/10851
[+]Element Plus Select: keep remote multiple selects usable after selection
Prevent duplicate options in remote multiple-select fields by deduplicating results while preserving already selected values, keeping the selector usable after a selection.
https://gitlab.com/tikiwiki/tiki/-/merge_requests/10855
[+]ListExecute: fix actions on wiki pages with itemId in URL
Ensure ListExecute uses the parent wiki page when an itemId is present in the URL, preventing actions and reloads from targeting the tracker item instead of the current wiki page.
https://gitlab.com/tikiwiki/tiki/-/merge_requests/10859
[+]Cookie consent: preserve category keys in defaults
[+]Calendar: correctly import all-day events from ICS files
Detect all-day events from ICS DTSTART values even when the Tiki-specific X-Tiki-Allday property is absent, ensuring imported events are correctly marked as all-day.
https://gitlab.com/tikiwiki/tiki/-/merge_requests/10869
[+]Feedback: link to the correct user profile in notification recipients
[+]Wiki page history: fix prev/next navigation and clean up version action links
Fix previous/next navigation in wiki page history and simplify version action links so View, Source, Compare, and related actions target the intended version correctly.
https://gitlab.com/tikiwiki/tiki/-/merge_requests/10880
[+]Calendar: correctly update all-day event status
[+]Multilingual: prevent injection and arbitrary file read vulnerabilities
Validate language identifiers before using them in file paths and restrict language file downloads to authorized users, preventing path traversal, code injection, and arbitrary file access.
https://gitlab.com/tikiwiki/tiki/-/merge_requests/10975
[+]Calendar: add landscape layout option for PDF export
[+]System configuration: support multiple INI files
Allow Tiki to load multiple system configuration INI files in a defined order, with later files overriding earlier ones while preserving compatibility with the legacy single-file configuration.
https://gitlab.com/tikiwiki/tiki/-/merge_requests/10840
[+]Users: return false when password update failss
Update the password-change function to return false instead of throwing an exception when the database update fails, allowing callers to handle the failure gracefully.
https://gitlab.com/tikiwiki/tiki/-/merge_requests/10820
[+]Search module: make autocomplete source customizable
[+]GetStringsCommand: add custom translation and string preservation options
Enhance getstrings with support for extracting custom translations, including strings from wiki pages, and add --skip-remove to preserve translations no longer found during scans.
https://gitlab.com/tikiwiki/tiki/-/merge_requests/10839
[+]PHP 8.5: avoid deprecated PDO and array-offset constructs