extensions.typo3.org issueshttps://git.typo3.org/services/t3o-sites/extensions.typo3.org/ter/-/issues2022-04-04T17:34:22Zhttps://git.typo3.org/services/t3o-sites/extensions.typo3.org/ter/-/issues/251Provide examples how to create code inspections and better code quality2022-04-04T17:34:22ZTobias GülzowProvide examples how to create code inspections and better code qualityHi everyone.
## What kind of feature do you want?
As an extension developer, I want to make sure that my extension does not get negative badges assigned from code inspection.
I also want to make sure that positive badges get assigned.
#...Hi everyone.
## What kind of feature do you want?
As an extension developer, I want to make sure that my extension does not get negative badges assigned from code inspection.
I also want to make sure that positive badges get assigned.
## What are the benefits?
The code quality will increase significantly, if developers can check their code, before they upload their extension.
## Add some use case
1.) Write a lot of code for your extension.
2.) Do a lot of testing.
3.) Let code inspection analyse the code.
4.) Fix all findings that can be fixed.
5.) Upload another release.
TobiBackloghttps://git.typo3.org/services/t3o-sites/extensions.typo3.org/ter/-/issues/146Content Touchup: "Downloads by Version"2022-04-04T17:34:22ZMarkus TimtnerContent Touchup: "Downloads by Version"This is just a psychological Issue here which bothers me since it was introduced.
Almost always, the line chart shows a downward trend:
![01_line-chart](/uploads/ab5fd09a2c713aab03b3ba80a52fe4a7/01_line-chart.png)
This might hint only ne...This is just a psychological Issue here which bothers me since it was introduced.
Almost always, the line chart shows a downward trend:
![01_line-chart](/uploads/ab5fd09a2c713aab03b3ba80a52fe4a7/01_line-chart.png)
This might hint only negative associations (at least to me) It is not a "very attractive" feature to have so prominently placed on the extension page.
Luckily, there should be an easy fix for this:
A bar chart has the same information value,
whereas it doesn't show such an obvious downward trend:
![01_bar-chart](/uploads/92c3065cbabb21dfd5fb93eb31bce732/01_bar-chart.png)
What do you think?Backloghttps://git.typo3.org/services/t3o-sites/extensions.typo3.org/ter/-/issues/162TER: Suggestion: Do some polishing of design2022-04-04T17:34:22ZbastianbalthasarbuxTER: Suggestion: Do some polishing of designI would like to see some polishing of the design for a major use-case: browsing TER on a desktop machine.
And when I say "design" in this case I just mean to rethink the enormous font-sizes and the bunch of whitespace, which keeps my sc...I would like to see some polishing of the design for a major use-case: browsing TER on a desktop machine.
And when I say "design" in this case I just mean to rethink the enormous font-sizes and the bunch of whitespace, which keeps my scrolling like hell on my 1920x1200 displays.
H1 is 3.something rem, that's 50px high on my screens, and results in letters with a height of 1.3cm ... just 80cm away from my face. That burns-in pixels into my brain!Backloghttps://git.typo3.org/services/t3o-sites/extensions.typo3.org/ter/-/issues/368Smarter default sorting2022-04-04T17:32:47ZMathias BrodalaSmarter default sorting## What do you suggest?
It would be really useful if the default sorting of extensions upon search was a bit smarter. This means that properties really relevant to humans should have a higher weight:
* number of downloads
* date of las...## What do you suggest?
It would be really useful if the default sorting of extensions upon search was a bit smarter. This means that properties really relevant to humans should have a higher weight:
* number of downloads
* date of last update
* number of supported TYPO3 LTS versions
* (possibly more)
This is slightly related to #168 but aims at the default sorting.
## Why?
Users should get a useful suggestion for their searches. It is safe to assume that anyone who actually searches by terms instead of directly opening the detail page of an extension doesn't really know the most common and proven solutions.
## Add an use case
A [search for *registration*](https://extensions.typo3.org/?L=0&id=1&tx_solr%5Bq%5D=registration) currently yields the following result:
1. `registration`
2. `agency`
3. `agency_tt_address`
4. `sf_event_mgt`
5. `slub_events`
6. `sf_register`
7. `autobeuser`
8. `sr_feuser_register`
9. `dated_news`
10. `femanager`
11. ...
You can clearly see the mixed "quality" of the search results. The top hit is `registration` due to the exact name match but it's probably the extension most unlikely to solve the issue at hand since it is alpha, outdated and officially does not support any TYPO3 version. Instead `femanager` and `sr_feuser_register` should be the top hits, the number of downloads support this assumption.Backloghttps://git.typo3.org/services/t3o-sites/extensions.typo3.org/ter/-/issues/526Create abstract notification command where all automatic notification are reg...2022-04-04T17:31:06ZThomas LöfflerCreate abstract notification command where all automatic notification are registered## Problem
Many commands that notify the user of specific
## Solution
One command which runs regularly and all other notification service can hook into it## Problem
Many commands that notify the user of specific
## Solution
One command which runs regularly and all other notification service can hook into itBackloghttps://git.typo3.org/services/t3o-sites/extensions.typo3.org/ter/-/issues/527Add pre-release check when releasing extension2022-04-04T17:31:06ZThomas LöfflerAdd pre-release check when releasing extensionThere should be some checks for basic things when there is an extension release (via form, SOAP or REST)
1. `composer.json` file (?) and mandatory fields inside
1. `extension-key`
2. `vendor` (`TYPO3` not allowed)
3. `require` ...There should be some checks for basic things when there is an extension release (via form, SOAP or REST)
1. `composer.json` file (?) and mandatory fields inside
1. `extension-key`
2. `vendor` (`TYPO3` not allowed)
3. `require` includes `typo3/cms-core`
4. Link to the repository (?)
5. `autoload` information if Classes folder exists (?)
2. Documentation exists in any way (Readme file, Documentation folder including not only fake)
Additionally provide this as GitHub Action, GitLab job, etc. for automatic checks before even tags are set.Backloghttps://git.typo3.org/services/t3o-sites/extensions.typo3.org/ter/-/issues/517Upload of Extensions with Emoji(🔺🟨🟢) in the ext_emconf.php title2022-04-04T17:31:05ZMatthias VogelUpload of Extensions with Emoji(🔺🟨🟢) in the ext_emconf.php title### Problem to solve
Allow emojis in the title of Extensions. Because it is 2021 😀 and makes our lives colorful 🎨
### Further details
Currently we get an error on Upload if the extension title has an emoji in it:
```
Error 0: An excep...### Problem to solve
Allow emojis in the title of Extensions. Because it is 2021 😀 and makes our lives colorful 🎨
### Further details
Currently we get an error on Upload if the extension title has an emoji in it:
```
Error 0: An exception occurred while executing 'INSERT INTO `tx_terfe2_domain_model_version` (`pid`, `crdate`, `tstamp`, `extension`, `title`, `description`, `author`, `version_number`, `version_string`, `upload_date`, `upload_comment`, `file_hash`, `download_counter`, `frontend_download_counter`, `state`, `em_category`, `create_dirs`, `uploadfolder`, `clear_cache_on_load`, `review_state`, `manual`, `has_manual`, `software_relations`, `t3x_file_size`, `zip_file_size`, `composer_info`, `compatible_typo3_versions`, `dependencies`, `authorname`, `authoremail`, `authorcompany`) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)' with params [2, 1620981173, 1620981173, 20747, "Web Vitals Tracker \ud83d\udd3a\ud83d\udfe8\ud83d\udfe2", "Real Measurement Web Vitals Statistic for your TYPO3", "36626", 1000000, "1.0.0", 1620981173, "first working version", "6be7963f94e68d443f79770ea0585e0b", 0, 0, "stable", "fe", "", 0, 0, 0, "", 0, 0, 61568, 0, "{\"autoload\":{\"psr-4\":{\"Kanti\\\\WebVitalsTracker\\\\\":\"Classes\"}},\"name\":\"kanti\\\/web-vitals-tracker\"}", "", "[{\"kind\":\"depends\",\"extensionKey\":\"typo3\",\"versionRange\":\"11.2.0 - 11.5.99\"},{\"kind\":\"suggests\",\"extensionKey\":\"dashboard\",\"versionRange\":\"11.2.0 - 11.5.99\"}]", "Matthias Vogel", "typo3@kanti.de", ""]: Incorrect string value: '\xF0\x9F\x94\xBA\xF0\x9F...' for column `extensions-prod`.`tx_terfe2_domain_model_version`.`title` at row 1
```
Tried with the title "Web Vitals Tracker 🔺🟨🟢"
### Proposal
a Possible solution could be to change the Database to utf8mb4 encoding
I found this Article (in german) https://www.hydroxi.de/utf8-vs-utf8mb4/
### What does success look like, and how can we measure that?
<!--- Define both the success metrics and acceptance criteria. Note that success metrics indicate the desired business outcomes, while acceptance criteria indicate when the solution is working correctly. If there is no way to measure success, link to an issue that will implement a way to measure this -->
**Acceptence Criterias**
* [ ] You can upload an extension that contains emoji's
* [ ] and this title will be displayed correctly everywhere.
### Links / references
- https://www.hydroxi.de/utf8-vs-utf8mb4/
- https://docs.typo3.org/c/typo3/cms-core/master/en-us/Changelog/9.5/Feature-80398-Utf8mb4OnMysqlByDefaultForNewInstances.html
- https://docs.typo3.org/m/typo3/guide-installation/9.5/en-us/Upgrade/Preparation/Index.html#upgrade-hints-for-version-9Backloghttps://git.typo3.org/services/t3o-sites/extensions.typo3.org/ter/-/issues/525Email notification on token expiration2022-04-04T17:31:04ZRudy GnoddeEmail notification on token expiration### Problem to solve
Access tokens expire after at most a year. It would be handy if there was an email notification when a token is about to expire, so users can update them.
### What does success look like, and how can we measure tha...### Problem to solve
Access tokens expire after at most a year. It would be handy if there was an email notification when a token is about to expire, so users can update them.
### What does success look like, and how can we measure that?
**Acceptence Criterias**
* [ ] Email notification when token is about to expire
* [ ] Email notification when token has expiredBackloghttps://git.typo3.org/services/t3o-sites/extensions.typo3.org/ter/-/issues/521Provide JSON files with extension information that work for specific or all T...2022-04-04T17:31:04ZThomas LöfflerProvide JSON files with extension information that work for specific or all TYPO3 versionsExamples:
`fileadmin/ter/extensions.json` => All extensions<br>
`fileadmin/ter/extensions.v9.json` => All extensions working with TYPO3 v9<br>
`fileadmin/ter/extensions.v10.json` => All extensions working with TYPO3 v10
Additionally ad...Examples:
`fileadmin/ter/extensions.json` => All extensions<br>
`fileadmin/ter/extensions.v9.json` => All extensions working with TYPO3 v9<br>
`fileadmin/ter/extensions.v10.json` => All extensions working with TYPO3 v10
Additionally add a `json-file.md5` file for fast check if file has changedBackloghttps://git.typo3.org/services/t3o-sites/extensions.typo3.org/ter/-/issues/349Idea: Community comments on extensions2022-04-04T17:31:03ZDan Kleine (geb. Dan Untenzu)Idea: Community comments on extensions## What kind of feature do you want?
During a discussion at the latest Usergroup in Dresden we saw the need for comments on extensions. These could provide valuable information to people searching for extensions.
## What are the benefi...## What kind of feature do you want?
During a discussion at the latest Usergroup in Dresden we saw the need for comments on extensions. These could provide valuable information to people searching for extensions.
## What are the benefits? Use Cases?
Specific use cases were: "This extension is not maintained anymore, we switched to XYZ and are happy with it" or "Attention, says it works in 8.7, but doesn't", "Best extension for this use case, love it" or "The maintainer left the company, don't expect any updates anymore". We had such moment at the usergroup, were it came to one's hearing why one popular extension suddenly stopped working.
## Possible solution
Comment section with [pw_comments](https://extensions.typo3.org/extension/pw_comments/).
I like the idea, but shuddered when I heard "comment section", as these need at least some management to prevent violations against Coc and some maintenance efforts against SPAM. → An alternative may be a link to a dedicated Slack channel, since most extension already have a channel and this may be easier to integrate.Backloghttps://git.typo3.org/services/t3o-sites/extensions.typo3.org/ter/-/issues/512TYPO3 CMS Dependecies wrong links2022-04-04T17:06:49ZTomas Norre MikkelsenTYPO3 CMS Dependecies wrong linksSteps to reproduce:
1. Go to e.g. https://extensions.typo3.org/extension/legacy_collections
2. Scroll down to dependencies on the right hand side
3. Frontend is linked to https://extensions.typo3.org/extension/frontend
Expected Behavio...Steps to reproduce:
1. Go to e.g. https://extensions.typo3.org/extension/legacy_collections
2. Scroll down to dependencies on the right hand side
3. Frontend is linked to https://extensions.typo3.org/extension/frontend
Expected Behaviour:
Would expect typo3/cms-"extensions" to be linked, only non-system extensions.
![Dependencies](/uploads/a51eed04dd0b82ceae52a4ccc0e393b4/Dependencies.png)Backloghttps://git.typo3.org/services/t3o-sites/extensions.typo3.org/ter/-/issues/302Fix invalid/suspicious extension keys in extensions.xml.gz2022-04-04T16:14:48ZMichael SchamsFix invalid/suspicious extension keys in extensions.xml.gzAssuming, a **valid** extension key must not contain upper-case letters, file `extensions.xml.gz` contains some invalid/suspicious entries. I assume the issues exist in the underlying data storage rather than in the creation logic that g...Assuming, a **valid** extension key must not contain upper-case letters, file `extensions.xml.gz` contains some invalid/suspicious entries. I assume the issues exist in the underlying data storage rather than in the creation logic that generates the XML file.
* invalid extension key: `flvStreamPlayer`
* invalid extension key: `meta_CAS`
* invalid extension key: `AjaxChat`
* invalid extension key: `tom_FMENU`
* invalid extension key: `dmc_highPerformance`
* invalid extension key: `Oblady_questionnaire`
* invalid extension key: `SBuniplug`
* invalid extension key: `SBumfrage`
* invalid extension key: `SBbanner`
* invalid extension key: `theFormEval`
* invalid extension key: `theFormConcept`
* invalid extension key: `lilURL`
* invalid extension key: `RealURL`
* invalid extension key: `Vertretungsplan`BacklogMichael SchamsMichael Schamshttps://git.typo3.org/services/t3o-sites/extensions.typo3.org/ter/-/issues/301Fix invalid/suspicious version strings in extensions.xml.gz2022-04-04T16:14:48ZMichael SchamsFix invalid/suspicious version strings in extensions.xml.gzAssuming, the format of a **valid** version string is `x.y.z`, where each element is a numeric value between `0` and `999`, file `extensions.xml.gz` contains some invalid/suspicious entries. I assume the issues exist in the underlying da...Assuming, the format of a **valid** version string is `x.y.z`, where each element is a numeric value between `0` and `999`, file `extensions.xml.gz` contains some invalid/suspicious entries. I assume the issues exist in the underlying data storage rather than in the creation logic that generates the XML file.
* `EXT:dam` contains an invalid version string: "1.3.2-dev"
* `EXT:bootstrap_package` contains an invalid version string: "6.2.3.2"
* `EXT:bootstrap_package` contains an invalid version string: "6.2.2.1"
* `EXT:bootstrap_package` contains an invalid version string: "6.2.3.0"
* `EXT:bootstrap_package` contains an invalid version string: "6.2.3.1"
* `EXT:tweet_this` contains an empty version string.
* `EXT:webdav` contains an invalid version string: "2.02"
* `EXT:generic_gallery` contains an invalid version string: "1.0.1-dev"
* `EXT:ke_search` contains an invalid version string: "1.7.0DEV"
* `EXT:libconnect` contains an invalid version string: "EZB: jetzt"
* `EXT:go_maps_ext` contains an invalid version string: "1.5"
* `EXT:metadata` contains an invalid version string: "2.1.0-dev"
* `EXT:groupdocs_viewer` contains an invalid version string: "1.0"
* `EXT:flat` contains an invalid version string: "6.2.0.1"
* `EXT:moc_message_queue` contains an invalid version string: "1.0"
* `EXT:kss_tmpl_gumby` contains an invalid version string: "2.5"
* `EXT:askom` contains an invalid version string: "1.0"
* `EXT:gsexy` contains an invalid version string: "2.0.2 - v.1"
* `EXT:gsexy` contains an invalid version string: "2.0.3 - v.1"
* `EXT:gsexy` contains an invalid version string: "2.0.4 - v.1"
* `EXT:beuserlistexport` contains an invalid version string: "0.0.2.2"
* `EXT:trb_ce_div` contains an invalid version string: "1.0"
* `EXT:trb_ce_icon` contains an invalid version string: "1.0"
* `EXT:trb_ce_map` contains an invalid version string: "1.0"
* `EXT:trb_ce_text` contains an invalid version string: "1.0"
* `EXT:trb_ce_textpic` contains an invalid version string: "1.0"
* `EXT:trb_pi_news` contains an invalid version string: "1.0"
* `EXT:trb_pi_team` contains an invalid version string: "1.0"
* `EXT:trb_pi_portfolio` contains an invalid version string: "1.0"
* `EXT:context_hints` contains an invalid version string: "1.2.0-dev"
* `EXT:jquery_smartbanner` contains an invalid version string: "1.0"
* `EXT:fb_reports` contains an invalid version string: "0.7.0-dev"
* `EXT:layersliderlight` contains an invalid version string: "5.3.3.1"
* `EXT:layersliderlight` contains an invalid version string: "5.3.3.2"
* `EXT:layersliderlight` contains an invalid version string: "5.3.3.3"
* `EXT:layersliderlight` contains an invalid version string: "5.3.3.4"
* `EXT:layersliderlight` contains an invalid version string: "5.3.3.5"
* `EXT:layersliderlight` contains an invalid version string: "5.3.3.6"
* `EXT:groupdocs_annotation_for_net` contains an invalid version string: "1.0"
* `EXT:speciality_distribution` contains an invalid version string: "1.1.0-dev"
* `EXT:wiris_plugin` contains an invalid version string: "3.53.3-1157"
* `EXT:secsign` contains an invalid version string: "1.1"BacklogThomas LöfflerThomas Löfflerhttps://git.typo3.org/services/t3o-sites/extensions.typo3.org/ter/-/issues/303Expired extension is not deleted properly2022-04-04T16:13:20ZThomas LöfflerExpired extension is not deleted properly## What was the cause of the issue?
Extension key was accidently expired and removed.
Trying to get the extension key again was not successful.
## Steps to reproduce
1. Let an extension expire and delete
1. Try to get the extension ke...## What was the cause of the issue?
Extension key was accidently expired and removed.
Trying to get the extension key again was not successful.
## Steps to reproduce
1. Let an extension expire and delete
1. Try to get the extension key again
## Output of error log
An extension with this key already exists.
## Add some screenshotsBacklogThomas LöfflerThomas Löfflerhttps://git.typo3.org/services/t3o-sites/extensions.typo3.org/ter/-/issues/546Validate composer.json on extension upload2022-01-15T20:43:22ZThomas LöfflerValidate composer.json on extension upload## Background
TYPO3 moves more and more into "composer first". [This feature](https://docs.typo3.org/c/typo3/cms-core/main/en-us/Changelog/11.4/Feature-94996-ConsiderAllComposerInstalledExtensionsAsActive.html) is describing it best.<br...## Background
TYPO3 moves more and more into "composer first". [This feature](https://docs.typo3.org/c/typo3/cms-core/main/en-us/Changelog/11.4/Feature-94996-ConsiderAllComposerInstalledExtensionsAsActive.html) is describing it best.<br>
In TER we still validate only the ext_emconf.php file and do only check the existence of a composer.json and some of its content.
## ACs
* [ ] Add a check for a valid composer.json on extension upload (similar to [this minimal composer.json](https://docs.typo3.org/m/typo3/reference-coreapi/main/en-us/ExtensionArchitecture/ComposerJson/Index.html#minimal-composer-json))
* [ ] name is set
* [ ] description is set
* [ ] license is set
* [ ] type is `typo3-cms-extension`
* [ ] extras/typo3-cms/extension-key is set
* [ ] requires `typo3/cms-core`
* [ ] Return a warning if composer.json is invalid or not existing on extension upload until date XX.XX.2022
* [ ] Return an error and deny extension upload after date XX.XX.2022Backloghttps://git.typo3.org/services/t3o-sites/extensions.typo3.org/ter/-/issues/113Downloads by time chart2021-02-15T18:23:06ZPeter KraumeDownloads by time chartThe downloads by version chart has some drawbacks:
- if an extension has no new releases over a long time, the download counter for the last version might be very high
- if the update frequency changes from seldom to often the chart mig...The downloads by version chart has some drawbacks:
- if an extension has no new releases over a long time, the download counter for the last version might be very high
- if the update frequency changes from seldom to often the chart might lead to the conclusion that the extension isn't requested that much.
For those searching for an extension it might be more useful to know, whether the general interest into an extension increased or decreased over time. It doesn't matter that much which version was downloaded.
A good example is the Solr extension. I assume that average download count didn't decrease that much!
![solr](/uploads/2a8019d954b94d72279c217a68acf996/solr.png)Backloghttps://git.typo3.org/services/t3o-sites/extensions.typo3.org/ter/-/issues/203Display number of downloaded in list page2021-02-15T18:22:54ZJainish SenjaliyaDisplay number of downloaded in list pageDisplay number of download extension in list page. SO user can identify easily which extension are mostly usedDisplay number of download extension in list page. SO user can identify easily which extension are mostly usedBackloghttps://git.typo3.org/services/t3o-sites/extensions.typo3.org/ter/-/issues/186List view missing info #downloads latest upload2021-02-15T18:22:53ZEdward LenssenList view missing info #downloads latest uploade.g. https://extensions.typo3.org/
In this view I am missing info like #downloads and latest upload. When you search for an extension with many results, this will help you to select the right extension for you.
This would be great fil...e.g. https://extensions.typo3.org/
In this view I am missing info like #downloads and latest upload. When you search for an extension with many results, this will help you to select the right extension for you.
This would be great filter options too for future.Backloghttps://git.typo3.org/services/t3o-sites/extensions.typo3.org/ter/-/issues/202Show alternatives to outdated extensions2021-02-15T18:22:53ZThomas MayerShow alternatives to outdated extensions## What kind of feature do you want?
In the detail view, alternatives to an outdated extension could be shown up.
For instance, I'll leave open how this can be done.
One way to do this would be to use the tags and to determine a notion...## What kind of feature do you want?
In the detail view, alternatives to an outdated extension could be shown up.
For instance, I'll leave open how this can be done.
One way to do this would be to use the tags and to determine a notion of similarity towards other extensions.
Another way would be to let maintainers explicitly specify which extensions can be migrated to their extension (similar to the specification of incompatibility). The latter should then also take versions into account (from_version/to_version) which maybe overcomplicates this approach.
Another way to do this is to use frequent pattern mining based upon the sequence of page visits, thereby answering which (alternative) extension is likely to be downloaded after visiting an outdated extension.
An easy catch would be to just point to the TER search page, thereby querying for the tags of the outdated extension.
## What are the benefits?
- Show up that there is an alternative.
- Trick users into supported extensions which receive security updates.
## Add some use case
E. g. the outdated extension [tq_seo](https://extensions.typo3.org/extension/tq_seo/) can be seemlessley upgraded to [metaseo](https://extensions.typo3.org/extension/metaseo/) via a documented [migration path](https://docs.typo3.org/typo3cms/extensions/metaseo/AdministratorManual/Index.html#migration-from-extension-tq-seo).Backloghttps://git.typo3.org/services/t3o-sites/extensions.typo3.org/ter/-/issues/178Make specific versions clickable and show version specific information2021-02-15T18:22:53ZThomas MayerMake specific versions clickable and show version specific information## What kind of feature do you want?
The version list hover-highlights a specific version which is older than the latest version. However, when the old version is clicked, nothing happens.
I suggest to let users click on specific (old)...## What kind of feature do you want?
The version list hover-highlights a specific version which is older than the latest version. However, when the old version is clicked, nothing happens.
I suggest to let users click on specific (old) versions. Then, all the information is displayed specific to that version, especially the dependencies of that version (Not just TYPO3 version, but also PHP version and extensions (or composer packages) the extension depends on).
![Auswahl_359](/uploads/42b6a857cbb714d8b98d568164a7bf11/Auswahl_359.png)
![Auswahl_360](/uploads/201f685e5eeac1d8e8861e7ddfc29142/Auswahl_360.png)
The [URL](https://extensions.typo3.org/extension/metaseo/) could still default to the latest version whereas for different version a specific URL should be used (e.g. `https://extensions.typo3.org/extension/metaseo/TER-2.1.0`).
To add some consistency, it would then also be possible to point to the corresponding version of the manual.
## What are the benefits?
Currently, the dependencies of old versions cannot be displayed to the user. That should not be, now that the information itself is already available.
On top of that, documentation might differ between versions so that users need to choose the right version every time.
## Add some use case
For MetaSEO, we have a version 3.0.0 for TYPO3 8.7 and a version 2.1.0 for TYPO3 6.2 - 7.6. Both branches are still maintained so that version 2.1.0 is just as relevant as 3.0.0. However, the dependencies between both versions are different and this is not visible to users (we still maintain version 2.1.0 against PHP 5.3 to still support TYPO3 6.2 which initially got released against PHP 5.3).Backlog