Loading...
 

Tiki29

Tiki 29.0 will be released in June 2025.

It is a Standard Term Support (STS) version and will be supported until Tiki 30.1 is released as per the Tiki lifecycle policy

You can see the development page at : https://dev.tiki.org/Tiki29 and all the code commits here: https://gitlab.com/tikiwiki/tiki/-/commits/29.x/ once it will be created (in 2025-05).

If you use the WYSIWYG, please do extensive testing before you upgrade because https://github.com/summernote/summernote has replaced https://github.com/ckeditor/ckeditor4 (which is no longer Open Source)

1. Infrastructure

(alphabetically sorted)

1.1. Swiper

The Swiper package has been upgraded from version 3 to 11 and its installation has been migrated to npm modules.

1.2. Tiki 29 Build System

Several more JavaScript and CSS libraries have been moved to the new Build System, except for Annotator, which remains in vendor_bundled/ due to incompatibility with modern Node.js versions.

1.3. TikiWiki Diagram

TikiWiki Diagram has been upgraded to version 26.0.6

2. Enhancements

(alphabetically sorted)

2.1. Attribute Controller

Extended the Attribute Controller with new actions to set, get, and search attributes more effectively, including support for comments.

2.2. Calendar

FullCalendar library has been replaced with Event-Calendar (@event-calendar) in both Tiki Calendar and the Tracker Calendar plugin. This change improves maintainability, while preserving all essential scheduling features

2.3. Changes Wizard

In Tiki28, the Changes Wizard was modified to be hidden on new installations while remaining visible during upgrades. However, it's been found out that this change would lead to issues, so in Tiki 29, the Changes Wizard behavior has been reverted to its original state — meaning it will once again appear for both new installations and upgrades.

2.4. Console

New Console commands:

2.4.1. Database Engine Convert

A new command — database:convert — to convert the database engine, simplifying the migration from MyISAM to InnoDB.

2.5. Directory Upload

Enhance the Tiki uploader interface, used in File Tracker fields, now supports drag-and-drop of entire folders or directories onto the upload area. When a directory is dropped, Tiki recursively uploads all files it contains and automatically creates the corresponding file gallery hierarchy.

2.6. Element Plus Upload Component

blueimp/jQuery-File-Upload has been replaced with the modern Element Plus Upload component for a more efficient and user-friendly file upload experience.

2.7. Expand/Collapse All Content with One Click

A new preference to expand or collapse all collapsible sections on a page with a single click has been added. Previously, content had to be manually toggled section by section, making navigation cumbersome—especially when searching for specific information.

2.8. Headless Chrome Integration

PhantomJS and CasperJS have been replaced with the Chrome-php library for headless browsing, improving performance, security, and maintainability while keeping CasperJS as a fallback. A new preference — Headless Browser Integration Type — allows switching between Chrome-php (default) and CasperJS. Key features like Wiki Diagrams export, search snapshots, and ChartJS export have been updated to use Chrome-php. Additionally, a configurable Chrome binary path has been introduced, and the implementation has been refactored for better maintainability.

2.9. High Efficiency Image File Format

Tiki now supports High Efficiency Image Format (HEIF/HEIC) by automatically converting HEIC files to JPEG. This allows users to upload HEIC images from modern devices, ensuring compatibility with Tiki's existing image processing system.

2.10. Login Module (login_box)

The register_page parameter was added to module Login Box, allowing redirection to a custom wiki page for registration instead of the default tiki-register.php. This provides more flexibility to personalize the sign-up experience.

2.11. Logging

Tiki 29 enhances Tiki’s logging by adding support for logging failed login attempts and allowing logs to be written to a file. This helps integrate with tools like fail2ban and improves external log monitoring.

2.12. Meta Tags

Pages blocked in robots.txt now include a noindex meta tag, improving alignment with modern SEO practices.
According to Google's guidelines, relying solely on robots.txt to block indexing is not sufficient. So, Tiki now adds a noindex meta tag to commonly excluded pages (e.g., tiki-editpage.php), helping prevent them from being indexed by search engines.

2.13. Minutes hold warning message

A new preference checks when the scheduler last ran and displays a visual warning if it hasn’t run recently.

2.14. Password History Management

Tiki now includes a password history management feature to enhance security by determining the number of password resets associated with a user account before the password can be reused.

2.15. PluginFancyTable

Custom class option to PluginFancyTable, allowing users to apply their own CSS classes for better styling flexibility. This enhancement ensures that tables can be customized to match specific design requirements.

2.16. PluginListExecute

PluginListExecute received various fixes and enhancements including better output for simple list and table templates. The actions are now translatable + new param button_label was added to allow custom submit button label (translatable too).

2.17. PluginListPages

PluginListPages now includes a noheader parameter, giving users more control over how page listings are displayed. This option allows the suppression of the default header section, making it more versatile for embedding within templates and other pages.

2.18. PluginMediaPlayer

The PluginMediaPlayer now supports rendering text files directly within the media player interface. This expands the plugin’s functionality beyond audio and video playback, enabling users to view text-based content.

2.19. PluginOEmbed

Tiki 29 introduces OEmbed support, allowing seamless integration of videos and media from platforms like PeerTube, Vimeo, and YouTube. This enables users to embed content effortlessly using the OEmbed protocol without manually copying iframe embed codes.
Key Highlights:

  • New Plugin - PluginOEmbed:
    To simplifie media embedding using the OEmbed protocol.
  • PeerTube Integration:
    To use PeerTube as a backend for video storage and streaming.
  • Customizable Options:
    To set video size, start time, quality, and privacy preferences.

2.20. PluginRSS

PluginRSS now supports direct URL configuration in wiki pages — no admin permissions required!
Previously, RSS feeds had to be pre-configured via tiki-admin_rssmodules.php, which required elevated permissions.

Now you can define the RSS feed URL directly in the wiki page using

This allows more flexible, user-friendly integration of dynamic RSS content

2.21. PluginTracker

PluginTracker has been improved to allow making a previously non-mandatory field mandatory based on evolving business needs. This update introduces the requiredFields attribute, ensuring that fields can be enforced dynamically during different stages of form submission.

2.22. PluginVue

Tiki has upgraded the PluginVue implementation to support Vue.js 3 and Single File Components (SFCs). This update allows users to leverage the latest Vue.js features while maintaining seamless integration with Tiki.

2.23. Search & Indexing Improvements

The index:cleanup command now detects if search indexes are shared across multiple Tiki instances before deletion, preventing accidental data loss.
A new preference (unified_check_unused_indexes) allows detecting unused indexes, and visibility of unused indexes has been improved after rebuilds. Additionally, new options ( index_to_remove, --all , --dry-run ) provide more control over index management, alongside a refactored Elasticsearch handling for better performance and reliability.

2.24. Show rules for password creation

Tiki now provides users with a clear view of password creation rules when they set or change their passwords. This ensures that users can easily comply with security requirements, reducing frustration and failed attempts.

2.25. Switch User

Administrators can now seamlessly switch between multiple users without needing to return to their admin account each time.

2.26. Trackers

Several bug fixes and enhancements have been added to Trackers such as:

Tracker Fields: Prevent Empty or Duplicate Permanent Names Across Trackers

Improves validation for tracker fields by preventing empty permanent names and showing a warning when a permanent name is already used in another tracker. This helps maintain consistency and avoid conflicts across trackers.

2.27. WebAuthn Authentication Support

Tiki29 introduces WebAuthn as a modern and secure authentication method.

2.28. WYSIWYG Editor

Tiki29 introduces Summernote as the new WYSIWYG editor in Tiki, replacing CKEditor 4. Summernote offers a Bootstrap-based, themable editor with a customizable toolbar, rich formatting tools, and functional CodeMirror integration.
Additionally, the adminToolbar tool has been implemented, enabling Summernote to function independently of the legacy editor's adminToolbar interface, ensuring a smoother and more flexible editing experience.


Key Features:

  • Users can now register and authenticate using passkeys, enhancing security and ease of access.
  • Added preferences to enable/disable WebAuthn as a login method.
  • Integrated WebAuthn into the login process, alongside existing authentication methods.
  • Error handling, validation, and a structured flow for WebAuthn registration and login.
  • https://gitlab.com/tikiwiki/tiki/-/merge_requests/6997


3. Removals

3.1. blueimp/jQuery-File-Upload

3.2. jquery/photoswipe

3.3. feature_jquery_ui

As part of deprecating jQuery UI in Tiki, this change removes unused references to feature_jquery_ui. jQuery UI will be retained only where it's still required (e.g., elFinder), but all other dependencies are being phased out.

3.4. nestedSortable

Replaced with sortablejs

3.5. Rangy library

3.6. sam152/javascript-equal-height-responsive-rows

3.7. Expiration Date article

This was part of the article features and practically it's not needed

4. Mass cleanups

Many mass cleanups (affecting 15+ files), typically to reduce technical debt. Because of the large number of affected files, it's tricky to tests all the features in all contexts. So, some bugs could have slipped through. If you encounter one, please report it and we will quickly address:

List Slides