# Features * [wpmlcore-3738] Fixed issue where in some installations, the Language Switcher was missing from the secondary language menu * [wpmlcore-3505] Add troubleshooting option `Recreate ST DB Cache tables` to re-run ST upgrade * [wpmlcore-3494] Removed admin user language feature in sites running WordPress 4.7 or higher and included migration logic while upgrading WP. This is now integrated to WordPress itself. * [wpmlcore-3399] Added a warning about missing menu items when only one language is configured in the site * [wpmlcore-3372] Added more API hooks including `wpml_add_string_translation` * [wpmlcore-3325] Changed the message style in Sync Field Functionality * [wpmlcore-1448] Redesign of the language switcher (new admin UI, new API) # Fixes * [wpmlst-887] Fixed issue while dismissing admin notices from plugin that contains special chars in the title * [wpmlcore-3682] Fix handling of slashes when copying custom fields * [wpmlcore-3544] Automatically download WordPress mo files for active languages * [wpmlcore-3497] Adjusted URL in wp_upload_dir return for when WPML is set up as domain * [wpmlcore-3479] Fixed issue where language information wasn't saved when posts were created via AJAX call * [wpmlcore-3471] Fixed compatibility issue when using Google PageSpeed Tools in Apache or Nginx * [wpmlcore-3451] Prevent double ampersand encoding in language switcher URL * [wpmlcore-3441] Fixed issue in the WPML notice when adding posts from frontend * [wpmlcore-3438] Fixed issue with setting static blog page when page is permanently deleted * [wpmlcore-3434] Fixed WPML_Backend_Request::get_ajax_request_lang * [wpmlcore-3421] Fixed page template synchronization if template is set to default * [wpmlcore-3420] Fixed \SitePress::_sync_custom_field to handle serialized data. * [wpmlcore-3404] Fixed issue when duplicating posts that have comments to be duplicated * [wpmlcore-3374] Removed the restriction of only English as default language when synchronizing WP menu * [wpmlcore-3363] Fixed an issue with the browser redirection when using languages with regional variations (e.g. fr-CA). * [wpmlcore-3361] Fixed a login redirection issue in sites with languages configured as domain * [wpmlcore-3333] Fixed an issue that was happening when you try to scan strings before completing the wizard. Now it is not allowed * [wpmlcore-3311] Fixed multisite install compatibility issue with WP 4.6+ using `sunrise` * [wpmlcore-3266] On multisite, the main site settings are not altered anymore during sub-site setup * [wpmlcore-3204] Fixed a compatibility issue with Yoast redirections * [wpmlcore-3199] Removed Snoopy class and use WP_Http class instead. * [wpmlcore-2968] Fixed a redirection issue Nginx servers with language configured as domain * [wpmlcore-2884] In some cases (taxonomy, author, date and post type archives), the language switcher custom link for empty translation was not displayed * [wpmlcore-2849] Fixed issue with cloning non object values for wp_query object. * [wpmlcore-2692] Added caching for Twig templates. * [wpmlcore-2565] Fixed a compatibility issue with `get_option('siteurl')` in sites with languages set as domain * [wpmlcore-2535] Fixed a compatibility issue with `bloginfo('stylesheet_url')` when languages is set as domain * [wpmlcore-2375] Fixed an URL inconsistency when using `get_page_link` * [wpmlcore-2289] The language switcher in Twenty Sixteen's footer was cut off * [wpmlcore-1869] The language switcher in Twenty Fifteen's footer was partially hidden by the sidebar