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.
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
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.
Core
Commerce
- Added support for Emoji 14.
- Added a minimum of one day end date to Alerts.
- Improved the database checker to change member id columns to BIGINT if they are nearing a limit.
- Improved performance in some situations when posting content.
- Improved outbound connection speed when connecting to the same host multiple times.
- Move web app settings to a new controller in the AdminCP.
- Fixed an issue where moving conversations between folders may move to the wrong folder or fail to move.
- Fixed an issue where the member_create webhook wouldn't include custom profile field data.
- Fixed an issue where club settings would be shown on the ACP-Settings-Clubs page even if clubs were disabled.
- Fixed an issue where "this club" was not set as the default search context when viewing clubs.
- Fixed an issue where deleting a post from a hidden topic could remove the topic from the activity streams.
- Fixed an issue where the same emoji may show in the shortcode popup more than once where the name is the same.
- Fixed an issue where pasting files into the editor may display an unsupported file type notification.
- Fixed an issue where profanity filters were being applied to account email addresses.
- Hid ACP statistics blocks for Clubs when Clubs are disabled.
- Fixed an issue where users could edit comments that were hidden by a moderator.
- Hid member-menu in ModCP Approval Queue when reviewing content posted by guests.
- Allow users to reply to alerts even if they have messenger restrictions that would prevent them from doing so.
- Allow iOS/Safari notifications from Safari 16.4 onwards.
- Accordion titles on the Notifications settings page now wrap to multiple lines if they're too wide for the browser window.
Pages
- Increased number of days PayPal Subscriptions are checked for payments.
- Updated PayPal integration to v2 API where appropriate.
- Updated PayPal Payout API to latest version.
- Updated Maxmind integration to latest API, added support for tracking pixel.
- Fixed an issue where a customer may be charged before accepting the terms and conditions when requiring T&Cs and using Stripe.
- Fixed an issue where incoming emails containing '-' or '.' may be discard.
- Fixed an issue where a fatal error is thrown during email processing if the email character set is not supported by current PHP configuration.
- Deprecated Authorize.net, Braintree and 2Checkout payment gateways.
- Removed Hosting Reseller support.
Forums
- Added the media URL to the ACP - Media Details sidebar.
- Added the ability for records to use the publish date field when synchronising with forum topics.
- Fixed an issue where the Media Preview Image wouldn't be shown on the ACP - Media Details page.
- Fixed an issue where it was possible to create paths that conflicted with system folders.
- Fixed an issue where comment counts displayed in the record feed when comments were disabled.
Downloads
- Added support for mark solved in clubs.
Gallery
- Removed an unnecessary span tag from the rows template.
- Added the moderator checkbox to grid view as it was previously missing.
- Added status badges (pinned, hidden, etc) to the grid view.
- Padding has been added to grid cells while viewing files in profiles.
Events
- Added some customization options to the Overview page.
- Now, when searching for images via the "Insert other attachment" editor option, searching by album name returns images from that album.
Converters
- Added links to subscribe to and download iCal events on the overview page.
- Fixed an issue where the "All Calendars" dropdown link would load the overview page instead of monthly view.
- Fixed an issue where the 'Copy Event' link would be shown even if the member had no permission to create new events in the calendar.
- Fixed an issue where recurring events would time out for some locales and languages.
- Fixed an issue where venue events may not show on the happening near me map.
This is our March maintenance release.
Key changes include:
- UI Polish
- Downloads updates, GraphQL enhancements and more
This is our February maintenance release.
Key changes include:
- New Feature: Gallery refresh
- GraphQL support has been expanded. Blog and Documentation are now available.
- Added password resets to administrator logs.
- Added email icons for Twitch and Discord.
- Added the tags page to the disallowed URLs in the robots.txt.
- Added a noindex meta tag for the offline page.
- Included a PHP Version check for CLI tasks.
- Improves performance of alerts list.
- Fixed an issue where predefined tags can throw an error on the Tags form on PHP8.
- Fixed an issue where the Editor > Stock Replies table search did not work in the AdminCP.
- Fixed an issue where images in search results were not grouped for lightbox.
- Fixed issue where word expansions were replacing phrases in the middle of a word.
- Fixed an issue with Google OAuth logins when an error is returned.
- Fixed an issue with custom OAuth logins if a user info endpoint returns an unexpected data format.
- Fixed an issue where club content could display in feeds to users with no permission to the clubs module.
- Fixed an issue where moderators were not sent email notification of new reports.
- Fixed an issue where system logs may be generated if an invalid URL is passed to the redirect code (for email links).
- Fixed an issue where tags could not be removed from content if tagging was disabled.
- Fixed an issue where moving items using the multimod functions did not always reset the container counts.
- Fixed an issue error that can occur when a 'hide' word filter is triggered on content that does not support hiding (personal conversations).
- Fixed an issue where warning a member sometimes generated an exception and a template error.
- Fixed an issue where rebuilding the search index generated pages of logs for orphaned posts/comments.
- Fixed layout of responsive tables in the ACP.
- Fixed an issue where importing/exporting language packs did not use the correct version.
- Fixed an issue where publishing scheduled items were marked unread for the author.
- Fixed an issue that could cause duplicated notifications when using multiple database servers.
- Fixed an issue on the onboarding page when no image was uploaded.
- Fixed issues with confusing language strings in the report center.
- Fixed an issue where Twitter Emoji no longer loads (The CDN providing the images shut down).
- Removed the unused "core_image_scanner_logs" database table.
Core
Forums
- Added support for OpenSearch 2.1.
- Added application filters for new reports in the Moderator Control Panel's report center.
- Added prune task for core_item_member_map table.
- Added a setting to prune conversations after x days without a reply.
- Added a copy to clipboard button to the oAuth Client Client Identifier fields.
- Added an option to not show oAuth login handler settings in user settings.
- Content that requires approval will now show the reason it moderated.
- Fixed some potential MySQL query errors showing featured items.
- Fixed an issue where duplicate Who's Viewing boxes are displayed.
- Fixed an issue where the related content sidebar block may not correctly account for permissions.
- Changed the default search option to 'Everywhere' for the default app otherwise it's app specific.
- Fixed an issue where quote attributes could trigger the profanity filters.
- Wrapped ElasticSearch calls into a try-catch block to avoid that a broken ES install stops upgrades.
- Fixed an issue where clubs would show both items and comments in recent activity.
- Fixed an issue where the editor would get stuck after a guest post.
- Fixed an issue where the queue task may become locked by deleting orphan comments.
- Fixed an issue where forum specific moderators received notification of reported content outside those forums.
- Fixed an issue where forum specific moderators could see reports for forums they do not moderate.
- Fixed an issue where promote custom date would throw an error when empty.
- Fixed an issue where deleting a member would try to delete data from a not existing table.
- Fixed an issue with queue tasks stalling if an application is uninstalled during achievement rebuilds.
- Fixed an PHP8 issue in the GD class where processing the transparent colors thrown now an exception instead of returning FALSE.
- Fixed an issue where clicking in an AdminCP editor may fire a request to the backend that isn't needed.
- Removed some verbose logging from the PHP 8 scanner.
- Fixed some grammar issues on the Marketplace pre-upgrade page.
- Fixed an issue where the "Allow new registrations" setting would be missing a value.
- Fixed an issue where the image scanner would not work in the EU region.
- Fixed an issue where the custom header and footer templates wouldn't appear.
- Fixed an issue where featuring a guest authored item may cause an error.
- Fixed an issue where EXIF data would not be removed if the image is smaller than max allowed size.
Commerce
- Fixed an issue where posts imported via the RSS task may have an incorrect IP address.
- Fixed an issue where deleting a comment does not reset best answers.
- Fixed an issue preventing upgrades from really old versions.
- Fixed an issue where editing a topic and setting a future publish date may not alter state.
- Fixed an issue where rebuilding the solved statistics could fail.
- Fixed solved re-engagement notifications inadvertently being sent when the feature is disabled in a forum.
- Fixed an issue where searching in the AdminCP for "solved" would show a result without a language string.
- Fixed an issue where the combined "fluid" forum view did not show the mobile friendly filter link.
Pages
- Improved various AdminCP areas to return you to the page you were on after performing an action on a payment/transaction.
- Fixed an issue where guest referrals may not be correctly applied.
- Fixed a template error that can show during Multi-Factor Validation when viewing account credits in Commerce.
- Fixed an issue where a failure to communicate with the EC VAT validation service doesn't show the appropriate error message.
- Fixed an issue validating VAT numbers.
- Fixed an issue where invoice renewal warnings may not show the proper currency symbol.
- Fixed an issue where the ACP - Anti Fraud rules would throw a DB exception.
Downloads
- Fixed an issue where carousel image blocks may break the layout.
- Fixed an issue where the create/edit record form would break.
- Fixed attachments not showing when uploaded to the editor when searching is disabled on a database.
REST, Webhooks and Zapier
- Fixed an issue where images in descriptions would show ahead of screenshots in RSS exports.
- Fixed possible duplicate notifications for new version updates.
- Fixed an issue with contextual search when viewing a file.
Platform
- The reactions notification returned always anonymous users when accessed via REST.
- Fixed an issue where the forums pagination response returned all forums.
- Fixed an issue where the image scanner may cause content items to be inadvertently flagged as pending approval if a user used a word in the word filters.
- Fixed an issue where the realtime "users here" was not showing on snippet view, or fliud view modes.
Changes affecting third-party developers and designers
- Updated Graphql library to 14.11.6
- New $location variable added to getItemsWithPermission() method signature.
- `\IPS\Member::loggedIn()' will return a guest object when called from CLI.
- Fixed an issue in the Number Form field where the prefix would appear twice.
Deprecations and Removal Announcements
Completed in this release
Upcoming Deprecations and Removals
- Removed ability to show member birthdays on the Calendar/Events App
- (Next release) Facebook Promotional Tools removed (Facebook no longer allows API posting to groups and pages) - No action required
- (Next release) VigLink removed (VigLink API no longer working as intended) - No action required
- (Next release) Ability to choose which apps to upgrade removed (this is no longer a necessary option) - No action required
- (Next release) Guest Page Cache removed (this is a legacy way to cache pages that replicates how a CDN works) - No action required