Releases: Yoast/Yoast-SEO-for-TYPO3
Releases · Yoast/Yoast-SEO-for-TYPO3
10.0.0
Breaking
- Dropped support for TYPO3 10
- Dropped support for PHP 7
- Removed
DbalService
which was used to support olderdoctrine/dbal
versions for TYPO3 10 - Removed
ArrayPaginator
which was used to support TYPO3 10 - Changed the structure of the overview filters for the
Overview
backend module- Instead of registering it in the
EXTCONF
the filters are now registered through theServices.yaml
- Extra methods have been added to the
OverviewDataProviderInterface
as a replacement of the array configuration - DataProviders are now initialized with a new
DataProviderRequest
DTO object
- Instead of registering it in the
Added
- Support for TYPO3 13
- Upgrade wizard to migrate the dashboard widget "Pages without meta description" to the core widget
Changed
- Update ddev configuration with latest changes from https://github.com/a-r-m-i-n/ddev-for-typo3-extensions
- Added
ddev composer-install-dashboard $VERSION
andddev composer-remove-dashboard $VERSION
commands to simplify testing dashboard widgets - Added
ddev composer-update-all $VERSION
to update all composer dependencies to the latest version
- Added
9.0.3
Fixed
- Prevent undefined array key warning within
LinkingSuggestionsService
(thanks to @peterkraume) - Missing label of the tx_yoastseo_prominent_word table
- Removed exclude=true from tx_yoastseo_prominent_word fields, table already has hideTable
- Use
websiteTitle
of site configuration within snippet preview, previously this was only taken from site languages instead of the site itself
Changed
- Updated mentions of the premium extension within the documentation
9.0.2
Fixed
- Show warning on linking suggestions when the language cannot be retrieved from the content element, use the default language in case "All Languages" is selected
- Added extra checks within the metatag generators in case fields do not exist (opengraph, twitter, robots)
hasSitemapFields
now correctly returns thesitemapFields
instead ofyoastSeoFields
- Filter the columns to import from the old premium database table before inserting in the new table within
MigratePremiumFocusKeywords
access
fromuser,group
touser
within the configuration for backend modules (Configuration/Backend/Modules.php
) (thanks to @vblanches-wbs)
9.0.1
Fixed
- Content Security Policy issues in CMS12 by adding extra parameter within BackendYoastConfig and removing unnecessary inline code within FocusKeywordAnalysis.html
- Removed loading of
extended-list-widget.min.css
withinPageOverviewWidget
doctrine/dbal
2.10 support by addingDbalService
which checks for the TYPO3 major version, if 10 then use the oldfetch
methods- Loading state of internal linking suggestions when the bodytext is empty (e.g. new content element)
- Avoid exceptions because of broken showitem tt_content types (thanks to @kaystrobach)
- PHP warnings within several Form classes due to non-existing doktype index within databaseRow array (thanks to @kaystrobach)
- Favicons with relative urls or urls with a port (thanks to @brotkrueml)
- Caught InvalidArgumentException within BreadcrumbStructuredDataProvider when the current site language does not exist
9.0.0
Breaking
- Dropped support for CMS9
- API for
overview_filters
has changed, instead ofgetData
providers should have agetResults(array $pageIds)
method (seeOverviewDataProviderInterface
) - Removed
get_focus_keyword
hook, was not used anymore
Added
- Support for CMS12
- New feature to automatically activate Yoast SEO functionality on custom records
- Upgrade wizard for migrating premium redirects to
sys_redirect
- New features:
- Related keyphrases with their own synonyms
- Insights to show prominent words on a page
- Internal linking suggestions within content elements based on the prominent words
- Crawler backend module to update Yoast data for complete sites
- Orphaned content view within the Overview module
- Advanced robots: nosnippet, noimageindex, noarchive
- Typoscript functionality for Structured Data
- Dashboard widgets for Orphaned content and pages without meta description
- Upgrade wizards for migration premium focus keywords and redirects
- Introduced custom ModeSwitcher to create a different Mobile/Desktop switcher within the preview
Changed
- Restructured backend modules to work with CMS10, CMS11 and CMS12. Introduced
legacy
actions for CMS10 - Simplified
ext_localconf
andext_tables.php
- Removed
TYPO3_MODE
checks - Introduced
ConfigurationUtility
which provides the default configuration and nodes for the formEngine and - Merged adding the
YoastConfig
javascript and backend CSS into oneBackendYoastConfig
hook
- Removed
- Introduced
SnippetPreviewService
which bothPageLayoutHeader
andSnippetPreview
use to render the snippet preview - Optimized
SnippetPreview
by removing unnecesary code and raw html - Simplified
PageLayoutHeader
, moved all html to separate fluid template, removedAbstractPageLayoutHeader
andPageLayoutHeaderService
- Simplified all the FormEngine node classes
- The backend module
Overview
now needs a valid page selected from the tree, this is to retrieve the languages from the currently selected site - Updated
AdditionalPreviewData
, removed old methods to check forgetWebsiteTitle
(always available now) - Updated dev-dependencies to latest (usable) versions and fixed CI build
- Removed old
linkingSuggestions.js
fromdist
- Removed upgrade wizards for old canonical and seo title fields
- Simplified
.gitattributes
- Updated and removed old grunt configuration, fixed sass build
Removed
- Premium backend module
- All references for premium including all related javascript modals
9.0.0-alpha-1
This is an alpha release of the new version 9, please be aware that this release contains functionality that may change before the official release
Breaking
- Dropped support for PHP <7.4
Added
- New feature to automatically activate Yoast SEO functionality on custom records
8.3.1
8.3.0
Fixed
- Lists within the Overview module now take the "DB Mounts" of a user into account
- Optimized pagination of Overview module
- Fixed PHP8 error when the metatag
x-yoast-title-config
(for some reason) cannot be read from the frontend - Added extra try-catch block to catch guzzle exceptions within
PreviewService
- Path to the Yoast Backend CSS for the new composer mode
8.2.0
Added
- Support for new TYPO3 composer mode (thanks to @zdreicom)
Changed
- Replaced javascript React classes with functional components
- Updated a lot of npm packages
- Updated documentation structure (thanks to @alexander-nitsche)
Fixed
- Adjusted analysis calls when there is more than 1 related keyphrase due to bug in "yoastseo" npm package
- PHP8 fixes:
- Prevent 'undefined array key' warnings with PHP8 when
EXTCONF
allowedDoktypes missing (thanks to @rengaw83) - Warning within
FocusKeywordAnalysis.php
- Notice exceptions within
SnippetPreview
andPreviewService
(thanks to @georgringer)
- Prevent 'undefined array key' warnings with PHP8 when
- Ignore hidden pages within
BreadcrumbStructuredDataProvider
(thanks to @georgringer) - CGL issue within
YoastUtility
(thanks to @brotkrueml) - Wrong PHP array Syntax within StructuredDataProvider documentation (thanks to @FelHell)
- Deprecated extension name usage within ext_tables.php
- Loading issues with the title and description progress bar
- Display issue with the title progress bar within CMS11
- Usage of deprecated cache name within
StructuredDataProviderManager
(thanks to @spoonerWeb)
8.1.0
Added
- PHP8 Support (for CMS11)
- Fully updated the documentation
Fixed
getPreviewPageId
now always returns an integer (used for custom records analysis) (Thanks to @cdaecke)- Removed old include of
constants.typoscript
- Fatal error from
PageLayoutHeader
when you select "All Languages" in CMS11 is now gone (Thanks to @brotkrueml) - Composer
branch-alias
is updated (Thanks to @brotkrueml) .gitattributes
is updated to exclude more files/directories (Thanks to @brotkrueml)- Added
min-height
to the preview container to prevent (most of the) layout shifting while preview is loading additionalGetVars
are now url-decoded before generating the preview uri (used for custom records analysis) (Thanks to @georgringer)