* Added option to prefix usermeta keys with the current blog prefix to avoid sharing contact IDs and tags across sub-sites on multisite installs (can be enabled from the Advanced settings tab)
* Added warning to the settings about applying tags for pending WooCommerce orders
* Added [`timezone-offset` attribute](https://wpfusion.com/documentation/getting-started/shortcodes/#user-meta-formatting-timezone-offset) to `user_meta` shortcode
* Added logging for when a date failed to sync to the CRM because the input date format couldn't be converted to a timestamp
* Added error logging for failed Salesforce access token refreshes
* Fixed Join Date fields not syncing with Restrict Content Pro
* Fixed Notes field not syncing with Restrict Content Pro
* Fixed EDD Orders exporter exporting unpaid orders
* Fixed PHP warning tracking events with HubSpot
* Fixed request to refresh Salesforce access token not being recorded by HTTP API Logging
* Fixed fatal error updating a Bento subscriber without an email
* Developers: Added filter `wpf_restricted_terms_for_user`
* Developers: Added filter `wpf_taxonomy_rules`
* Developers: Added constants `WPF_CONTACT_ID_META_KEY` and `WPF_TAGS_META_KEY`
* Added note to Salesforce setup panel regarding completing the installation of the OAuth app
* Improved - Applying tags with Bento will now trigger events using the `add_tag_via_event` command (thanks @jessehanley)
* Fixed EDD Email Optin tags getting applied regardless of email optin consent checkbox being checked
* Fixed PHP warning when using Uncanny Toolkit Pro and FluentCRM or Groundhogg
* Developers - The active CRM object is now passed by reference via the `wp_fusion_init_crm` action and [can be operated on](https://wpfusion.com/documentation/advanced-developer-tutorials/how-to-use-a-custom-client-id-for-authentication/#using-a-custom-client-id-and-authorization-url)
Fixed all content being protected when no term taxonomy rules were set since 3.38.20
* Added support for syncing to Date/Time fields with Keap and Infusionsoft
* Added option to sync LearnDash course progress percentage with a custom field in the CRM
* Added JetEngine integration
* Improved - Read-only tags and lists will no longer show up in Apply Tags dropdowns (only Required Tags dropdowns)
* Improved - If a user is auto-enrolled into a course via a linked tag, the tags in the Apply Tags - Enrolled setting will now be applied. This can be used in an automation to confirm that the auto-enrollment was successful
* Improved - Dates displayed with the [[user_meta]] shortcode will now use the site's current timezone
* Improved - WP Remote Users Sync integration will no longer sync tag changes to a remote site when they've just been loaded from a remote site (safeguard against infinite loops)
* Improved - WP Remote Users Sync integration will not send updated tags to remote sites more than once per pageload
* Improved - A successful API response from Drip for a subscriber will remove the Inactive badge in the admin
* Fixed not being able to de-select a selected pipeline and stage for ecommerce deals in the WooCommerce Order Status Stages section of the WP Fusion settings
* Fixed automatic WooCommerce Subscriptions duplicate site detection not working
* Fixed Prevent Reapplying Tags setting not being respected
* Fixed an empty API response from Drip marking users as Inactive
* Fixed fatal error "Too few arguments to function" when applying BuddyBoss profile type tags since 3.38.14
* Fixed error syncing array values with Sendinblue
* Fixed Sendinblue error "attributes should be an object" when syncing data without any custom fields
* Fixed PHP notice "Trying to access array offset on value of type null" in Uncanny LearnDash Groups integration during group member enrollment
* Added panel in the WP Fusion settings showing the loaded integrations, with links to the documentation for each
* Improved Mailchimp API performance when loading available tags
* Fixed error `Uncaught Error: Class 'WPF_Plugin_Updater' not found` conflict with WPMU Dev Dashboard v4.11.4
* Fixed "Failed to apply tags - no contact ID" message when a registered user without a contact record filled out a form
* Fixed special characters getting synced to the CRM HTML encoded since 3.38.0
* Fixed Filter Course Steps with LearnDash not working when Shared Course Steps was off
* Fixed category-based tag access rules not working
* Fixed BuddyPress XProfile updates not syncing since BuddyPress v9.1.0
* Fixed linked tags not being removed from the previous profile type when switching a user's profile types in BuddyBoss
* Fixed form submissions during an auto-login session not updating the correct contact record when there was no email address on the form
* Fixed error with Gravity Forms when using "Create tag(s) from value" on a form field and no tags had been configured generally for the feed
* Fixed custom fields not syncing with FooEvents when the customer who purchased the ticket is also an attendee
* Fixed Salesforce integration not accepting a new security token until Refresh Topics and Fields was pressed
* Fixed import tool with Drip not importing unsubscribed subscribers
* Fixed import tool with Drip not importing more than 1000 subscribers
* Fixed countries with e-acute symbol in their name not syncing to the Country field with Infusionsoft
* Fixed date values before 1970 not being synced correctly
* Fixed WooCommerce Product Addons integration not detecting Quantity type fields for sync
* Fixed PHP notice Undefined index: step_display in LearnDash integration
* Added [WooCommerce Payment Plans integration](https://wpfusion.com/documentation/ecommerce/woocommerce-payment-plans/)
* Improved - Filter Course Steps for LearnDash should now be a lot more reliable in terms of course step counts and progress tracking
* Improved - If a WooCommerce Memberships membership plan is transferred to another user, the tags will be updated for both the previous and new owners
* Added import tool support for Groundhogg (REST API)
* Added support for loading multiselect data from Copper
* Removed "Enable Notifications" setting from ConvertKit integration, in favor of the global "Send Welcome Email" setting
* Maropost bugfixes
* Updated Copper API URL
* Fixed access checks sometimes failing when using tag names with HTML special characters in them
* Fixed a bug whereby LearnDash lessons could become detached from a course if LearnDash tried to rebuild the course steps cache while the Restricted Content Message was being displayed in place of the course content
* Fixed custom fields not syncing with Bento
* Fixed multiselect data not syncing to Copper
* Fixed checkbox data not syncing to Copper
* Fixed PHP warning in Emercury integration
* Added Groundhogg (REST API) CRM integration
* Added [Simply Schedule Appointments integration](https://wpfusion.com/documentation/events/simply-schedule-appointments/)
* Added option to disable the sync of guest bookings with Events Manager
* Improved - Events Manager dates and times will now be synced in the timezone of the event, not UTC
* Fixed initial REST authentication (Groundhogg, FluentCRM, Autonami) sometimes breaking if there was a trailing slash at the end of the REST URL
* Fixed lookups for ActiveCampaign Deep Data customer IDs sometimes failing (email address in URL wasn't URL encoded)
* Fixed import by tag with ActiveCampaign sometimes importing contacts with the wrong tag ID when the search string matched multiple tags
* Fixed WP Fusion blocking Events Manager registrations when there was an API error creating the attendee contact record
* Fixed ACF return formats not being respected for dates when using a Push User Meta operation
* Fixed - Salesforce dates will now be formatted using gmdate() instead of date() (fixes some time zone issues)
* Fixed - Updated Maropost API calls to use SSL API endpoint
* Fixed admin override not working correctly in wpf_user_can_access() when checking the access for a different user (since 3.38.5)
* Added [Download Monitor integration](https://wpfusion.com/documentation/other/download-monitor/)
* Added [BuddyBoss group organizer linked tag option](https://wpfusion.com/documentation/membership/buddypress/#group-organizer-auto-assignment)
* Improved - Clicking Process WP Fusion Order Actions Again on a WooCommerce order which contains a subscription renewal will also sync any enabled subscription fields
* Improved - HubSpot's site tracking script is now disabled on the WooCommerce My Account page, to prevent the script from trying to sync account edits with the CRM
* Fixed tags with > and < symbols getting loaded from the CRM HTML-encoded
* Fixed PHP warning in class WPF_User when registering a new user with no first or last name
* Fixed Maropost webhooks not working since 3.38.0
* Fixed apply tags via AJAX endpoints resulting in a 403 error since 3.38, with Media Tools and other addons
* Improved logging with Drip, when an email address is changed to an address that already has a subscriber record
* Fixed PHP warning in the admin when editing a page that has child pages