Remove superfluous braces
[GitHub/WoltLab/WCF.git] / CHANGELOG.md
CommitLineData
77eea9a2
MS
1# Changelog
2
e71525e4 3## 3.0 (Vortex)
77eea9a2 4
a0c6927a 5### 3.0.0 (XXXX-YY-ZZ)
77eea9a2 6
ea3185a0 7* Clipboard support for tags in ACP ("delete" and "set as synonyms").
65628264 8* `wcf\system\cache\runtime\UserProfileRuntimeCache` for caching user profiles during runtime.
77eea9a2 9* `wcf\system\cache\builder\EventListenerCacheBuilder` returns `wcf\data\event\listener\EventListener` objects instead of data arrays.
8b77f574 10* `wcf\system\cache\source\RedisCacheSource` added.
28f2c3b1 11* Background queue (`wcf\system\background\*`) added.
652ab955 12* Rewritten email system (`wcf\system\email\*`) added.
6cc54f29 13* CryptoUtil (`wcf\util\CryptoUtil`) added.
652ab955 14* Old email system (`wcf\system\mail\*`) deprecated.
36c34e9a
MS
15* Abstract bulk processing system added.
16* Replaced old user bulk processing with new implementation using the abstract bulk processing system.
47124303 17* `conditionContainers` template event in template `noticeAdd.tpl` added.
a5f8fd9f 18* Use condition system for user search.
e934d809 19* Image proxy for images included with the image BBCode.
0560ab7d
AE
20* Overhauled Redactor integration
21 * Linebreaks mode instead of using paragraphs, works better with the PHP-side parser which works with linebreaks
6cc54f29 22 * Ported the PHP-BBCode parser, massively improves accuracy and ensures validity
b2ae2a7b 23* Show error message if poll options are given but not question instead of discarding poll options.
28854f57 24* `parentObjectID` column added to `modification_log` and `wcf\system\log\modification\AbstractModificationLogHandler` introduced as a replacement for `wcf\system\log\modification\ModificationLogHandler`.
5c2a59e7
MS
25* Add sort support for `useroptions` option type.
26* Make user options shown in sidebar sortable.
b896f69d
MS
27* `wcf\system\event\listener\AbstractUserActionRenameListener` added.
28* `wcf\system\event\listener\AbstractUserMergeListener` added.
406e0d01 29* Notice texts support `{$username}` and `{$email}` placeholders.
ce207cd8 30* Notifications for comments in moderation.
5266fbf1
MS
31* Continuous numeration of edit history version in template.
32* `\wcf\data\user\UserProfile::getGuestUserProfile()` added.
d8475f48 33* Make labels sortable in ACP.
7fb9ac68
MW
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
b2782e46 49* `\wcf\system\condition\MultiPageControllerCondition` has been replaced by `wcf\system\condition\page\MultiPageCondition`
a75f9dca 50* Added special CSS class to cookie policy notice (`cookiePolicyNotice`)
d0a27e5f 51* Improved confirmation messages (`<span class="confirmationObject">...</span>`)
0f8114c0 52* Added users online list pagination
e258a4fb 53* Added support for embedded youtube playlists
9512054b 54* Scaled embedded youtube videos to maximum width
17b9b150 55* `\wcf\form\AbstractCaptchaForm`: added parameter to force captcha usage for registered users.
408effbc 56* Added global disable switch for languages.
da5a61fb 57* Overhauled page tracking in sessions / user online locations
d00afef8 58* Overhauled language import form
d55d3739 59* Removed sitemap function/overlay
e3b8abb0 60* Added rebuild polls worker
40aa9168 61* Added notification feed page
cbd5031d 62* Added informal variant of german language
2a81c5b9 63* Options search in ACP also searches option categories.
9785f7b8 64
cccad2a0
MS
65#### CMS
66
7fb9ac68
MW
67* Introduced new page, menu, box and media management system.
68* Replaced object type definition `com.woltlab.wcf.page` with new CMS pages.
69* Replaced header/footer menu with new CMS menus.
70* Replaced dashboard box system with new CMS box system.
ced41de9 71* 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`.
7fb9ac68 72* Added page-relevant data-attributes on body tag (`data-page-id`, `data-page-identifier`).
cccad2a0 73
9785f7b8
MS
74#### New Traits
75
76* `wcf\data\TDatabaseObjectOptions` for database object-bound options validation.
8ef9a6b6 77* `wcf\data\TDatabaseObjectPermissions` for database object-bound permissions validation.
9785f7b8
MS
78* `wcf\data\TMultiCategoryObject` provides category-related methods for objects with multiple categories.
79* `wcf\data\TUserContent` provides default implementations of the (non-inherited) methods of the IUserContent interface.
48e5f94e
MS
80
81#### Package Installation Plugin Improvements
82
83* instruction file name for most PIPs has default value provided by `wcf\system\package\plugin\IPackageInstallationPlugin::getDefaultFilename()`.
84* `options` support for cronjob PIP.
85* `name` attribute for cronjob PIP (`cronjobName` for cronjob objects).
86* `eventName` of event listener PIP supports multiple events.
87* `permissions` and `options` support for event listener PIP.
88* `name` attribute for event listener PIP (`listenerName` for event listener objects).
89* `permissions` and `options` support for template listener PIP.
24d20582 90* file `{WCF_DIR}/acp/uninstall/{packageName}.php` is automatically executed if package is uninstalled right before the first file PIP is executed
48e5f94e 91
7fb9ac68
MW
92#### Template / Design Overhaul
93
94* Overhauled header/footer templates
95* Overhauled message templates/styling
96* Overhauled search area in page header
97* Overhauled user profile header
98* Overhauled media queries
99* Overhauled user login
100* Overhauled exception view
101* Redesigned ACP login
de105cbb 102* Redesigned list of attached images in messages
7fb9ac68
MW
103
104* Introduced sticky page header
105* Replaced LESS with SCSS
106* Removed collapsible sidebar
107* Removed obsolete CSS classes `framed`, `containerPadding`, `dividers`, `badgeInverse`
108* Replaced `.infoBoxList` boxes with `.footerBoxes`
109* Replaced `<fieldset>` tags with `<section class="section">`
110* Replaced `<legend>` tags with `<h2 class="sectionTitle">`
111* Replaced `.container`/`.marginTop` with `.section`
112* Replaced `.boxHeadline` with `.contentHeader`
113* Replaced `.boxSubHeadline` with `.sectionTitle`
114* Replaced `.sidebarNavigation` with `.boxMenu`
115* Replaced deprecated icon class (`icon-*` => `fa-*`)
116* Moved closing head / body tags into `footer` template
117* Moved documentHeader, head, body, contentHeader, userNotice into `header` template
118* Replaced `$sidebarOrientation` with `$sidebarLeft`/`$sidebarRight`
119* Renamed `{event name='*fieldsets'}` to `{event name='*sections'}`
120* Introduced `.separatorLeft`/`.separatorRight`
121* Removed `.tabularBoxTitle` if table title and page tite are identical
122* Moved the "No-JS"-Warning to footer template.
123* Tables can now be horizontally scrolled on mobile
124* Added mobile support for ACP
125* Added basic grid layout classes
126* Renamed `.pageNavigation` to `.pagination`
127* Renamed `.navigation`/`.navigationIcons` to `.pageNavigation`/`.pageNavigationIcons`
3d21a963 128* Added CSS classes to style font sizes in tag cloud (`tagWeight1` - `tagWeight7`)
7fb9ac68 129
b2782e46
MS
130#### Deprecated Code
131
132* Object type definition `com.woltlab.wcf.user.online.location` deprecated.
133* Object type definition `com.woltlab.wcf.page` deprecated.
a0c6927a 134* `\wcf\system\Callback` deprecated.
b2782e46 135
48e5f94e
MS
136#### Removed Code
137
138* `wcf\system\clipboard\action\UserExtendedClipboardAction` removed.
139* `wcf\system\event\listener\PreParserAtUserListener` removed.
de20f77a 140* `wcf\system\bbcode\PreParser` removed.
48e5f94e 141* `wcf\action\AJAXProxyAction::getData()` removed.
ced41de9
MW
142* `wcf\system\page\PageManager` removed.
143* `wcf\system\option\PageMultiSelectOptionType` removed.
144* `wcf\system\option\PageSelectOptionType` removed.
145* `wcf\system\user\online\location\UserLocation` removed.
48e5f94e
MS
146* Version system removed.
147* Support for query string based sessions in Frontend removed.
e97294ab 148* Language server system removed.
23fc9180 149* Deprecated methods in `wcf\util\StringUtil` removed.
7fb9ac68 150* Option `message_sidebar_enable_message_group_starter_icon` removed.
f77d25d1 151* Option `module_dashboard_page` removed.
7fb9ac68
MW
152* Option `module_privacy_policy_page` removed.
153* Option `show_clock` removed.
154* Option `message_sidebar_enable_rank` removed.
155* Option `message_sidebar_enable_avatar` removed.
156* Removed obsolete `$activeMenuItem` in frontend forms/pages
da5a61fb 157* Obsolete interface `wcf\page\ITrackablePage` deprecated.
d55d3739 158* PIP `wcf\system\package\plugin\SitemapPackageInstallationPlugin` removed.
bdc6630a 159* Option `share_buttons_show_count` removed.
2772d4eb
MW
160* Option `max_avatar_width` removed.
161* Option `max_avatar_height` removed.
e9335ed9
MS
162
163#### Documentation
164
cf6e3ee0 165* Added missing and fixed existing PHPDoc comments.
e9335ed9 166* `@property-read` tags for database table columns of classes extending `wcf\data\DatabaseObject`.
cf6e3ee0
MS
167* `@method` tags for classes extending `wcf\data\AbstractDatabaseObjectAction` to specify return types.
168* `@mixin` tag for classes extending `wcf\data\DatabaseObjectDecorator` for autocompletion/recognition of properties and methods of the decorated object.
169* `@method` tag for classes extending `wcf\data\DatabaseObjectEditor` to specify return type.
170* `@method` and `@property` tags for classes extending `wcf\data\DatabaseObjectList` to specify (return) types.
171* `@property` tag for classes extending `wcf\page\MultipleLinkPage` to specify type.
172* `@mixin` tag for classes extending `wcf\system\database\statement\PreparedStatement` for autocompletion/recognition of properties and methods of the decorated `\PDOStatement` object.
173* `@method` tags for `wcf\system\io\File` and `wcf\system\io\GZipFile` for autocompletion/recognition of methods called via `__call()`.