History: Tiki30
Source of version: 6 (current)
Copy to clipboard
! {{page}} Tiki 30.0 LTS will be released in February 2026. It is a Long Term Support (LTS) version and will be supported until February 2031 as per ((tw:Versions|the Tiki lifecycle policy)). This release is more about refining features than major changes. After this release, there will be major changes in ((Tiki31)). You can see the development page at : https://dev.tiki.org/Tiki30 and all the code commits here: https://gitlab.com/tikiwiki/tiki/-/commits/30.x/ once it will be created (in 2026-01). {DIV(clear="both" title="Infrastructure")} !# Infrastructure ''(alphabetically sorted)'' !!# Asset Caching & Headers Improvements Tiki now sets precise __HTTP caching headers__ for files served via its PHP download mechanism. * Public assets can be cached with an __admin-configurable max-age__ * Restricted assets are explicitly marked as __non-cacheable__ (`private, no-store, no-cache`) This enhancement improves performance for anonymous users while maintaining strict access controls. ** https://gitlab.com/tikiwiki/tiki/-/merge_requests/7088 !!# BigBlueButton Tiki’s integration with BigBlueButton now uses the official bigbluebutton-api-php package, replacing legacy custom code and modernizing the connection to support future interoperability features more reliably. ** https://gitlab.com/tikiwiki/tiki/-/merge_requests/7794 !!# Dependency Upgrades Composer and JavaScript libraries were upgraded to support modern PHP and JS environments, reduce technical debt, and enhance security. * The __Converse.js__ library has been upgraded to version 11 to improve security and address issues flagged by `npm audit`. ** https://gitlab.com/tikiwiki/tiki/-/merge_requests/8097 * __HTML Purifier__ Migration to __HTML5-Compatible__ Fork: This migration ensures __cleaner__ and __standards-compliant__ output in Tiki. ** https://gitlab.com/tikiwiki/tiki/-/merge_requests/8350 * __html2canvas Upgrade__, Upgraded from version "1.0.0-RC.5" (release candidate) to "~1.4" (stable release). ** https://gitlab.com/tikiwiki/tiki/-/merge_requests/7711 * __mohlsen/check-engine__ replaced deprecated __check-engines__ package ** https://gitlab.com/tikiwiki/tiki/-/merge_requests/8131 * __Plotly.js__ upgraded from "1.58.5" to "3.0.3", this update ensured compatibility with the newer Plotly API and resolved -+npm audit+- warnings related to "Plotly 1.x" ** https://gitlab.com/tikiwiki/tiki/-/merge_requests/8101 !!# MediaAlchemyst Package Migration The abandoned "media-alchemyst/media-alchemyst" Composer package has been replaced with the official Tiki-maintained fork "tikiwiki/media-alchemyst". All package references, runtime checks, and CI configuration have been updated to ensure continued support for __document preview__ and __OCR__ features. This migration secures __long-term compatibility and stability__ for media processing in Tiki. ** https://gitlab.com/tikiwiki/tiki/-/merge_requests/8411 {DIV} {DIV(clear="both" title="Enhancements" bg="#fafcfb")} !# Enhancements ''(alphabetically sorted)'' !!# Blending Permission Scope System A new preference has been added for permission scope handling, giving administrators more flexibility. *__Traditional strict scope__: the nearest defined scope wins *__Blending scope__: permissions are merged from nearest to farthest using an additive operation This enhancement provides more granular control over permission inheritance and enforcement. ** https://gitlab.com/tikiwiki/tiki/-/merge_requests/7181 !!# Console New Console commands: * __ExportPDF__: + A new __ListExecute action__ and __console command__ ( -+php console.php page:print "PageName"+- ) have been introduced to export wiki pages as PDF. ** https://gitlab.com/tikiwiki/tiki/-/merge_requests/7767 !!# Cypht Calendar Invitations – Archive Confirmed Emails When a calendar invitation received by email is __confirmed__ and added to the Calendar, the original email is now __archived__ instead of being discarded. This ensures the invitation and its __attachments__ remain available for reference alongside the calendar event. ** https://gitlab.com/tikiwiki/tiki/-/merge_requests/8329 !!# File Galleries – Flexible Rules for Display Names Tiki now offers flexible control over how file display names are generated upon upload, replacing the previous "one-size-fits-all approach". This new system allows administrators to set rules both globally and on a per-gallery basis. This enhancement introduces a __two-level preference system__: * __New Global Default__: A new site-wide preference has been added, with the default behavior now set to __preserve__ original filenames exactly as they are uploaded. * __Per-Gallery Rules__: Administrators can override the global setting for any individual gallery. This allows for different rules based on context. + For example, a 'Marketing Photos' gallery can be configured to use __Title Case__ for a uniform look, while a 'Technical Documents' gallery can be set to __Preserve__ the original, precise filenames. ** https://gitlab.com/tikiwiki/tiki/-/merge_requests/8015 !!# Improves overall navigation usability * __Accessibility – Support for Prefers-Reduced-Motion__: Tiki now honors the prefers-reduced-motion OS setting, removing cosmetic animations site-wide while preserving user-initiated interactions, improving accessibility for users with motion sensitivity and benefiting those on low-end devices or with limited battery. ** https://gitlab.com/tikiwiki/tiki/-/merge_requests/7433 * __Dropdown Menu Dynamic Opening Direction__: Submenus now automatically adjust their opening direction based on available screen space. ** https://gitlab.com/tikiwiki/tiki/-/merge_requests/8044 * __File Gallery List Display__: The file gallery listing now displays the __category__ assigned to each file. ** https://gitlab.com/tikiwiki/tiki/-/merge_requests/8170 * __Sidebar Behavior__ on Small Screens: The sidebar display has been improved to respect user preferences, resolving an issue where collapsed sidebars could render incorrectly on smaller viewports. This update enhances consistency across split-screen and responsive layouts. ** https://gitlab.com/tikiwiki/tiki/-/merge_requests/7951 !!# Plugins !!!# ((PluginImg|PluginImg Reflection Update)) Image reflections can now be enabled directly through __PluginImg__ options, using a modern __CSS-based reflection feature__. ** https://gitlab.com/tikiwiki/tiki/-/merge_requests/7561 !!!# ((PluginRSS|RSS Plugin)) The RSS plugin now fully supports the ''max'', ''sortBy'', and ''sortOrder'' parameters for URL-based feeds. * ''max'': Control the number of feed items displayed. * ''sortBy'': Define the field used for sorting feed items. * ''sortOrder'': Specify the sorting direction (ascending or descending). This enhancement works directly with URL-based feeds, not just database-stored items. ** https://gitlab.com/tikiwiki/tiki/-/merge_requests/8303 !!# Scheduler – Improved Notifications and Reliability The scheduler notification system has been improved with the following changes:: * Consolidating preferences, * Introducing an admin notification option, * Adding a stalled jobs banner with filtering, and * Fixing issues with -+scheduler_users_to_notify_on_stalled+- to ensure alerts reach only intended recipients. ** https://gitlab.com/tikiwiki/tiki/-/merge_requests/7717 !!# Tiki API The Tiki API now supports uploading new versions of files while respecting the file gallery archive limit, preventing uncontrolled growth and enabling reliable use in IoT and high-frequency update scenarios. ** https://gitlab.com/tikiwiki/tiki/-/merge_requests/8049 !!# Tracker !!!# "Display as Password" Option for Text Fields A new option has been added to __tracker Text Fields__ to securely handle passwords or other sensitive data. When the __"Display as password"__ parameter is enabled: * The input field is rendered as a password field with a show/hide toggle * Stored values are masked (****) in item views * Values are excluded from the search index, preventing accidental exposure via plugins like ''trackerlist'' If the user sets the __Validation Type__ to "Password", the "Display as password" option is automatically enabled for convenience ** https://gitlab.com/tikiwiki/tiki/-/merge_requests/8165 !!!# Import-Export Formats: Multi-Table Joins with Remote ODBC The import-export system now supports joining multiple tables with remote ODBC sources, allowing users to map columns across tables for flexible external data integration. This update also introduces an ItemLink sort option to improve data handling. ** https://gitlab.com/tikiwiki/tiki/-/merge_requests/8296 !!!# Tracker Calendar Auto-Sync Improvements The Tracker Calendar plugin now supports __automatic synchronization__ of event dates with tracker fields, including the ability to use __multiple calendar item fields__ per tracker item. This allows managing different expiry dates or variations within a single item. This update also improves: * Handling of __date vs. datetime fields__. * Respect for __all-day event settings__. ** https://gitlab.com/tikiwiki/tiki/-/merge_requests/8432 !!!# Tracker Import-Export – Multiple Format Sync Trackers can now be synchronized to __multiple formats simultaneously__, expanding flexibility for data exchange by supporting parallel syncing and improving import/export workflows. ** https://gitlab.com/tikiwiki/tiki/-/merge_requests/8349 !!!# Tracker Items List – Field Visibility for Non-Admins Non-admin users can now customize which tracker fields are visible in the items list. Checkboxes have been added for all visible fields, and user preferences are stored in the Tiki database. This ensures that each user's view is personalized without affecting others. ** https://gitlab.com/tikiwiki/tiki/-/merge_requests/8153 !!!# Trackers Listing: Make Categories Column Items Hyperlinks The tracker list interface now converts entries in the Categories column into clickable hyperlinks, allowing users to navigate directly from a tracker item to its associated category. ** https://gitlab.com/tikiwiki/tiki/-/merge_requests/7946 !!# SAML Authentication Previously, when SAML was enabled as the authentication method, only the admin user could log in using Tiki’s default authentication. Now, all users with __Admin privileges__ can access the fallback Tiki authentication, maintaining a secure login flow while offering greater flexibility and simplifying access for administrators. ** https://gitlab.com/tikiwiki/tiki/-/merge_requests/8214 {DIV} {DIV(clear="both")} !# Removals * __check-engines__: Replaced deprecated package with the actively maintained "mohlsen/check-engine" ** https://gitlab.com/tikiwiki/tiki/-/merge_requests/8131 * __Plotly.d3__ and __d3-color__: Replaced with __native DOM methods__ + This ensures long-term compatibility with the new Plotly.js API. ** https://gitlab.com/tikiwiki/tiki/-/merge_requests/8101 * __HTML Purifier__: Replaced with an actively maintained, HTML5-compatible fork ** https://gitlab.com/tikiwiki/tiki/-/merge_requests/8350 * __jQuery Reflection Plugin__ : Replaced with native CSS-based reflections in PluginImg. ** https://gitlab.com/tikiwiki/tiki/-/merge_requests/7561 {DIV} {DIV(clear="both" title="Mass cleanups" bg="#fafcfb")} !# Mass cleanups Mass cleanups across 15+ files reduced technical debt. Some bugs may have slipped through—please report any issues for prompt resolution. ** https://gitlab.com/tikiwiki/tiki/-/merge_requests/8336 ** https://gitlab.com/tikiwiki/tiki/-/merge_requests/8259 ** https://gitlab.com/tikiwiki/tiki/-/merge_requests/8273 ** https://gitlab.com/tikiwiki/tiki/-/merge_requests/8260 ** https://gitlab.com/tikiwiki/tiki/-/merge_requests/8249 ** https://gitlab.com/tikiwiki/tiki/-/merge_requests/8246 ** https://gitlab.com/tikiwiki/tiki/-/merge_requests/8194 ** https://gitlab.com/tikiwiki/tiki/-/merge_requests/8158 {DIV}