Key Changes
This is an essential security and maintenance update. Including improvements for our recently release PII & Statistics features.We recommend not using the visual language editor until you upgrade.
Additional Information
Core
Platform
- Improved the Cookie Consent system based on feedback from our community.
- Fixed some missing language strings in Member History relating to PII / Account deletion requests.
- Fixed some issues with the AdminCP notification for PII requests.
- Fixed an issue where an administrator exporting PII for a member may not contain the members device data.
- Fixed an issue with links in the PII request emails.
- Improved the security of the Visual Language Editor.
- Fixed an issue with content item analytics.
Changes affecting third-party developers and designers
_getEssentialCookies()
can now return a wildcard at the end of a cookie name where there may be a different ID on each, i.e. ipbforumpass_*
Core
Forums
- Added Support for Cookie Consent.
- Added support for forcing tags to be listed alphabetically.
- Members can now request their PII Data via the Frontend.
- Members can now request to be deleted via the Frontend.
- Members can no longer react to content if they have unacknowledged warnings.
- Adjusted the OAuth setup instructions to use the new "API" instead of "REST & OAuth" menu point.
- Removed the none function default Giphy API key.
- Improved the way how we send requests to IndexNow to skip it for items which are literally never visible to guests.
- Fixed few instances, where we weren't removing the IP address from the database via the IP Address truncate task.
- Fixed an issue where the similar content block may cause an error on some pages when using Elastic/Opensearch.
- Fixed an issue with lightbox grouping in activity stream where Elastic/Opensearch is used.
- Fixed an issue where push notifications may not be sent if a browser/device has been used to sign in to multiple accounts.
- Fixed an issue in validating custom header/footer theme inputs.
- Fixed an issue where moderating all links did not work correctly.
- Fixed an issue where editing an item and setting a future publishing date did not work correctly.
- Fixed an issue where viewing the members content on his profile may show an error while viewing some reviews.
- Fixed an issue where chart labels containing a comma caused CSV downloads to be incorrectly formatted.
- Fixed an issue where adding the 'group' parameter in the 'core/members' REST endpoint would result in the other parameters being overlooked.
- Fixed an issue where Custom Fields of type Member did not function correctly.
- Fixed an issue where bulk mail could not be filtered by a CheckboxSet profile field.
- Fixed an issue where responses to reviews were not checked against word filters.
- Fixed an issue where the related content widget added invalid hover parameters in some cases.
- Fixed an issue where the memberregistrationcomplete` webhook was triggered too early.
- Fixed an issue where clubs set to not show members still showed on the profile.
- Fixed a missing live search keyword for admin control panel notifications.
- Fixed an issue where ACP notifications may cause an error if the extension has been removed.
- Fixed an issue where content can be missing in streams if the last comment is waiting approval.
- Fixed an issue generating iOS startup images.
- Fixed an issue where an administrator IP may show in the list of ban suggestions if they had changed the members display name.
- Fixed an issue where a malformed search request could trigger an uncaught exception (and system log).
Commerce
- Added og:image tags for first 4 image attachments.
- The topic summary was removed for future topics.
- Fixed fatal error when upgrading from IP.Board 3.x.
- Fixed an issue where publishing a scheduled topic did not properly update the last post information on the forums.
- Fixed an issue where re-engagement emails would show replies from the topic author.
Pages
- Added the table filter and sort options to the redirect target after deleting an invoice in the ACP.
- Fixed an issue with PayPal when buying multiple quantities of a product in one order.
- Fixed a bug where the expiry date can be calculated incorrectly when upgrading/downgrading between packages.
- Fixed an issue where the wrong value was displayed on custom fields during checkout.
- Corrected PayPal API endpoint to the newer version.
Gallery
- Fixed an issue moving comments to forum if the article previously had a linked forum topic that no longer exists.
- Fixed an issue where copying multiple topics to a database resulted in duplicated attachments.
- Fixed an issue where display options in the ACP did not match the display of custom fields on the front-end.
Courses
- Fixed an issue where it was possible in some circumstances for a private album title to show in Activity Stream.
- Fixed an issue where gallery videos could not be inserted as existing attachments in the editor.
Platform
- Added default front navigation.
- Fixed an issue where deleting a course module did not delete the language strings.
- Fixed an issue where Courses not visible to Admins were not displaying in the ACP.
- Fixed an issue where editing a video upload to Gallery may not transcode it to MP4.
- Fixed an issue where email copies of Commerce actions may not be sent.
Changes affecting third-party developers and designers
- \IPS\Helpers\Form\Text 'autocomplete' option now has a boolean 'alphabetical' sub-option to force values to sort alphabetically.
- \IPS\Content\Views interface has been deprecated, you should use the \IPS\Content\ViewUpdates trait instead.
Core
Gallery
- Added a minimum of one day end date to Alerts.
- Replaced Authy MFA with Verify.
- Enforce account completion (display name and email are set) before using the account to login to third party OAuth Clients.
- Fixed an issue where the Moderation IP Tool wouldn't show the logged IP addresses for private messages.
- Fixed an issue where creating a new content item may show an undefined index error.
- Fixed an issue where the rebuild URL queue extension class could throw an exception if the item author had been deleted.
- Fixed an issue where the close date of Polls could break API outputs.
- Fixed an issue where rebuilding achievements wasn't logged in the AdminCP.
- Enforce account completion (display name and email are set) before using the account to login to third party OAuth Clients
- Fixed an issue where older iOS devices (<13.4) had images and other elements that would not load.
- Fixed an issue where it was not possible to apply paid club renewal changes to existing purchases.
- Fixed an issue where moderators could receive report notifications in containers they cannot moderate in.
- Fixed an issue when OAuth providers use really long codes for authorization.
- Fixed an issue where the timezone cookie required extra validation.
Commerce
- Fixed an issue where previous and next links may not work in Gallery if FURLs are not set up.
Pages
- Fixed an issue where reactivating subscriptions may cause an error if the original invoice is deleted.
- Fixed an issue where bad data could cause the store to throw a fatal error.
- Fixed an issue where changing the owner of a club does not correctly update the payment recipient.
- Fixed an issue where tax caused PayPal not to work correctly.
- Fixed an issue where using a coupon and paying with PayPal did not work.
- Fixed an issue where changing renewal prices for parent/child products did not update existing purchases.
- Fixed an issue where upgrading from a monthly to an annual subscription did not properly set the expiration date.
Blog
- Fixed an issue where long text broke the record display layout.
Downloads
- Fixed the broken byline in blog entries for future publish entries.
Clubs
- Updated the grid layout to fix inconsistencies with some 3rd party themes.
Platform
- Fixed poor alignment of Accept button on "Users Requesting Access" page
- Added ability to remove a block on an email that has hard bounced in the past.
- Enhanced transparency for the reason when emails are blocked.
Changes affecting third-party developers and designers
- New Hooks will contain mixin phpDoc.
- Updated Whoops to 2.15.2.
- Changed the return type of the Queue Extensions preQueueData method.
- Fixed issue where the settings.json file would be written incorrectly.
- Fixed an issue where the \IPS\Helpers\Table\Db could return a wrong total count for the pagination when the query used a groupBy statement.
GraphQL, REST, Webhooks and Zapier
- Fixed an issue in the REST API Content Controller where filtering for items without polls failed.