Tiki 21.0 was released in March 2020.

You can see the development page at : https://dev.tiki.org/Tiki21 and all the commits here: https://gitlab.com/tikiwiki/tiki/-/commits/21.x/

It requires PHP 7.2, vs PHP 7.1 for Tiki20.

It is a Long Term Support (LTS) version and will be supported until February March 2025 as per the Tiki lifecycle policy

If you are upgrading from a previous LTS version, such as Tiki18, you should check out the release notes of Tiki19 and Tiki20. Mainly, you should know that there has been a major change from using Bootstrap 3 to 4, and thus, custom themes need to be adjusted accordingly. It's also possible that some of the built-in themes have been removed, in which case, the site reverts to the default Bootstrap theme. But rest assured that in Tiki, themes are totally independent from features or data, and thus, everything will work normally, even if the look (theme) will be broken. Just pick another theme and carry on :-)

About getting source code

Please note: SVN updates (for all versions of Tiki) will stop in January 2023 when Tiki18 reaches end of life, so you should get your updates from Git

1. New Features and Improvements

Roberto Kirschbaum wrote:
Big thanks to Xorti for the --use-git option in doc/devtools/release.php. For the first time in History we release Tiki using Git! Thanks also to Jonny for testing a tarball in the process of release.

1.1. Calendar - CalDAV support

1.2. Console

New actions added to console.php:

  • objects:notify-maintainers: Send out email notification to maintainers for objects whose freshness is greater than the limit. Related: #Tiki_Objects\:_maintainers_and_freshness
  • vcs:automerge: Semi Auto Merge (for developers)
  • vcs:fixids: Fix the Id's of SVN Keyword for all files (for developers)
  • vcs:update: Update SVN to latest version & perform tasks for a smooth update.
  • translation:englishupdate: Fix English strings after modifying them.
  • translation:getstrings: Update language.php files with new strings
  • tiki:stats: Display a table with the KPIs
  • preferences:export: Export preferences
  • ocr:set: Set the OCR status of files (Queue, Skip)
  • ocr:status: Give statistics on file OCR status (Queued, Processing, Finished, Skipped)
  • dev:fixbom: Fix BOM and line endings for all files (for developers)

See Console

1.3. Contacts - CardDAV support

Feature was improved: https://sourceforge.net/p/tikiwiki/code/71556

1.5. Custom admin panels

1.7. PDF

1.8. Progressive Web App

1.9. Roles

1.10. Sessions

1.11. Templated Groups

1.12. Tiki Objects: maintainers and freshness

See Object Maintainers and Freshness

1.13. Trackers: ItemsList fields now editable

  • ItemsList tracker fields now optionally offer an "Add new item" button and/or an edit and/or a delete icon where the user has those permissions. This allows for dealing with "children items" when you are viewing or editing the "parent item" (1 parent : N children)
  • See: https://dev.tiki.org/item7206-Make-ItemsList-Tracker-Fields-Editable

1.14. Trackers: Field Rules

1.15. Two-factor authentication support

1.16. Vue.js support

1.17. Webmail

Multiple minor enhancements to the Webmail (Cypht integration). The quality is somewhere between Alpha and Beta. It is in active development and you can expect improvements every few weeks in the 21.x branch.

Zend Framework to Laminas

Tiki21 now uses Laminas


Since branching Tiki 21.x in January 2020 there were at least 22 enhancements (some of them cherry-picked from other branch or back-ported from the master branch) and 261 fixes made on the 21.x branch.
(the ChangeLog below is taken from the Git log on branch 21.x using git log --reverse --oneline command)

Copy to clipboard
d95fcf8 [REL] Closing 21.0 RC1 release b08fcc4 [FIX] Tiki core: version checker needs new VCS suffix added now when we changed it from SVN (to use it for both, Subversion and Git) 7565979 [FIX] Remove error declaration that causes issues when viewing trackers 4a0c236 Merge branch 'fix-view-trackers-js' into '21.x' d11a0b5 [TRA] Multilingual: Improving translation. 387ce1d [FIX] trackers: Get the field data from the handler if other strategies fail - for instance in the tiki-object-infobox service for category fields d3725f1 [bp/r75901] [FIX] search index --log option error handler mixup - laminas-stdlib/laminas-log packages were using custom error handler with reset_error_handler calls while writing log file output - this caused unexpected resuls while writing Search_Indexer log output, namely custom Tiki error handlers were unset one by one which caused missing errors in the log but they started to appear as standard error output; fix consists of caching the errors and adding to the log file later, when we are out of error handler context 609c5c3 [FIX] quickadmin: Better fix for notices than (my) 09fa3480 to correctly use the display param default if not set bd9ba22 [FIX] notices: Uninitalised array in function.menu.php, wrong icon params in function.multilike.php, don't do @count on non-countable values in poll.tpl c94228f [FIX] notices: On file gallery control panel b13dc9e [ENH] Align advanced parameters in PluginCode 905c1ed [bp/r75757][FIX] Currency field: make it mandatory to choose currency when value is not empty 807d3bd [bp/r75757][FIX] Currency field: make it mandatory to choose currency when value is not empty Adding scss (from r75870) 10d84c7 [ENH] Trackers, DynamicList: Add button to Select/Unselect all item of the dynamic list 7c6f679 Revert "[ENH] Trackers, DynamicList: Add button to Select/Unselect all item of the dynamic list" 466f9cc Revert "[bp/r75757][FIX] Currency field: make it mandatory to choose currency when value is not empty Adding scss (from r75870)" 2e21dfe Revert "[bp/r75757][FIX] Currency field: make it mandatory to choose currency when value is not empty" e06553a [REL] Preparing 21.0 release 9323f7d [REL] Update README file for 21.0 8345a4c [REL] Update copyright.txt for 21.0 9612d8c [REL] SecDB for 21.0 12244d3 [REL] Closing 21.0 release c797589 [FIX] chartjs: Fix options when not using display=pdf. This was an existing var and is an array so needs to be json_encoded (sadly removed in ceac7f93) a8aeb05 [FIX] search: Notices when using date facets 34566b8 [FIX] facet_charts: Only output debugging info if _debug is set, seems that was breaking charts on dev.t.o eac669d WIP [TRA] Multilingual: Hebrew translation 4a68067 WIP [TRA] Multilingual: Hebrew translation 2 d002513 Merge branch 'hebrew-translation-wipmergerequest' into '21.x' bd76a3b [FIX] search: Add file hits to the unified search index (thanks @gour) 7f79901 [FIX] cookies: Convert some client side cookies (tiki_cookies_accepted and javascript_enabled) to server side so safari and firefox will allow expiry longer than 7 days 0056b1e FIX trackers: Notifications should observe visibleBy permissions on individual fields e9296df [bp/r75930] [ENH] Numeric Field scrolling handling 65d42fd Merge branch 'numeric_field_scroll_space' into 'master' d492c9b [bp/r76005][ENH] Align advanced parameters in PluginCode 25f639a [FIX] cookies: PHP cookies need expiry set in seconds 844ebf4 [FIX] Fix migration from image galleries to file galleries 6c08a36 [FIX] trackers: Missing .php on wiki field edit page button a5d7ebe [UPD] Add php 7.2.5 to the composer platform requirements and run composer install resulting in these automatic minor updates - Updating ckeditor/ckeditor (4.13.1 => 4.14.0) - Updating bower-asset/fontawesome (5.12.1 => 5.13.0) - Updating laminas/laminas-feed (2.12.0 => 2.12.1) - Updating laminas/laminas-i18n (2.10.1 => 2.10.2) - Updating laminas/laminas-ldap (2.10.1 => 2.10.2) - Updating laminas/laminas-validator (2.13.1 => 2.13.2) - Updating league/commonmark (1.3.1 => 1.3.2) - Updating phpseclib/phpseclib (2.0.25 => 2.0.26) - Updating studio-42/elfinder (2.1.53 => 2.1.55) - Updating psr/log (1.1.2 => 1.1.3) 818360a [FIX] add missing view=group param in trackerlist params 81c31d9 [ENH] add options for 'Group can see their own items' and group ownership to GroupSelector fields - enhance permission system to support ability for users in specific group to view items associated with that group 9b1b917 [TRA] More traslations 9be30db [TRA] Add some translations c42de92 [FIX] console: Missed a temp directory templates_c in MultiTikiMoveCommand 104daba [FIX] trackers: Fix rebuild notices 2185881 [ENH] search: Add progress bar to index:rebuild console command - still TODO same for browser based rebuild, fallback index and more refinements 1c40374 [FIX] search: Fix tests broken by rebuild progress meter [ENH] - require_once timer.class.php as it is in tiki-setup.php, and update expected stats returned by rebuild cc66945 [FIX] routes: Fix custom routing when there is no database (don't do it) e1741de [ENH] add commonmark-extras extension to Markdown plugin ce9fd0b [FIX] Structures: Navigation arrows were under next page link added marging to display them properly 80399e7 [FIX] Do not fail on an exception when an upgraded site has more than one page which start in the same way 2eaa250 [FIX] sync .editorconfig with TikiCodeStyleSettingsPhpStorm.xml settings 2239f4a [FIX] Server Check: Avoid PHP "Notice: Undefined variable" when PHP exec() function is disabled 32d6d36 [FIX] OCR lib and Server Check: Avoid PHP "Notice: Undefined variable" when PHP exec() function is disabled 0aa70b3 just fixing some PHPCS errors bd1830b oops, one missed c60d4eb [REF][FIX] Server Check: PHPCS errors fixed (ran php vendor_bundled/vendor/squizlabs/php_codesniffer/bin/phpcbf tiki-check.php) 0dbdd0b [FIX] There was an extra debug line in commit 80399e77c65fa5bc5a7b5ae1d3a7e1549d115bae (oops) 58c6715 [FIX] There was an extra debug line in commit 80399e77c65fa5bc5a7b5ae1d3a7e1549d115bae (oops) and syntax warnings b8bef38 [FIX][ENH][UX] Pivot tables: indicate that the table cell is clickable by using cursor: pointer (why is _pivot-tiki.scss not compiling to tiki_base.css? Takes ages to compile all the themes while the look is basicaly same for all of them) 2184ffe [ENH] tracker rules: Add custom text to display as the error message for the Required action dafef2f [FIX] tracker rules: Some operators do not need arguments 2777cca [FIX] tracker rules: Required action is now a Text argument deecf47 [FIX] elfinder: Add a pref to disable debug mode as now php warnings are displayed over the gallery listings when enabled c36db10 [FIX] elfinder: Fix notices where some permissions are missing, e.g. for non-admin users in user file galleries aac67f5 [ENH] Allow composer to update vendor_bundled dependencies and if changed, check for external package sources fb81fdb [FIX] intertiki: Presumably missed from f1f2d815, $remote_logout was undefined otherwise... 0f4db2f [FIX] White screen after tiki install bc298ce [FIX] Update secdb filename to reflect current database version tiki-secdb_21.1vcs_mysql.sql 4fff932 [UX] Make it more clear what belongs together in the page 07ea4f5 [FIX] PatchCypht - use composer FileSystem util to copy cypht stock assets rather than shell exec cp command be59199 [ENH] Improve gitlab mr script to allow create in target project id e25be6f [REF][FIX] Modules: PHPCS errors fixed (ran php vendor_bundled/vendor/squizlabs/php_codesniffer/bin/phpcbf modules/) 00d554b [REF][FIX] Control Panels (Admin): PHPCS errors fixed (ran php vendor_bundled/vendor/squizlabs/php_codesniffer/bin/phpcbf admin/) afdd17a [REF][FIX] Dev Tools: PHPCS errors fixed (ran php vendor_bundled/vendor/squizlabs/php_codesniffer/bin/phpcbf doc/) 1948f72 [REF][FIX] Installer: PHPCS errors fixed (ran php vendor_bundled/vendor/squizlabs/php_codesniffer/bin/phpcbf installer/) 4074ce0 [REF][FIX] PermissionCheck: PHPCS errors fixed (ran php vendor_bundled/vendor/squizlabs/php_codesniffer/bin/phpcbf permissioncheck/) 4b595ef [REF][FIX] Themes files: PHPCS errors fixed (ran php vendor_bundled/vendor/squizlabs/php_codesniffer/bin/phpcbf themes/) 5fb6275 [FIX] webservices: Better button classes 24eeb1e [FIX] auth: Fix form for session/login (post) type of authentication arguments now it is no longer a table (apologies) 5238338 [FIX] auth: Remove previously displayed args before adding the new ones 617818b [FIX] auth: Allow "HTTP Session/Login" content authentication to use a Bearer authorisation token to be returned from an oauth2 login post 20cfeac [REM] Remove viewerjs feature 04163d3 [bp/r76168] [FIX] Trackers: Mandatory currency for the currency field cf01c0b [rb/MR341] Revertt "[REM] Remove viewerjs feature" 59c4cd4 [FIX] remarksbox: Change the default tag for the remarksbox title from H4 to a DIV (optionally) because as an H4 it adds unwanted semantic meaning and often prevents autotoc working properly. Also added a class for the title (defaults to "alert-heading h4" so looks the same) and while there add some missing defaults, make it possible to have an remarksbox without a title or an icon and simplify some logic. 0d77d15 [UPD] Update 21.x vendor_bundled dependencies 36b54eb [FIX] modules: Speed up module category visibility checks by only loading the whole category tree if needed by modules with category (or nocategory) names specified rather than id's Reduces page load times from over 20s to under 2s on one large site with over 1000 categories d961d02 [FIX][UX] Wikiplugin Tracker: The reset button didn't look like the submit button and it was too close from it 3e23a63 [REF][FIX] PluginTracker: PHPCS errors fixed following !353 merge request (ran php vendor_bundled/vendor/squizlabs/php_codesniffer/bin/phpcbf lib/wiki-plugins/wikiplugin_tracker.php) e903f46 [FIX] Send newsletter even if recipient address has leading or trailing whitespace e0ab61f [FIX] installer: Fix the shortcut button to the install/update step again (please stop breaking this!) 9aed343 [ENH] Support and test PHP 7.4 05b2ff9 [FIX] User Mentions: notification emails were missing the path when Tiki is installed in subdirectory + url encode page names with spaces so the whole link is clickable and leads to correct page e180447 [bp/r76195] [FIX] Tracker: Currency field: fix the behavior of the currency field validation when javascript is disabled f89a10f [FIX] fix redirect to undefined page in pluginbutton if data-attribute empty 03df66d [UPD] Update 21.x vendor_bundled dependencies 467d24b [bp/r76215] [FIX] cypht integration: stop copying stock assets to Tiki codebase; fix paths to markdown and other cypht features depending on stock assets work 10636fd [bp/r76217] [FIX] remove unused cypht stock assets d8bf5a7 [bp/r76221] [FIX] cypht integration mixing session content between plugin and tiki-webmail ca15f02 [FIX]Wiki page: Missing translation tags added to the modal when removing page(s). fca93fd [FIX] trackers: Add missing getProvidedFields and getGlobalFields on category fields 8e7e560 [bp/r76070] [FIX] tracker item history observe field permissions - if you are not allowed to see a field, why can you see item history of changes for that field 6eaa1db [FIX] trackers: Fix GroupSelect default group for non-admins - use the actual autoassign option on the input (not been fixed since tiki 6?) and check the user is in one of the groups allowed by the "group Filter" (groupId) option and try and pick the best one 54d7bc8 [br/r76225] [FIX] add missing provided fields declarations to certain tracker fields exposing more than the default indexable fields 15a7163 [FIX] tiki webmail and plugin cypht - reload session/config when switching users ae18f85 [FIX] search: Don't add quotes around select values with spaces because the DOM createElement('option') fn does that for us (presumably it didn't in 2017 when i added this in commit c2438070, i have tested this with and without spaces and tried enclosing \"search terms in escaped quotes\" and it seems to make no difference, but with this code removed now we can search for tracker_status "o OR p" etc and the logic works) d9f4654 [bp/r76239] [FIX] default plugin cypht settings initialization 9fd0d45 [FIX] 2fa: Fix user prefs when imagick is not installed (as it's not required in tiki), also return false on the button click handler and remove an unused var assignment 1430d5f [FIX] trackers: Use the field handler to get the value for UserPreference fields as they are not stored in the database. The tracker values and the prefs were getting wiped out whenever an item was being related to another and the refresh option was enabled. 3c738fd [FIX] trackers: Set the correct option for timezones in user pref fields, also the "Other" value for country. 4d62273 [FIX] forums: Remove duplicated forum title - left over from add-ons removal (thanks @gary.cunningham-lee) There may be others... 3f9a31e [UPD] Update 21.x vendor_bundled dependencies 5e97236 [FIX] userlinks: Don't render invalid empty (duplicated) id attributes, same for title and remove some duplicated code d1dca9f [FIX] menus: Fix dragging menu options broken due to bootstrap/flex changes i think (thanks @jyhem, should address wish7260) Also fix horizontal menu preview (smart menus still to do) 12a1521 [FIX] click-modal: Replace the nullish operator with a simple OR one, as that's not supported yet by enough browsers. Also look for the modal-submit-redirect-url data attribute on the link parent for wiki syntax cases where a simple link is inside a div plugin. 3de0b23 [FIX] search: Add facet data to the serialised output from tiki-searchindex.php if enabled c9f5017 [FIX] Fix issue in external links reduce when link and label are equals 19ed0a7 [FIX] menus: Prevent clicks on menu items with child options on the login module menu from closing the dropdown containing it 634ea86 [FIX]Wiki page: Missing and misplaced tags broke the translation to the confirmation modal when removing page(s). 5f49e67 [FIX] forums: Fix broken html due to orphaned close </div> tag appearing when $tiki_p_forum_post = n (as anon for instance) Some reformatting was required... 08d84d0 [FIX] forums: Scroll to the post referred to in the #threadIdXX url hash like comments do 542c7fd [FIX] Fix symfony process deprecation notices d73cb65 [UX][FIX] Bring the tick icon to selected options when using chosen 62e34a7 [UX][FIX] Remove &nbsp from labels option so chosen to render select input as it should be 0a2c815 [FIX] search: Add page_id to the index for wiki pages (sometimes easier to use than the title/object_id) 65950e1 [UPD] Update 21.x vendor_bundled dependencies 9f6b6f2 [FIX] Fallback indexation should not clean the queue b620952 [FIX] Incremental changes are indexed to live index while rebuiling 4117a41 [FIX] MySQL index queue incremental changes to be appended after finish re-indexation 8fa54e4 [ENH] Add missing method visibility to methods (coding-standards) 9e49b19 [FIX] Fix wikiplugin_preference 0649f11 [TRA] Multilingual: hebrew translation addition de3af70 [FIX] Mail queue needs to be able to process the new class (Zend namespace was renamed as Laminas) 381f834 [UPD] Update 21.x vendor_bundled dependencies 921f3d6 [FIX] Wiki page edit: after saving the edited page display the actual current version in the "compare the versions" link and not always the last version (thanks Marc) 7fa310a [ENH] add preference to exclude indexging non-searchable tracker fields 59cdf13 [ENH] add preference to shorten tracker field names in mysql search index to allow greater number of fields in the index b26709b [FIX] trackers: Don't show warning that the user isn't in one of the GroupSelector groups to admins (as they can override that) Also, use specific tracker's perms not the global $tiki_p_admin_trackers aa2723a [ENH] trackers: Add an icon for fields with rules on the field list f1d0a9f [FIX] trackers: Show a decent error message if the argument for a rule is not provided but is required 6c46a76 [FIX] trackers: Escape quotes in error message for missing argument (oops) 543ed3c [FIX] trackers: Fix "addItems" option button when the field is set to selectMultipleValues d221879 [FIX]A Bunch of spaces added in description field when creating a calendar df0d784 [FIX] reCaptcha: Remove the function of generating the token to the logged-in users cfcbc30 [FIX] groups: Missing parameter for add_group a77ec7f [FIX] groups: Allow groups with inheriting children to be modified (not sure if this is the right fix, but allows group editing again - can you check please @nelsonko?) Hopefully fixes wish7325 and https://tiki.org/forumthread73684 14f6a75 [FIX] groups: Remove reminder comment that was on the wrong line anyway 8400a61 [FIX] support ES 7.0+ with deprecated mapping doc types, removed standard filter tokinizer and possibly relative number of hits cb5a346 [FIX] search: Elasticsearch 7.x seems to need timestamps with a capital T between the date and time, also tested with es6 and es5 and they don't seem to mind (fixes broken test \Search_Index_BaseTest::testRangeFilter) 7cfb7a0 [FIX] search: Elasticsearch 7.x fails fatally with "failed to parse, document is empty" when a value cannot be json encoded (5 and 6 seemed to be ok with that), so expose the error and id and index an empty object, also add more info to error reports to make diagnosis possible. 4e26e0c [FIX] search: Duplicate feedback error as a php error so it gets logged while indexing (thanks @kroky) 3cb7e26 [FIX] search: Add back support for ES1 and 2 settings (thanks again @kroky) 1d82f73 [FIX] Testing of the preference was always returning true 961be0c [FIX] popovers: in attribute whitelists, replace href attribute with action for forms and whitelist additional attributes used in anchor and button tags 5fcc539 [FIX] search: Remove empty facet parameters from the searchindex url 0ef0628 [FIX] search: Make Excluded facets pref a text area 06a9bc6 [FIX] search: Temporarily exclude the two date range facets from tiki-searchindex.php as they don't work b11a7da [FIX] search: Keep the filter~content value on the url even if empty so the facet/aggregation selects don't disappear fb034bf [UPD] Update 21.x vendor_bundled dependencies 7901918 [FIX] Admin users and list pages were blank in french 45dce25 [FIX] upgrade sabredav to latest stable 5861bbc [FIX] php7: Fix tracker legacy export - arrays initialised as strings (thanks Geoff) ffea96b [FIX] Making The PluginTour buttons work 641d815 [FIX] trackers: getFieldData returns an array with value as a key 8d039c0 [FIX] trackers: Use teh field's renderInnerOutput in csv mode to render the new value for the diff. Shows date, categories etc properly now... f9b89d1 [FIX] trackers: Fix empty rule sets e602f00 [FIX] trackers: Fix defaults for rules params in tracker plugin c6ae9f6 [FIX] wikiplugin Swiper: fix a 404 error as the plugin is expecting an url. Should be empty by default (no url). cdbc69c [FIX] File Galleries: Translation for uploading files has been broken. Used Cancel instead of Abort for consistency 8328987 [TRA] File Galleries: Adding french translation for file upload (js) 0357f23 [TRA] File Galleries: Adding hebrew translation for file upload (js) ea1a1a2 [FIX] multiple ListExecute plugins on one page did not properly execute action on all items in one plugin only afc3168 [FIX] calendar invitations not working with user selector type of object selector with smart search instead of dropdown 121499f [FIX] changing calendars when creating a calendar item loads an empty or single-letter participant 86c9d8d [FIX] search: Fix for user selector fields in custom search forms, where the multiple option is set to "2" (filterable by group) which needs the original field id (does that help @robertokir?) 6b63f6f [FIX] add inner output for Numeric, Currency and Relation fields and fix tracker item diff for them as well as old output for all field types 6c2b001 [FIX] trackers: Fix the "old" value history rendering for category fields ($new is already an array) Thanks @kroky for the heavy lifting! :) c2ddc41 [ENH] Plugin Cypht: Change parameters 0089a6a [MOD] Plugin Cypht: Change default value of somes parameters e44285e [MOD] Plugin cypht: Assign the default value for the selection list options to No 72464c9 [UPD] Update 21.x vendor_bundled dependencies 3a34656 [FIX] tracker-rules: Try to prevent exceptions in ui-predicate when a field has changed (to or from multiple) or has just been removed, resulting in corrupted rules 921932a [FIX] tracker-rules: Add a reset button to clear any rules on a field (not pretty but all the vue.js ways don't seem to work for me) e63a134 [ENH] tracker-rules: Make the date operators work, after, before and on (for on the same day) Also add a note about how the syntax is processed... b4ab8e8 [FIX] make UserGroups save actual value at time of entry instead of Array string even though output value is always rendered by looking up user's groups; also make item history diff show actual user groups facde9a [FIX] tracker item history display when filtering by version - previous values were not properly set and latest ones were displayed instead bb577c1 [FIX] multiple list executes on a page fix also needs fixing ListExecuteCommand b3dc073 [FIX][UX] Apache PHP module is increasingly unpopular. Let's not waste people's time and let's point them to the right direction b22ef93 [UX] Clarify ambiguous button on banner zone creation. Plus associated translations 3d8257a [FIX] Minor adjustments on Zend/Laminas replacements 8843781 [UPD] Update 21.x vendor_bundled dependencies 5e2ff95 [UX] Make it clear that 'Indexing' option really means both saving and indexing. d2fda48 [FIX] TikiDb: Expose the name of the table index that failed for a duplicate row insert (there is no more info easily available here, but that should be enough to identify the table most times) 94aba6b [FIX] trackers: Observe list_mode=csv in renderInnerOutput for all types of category fields output types to prevent html from showing in item history diffs a98196a [FIX] login: Add 4, 6 and 8 hours as remember me options (duration picker anyone? ;) e3d79f7 [ENH] search: Add larger options to the index process queue dialog and select the best one f3b3b9a Revert "[FIX] search: Make Excluded facets pref a text area" e312b7b [FIX] trackers: Use the $permNeeded for each item rather than tiki_p_view_trackers always so the index obeys perms for pending and closed (many thanks $kroky) c78ba5c [FIX] filegals: Missing var $galleryId 5e75f0a [FIX] filegals: Display errors encountered uploading files even if javascript is enabled (errors with sendHeaders true don't seem to appear) b32d573 [FIX] trackers: Handle empty display_timezone prefs properly f4f45b0 [FIX] trackers: Only report missing files when we're on the item itself, not when listing comments etc be915c5 [FIX] tracker-rules: Prevent default empty rules from being stored in the database 935563c [FIX] theme: Observe theme_admin pref for custom js and css includes cce9026 [FIX] trackers: Merge the field type info into the field so fields always know their param defaults properly (cures recent notices from UserGroups and probably others) 38a3b3b [FIX] default pivottable field value for category fields is the category names rather than ids 7f09fe8 [FIX] ItemsList values used in Math calculations referencing other ItemsList values should render their contents to show actual values - three nesting level fix 6ce5888 [FIX] list execute table layout: input actions were not using unique DOM ids and conflicting with each other when multiple LEs were used on a page 85e6d63 [FIX] structures: Remove the 'wiki page' section on tiki-admin_structures.php and tiki-edit_structures.php as they are not wiki pages but contain them in a similar way to tiki-admin_categories.php for instance. Hopefully will fix perspectives/areas problems on tiki.org (will revert if not) 2e19a28 [FIX] slideshow: Fix a lot of notices (which were appearing as the first slide - not reformatted yet, TODO in master) 2e85e72 [UPD] automatic updates - Updating scssphp/scssphp (1.1.0 => 1.1.1) - Updating studio-42/elfinder (2.1.56 => 2.1.57) - Updating symfony/filesystem (v4.4.8 => v4.4.9) - Updating symfony/config (v3.4.40 => v3.4.41) - Updating symfony/debug (v4.4.8 => v4.4.9) - Updating symfony/console (v3.4.40 => v3.4.41) - Updating symfony/dependency-injection (v3.4.40 => v3.4.41) - Updating symfony/finder (v4.4.8 => v4.4.9) - Updating symfony/process (v3.4.40 => v3.4.41) - Updating symfony/yaml (v3.4.40 => v3.4.41) - Updating symfony/dom-crawler (v5.0.8 => v5.1.0) - Updating symfony/browser-kit (v5.0.8 => v5.1.0) - Updating symfony/css-selector (v5.0.8 => v5.1.0) cf655cd Revert "Revert "[UPD] Update Reveal.js to 3.9.2"" d948d83 [UPD] composer update following update of reveal.js 9428f78 [FIX] slideshow: New version of reveal.js doesn't seem to work properly without the hash parameter (so it adds the slide number to the url hash) ca86339 [FIX] Filter faq vars 461f6dd [FIX] filer vars in tracker history f378535 [TRA] Multilingual: French translation a3c2ea5 [REL] Preparing 21.1 release cb74474 [REL] Update README file for 21.1 167e50f [REL] Update language.php files for 21.1 14cf51c [REL] Update changelog.txt for 21.1 0278934 [REL] Update copyright.txt for 21.1 1413699 [REL] SecDB for 21.1 5695fa0 [REL] Closing release 21.1 27803ef [REL] Fix composer installer as we were getting a snapshot build of 2.0 alpha which isn't compatible with the patching sytem we use (warning for the future!) 32b00f3 [ENH]Added the missing page for the new tiki preferences and info on improved features, etc. It needs backponting to 21.x at some point of course 590984f [ENH]Update doc page iframes to the new doc.t.o pages. It needs backponting to 21.x at some point of course 2c1c0be [FIX]Tracker field rules needs this vue_js pref (which I couldn't find through the control panel search box misteriously). Expose other related prefs also. It needs backponting to 21.x at some point of course e73dd5f [UPD] Update 21.x vendor_bundled dependencies e641c0f [FIX] This is not testing syntax, it actually runs the profile 2a99c6c [FIX] Reset conversejs environment after user login/logout c5e6761 [FIX] userprefs: Untangle mess of having two forms with the same submit action, which meant saving the info tab reset the prefs, and saving prefs tab reset the info. No idea how it got so bad but it was a while ago... at least before in 18.x (hopefully will address wishes 7249 and 6758, thanks hman) 1c73911 [REL] Add missing releases af35405 [REL] Update notifier files 343649f [FIX] encoding: Don't double encode strings in the smarty escape modifier - fixes issues with html entities showing ItemsList fields etc aefe299 [FIX] Remove some notices during MySQL indexing process 0f4af90 [FIX] Satisfy phpcs 3a3375a [FIX] menus: Make smart menus easier to find 0fb9c12 [FIX] menus: Cope with menus where children of section 0 level (s) items all have the same numeric level (e.g. 1) but don't themselves have any children in both rendering and admin. This happens when menus are created by profiles, but could also be a problem in upgrades from pre-bootstrap Tikis. 62e84f2 [FIX] Wikiplugin: The Label of the wikiplugin button was not translated 7e6cce0 [FIX] Wikiplugin: The Label of the wikiplugin button was not translated 7b3056e [FIX] Wikiplugin: The Label of the wikiplugin button was not translated 034f2c3 [FIX] Wikiplugin: The Label of the wikiplugin button was not translated 9f10261 [UPD] Update 21.x vendor_bundled dependencies 34e12b5 [FIX] Increase the message column in tiki_mail_queue to LONGTEXT c977d28 [FIX] prevent redirection from smarty->fetch tiki-modules initial init that checks for post redirect variable when updating tracker item - ItemsList and possibly other field types rendered output fields of listed items which caused smarty->fetch cycle to actually do a redirect before saving the tracker item 82f9503 [FIX] Profiles: Allow user to apply profiles via 'Profiles Wizard' d5570d2 [FIX] trackers: Make sure inline editing inputs are at least 2 chars wide 0e5e652 [UPD] Update 21.x vendor_bundled dependencies 762dc01 [FIX] ajax: Check $_GET for controller and action for filtering as well, and add request vars used by templates to the config 9b03ff7 Revert "[FIX] ajax: Check $_GET for controller and action for filtering as well, and add request vars used by templates to the config" ec610f4 [FIX] wysiwyg: Fix img parsing for wysiwyg editing when lazy image loading is enabled 3856170 [bp/r76685] [ENH] site_closed:add feeback when login fails 78d475c [FIX] wysiwyg: Fix 'parse to wiki' on external links with encoded pipe chars in the href (fixes test added in previous commit) 3813d1e [UPD] Update 21.x vendor_bundled dependencies 469180e [ENH] search: Add similar filter for list plugin and friends - usage: * similar to current: {filter similar="this"} or {filter similar=""} * similar to tracker item {filter similar="trackeritem:42"} Requires elasticsearch 5d2e263 [FIX] search: Fix the addition of asterisks to all terms in a wildcard search (added in 29137f36) and remove the term 'AND' from the query string which were causing the plugin search on the textarea control panel to always fail with elasticsearch (Tested on ES5, 6 and 7 and mysql and test suite runs ok) bb90b9a [ENH] perms: Add object and type params to wikiplugin perms so you can use object permissions other than the "current" object d540e56 [FIX] forums: Replace home grown quoted printable decode function with the php one. Was causing encoding errors on the string '=3D99' which was turning into a char not storable in mysql, even with utf8mb4. Should fix tiki.org/forum26 which is the dev list mirror forum and has been offline (WSoD) for 7 months - thanks Oliver :) 8c621cd [FIX] Fix issue in scheduler runs to hide the end_date when scheduler is running 4761dc9 [FIX] Fix tracker files field preview for txt files 58bfed7 [FIX] Tracker Field Files: fix video image preview c021d63 [FIX] Fix bug in php implode function call c8f8c39 Update coding standards on changed files a2e3516 [FIX] Fix wikiplugin_sql and wikiplugin_dbreport * wikiplugin_dbreport column names could not be retrieved using pdo_oci * wikiplugin_dbreport variable parsing not working * wikiplugin_sql variable arguments / variable parsing not working 3972884 [ENH] Set a new preference to show/hide templated groups features 722e2ec [bp/ce081d59a7][FIX] Make strings translatable. Plus missing helper classes 1ba01ee [FIX] img: Make Lazy Loading optional per image even if installed and enabled globally c472d1e [ENH] Add parameters to audit to log or csv file b46df15 [FIX] ajax: Check $_GET for controller and action to enable filtering as well, add request vars used by templates to the config and replace unnecessary uses of $_REQUEST in \Services_Tracker_Controller::action_preview_item (thanks @robertokir) e17418d [FIX] Assign category type and id to allow customize module printing 427b446 [FIX] Fix scheduler stalled/healed messages 71907ac [FIX] Unified Search: When using fallback index, the main index ends up deleted at the end of the indexing process, due to index cache. 0d8ff68 [FIX] comments: Fix moderation links for CSRF checks 2744890 [FIX] modules: Show hidden side columns in modules admin becfb9e [FIX] admin modules: Make remove button on module edit dialogs work again with csrf protection (thanks Jonny!) 134d3c0 [FIX] admin modules: Make remove icon in module hover controls work again with csrf protection when on the admin modules page (thanks Jonny!) f1dcd41 [FIX] modules: Space the moduleflip icons out better (thanks Lindon for fixing the unassign one!) d9435e4 [FIX] comments: Scroll to the comment added or edited rather than the one indicated by threadId on the url hash 0ac859f [ENH]Tip added about where to find the "revert" profile. Thanks Ricardo 88d1859 [ENH]Use updated pages for the featured profiles we tweaked during the Virtual Tiki Fest 2020. Thanks to all who participated in the virtual tiki fest (and later) tweaking these featured profiles 5b65f22 [UPD] Update 21.x vendor_bundled dependencies c50cf5e [FIX] tracker-rules: Fix js errors when the target element is not in the DOM, e.g. when in an incomplete pretty tracker template. Also improve string concatenation. 5a7fe8c [FIX] trackers: Observe showfielddesc param in pretty tracker templates (thanks marclaporte) 96e98bd [FIX] modules: Push the compact mode search buttons popup forward one z level to be on top of the module show/hide icons cbf1aea [UPD] Update 21.x vendor_bundled dependencies 1d85275 [FIX] PluginTogether - add custom param for the hub url address if default one is not working or needs to be avoided 1229aa8 [FIX] Wiki pages: Allow plugins in Plugin Help to be used more than once in an edit session 2a3f465 [FIX] plugins: Change the binding of the modal handler from "on" to "one" which makes subsequent plugin additions use the right plugin type and combine it with the other modal functions (also avoid adding an unnecessary space in empty plugins) b45b289 [FIX] Fix release script to count contributors correctly bb543f8 Fix coding standards 13cb7dc [FIX] Improve filter pattern be471f0 [FIX] user bug 90c2fac [FIX] search: Filter search params f5ed504 [FIX] user checks 04f0bd8 [REL] Preparing 21.2 release fa5872c [REL] Update README file for 21.2 52f7ca6 [REL] Update language.php files for 21.2 49cdfe7 [REL] Update changelog.txt for 21.2 2d8af81 [REL] Update changelog.txt for 21.2 8670cb3 [REL] Update copyright.txt for 21.2 631b6fc [REL] SecDB for 21.2 fdf78fd [FIX] Closing 21.2 release 4b061a3 [ENH] Add option --all to command package:update 1bf5603 [FIX] Fix package:update command with missing functionality 87aaff3 [FIX] fix diagram editing saving issue with included pages bd5a3bf Revert "[FIX] Wiki pages: Allow plugins in Plugin Help to be used more than once in an edit session" fc80588 [FIX] trackers: Add missing parameter for preserving tracker id when importing a tracker structure. (This doesn't fix the fact that importing a tracker structure when not preserving the id is broken since this commit: https://gitlab.com/tikiwiki/tiki/-/commit/ab444b07502fb46eda1815ecd0bd4847d8efdfe0) 32a69e3 [UPD] cypht files updated by composer install 4a86989 [FIX] banning: Avoid errors when $tikilib or $user is not defined (like in ajax services). Also allow for better error handling with ajax services. dd36d13 [FIX] PHP 7.4 - Curly brackets deprecated c40b1b7 [FIX] trackers: Allow model size to be set on tracker item actions menu e4128b7 [FIX] jsdetect: Another attempt to fix the ongoing javascript detection issue and avoid the "problem occurred" dialog incorrectly showing 14fe16c [FIX] Fix issue removing Content Type header when does not exist 9b8d90d Update file coding standards 87e271f [UPD] Update 21.x vendor_bundled dependencies f4da4d9 [FIX] modules: Remove the clearfix class from all module zones as this was making .d-flex.justify-content-between not use the full width of the div for unknown reasons... Also remove .content which is no longer defined in tiki (thanks luciash, well spotted) 0e93226 [FIX] Fix issue in wikiplugin_preference when validating currentpage value to display preferences ee796a9 [FIX] Use a more precise permission check. If you can download the file, you can display the preview, even if you don't have the permission to view the whole gallery. Useful for special cases when permissions are set to be different for different files in a same gallery. c686557 [FIX] check list_users permission when listing principals in CalDav/CardDav server 6696e7b [FIX] avoid using wrong formula in math calculation involving calculation of values for other tracker fields due to static nature of the formula runner 7783b20 [FIX] Elasticsearch error where document is more than allowed 32766 bytes due to UTF-8 chars taking more than one byte f1eb955 [ENH] Increase benchmark numbers to get better metrics e108897 [FIX] Fix issue with empty dbs_tiki global variable 5b0e40a [UPD] Update 21.x vendor_bundled dependencies 3c42647 [ENH] allow math calculations to work with currency fields/values more seamlessly - e.g. (add currency_field another_currency_field) 5261d8c [FIX] currency calculations - don't choke on empty field values but convert to zero and continue calculation 094545b [FIX] tracker math field fix for 'variable not found' errors when using IF functions and recalculation upon indexing - some children of IF function were never traversed when inspecting the formula and thus variables were never filled in to be used by calculation cycle later fc356ad [FIX] convert math formula output to string before sending to search index - we need this for cases where Currency calculations are used or other potential objects are the results of calculations which contain the __toString magic method 918e69b [FIX] Divide by zero error showing as feedback rather than exception (all math functions throw exceptions for such errors) and suppressing the error in case formula is inspected (in which case all data is zero) c0627e9 [FIX] rebuild search index logging - send feedback messages to log file when log option is used and also rebuild stats 38c8f35 [FIX] math calculation with currencies - try to parse math functions output that is a currency object back to currency object, so math functions in other fields work with currencies (waterfall concept) Note: math field currency output currently do not hold information about rates and date of transaction, so conversions with them rely on other currency fields. E.g. if you use a math function on 2 math fields that are currency calculations you will loose the conversion data a48e2e7 [FIX] suppress index rebuild soft errors about missing parameter in UserGroups field f93c5fb [ENH] add currency-convert math function and search for default exchange rates tracker when parsing a currency string 242b3c9 [FIX] currency math calculation fixes - operations on numbers and currencies allowed when first argument is not a currency 860ab47 [ENH] allow math field to mirror output behvaior from another field - useful for currency calculations, itemlink or other field calculations where the output must be similar to the output of those fields ae6c8b5 [ENH] add filter collection to Math field - allow it to inherit configuration from mirrored field or allow basic fulltext/initial/exact match searches on the formula output 73a73e9 [FIX] math field mirroring another field: replace base key with math field key when using mirrored field filtering a23be2c [ENH] add Numeric field range filters and include relevant tests (+ fix Lucene numeric range filter) e4b59a4 [FIX] default currency fix when converting to base currency upon tracker field currency output 341c67d [ENH] add Currency field base value to search index; add currency range filter; add math mirrored field indexable content 8620455 [FIX] deprecated Elasticsearch range query syntax - use gte/lte over from/to and make lower/upper bounds inclusive (was excluding upper bound up to now) 4a8e66b [ENH] add missing numeric range filter to wiki filters syntax 7099e29 [FIX] search index: field counting in mysql was counting documents rather than actual index fields; elastic was working mostly ok but had a minor issue with empty variable checking b7316c3 [FIX] allow currency value formatter to work with math mirrored currency fields and update output to use smarty function designed for currency field output cc39871 [ENH] Math mirror field option: don't offer mirroring to itself, allow using field from another tracker, add fieldId to search lookup, add mirror option to list of fields 74837bb [FIX] load currency smarty function before using it d834197 [FIX] several fixes for currency calculations: implemented dropped support for currency formatter target_currency param; reuse calculations in Math_Formula_Currency; use default currency for _base field values; round filter comparisons for more appropriate results ab08524 [ENH] trigger errors when math field calculations fail when reindexing, so they can end up in error log besides the tracker field contents 5df284a [FIX] currency field able to accept negative values 2573e03 [ENH] allow Relation field contents to be used in Math calculations similar to ItemsList - i.e. expose formatted data coming from related entities as fields to use in math calculation in the same tracker 6c54b2a [FIX] Relation field data gathering for Math calculations - skip related objects which user does not have permission to see 905c7bc [FIX] using mirror math field in currency value formatter is now working with mirrored fields from other trackers 33869a5 [FIX] trackers: Avoid fatal error when mirror field is not found (discovered while reindexing) fffecad [FIX] trackers: Avoid fatal error when exchange rate tracker is not found (discovered while reindexing) 8c39776 [FIX] PluginList table output sorting by number (nasc/ndesc) did not correctly alternate sort modes when clicking on the header link 883ad81 [bp/r77037][FIX] Fix regression which broke subtree param 1922f56 [FIX] php74: Only variables can be passed by reference dfc2590 [ENH] save col/row sort order in Pivottable plugin, add as plugin params, make plugin params save operation from within PivotUI skip overriding non-pivot plugin params 2263059 [ENH] add displayBeforeFilter pivottable plugin option to skip searching and displaying results on initial page load when 'editable' filters are used for user-entered input filters e27fe88 [FIX] smarty internal templates used for smarty function outputs did not have the basic variables assigned as prefs which caused issues using these variables in templates (e.g. ObjectSelector of ItemLink filter) 4b39e07 [FIX] variable pass by reference issue with smarty internal template change fc804d6 [FIX] sefurl: Append the tracker item title to the prefix alias sefurl if the pref feature_sefurl_title_trackeritem is set to do so (refactored function from tiki-sefurl.php into trackerlib.php) ca0ac39 [bp/r77044][TRA] Some uppercase accented characters ad5259e [UX] tablesorter: Restore sort arrow colors so that they are visible; restore filter contrast; restore filter row background color. Essentially reverts svn commits 66736, 66831 and 67904. 326f98b [FIX] admin users: Emails were being hidden due to $perms check not being reachable as a result of https://gitlab.com/tikiwiki/tiki/-/commit/acf0c68c8366da405f29e5abc3a42bf7e7758b5f 9d0d8d7 [FIX] tablesorter: Exclude tables using tablesorter from javascript code that duplicates the action column as the first column in certain cases, thereby avoiding issues with the table header and unnecessary application of filter and sort fields. Tablesorter allows for easy access to the action column through scrolling or the column selector settings, which also work in mobile browsers, so don't think this is needed. If it is considered needed, the code would need to be improved and potentially handled within the tablesorter code. d7c0ef8 [FIX] tablesorter: Do not use the select all/none onclick function in tables where tablesorter is being used. Tablesorter handles select all/none checkboxes and having both causes bugs that result in unselect all to not work in some cases f62fe67 [bp/r77055][FIX] tablesorter: Implement tablesorter parameter for the select_all smarty function so that the select all/none onclick function is not used in tables where tablesorter is applied. Tablesorter handles select all/none checkboxes and having both causes bugs that result in unselect all to not work in some cases b89c5f5 [bp/r77055][FIX] tablesorter: Missed one implementation of tablesorter parameter for the select_all smarty function so that the select all/none onclick function is not used in tables where tablesorter is applied. Tablesorter handles select all/none checkboxes and having both causes bugs that result in unselect all to not work in some cases 39ea16e [FIX] empty categories query failing when using Elasticsearch - remove empty bool/and clauses from the query a8ff0ff [FIX] empty Elasticsearch queries with non-empty NOT clauses 2e524f2 [FIX] ItemsList matching by cateory field - make it work for multiple categories selected in the same field c34550c [FIX] Numeric Field scrolling handling : disabled bad behavior with Edition in a popup By changing the delegate container to document (not sure why this works but thanks to @mnsuccess for MR !435)

Commits tagged ENH

Copy to clipboard
[rb/71588][ENH] Hide button when the user doesn't have permission to see the link of that button [ENH] listexecute: Allow TrackerItemModify to update tracker items ignoring mandatory and validation errors [ENH] tracker-rules: A couple of new operators for Collections [ENH]Adding a target attribute for the url of the plugin button. [ENH] Align advanced parameters in PluginCode [ENH] Trackers, DynamicList: Add button to Select/Unselect all item of the dynamic list [bp/r75930] [ENH] Numeric Field scrolling handling [bp/r76005][ENH] Align advanced parameters in PluginCode [FIX][ENH][UX] Pivot tables: indicate that the table cell is clickable by using cursor: pointer (why is _pivot-tiki.scss not compiling to tiki_base.css? Takes ages to compile all the themes while the look is basicaly same for all of them) [ENH] tracker rules: Add custom text to display as the error message for the Required action [ENH] Allow composer to update vendor_bundled dependencies and if changed, check for external package sources [ENH] Improve gitlab mr script to allow create in target project id [ENH] Support and test PHP 7.4 [ENH] Plugin Cypht: Change parameters [bp/r76685] [ENH] site_closed:add feeback when login fails [ENH] search: Add similar filter for list plugin and friends - usage: * similar to current: {filter similar="this"} or {filter similar=""} * similar to tracker item {filter similar="trackeritem:42"} Requires elasticsearch [ENH] Set a new preference to show/hide templated groups features [ENH]Tip added about where to find the "revert" profile. Thanks Ricardo [ENH]Use updated pages for the featured profiles we tweaked during the Virtual Tiki Fest 2020. Thanks to all who participated in the virtual tiki fest (and later) tweaking these featured profiles [ENH] Increase benchmark numbers to get better metrics [ENH] allow math calculations to work with currency fields/values more seamlessly - e.g. (add currency_field another_currency_field) [ENH] save col/row sort order in Pivottable plugin, add as plugin params, make plugin params save operation from within PivotUI skip overriding non-pivot plugin params [ENH] add displayBeforeFilter pivottable plugin option to skip searching and displaying results on initial page load when 'editable' filters are used for user-entered input filters

2. General upgrade notes

Also, see the standard information about Upgrades in Tiki.

3. Related

Pages linking to this one

Alias names for this page:
Tiki 21


Get Started

Admin Guide User Guide


Keywords serve as "hubs" for navigation within the Tiki documentation. They correspond to development keywords (bug reports and feature requests):

Accessibility (WAI and 508)
Articles and Submissions
BigBlueButton audio/video/chat/screensharing
Browser Compatibility
Link Cache
Clean URLs
Communication Center
Compression (gzip)
Contacts (Address Book)
Contact us
Content Templates
Custom Home and Group Home Page
Date and Time
Debugger Console
Directory of hyperlinks
Documentation link from Tiki to doc.tiki.org (Help System)
Dynamic Content
Dynamic Variable
External Authentication
Featured links
File Gallery
Friendship Network (Community)
Gmap Google maps
i18n (Multilingual, l10n)
Image Gallery
Inter-User Messages
Kaltura video management
Live Support
Logs (system & action)
Look and Feel
Map with Mapserver
Meta Elements
Mobile Tiki and Voice Tiki
Performance Speed / Load
Platform independence (Linux-Apache, Windows/IIS, Mac, BSD)
Profile Manager
Search engine optimization
Search and Replace
Semantic links
Shadow Layers
Shopping cart
Social Networks
Spam protection (Anti-bot CATPCHA)
Tell a Friend, alert + Social Bookmarking
Theme CSS & Smarty
Tiki Manager
User Administration including registration and banning
User Files
User Menu
Web Services
Wiki History, page rename, etc
Wiki Syntax
Wiki structure (book and table of content)

Tiki Newsletter

Delivered fresh to your email inbox!
Newsletter subscribe icon
Don't miss major announcements and other news!
Contribute to Tiki