Tiki 30.1
Tiki 30.1 is a security maintenance release that also includes selected bug fixes and enhancements since Tiki 30.0.
Users of Tiki 30.0 are strongly encouraged to upgrade.
1. Upgrade Notes
- [+] Installer base images must be local
- [+] Verify custom PHP CLI configuration
- [+] Review MediaWiki attachment imports
- [+] Authentication tokens are more strictly validated
2. Security
- [+] Graph formula: replace eval() with Math_Formula library
- [+] Language: block path traversal and PHP injection in translation editor
- [+] Tiki switch lang: fix language switch for SEF slugs
- [+] Wiki rankings: prevent SQL injection via categId
- [+] Authentication: prevent unauthenticated password changes for new users
- [+] Rankings: validate and sanitize request parameters
- [+] Email 2FA: improve secure token generation
- [+] Graph formula: replace eval() with Math_Formula library
- [+] File Gallery: block shell injection and add CSRF protection
- [+] Email 2FA: decrypt stored token before comparing OTP
- [+] Realtime: prevent empty WebSocket token from reusing admin permissions
- [+] MediaWiki importer: block unsafe attachment URLs and sanitize filenames
- [+] Performance stats: prevent SQL injection in sorting
- [+] Installer: harden base image loading
- [+] MediaWiki importer: prevent path traversal in attachment filenames
- [+] Harden remember-me cookies and invalidate them after password changes
- [+] TikiAccessLib: refactor CSRF handling and remove unnecessary logging
- [+] API tokens: strengthen token generation and storage
- [+] Harden auth tokens and tighten token access controls
- [+] API tokens: restore revoke-all command
- [+] Installer: prevent SQL injection in database user provisioning
- [+] API: prevent tracker/form data from being cached in wiki page responses
- [+] PHP CLI: prevent arbitrary command execution
- [+] Score: add missing indexes to object score history
- [+] Password change: fix brute-force protection initialization
3. Bug Fixes
- [+] Search Controller: Add raw option to action_lookup for exact value retrieval
- [+] UAB: improve default login box icon alignment
- [+] Wiki: restore page history and source view in French locale
- [+] ES and Lucene indexing: resolve max clause count
- [+] Tabular: correct import-export permission handling
- [+] Tabular: fix CSV/JSON synchronization and separator handling
- [+] Trackers: fix User Selector auto-assign value retrieval
- [+] ListExecute: respect pagination and selected objects
- [+] Attachments migration: update image plugin source type
- [+] Comments: fix copy comment link action
- [+] Cleanup obsolete UI elements
- [+] Areas: avoid undefined object category warning
- [+] Sections: update current object correctly when section changes
- [+] FileGals: make file delete permissions consistent across all views
- [+] ItemsList: handle empty field selection in link field ID option
- [+] Calendar: show a setup prompt when no calendars exist
- [+] Cookie consent: add category support and improve preference handling
- [+] Cookies: fix cookie settings module positioning
- [+] Element Plus Select: keep remote multiple selects usable after selection
- [+] ListExecute: fix actions on wiki pages with itemId in URL
- [+] Cookie consent: preserve category keys in defaults
- [+] Calendar: correctly import all-day events from ICS files
- [+] Feedback: link to the correct user profile in notification recipients
- [+] Wiki page history: fix prev/next navigation and clean up version action links
- [+] Calendar: correctly update all-day event status
- [+] Calendar: export all events from selected calendars
- [+] Multilingual: prevent injection and arbitrary file read vulnerabilities
- [+] Calendar: add landscape layout option for PDF export
- [+] User mentions: replace modal with inline suggestions dropdown
- [+] Chart.js: prevent JavaScript errors with multiple charts
4. Enhancements
- [+] System configuration: support multiple INI files
- [+] Users: return false when password update failss
- [+] Search module: make autocomplete source customizable
- [+] GetStringsCommand: add custom translation and string preservation options
- [+] PHP 8.5: avoid deprecated PDO and array-offset constructs
- [+] User validation: secure credential checks during login
- [+] Calendar: adjust margins for landscape PDF layout
5. Dependency Updates
- [+] Plotly.js: bump minimum version to 3.5.1
- [+] Element Plus: update library and improve Tiki integration
- [+] Composer: update PHP_CodeSniffer to address vulnerabilities
- [+] Update composer.lock
- [+] Tiki-Webmail: update Cypht to 2.12.1
6. References