| 1 | # Changelog |
| 2 | |
| 3 | ## 2.2 (Vortex) |
| 4 | |
| 5 | ### 2.2.0 Alpha 1 (XXXX-YY-ZZ) |
| 6 | |
| 7 | * Clipboard support for tags in ACP ("delete" and "set as synonyms"). |
| 8 | * `wcf\data\user\UserProfileCache` for caching user profiles during runtime. |
| 9 | * `wcf\system\cache\builder\EventListenerCacheBuilder` returns `wcf\data\event\listener\EventListener` objects instead of data arrays. |
| 10 | * `wcf\system\cache\source\RedisCacheSource` added. |
| 11 | * Background queue (`wcf\system\background\*`) added. |
| 12 | * Rewritten email system (`wcf\system\email\*`) added. |
| 13 | * CryptoUtil (`wcf\util\CryptoUtil`) added. |
| 14 | * Old email system (`wcf\system\mail\*`) deprecated. |
| 15 | * Abstract bulk processing system added. |
| 16 | * Replaced old user bulk processing with new implementation using the abstract bulk processing system. |
| 17 | * `conditionContainers` template event in template `noticeAdd.tpl` added. |
| 18 | * Use condition system for user search. |
| 19 | * Image proxy for images included with the image BBCode. |
| 20 | * Overhauled Redactor integration |
| 21 | * Linebreaks mode instead of using paragraphs, works better with the PHP-side parser which works with linebreaks |
| 22 | * Ported the PHP-BBCode parser, massively improves accuracy and ensures validity |
| 23 | * Show error message if poll options are given but not question instead of discarding poll options. |
| 24 | * `parentObjectID` column added to `modification_log` and `wcf\system\log\modification\AbstractModificationLogHandler` introduced as a replacement for `wcf\system\log\modification\ModificationLogHandler`. |
| 25 | * Add sort support for `useroptions` option type. |
| 26 | * Make user options shown in sidebar sortable. |
| 27 | * `wcf\system\event\listener\AbstractUserActionRenameListener` added. |
| 28 | * `wcf\system\event\listener\AbstractUserMergeListener` added. |
| 29 | * Notice texts support `{$username}` and `{$email}` placeholders. |
| 30 | * Notifications for comments in moderation. |
| 31 | * Continuous numeration of edit history version in template. |
| 32 | * `\wcf\data\user\UserProfile::getGuestUserProfile()` added. |
| 33 | * Make labels sortable in ACP. |
| 34 | * Core object `wcf\system\search\SearchEngine` added. |
| 35 | * Added 'most online users' to statistics box. |
| 36 | * Added icon size 64 |
| 37 | * Enhanced user ignore feature |
| 38 | * Removed delayed redirect from login/logout |
| 39 | * `appendSession` in LinkHandler is now deprecated |
| 40 | * Added cover photo in user profiles |
| 41 | * Using cookies for ACP sessions |
| 42 | * WCF is now a standalone app |
| 43 | * Overhauled redactor integration |
| 44 | * Overhauled bbcode/html handling |
| 45 | * Removed option import/export |
| 46 | * Overhauled style editor |
| 47 | * Added replacements for WCF.Like, WCF.User.List and $.ui.wcfPages |
| 48 | * Added update support for styles |
| 49 | * `\wcf\system\condition\MultiPageControllerCondition` has been replaced by `wcf\system\condition\page\MultiPageCondition` |
| 50 | * Added special CSS class to cookie policy notice (`cookiePolicyNotice`) |
| 51 | * Improved confirmation messages (`<span class="confirmationObject">...</span>`) |
| 52 | |
| 53 | #### CMS |
| 54 | |
| 55 | * Introduced new page, menu, box and media management system. |
| 56 | * Replaced object type definition `com.woltlab.wcf.page` with new CMS pages. |
| 57 | * Replaced header/footer menu with new CMS menus. |
| 58 | * Replaced dashboard box system with new CMS box system. |
| 59 | * User online location is handled via the `wcf\data\page\Page` objects. Complex locations can use the online location-related methods of `wcf\system\page\handler\IMenuPageHandler`. |
| 60 | * Added page-relevant data-attributes on body tag (`data-page-id`, `data-page-identifier`). |
| 61 | |
| 62 | #### New Traits |
| 63 | |
| 64 | * `wcf\data\TDatabaseObjectOptions` for database object-bound options validation. |
| 65 | * `wcf\data\TDatabaseObjectPermissions` for database object-bound permissions validation. |
| 66 | * `wcf\data\TMultiCategoryObject` provides category-related methods for objects with multiple categories. |
| 67 | * `wcf\data\TUserContent` provides default implementations of the (non-inherited) methods of the IUserContent interface. |
| 68 | |
| 69 | #### Package Installation Plugin Improvements |
| 70 | |
| 71 | * instruction file name for most PIPs has default value provided by `wcf\system\package\plugin\IPackageInstallationPlugin::getDefaultFilename()`. |
| 72 | * `options` support for cronjob PIP. |
| 73 | * `name` attribute for cronjob PIP (`cronjobName` for cronjob objects). |
| 74 | * `eventName` of event listener PIP supports multiple events. |
| 75 | * `permissions` and `options` support for event listener PIP. |
| 76 | * `name` attribute for event listener PIP (`listenerName` for event listener objects). |
| 77 | * `permissions` and `options` support for template listener PIP. |
| 78 | * file `{WCF_DIR}/acp/uninstall/{packageName}.php` is automatically executed if package is uninstalled right before the first file PIP is executed |
| 79 | |
| 80 | #### Template / Design Overhaul |
| 81 | |
| 82 | * Overhauled header/footer templates |
| 83 | * Overhauled message templates/styling |
| 84 | * Overhauled search area in page header |
| 85 | * Overhauled user profile header |
| 86 | * Overhauled media queries |
| 87 | * Overhauled user login |
| 88 | * Overhauled exception view |
| 89 | * Redesigned ACP login |
| 90 | |
| 91 | * Introduced sticky page header |
| 92 | * Replaced LESS with SCSS |
| 93 | * Removed collapsible sidebar |
| 94 | * Removed obsolete CSS classes `framed`, `containerPadding`, `dividers`, `badgeInverse` |
| 95 | * Replaced `.infoBoxList` boxes with `.footerBoxes` |
| 96 | * Replaced `<fieldset>` tags with `<section class="section">` |
| 97 | * Replaced `<legend>` tags with `<h2 class="sectionTitle">` |
| 98 | * Replaced `.container`/`.marginTop` with `.section` |
| 99 | * Replaced `.boxHeadline` with `.contentHeader` |
| 100 | * Replaced `.boxSubHeadline` with `.sectionTitle` |
| 101 | * Replaced `.sidebarNavigation` with `.boxMenu` |
| 102 | * Replaced deprecated icon class (`icon-*` => `fa-*`) |
| 103 | * Moved closing head / body tags into `footer` template |
| 104 | * Moved documentHeader, head, body, contentHeader, userNotice into `header` template |
| 105 | * Replaced `$sidebarOrientation` with `$sidebarLeft`/`$sidebarRight` |
| 106 | * Renamed `{event name='*fieldsets'}` to `{event name='*sections'}` |
| 107 | * Introduced `.separatorLeft`/`.separatorRight` |
| 108 | * Removed `.tabularBoxTitle` if table title and page tite are identical |
| 109 | * Moved the "No-JS"-Warning to footer template. |
| 110 | * Tables can now be horizontally scrolled on mobile |
| 111 | * Added mobile support for ACP |
| 112 | * Added basic grid layout classes |
| 113 | * Renamed `.pageNavigation` to `.pagination` |
| 114 | * Renamed `.navigation`/`.navigationIcons` to `.pageNavigation`/`.pageNavigationIcons` |
| 115 | * Added CSS classes to style font sizes in tag cloud (`tagWeight1` - `tagWeight7`) |
| 116 | |
| 117 | #### Deprecated Code |
| 118 | |
| 119 | * Object type definition `com.woltlab.wcf.user.online.location` deprecated. |
| 120 | * Object type definition `com.woltlab.wcf.page` deprecated. |
| 121 | |
| 122 | #### Removed Code |
| 123 | |
| 124 | * `wcf\system\clipboard\action\UserExtendedClipboardAction` removed. |
| 125 | * `wcf\system\event\listener\PreParserAtUserListener` removed. |
| 126 | * `wcf\action\AJAXProxyAction::getData()` removed. |
| 127 | * `wcf\system\page\PageManager` removed. |
| 128 | * `wcf\system\option\PageMultiSelectOptionType` removed. |
| 129 | * `wcf\system\option\PageSelectOptionType` removed. |
| 130 | * `wcf\system\user\online\location\UserLocation` removed. |
| 131 | * Version system removed. |
| 132 | * Support for query string based sessions in Frontend removed. |
| 133 | * Language server system removed. |
| 134 | * Deprecated methods in `wcf\util\StringUtil` removed. |
| 135 | * Option `message_sidebar_enable_message_group_starter_icon` removed. |
| 136 | * Option `module_privacy_policy_page` removed. |
| 137 | * Option `show_clock` removed. |
| 138 | * Option `message_sidebar_enable_rank` removed. |
| 139 | * Option `message_sidebar_enable_avatar` removed. |
| 140 | * Removed obsolete `$activeMenuItem` in frontend forms/pages |
| 141 | |
| 142 | #### Documentation |
| 143 | |
| 144 | * Added missing and fixed existing PHPDoc comments. |
| 145 | * `@property-read` tags for database table columns of classes extending `wcf\data\DatabaseObject`. |
| 146 | * `@method` tags for classes extending `wcf\data\AbstractDatabaseObjectAction` to specify return types. |
| 147 | * `@mixin` tag for classes extending `wcf\data\DatabaseObjectDecorator` for autocompletion/recognition of properties and methods of the decorated object. |
| 148 | * `@method` tag for classes extending `wcf\data\DatabaseObjectEditor` to specify return type. |
| 149 | * `@method` and `@property` tags for classes extending `wcf\data\DatabaseObjectList` to specify (return) types. |
| 150 | * `@property` tag for classes extending `wcf\page\MultipleLinkPage` to specify type. |
| 151 | * `@mixin` tag for classes extending `wcf\system\database\statement\PreparedStatement` for autocompletion/recognition of properties and methods of the decorated `\PDOStatement` object. |
| 152 | * `@method` tags for `wcf\system\io\File` and `wcf\system\io\GZipFile` for autocompletion/recognition of methods called via `__call()`. |