= 3.0.3 =
* Fixed an issue introduced in the previous update that occurred when using Google Translate as the translation engine

= 3.0.2 =
* Fixed potential security issue due to calling extract on shortcode attribute
* Fixed issue with shortcode language switcher disappearing when "Show opposite language" option was enabled
* Fixed mysql syntax error regarding machine translating gettext when trying to update with no values
* Fixed flags for Catalan, Galician and Basque languages
* Fixed edge case error "call to a member function is_available() on null"
* Fixed WooCommerce failed order emails not being translated
* Fixed shortcode switcher not being interactive inside pop-up
* Compatibility added for Simple Download Manager on certain web-hosts due to object buffer
* Accessibility improvements for floating and shortcode language switchers
* Take WP admin bar into account when floating switcher is top positioned.
* Better support for browser zoom in the String Translation
* Ignore gettext translation for WP Job Manager base slugs as they cause issues with TranslatePress translated slugs

= 3.0.1 =
* Fixed cases of #!trpst# wrappings appearing on texts from localized scripts such as the WooCommerce checkout page
* Fixed layout issues on Gutenberg pages by upgrading Language Switcher block to Gutenberg API v3
* Fixed missing punctuation (e.g. quotes, commas) at the start or end of automatically translated texts
* Fixed incorrect html tags appearing in the License key error message during onboarding
* Fixed issue with not showing available TranslatePress AI words after activating license in the onboarding process
* Fixed PHP warning about undefined array key "oppositeLanguage"
* Fixed PHP warning on gettext insert update
* Added Slim SEO hooks in is_sitemap_path function to allow translation of links in sitemap

= 3.0 =
* Start Translating in under 5 minutes with a new onboarding flow for TranslatePress to quickly setup languages, automatic translation and add-ons

= 2.10.7 =
* Fixed a security vulnerability regarding shortcodes in emails
* Fixed unnecessary non-costly calls to TranslatePress AI when having unsupported languages
* Fixed translating gettext strings from WooCommerce emails
* Fixed sending admin WooCommerce emails in user's language instead of admin's language
* Fixed WooCommerce emails not being having user-inputted text translated when using checkout WooCommerce block
* Fixed search filter in Emails tab from String Translation

= 2.10.6 =
* Added Opposite Language mode for language switcher shortcode
* Added Manual Translation Only - advanced option for better control over character spending by translating only the pages visited in the Translation Editor.
* Improved performance when loading html pages with large inline scripts and styles, while also minimizing the potential for JS errors
* Improved accessibility and fixed minor UI issues of the Translation Editor
* Improved reliability of detecting WP crons by using wp_doing_cron function
* Fixed some cases with missing GET parameters on internal links for translated pages
* Fixed JS issue when opposite language option is active in language switcher
* Fixed CSS issue with shortcode language switcher where arrow appeared twice when opacity was less than 1
* Fixed some CSS issues with flags

= 2.10.5 =
* Fixed bug that made unnecessary site lookup calls to TP AI

= 2.10.4 =
* Added compatibility with Breakdance theme
* Fixed WooCommerce product names for variable products having missing attributes in the cart when using woocommerce_cart shortcode
* Fixed canonical links not being translated properly on archive pages when SEOPress plugin was active
* Fixed compatibility issue between Visual Composer and the language switcher customizer
* Fixed flag hiding option not applying properly in the new language switcher
* Fixed CSS issue by explicitly declaring flag height in the new language switcher
* Fixed php warning for new installations in some cases

= 2.10.3 =
* Fixed vulnerability when Advanced option Filter Gettext wrapping from post meta was active
* Fixed Stripe forms from Event Tickets plugin not working on additional languages
* Fixed previewing draft posts when the new language switcher is active
* Fixed a compatibility issue between Elementor and the new language switcher
* Fixed wrong flags from the new language switcher for a few languages including Catalan, Welsh and Galician
* Added title attributes for the new LS
* Use default fonts instead of Google fonts for the new LS
* Minor CSS tweaks for the new LS

= 2.10.2 =
* Fixed an error occurring when WP Rocket plugin is active
* Fixed broken front-end layout when Automatic User Language Detection was enabled and the new language switcher was active

= 2.10.1 =
* Fixed an edge case bug with rendering the new language switcher in shortcode

= 2.10 =
* New feature: Language Switcher customization from TranslatePress Settings. Explore pre-made templates, switch colors, flag styles, spacing, layouts & more
* Added compatibility with LiteSpeed Cache and its ESI feature

= 2.9.24 =
* Fixed bug with custom REST API endpoints
* Fixed issue caused by product name function
* Refined debug data shown in the license page area

= 2.9.23 =
* Fixed gettext detection on WordPress block themes
* Improved messages and notifications in TranslatePress
* Add low Translation Words remaining notification for non-free licenses
* Fixed edge case fatal error in WP back-end

= 2.9.22 =
* Fixed bug introduced in previous version blocking automatic translation through TP AI and Google Translate
* Fixed license activation message not appearing on certain setups

= 2.9.21 =
* Added shortcodes [language-exclude] and [language-include] that allow content restricted in specific languages
* Improved back-end messages informing what features are available depending on license

= 2.9.20 =
* Added support for WordPress search REST API
* Added compatibility with WP Bakery Editor
* Fixed translating WooCommerce product through REST API
* Fixed bug where sitemaps were getting translated
* Fixed JS error in Translation Editor triggered by missing href attributes on anchor links in previewed pages
* Fixed caching issues on license activation
* Fixed edge case issue with wrong translated links for unset href attributes
* Fixed home page triggering 404 when using {{home}} wildcard in 'Translate Only Certain Paths' and 'Use a Subdirectory for the Default Language' is enabled
* Improved license activation messaging
* Improved code around product name detection
* Improved notifications when paid user installs only the free version
* Improved unsupported language message when API key was invalid
* Made the notice about Gettext being disabled dismissible in Translation Editor

= 2.9.19 =
* Improved license status notices upon activation
* Fixed sitemap issues occurring when languages are reordered so that the default language is not first

= 2.9.18 =
* Fixed bug introduced in previous version which prevented some users from accessing Automatic Translation tab

= 2.9.17 =
* Allow using a free license with 2000 words for automatic translation in the free version of the plugin
* Fixed taxonomy slug issues in the backwards compatibility code for older versions of SEO Pack
* Fixed php warning about is_file function
* Fixed edge case error in PHP 8.3 about passing array to strlen
* Fixed edge case error trp_license_key options page is not in the allowed options list
* Fix content spoofing issue with paid version active

= 2.9.16 =
* Fixed information displayed about license depending on status

= 2.9.15 =
* Fixed bug introduced in previous version which prevented activating license

= 2.9.14 =
* Fixed deprecated call to uft8_decode starting with PHP 8.2
* Fixed edge case issue with translation blocks
* Updated notice messages regarding licenses to provide more details
* Updated icon images on Add-ons page in TranslatePress Settings

= 2.9.13 =
* Added support for translating tags and all other taxonomies through REST API
* Added hook trp_error_details for triggering actions when encountering an error
* Fixed quota wording for TP AI in Automatic Translation tab

= 2.9.12 =
* Reduced the number of unnecessary calls to TP AI translation engine in some cases when daily quota was exceeded
* Fixed incorrectly machine translating callto, mailto and tel from href attributes when browsing these strings in String Translation

= 2.9.11 =
* Updated Translation Editor to Vue 3.5 framework resulting in reduced loading time and improved security
* Fixed edge case with translation blocks on translated pages accidentally removing a parent html tag
* Reduced the number of unnecessary calls to TP AI translation engine

= 2.9.10 =
* Fixed error on Automatic Translation tab from TranslatePress Settings when trying to remove the machine translation limit
* Fixed admin notice positioning when exceeding daily quota

= 2.9.9 =
* Fixed compatibility issue with Query Monitor plugin
* Fixed edge case issue with changing languages in Translation Editor when removing country from hreflang option was used
* Fixed edge case php error when WP Cache was disabled
* Fixed css on plugin stats opt-in pop-up from TranslatePress Settings

= 2.9.8 =
* Fixed issue with language switcher not showing all languages on non-admin visits for free version users that manually changed TranslatePress settings in version 2.9.7
* Fixed error about undefined constant TRP_IN_EL_PLUGIN_DIR for paid version users in case Multiple Languages add-on was disabled
* Fixed automatic user language detection settings not appearing for paid version users in case Multiple Languages add-on was disabled
* Fixed html lang attribute declaration on formal languages
* Fixed edge case triggering php warnings when opening Translation Editor

= 2.9.7 =
* Redesigned TranslatePress Settings UI
* Improvements to the plugin stats API
* Fixed insecure use of serialization function on request parameters
* Fixed edge case issue with untrimmed home url preventing functioning on secondary languages

= 2.9.6 =
* Added support for translating html tags "picture" and "audio"
* Improved query efficiency for removing duplicate entries when running Database Optimization
* Fixed compatibility issue with Blocksy in Customizer

= 2.9.5 =
* Added support for video tag in order to show different videos according to selected language
* Added compatibility for Elementor element caching on additional languages
* Added compatibility with Profile Builder redirects after registration and edit profile forms
* Reduced requests to TP AI when quota is unavailable
* Fixed redirecting to wrong language after checkout in some cases

= 2.9.4 =
* Fixed potential security issue by preventing direct access to files
* Extended keyword search in String Translation UI to return results from translations too, alongside matching default language text, for Gettext, Email and Regular strings
* Added new feature to delete translations in String Translation UI, individually or in bulk, for Gettext, Email and Regular strings
* Fixed incorrect translated urls in the page when reordering languages and using subdirectory for default language, while also excluding certain paths from translation
* Fixed edge case PHP error in ajax request for front-end translations
* Fixed edge case PHP error between Gutenberg language restrictions and WP Interactivity API
* Fixed edge case PHP error argument must be of type string

= 2.9.3 =
* Fixed form action losing GET parameters on translated pages

= 2.9.2 =
* Fixed not setting srcset attributes properly for translated images

= 2.9.1 =
* Added Gutenberg Language Restriction option to allow for easily including/excluding blocks in specific languages
* Fixed PHP notice in WP 6.7: function _load_textdomain_just_in_time was called incorrectly
* Fixed translating internal links from inside translation blocks
* Fixed edge case with some excluded paths redirecting translated urls to incorrect original urls

= 2.9.0 =
* Improved database management by no longer inserting non-translated external URLs and images
* Fixed detecting the same email address multiple times due to antispambot outputting it in different encodings
* Fixed Translation Editor pencil icon positioning
* Fixed Translation Editor when viewing in RTL language
* Fixed php error occurring in some cases when translating WooCommerce emails
* Fixed deprecated notice in PHP 8 regarding rtrim function

= 2.8.9 =
* Fixed WooCommerce emails being sent in default language instead of user's language when placing order as non-logged in guest on a Blocks checkout form
* Fixed trp-gettext wrappings appearing on WooCommerce Blocks checkout form
* Added admin notifications about Black Friday sale

= 2.8.8 =
* Fixed compatibility with CTX Feed plugin
* Improved security by doing a capability check on activating/deactivating license
* Added new parameter to hook trp_translate_this_href

= 2.8.7 =
* Fixed url slug handling. It's recommended to back-up your database before updating
* Fixed admin notices text

= 2.8.6 =
* Fixed version difference between TranslatePress plugins causing infinite loop and php errors when having specific settings
* Fixed some cases of grayed out translation input box in String Translation Regular tab
* Fixed showing Run the update notice in various cases
* Fixed Translation Editor translation boxes showing incorrect values after saving translations in some cases
* Fixed JS error in Advanced tab

= 2.8.5 =
* Fixed url slug handling
* Fixed pencil icon not showing in correct place for some themes
* Added filter trp_mtapi_chunk_size to change the number of string sent in one batch to TP AI
* Added correct flag for Kurdish(Sorani) language
* Fixed edge case issue with trp_settings db option saved incorrectly leading to php errors
* Fixed PHP 8 deprecated notice when calling rtrim

= 2.8.4 =
* Major refactoring of url slugs handling. It's recommended to back-up your database before updating
* Numerous fixes including support for WooCommerce custom permalinks, custom post permalinks, permalinks without base category

= 2.8.3 =
* Fixed errors in Multisite leading to targeting incorrect subsite tables for some strings
* Fixed TranslatePress Editor pencil icon's incorrect placement in some cases
* Fixed deprecated notice when translating WooCommerce emails

= 2.8.2 =
* Added support for Chinese Traditional automatic translations when using TP AI
* Fixed menu language switcher not showing native language names when option was selected
* Improved positioning of Edit button in the visual Translation Editor
* Fixed edge case where TP AI automatic translation was always the same as the original

= 2.8.1 =
* Fixed menu language switcher showing Current Language instead of actual language name

= 2.8.0 =
* Added compatibility with PWA plugin
* Added missing flag for Kyrgyz language
* Fixed menu language switcher labels not being taken into account
* Fixed issue with custom css being broken on translated language
* Fixed notice related to language switcher inside Elementor content

= 2.7.9 =
* Fixed issue on checkout page when using BABE Payment Pack
* Fixed issue showing Unsupported languages when changing API key
* Fixed CSS issue with language switcher shortcode in Elementor pop-up
* Fixed deprecated PHP notice when using rtrim function
* Fixed edge case issue with license being invalid on Automatic Translation tab

= 2.7.8 =
* Fixed compatibility with older versions of PHP 7

= 2.7.7 =
* New Feature: TranslatePress AI translation engine
* Fixed Translate Page button missing in Gutenberg Editor
* Fixed edge case issue where specific style tags were detected for translation

= 2.7.6 =
* Fixed nonce issue on the Database Optimization form
* Fixed edge case issue with the Automatic Translation settings default values

= 2.7.5 =
* Improved page load speed by caching translation blocks query
* Improved page load speed by adding index by block type
* Fixed frequency of diagnostics usage requests when Marketing Opt-in is active

= 2.7.4 =
* Fixed compatibility issue with WP Job Board Pro PDFs
* Fixed compatibility issue with Brikk theme forms
* Fixed scanning plugins and theme files for translation when Oxygen is active

= 2.7.3 =
* Improved automatic translation character count to better enforce enforce daily limit
* When Marketing opt-in feature is enabled, automatic translation usage is included in the non-sensitive diagnostic tracking data
* Added support for translating more meta tags

= 2.7.2 =
 * Fixed translation saved confirmation message in the Translation Editor
 * Fixed CSS issue in Advanced settings
 * Fixed notice in TranslatePress settings

= 2.7.1 =
* Fixed potential security issue in the language switcher
* Fixed floating language switcher appearance when displaying only flags on sites with many languages
* Minor UI tweaks in TranslatePress settings

= 2.7.0 =
* Fixed issue with Exclude only certain paths advanced option on subfolder path installs
* Improved Error Manager by outputting the entire failed query
* Improved SQL error handling in trp-ajax calls

= 2.6.9 =
* Added compatibility with WooCommerce Product Filters by barn2

= 2.6.8 =
* Fixed relative urls with anchor links on translated pages
* Fixed searching in translated languages on sites with specific plugins combination

= 2.6.7 =
* Added new feature that displays translation percentage for current page in Translation Editor
* Added RSS Feed support for translating title, content and excerpt
* Added support for Duplicate Page plugin resolving post slug translation conflict
* Added compatibility with Fluent Forms
* Added compatibility with WooCommerce Bookings plugin
* Added WP Webhooks Automator under recommended plugins
* Fixed deprecated warning in PHP 8.1

= 2.6.6 =
* Allow translation of comments and categories in REST API
* Improved compatibility with Complianz plugin
* Improved rules for creating translation blocks

= 2.6.5 =
* Fixed some cases of unnecessarily detecting text inside script tags
* Fixed compatibility code with Oxygen

= 2.6.4 =
* Improved page loading speed when WooCommerce is active
* Fixed some cases of errors on function insert_gettext_string
* Fixed edge case issue with missing tables

= 2.6.3 =
* Improved page loading speed by optimizing code handling gettext
* Improved page loading speed when Query Monitor plugin is active
* Fixed internal links not being translated when using Do not translate certain paths feature
* Fixed trp-gettext wrappings on Query Monitor strings
* Fixed flag for Hindi and Punjabi (India) languages

= 2.6.2 =
* Fixed absolute paths not working in the Exclude Paths From Translation option
* Fixed Pencil icon displayed in wrong positions on WP Forms in the Translation Editor
* Added missing Sindhi language flag
* When Marketing opt-in feature is enabled, list of active plugins is now included in the non-sensitive diagnostic tracking data
* Updated logos for Profile Builder and Paid Member Subscriptions in the recommended plugins section

= 2.6.1 =
* Improved DOM parser to better handle HTML comments
* Improved Database optimization tool's default operations

= 2.6.0 =
* Fixed some cases of 404 on translated pages for WooCommerce permalinks
* Improved compatibility with RankMath

= 2.5.9 =
* Added loader component as extra parameter in trp_allow_tp_to_run hook to ease integration with 3rd parties
* Fixed edge case error with undefined variable $disabled_language
* Fixed notice about deprecated property in php 8.2
* Fixed edge case error in class-error-manager.php file

= 2.5.8 =
* Fixed some cases of disappearing CPT slugs translations leading to 404 pages
* Fixed incorrectly adding empty href attributes to link tags on translated pages
* Fixed PHP 8 deprecated notices regarding dynamically defined properties

= 2.5.7 =
* Added a new item in Database optimization tool to fix some cases of gettext not being selectable in Translation Editor
* Fixed Edit pencil icon being difficult to click when hovering over certain text in Translation Editor
* Added compatibility with WooCommerce High-Performance Order Storage (HPOS)
* Improved compatibility with WP Rocket

= 2.5.6 =
* Improved settings UI by showing formality option only for languages and translation engines that support it
* Fixed focus on search input when opening the languages dropdown in settings
* Removed unnecessary calls for Marketing opt-in feature

= 2.5.5 =
* Redesigned TranslatePress Settings Advanced tab UI using subtabs
* Improved the translation status icons for the case when multiple strings are shown at once in Translation Editor
* Fixed deprecated notice on php 8

= 2.5.4 =
* Updated look of language switchers for shortcode generated and floating options
* Added notice in TranslatePress settings to avoid adding duplicate languages with different formalities
* Fixed deprecated warning triggered by date_create function
* Fixed bug with some strings not being editable in Translation Editor

= 2.5.3 =
* Improved security by escaping form actions
* Fixed filtering by gettext domain in String Translation
* Fixed title positioning in String Translation UI
* Added more information in our opt-in non-sensitive diagnostic tracking

= 2.5.2 =
* Redesigned Translation Editor UI to match the latest WordPress style
* Fixed hreflang language code attribute for languages with formal/informal in their default code
* Added missing Aragonese language flag

= 2.5.1 =
* Added Language Switcher block in Gutenberg Editor
* Fixed edge case error regarding __return_true function

= 2.5.0 =
* Improved converting urls in different languages
* Fixed language switcher directing to page not found in some edge cases