- Dec 21, 2023
-
-
Oliver Klee authored
- autoformat the files - sort the configuration options This keeps the files consistent and avoids unrelated formatting changes when other things are changed. Resolves: #102699 Releases: main, 12.4 Change-Id: Iffb8401328949d0d38f91512671f77285c470e6a Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82256 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Simon Schaufelberger <simonschaufi+typo3@gmail.com> Tested-by:
Simon Schaufelberger <simonschaufi+typo3@gmail.com>
-
Chris Müller authored
Resolves: #102706 Releases: main, 12.4 Change-Id: Ia250046ca8e36a82012555a8ed4e638e3746c787 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82265 Tested-by:
Garvin Hicking <gh@faktor-e.de> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Garvin Hicking <gh@faktor-e.de> Tested-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by:
Stefan Bürk <stefan@buerk.tech>
-
- Dec 20, 2023
-
-
Christian Kuhn authored
Patch for #102279 to auto-create DB select fields reveals a bug in the styleguide data generator which tries to create (partially empty) strings for the "parent count" fields when select is configured with MM. The patch adapts the generator logic a bit to create better values in those cases. Resolves: #102704 Related: #102279 Releases: main Change-Id: I236e1c6d5c1ce8abfa1e84fc35b6aa6c2765d762 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82263 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Anja Leichsenring <aleichsenring@ab-softlab.de> Tested-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Anja Leichsenring <aleichsenring@ab-softlab.de> Reviewed-by:
Stefan Bürk <stefan@buerk.tech>
-
Oliver Bartsch authored
There might be valid reasons for a module being (temporary) inaccessible for a user. Since #102665 a module redirect is done instead of throwing an exception, which a user can not resolve. However, this led to the fact that a user got redirected without knowing the reason. Therefore, a notification is now dispatched, whenever a forced module redirect takes place. Resolves: #102678 Related: #102665 Releases: main, 12.4 Change-Id: I3e3e6548c7d2ec65b1081f8bdfdab5a16ba56f31 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82192 Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Benjamin Franzke <ben@bnf.dev> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Benni Mack <benni@typo3.org> Tested-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Achim Fritz <af@achimfritz.de> Tested-by:
Benjamin Franzke <ben@bnf.dev> Reviewed-by:
Achim Fritz <af@achimfritz.de>
-
Georg Ringer authored
Adding the following information to itemsProcFunc helps extension authors: - effectivePid: correct page id - site: current site Resolves: #99346 Releases: main, 12.4 Change-Id: Ifc54a06c66f3dbf61a2e95f706bb54e74db4b28e Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/77033 Tested-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Garvin Hicking <gh@faktor-e.de> Reviewed-by:
Garvin Hicking <gh@faktor-e.de>
-
Oliver Hader authored
TypoScript property `addQueryString.exclude` concerns the internal, URL-decoded values. However, the parameters are purged from a query array that is URL-encoded. Resolves: #102386 Releases: main, 12.4 Change-Id: Ibcdca016221035f5f2974007b1fc52c04f5d643f Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/81758 Reviewed-by:
Benni Mack <benni@typo3.org> Tested-by:
Oliver Hader <oliver.hader@typo3.org> Tested-by:
Simon Schaufelberger <simonschaufi+typo3@gmail.com> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Simon Schaufelberger <simonschaufi+typo3@gmail.com> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Oliver Hader <oliver.hader@typo3.org>
-
Oliver Bartsch authored
Resolves: #102383 Releases: main, 12.4, 11.5 Change-Id: Iced9d71874a51ee321857b662fa157ca2c2c0307 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82258 Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Oliver Klee <typo3-coding@oliverklee.de> Tested-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
core-ci <typo3@b13.com>
-
Oliver Bartsch authored
Resolves: #102701 Releases: main Change-Id: I0546bdc6ebdce3a405fd6421ddc0656e6d577cf4 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82259 Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Benni Mack <benni@typo3.org> Tested-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Benni Mack <benni@typo3.org>
-
- Dec 19, 2023
-
-
Stefan Bürk authored
The TYPO3 core `runTests.sh` contains the `-u` option to update the images and remove dangling images. Providing an image name and a `--filter` option is not supported by podman: > Error: cannot specify an image and a filter(s) and has not been discovered yet in the TYPO3 core implementation yet. Both container runtimes `docker` and `podman` support filtering images using the `reference` filter option. Therefore, this change modifies the dangling image removal to use multiple filters To verify that filtering with two `--filter` options can be used with podman and docker, the following commands can be executed to list the set of local non-dangling images. Note: This example uses `dangling=false` instead of `dangling=true` (as in `runTests.sh`), since we expect most developers don't have dangling images yet. > podman images \ --filter "reference=ghcr.io/typo3/core-testing-*" \ --filter "dangling=false" --format "{{.ID}}" > docker images \ --filter "reference=ghcr.io/typo3/core-testing-*" \ --filter "dangling=false" --format "{{.ID}}" Resolves: #102697 Releases: main, 12.4, 11.5 Change-Id: I717d1aa229bdfb73c63aa5b2d46e1aff665544cb Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82255 Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Oliver Klee <typo3-coding@oliverklee.de> Tested-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Benjamin Franzke <ben@bnf.dev> Reviewed-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by:
Benjamin Franzke <ben@bnf.dev> Tested-by:
Oliver Bartsch <bo@cedev.de>
-
Garvin Hicking authored
The Indexer builds a large array of all actual files on a storage (identifiedFileUids). If many files exists, this array can get very large. This array was then passed to a QueryBuilder to fetch all records NOT IN that array. Since a NOT IN query is passed as a string to the database, it can exceed the string size allowed in a query, making the whole task fail. Since a NOT IN query cannot be chunked easily, the whole logic has been adapted in a different way. Instead of fetching a restricted list of database records, all records are fetched and iterated. Even with a million of sys_file_records of a single (!) storage this will perform alright, and be within practical usage scenarios. Each database record is then checked for a match in the large array of known records, and then execute the same logic as before. To benchmark the implications, the following test was run: Baseline: * sys_file with 50.736 entries * 16.912 marked as missing * 33.824 marked as existing * Filesystem with 8.771 actual files Tested setup via a script which: * Resets to baseline sys_file storage * Executes scheduler task "File Abstraction Layer: Update storage index (scheduler)" * Flags 41.965 files as missing, 8.771 as found. Script execution was performed 50 times, and a mean avery was calculated, once once with the patch in place, once without. Old variant (using NOT IN query): 11.787 seconds New variant (fetching all records): 12.0544 seconds On top of being within the same performance level, using the new method, no database exception will be provoked (see ticket). Resolves: #102295 Releases: main, 12.4 Change-Id: Id998d7cd062fe75aac738b896bfb307b51f5cef8 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/81916 Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by:
Jörg Bösche <typo3@joergboesche.de> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Benni Mack <benni@typo3.org> Tested-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch>
-
Anja Leichsenring authored
Tables with TCA columns set to type="select" do not need an ext_tables.sql entry anymore. The core now creates this field automatically. This is one of many patches in this area: The v13 goal is to obsolete ext_tables.sql in most cases by creating default "business" fields of TCA tables automatically. The patch adds the main magic in class DefaultTcaSchema and removes own ext_tables.sql definitions having type=select. Resolves: #102279 Related: #101553 Releases: main Change-Id: I600d0be1b2452b93d46c6b0d8317460607988fee Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/81604 Reviewed-by:
Garvin Hicking <gh@faktor-e.de> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Garvin Hicking <gh@faktor-e.de> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Anja Leichsenring <aleichsenring@ab-softlab.de> Reviewed-by:
Anja Leichsenring <aleichsenring@ab-softlab.de> Reviewed-by:
Stefan Bürk <stefan@buerk.tech>
-
Oliver Bartsch authored
Check for existence of the password field before using its value to prevent a "read properties of null" TypeError. Note: This does usually not happen for the default login provider, but might be for custom providers, not using the password field the same way as the default provider. Resolves: #102693 Releases: main Change-Id: Id1ef515c517eb3f95020b97eb7336e618fcc1d30 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82253 Reviewed-by:
Jochen Roth <rothjochen@gmail.com> Reviewed-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Benjamin Franzke <ben@bnf.dev> Tested-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Jochen Roth <rothjochen@gmail.com> Tested-by:
Benjamin Franzke <ben@bnf.dev>
-
Benni Mack authored
This change introduces a few number of non-breaking details to be used for further (breaking) changes in the Image Processing chain. On the very low-level A new object called "ImageProcessingResult" is now used to have the previously $info array $info[0] = width of an image $info[1] = height of an image $info[2] = file extension $info[3] = full file path now consumed in an object that is used throughout the lowlevel area of GraphicalFunctions, Image Procesing and GifBuilder. The GraphicalFunctions method receives some smarter methods (currently internal): * resize() - similar to imageMagickConvert() but with type hints, and returning the new object * convert() - e.g. just convert a jpeg to png Next steps in this area: * cObject->getImageResource() should only return ImageProcessingResult (and migrate the hook to a PSR-14 event) - Breaking * GraphicalFunctions->getImageDimensions() and imageMagickConvert() should only return these objects (or null) - Breaking * ImageProcessingResult->toLegacyArray() should be removed * Have Local*Helper classes return this object or just the file name or an ImageInfo object or get rid of them completely - Breaking * Move "image types available for the browser" into a service class out of GraphicalFunctions Resolves: #102679 Releases: main Change-Id: Iefef621dff961dfdd8ff89c43b7b3b78363376a2 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/81428 Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Tested-by:
Oliver Klee <typo3-coding@oliverklee.de> Tested-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Oliver Bartsch <bo@cedev.de>
-
Benjamin Franzke authored
Input data is statically provided by EXT:core only, so there is no security issue known right now. This change is a preparation to avoid possible future security issues. Resolves: #102676 Releases: main, 12.4, 11.5 Change-Id: I49a7fdd250e8ce74fdde07ad305cbae7e4af8ec3 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82190 Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Benni Mack <benni@typo3.org> Tested-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Oliver Bartsch <bo@cedev.de>
-
Nikita Hovratov authored
It is unclear why `layout` was excluded for the indexed search plugin. In contrary to `pages` and `recursive` this field has no functionality for extbase plugin. In preparation for eventual deprecation of plugins of type list, this exclusion is removed. Resolves: #102642 Releases: main Change-Id: I714714bf9d99ea7c65c2461684ed873b126bd55d Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82161 Tested-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Oliver Bartsch <bo@cedev.de>
-
Stefan Bürk authored
With #92289 logic has been decoupled from `ResourceFactory` into the `StorageRepository`. As a side change, native php types have been added to a couple of methods. `StorageRepository->findByUid()` parameter type has been set to integer, which breaks the `null` fallback and retrieving the default storage `uid: 0` in `ResourceFactory` method `getStorageObjectFromCombinedIdentifier()`. Even worse is the fact that `getObjectFromCombinedIdentifier()` does not even try to cope with a invalid identifier provided. This change modifies `getObjectFromCombinedIdentifier()` and `getStorageObjectFromCombinedIdentifier` of `ResourceFactory` to cope with missing storage identifier by falling back to the default storage (`0`) with a shuffle of the exploded values. As a side-effect two PHPStan ignore patterns can be removed from the PHPStan baseline file. Used command(s): Build/Scripts/runTests.sh -s phpstanGenerateBaseline Resolves: #102692 Related: #92289 Releases: main, 12.4, 11.5 Change-Id: I8ee9736839f59db7917cb49dd0d62af17ee28cda Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82203 Reviewed-by:
Benni Mack <benni@typo3.org> Tested-by:
Oliver Klee <typo3-coding@oliverklee.de> Tested-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Tested-by:
Benni Mack <benni@typo3.org>
-
- Dec 18, 2023
-
-
Christian Rath-Ulrich authored
Resolves: #102672 Releases: main, 12.4 Change-Id: I6a393a23acb5030c2239f3ba74a888c638ceb3b1 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82188 Reviewed-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Christian Rath-Ulrich <christian@rath-ulrich.de> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Christian Rath-Ulrich <christian@rath-ulrich.de> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Oliver Bartsch <bo@cedev.de>
-
Stefan Bürk authored
The doctrine team deprecated the `SchemaDiff->toSql()` and `SchemaDiff->toSaveSql()` methods [1], `toSaveSql()` without a replacement. Both methods are used in the TYPO3 database analyzer build up - and the behaviour of replaceless deprecated `toSaveSql()` is a essential used feature. In the current state there is no good solution to mitigate this, therefore a temporary `getSaveAlterSchemaSQL()` should be added as a wrapper. For now dispatch to the deprecated `SchemaDiff->toSaveSql()` and replace the body with corresponding code during the upgrade for `Doctrine DBAL 4` - marked with a todo comment. The whole schema and connection migrator implementation is scheduled for a refactoring due to needs of further features, so postpone a refactoring now and use this smelly hack. This change ... * adds a trait `PlatformSaveAlterSchemaSQLTrait` providing the `getSaveAlterSchemaSQL()` wrapper method. * adds the trait `PlatformSaveAlterSchemaSQLTrait` to all extended platform classes (#102402). * replaces deprecated `SchemaDiff->toSql()` calls with `AbstractPlatform::getAlterSchemaSQL()`. * replace `SchemaDiff->toSaveSql()` calls with extended platform method `AbstractPlatform::getSaveAlterSchemaSQL()`. [1] https://github.com/doctrine/dbal/blob/3.7.x/UPGRADE.md#deprecated-schemadifftosql-and-schemadifftosavesql Resolves: #102592 Related: #102402 Releases: main Change-Id: I8d9cd7e368ec68e2d5b54ec960d2200342180586 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82076 Tested-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Oliver Klee <typo3-coding@oliverklee.de> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Stefan Bürk <stefan@buerk.tech>
-
Oliver Bartsch authored
Since `QueryHelper::parseOrderBy()` might return NULL as value for fieldname and direction, we now check those values properly to prevent any TypeErrors using the type-hinted `addOrdering()` method. Resolves: #102649 Releases: main, 12.4 Change-Id: Ie117e7fd0593392e843aaca5c1e9c254c4de42d1 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82168 Tested-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Tested-by:
Garvin Hicking <gh@faktor-e.de> Reviewed-by:
Garvin Hicking <gh@faktor-e.de> Tested-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Thomas Hohn <tho@gyldendal.dk>
-
Oliver Bartsch authored
Workspace access permissions of backend modules are inherited. This is now poperly reflected in the configuration module and also documented in the changelog. Resolves: #102688 Releases: main, 12.4 Change-Id: I83a81713653c1e0dee3c79ba0762b459179a504a Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82199 Reviewed-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Jochen Roth <rothjochen@gmail.com> Reviewed-by:
Jochen Roth <rothjochen@gmail.com> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
core-ci <typo3@b13.com>
-
Oliver Bartsch authored
The scheduler sub modules are to be used by admin's only. This has to be set explicitly as no `inherit` option exists for the module access permissions. Resolves: #102689 Releases: main, 12.4 Change-Id: I94bbf9e18d0c9fa6003e234ef7de241526cfbad0 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82200 Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Jochen Roth <rothjochen@gmail.com> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Jochen Roth <rothjochen@gmail.com> Reviewed-by:
Oliver Bartsch <bo@cedev.de>
-
Oliver Bartsch authored
Using an invalid uid to link to a file does no longer throw an exception, since this prevents the backend user from fixing the invalid entry, because the edit form can no longer be accessed. Resolves: #102670 Releases: main, 12.4 Change-Id: I634eb88a2ddf671abbb88870d664e739e8127ce9 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82201 Reviewed-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Jochen Roth <rothjochen@gmail.com> Reviewed-by:
Jochen Roth <rothjochen@gmail.com> Tested-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Benni Mack <benni@typo3.org>
-
Christian Kuhn authored
The constructor of class Context is unfortunate: It needs to be registered in DI container to be injectable. If an extension uses GU::makeInstance() with manual constructor arguments of this class, it could shortcut the container lookup and would create an own instance not registered in the container, which could lead to a second instance when Context is injected. The constructor is only used in tests, tests are adapted and constructor removed with the patch. Also, the two classes ContextAwareInterface and ContextAwareTrait look as if they are general things that can be used similar to the PSR-3 LoggerAwareInterface which is handled directly in DI / makeInstance(), but in fact it is just a detail of the core routing aspect handling. In those cases, DI / makeInstance() can be used directly. We drop both classes to avoid confusion. Note this also makes AspectFactory stateless. Resolves: #102645 Releases: main Change-Id: Ice0d4063bcfc8ff0c267f1b8155eab576d7d6772 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82159 Reviewed-by:
Benni Mack <benni@typo3.org> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Simon Schaufelberger <simonschaufi+typo3@gmail.com> Tested-by:
Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Simon Schaufelberger <simonschaufi+typo3@gmail.com> Tested-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Benni Mack <benni@typo3.org> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de>
-
Benni Mack authored
With official webp support enabled, reading from webp images can be activated in EXT:install as well, as "webp" is added to the default list of "TYPO3_CONF_VARS[GFX][imagefile_ext] Resolves: #101667 Related: #88537 Releases: main Change-Id: Ie461c884d48fbc4ed1976bf0ba8967c7281197f0 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82197 Reviewed-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Simon Schaufelberger <simonschaufi+typo3@gmail.com> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Simon Schaufelberger <simonschaufi+typo3@gmail.com>
-
Henrik Elsner authored
Resolves: #102669 Resolves: #101768 Releases: main, 12.4 Change-Id: Ie377f122cfc9acba74c1684f68bb4e3434bf12d0 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82186 Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Benni Mack <benni@typo3.org> Tested-by:
Benni Mack <benni@typo3.org> Tested-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Oliver Bartsch <bo@cedev.de>
-
Benni Mack authored
TYPO3 now supports generation of webp images by default if ImageMagick / GraphicsMagick supports this. A new report in the reports extension detects any misconfiguration. webp is an image format that is supported by all modern browsers (https://caniuse.com/webp), which has a similar quality to jpeg compression while having a smaller file size. By default, webp is now in the list of available image file extensions to be generated in $TYPO3_CONF_VARS[GFX][imagefile_ext]. If an admin wants to opt out of webp, they can remove "webp" from this setting in their settings.php file. Default quality of webp can be configured via $TYPO3_CONF_VARS[GFX][webp_quality]. Resolves: #96925 Resolves: #88537 Releases: main Change-Id: If3fe5efafc8a1c13fbc5c1aa7cd67e4a98bf0346 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82196 Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Benni Mack <benni@typo3.org> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Simon Schaufelberger <simonschaufi+typo3@gmail.com> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Simon Schaufelberger <simonschaufi+typo3@gmail.com> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch>
-
Torben Hansen authored
The page info module currently shows a valid page layout as invalid, because the lookup of backend layouts still uses indexed array keys instead of associative array keys which were introduced in #99739 This change fixes the problem by using associative array keys to resolve backend layouts. Additionally, this change ensures, that the `determinePageId` function in `BackendLayoutView` does not try to resolve a page id, if the given array is empty. Resolves: #102687 Related: #99739 Releases: main, 12.4 Change-Id: Iec74aec99c790c8841dbb2db537083503987f9d0 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82198 Reviewed-by:
Benni Mack <benni@typo3.org> Tested-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Nikita Hovratov <nikita.h@live.de> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Benni Mack <benni@typo3.org> Tested-by:
Nikita Hovratov <nikita.h@live.de>
-
Oliver Bartsch authored
Clean up plugin configuration by using an array for the action list. This also improves performance, since no string operations have to be done (internally, TYPO3 handles the action list as array). Resolves: #102666 Resolves: #95350 Releases: main Change-Id: I75ec681096cccf49b3ac40b1961edbb060d1aae5 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82182 Tested-by:
Simon Schaufelberger <simonschaufi+typo3@gmail.com> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Simon Schaufelberger <simonschaufi+typo3@gmail.com> Reviewed-by:
Nikita Hovratov <nikita.h@live.de> Tested-by:
Garvin Hicking <gh@faktor-e.de> Reviewed-by:
Garvin Hicking <gh@faktor-e.de> Reviewed-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Nikita Hovratov <nikita.h@live.de> Tested-by:
Oliver Bartsch <bo@cedev.de>
-
- Dec 16, 2023
-
-
Torben Hansen authored
In the early versions of TYPO3, "admin" and "password" were set as the default login credentials. However, this practice was discontinued long time ago, and the TYPO3 installation process has since been updated to require users to set their own admin username and password during installation. Despite this change, a system report check for the "admin/password" credentials remained in place. This check was originally intended to ensure security by notifying administrators if these weak default credentials were still being used. However, given that TYPO3 has not used these default credentials for many versions now, this check has become more or less useless, since it only covers one particular scenario with weak user credentials. Furthermore, with the introduction of default password policies in TYPO3 version 12, the likelihood of users being able to set weak passwords like "password" has been significantly reduced. With this change, the check for legacy default login credentials has been removed. Resolves: #102686 Releases: main Change-Id: I95bf3518340d8cc9ad0e216ad1c72aa9f98ff80d Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82195 Tested-by:
Benni Mack <benni@typo3.org> Tested-by:
Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Tested-by:
core-ci <typo3@b13.com>
-
Georg Ringer authored
If the user permissions contain DB tables which are not available anymore, a notice is turned into an exception. Resolves: #101547 Releases: main, 12.4, 11.5 Change-Id: I98cd8fb74893c31fe8ca6c14e4ee87ddb0e578ae Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/80307 Tested-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Stefan Froemken <froemken@gmail.com> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Benni Mack <benni@typo3.org> Tested-by:
Benni Mack <benni@typo3.org>
-
Oliver Hader authored
`security.backend.enforceContentSecurityPolicy`, which is enabled per default in TYPO3 v13.0, is moved to the corresponding comment. Resolves: #102681 Releases: main Change-Id: Ib228b26f22ad5676811707715b88c5c46f71c501 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82194 Tested-by:
Oliver Hader <oliver.hader@typo3.org> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Oliver Hader <oliver.hader@typo3.org>
-
Andreas Kienast authored
Executed commands: npm install --save chart.js@^4.4.0 npm run build Resolves: #102334 Releases: main, 12.4 Change-Id: Ief3d948a85eaec35376c9c7ba7313d8299995ccc Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/81700 Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Tested-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Oliver Bartsch <bo@cedev.de>
-
- Dec 15, 2023
-
-
Oliver Bartsch authored
This fixes a couple of workspace related issues in the module access evaluation. Basically, it's now ensured that the user will never be confronted with an exception for cases where he is in a module, which is not allowed in a workspace and then switches the workspace. This also applies for deep links. Therefore, the the start module evaluation, taking the redirect into account, is now respecting the fact that the given module might be temporarily not accessible. Finally the inheritance of the workspace access restriction is restored by changing the default value in the BaseModule and respecting the parent module's configuration for sub modules in the access check. Previously it was possible to access such sub modules, e.g. the site configuration module in a workspace by using a deep link. Resolves: #102665 Releases: main, 12.4 Change-Id: I1daabcd9d6b1cb9782a96c7c02ae0bf285369ede Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82180 Reviewed-by:
Achim Fritz <af@achimfritz.de> Tested-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Achim Fritz <af@achimfritz.de> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Oliver Bartsch <bo@cedev.de>
-
- Dec 14, 2023
-
-
Oliver Hader authored
In case `$GLOBALS['TYPO3_CONF_VARS']['BE']['passwordPolicy']` is disabled or set to a preset that actually does not exist, the backend editing view should not issue JavaScript errors on the missing `#password-policy-info` element. Resolves: #102668 Releases: main, 12.4 Change-Id: Iafb418254f73f379364b04c5d45d33111bef7d13 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82183 Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by:
Garvin Hicking <gh@faktor-e.de> Tested-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Torben Hansen <derhansen@gmail.com> Reviewed-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Torben Hansen <derhansen@gmail.com> Tested-by:
core-ci <typo3@b13.com>
-
Stefan Bürk authored
With #102402 the deprecated `doctrine/event-manager` has been mitigated by using a global doctrine dbal driver middleware. Therefore, the driver decorater `CustomPlatformDriverDecorator` has been added providing a lot of methods to full-fill the interface requirements. This change removes unneeded code by extending from the `\Doctrine\DBAL\Driver\Middleware\AbstractDriverMiddleware` for the `CustomPlatformDriverDecorator` implementation. Resolves: #102589 Related: #102402 Releases: main Change-Id: If34038998e3fca39c3aa369ca10aedcf6cf436ce Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82072 Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de>
-
- Dec 13, 2023
-
-
Nikita Hovratov authored
EU::configurePlugin tightly couples registration of controller actions and TypoScript generation for a frontend rendering definition. Furthermore, lib.contentElement is only defined in fluid_styled_content, which makes it an indirect requirement. This patch extracts the part for the controller action registration, so it can be used independently of fluid_styled_content. In addition, this new method expects the controller actions to have an array shape already. A converter method ensures compatibility for both string and array syntax. A concrete use-case for internal usage would be Content Blocks, as it would be possible to separately define a Content Block of type "Plugin" and in addition register controller actions for it. Resolves: #102643 Releases: main, 12.4 Change-Id: I74d84f54bdd399934b57b3e49e2209f62b5fda68 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82162 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Oliver Klee <typo3-coding@oliverklee.de> Tested-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Garvin Hicking <gh@faktor-e.de> Reviewed-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Garvin Hicking <gh@faktor-e.de>
-
Oliver Bartsch authored
The LinkElement does now use the same styling as the SlugElement for the link bottom information. In case of the LinkElement, this is the "link explanation", while the SlugElement displays the regenerated link. Resolves: #102650 Releases: main Change-Id: I1a5e68b6a515a0101fa54b70349043328cc1e05e Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82167 Tested-by:
Garvin Hicking <gh@faktor-e.de> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Garvin Hicking <gh@faktor-e.de> Reviewed-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Benni Mack <benni@typo3.org> Tested-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
core-ci <typo3@b13.com>
-
linawolf authored
While Sphinx ignores case of code-block languages the new code-highlighter is code-sensitive. So converting the cases all to lowercase. There is no language called mysql in the new highlighter. In Sphinx this was an alias for sql. It does not really make sense to use mysql here, as the examples would also work in Maria-DB. A backport is no necessary as there were no content changes and we only render the main branch for the changelog Resolves: #102662 Releases: main Change-Id: I15193c5b6b8cd7e27799db0bee11096642efe702 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82179 Reviewed-by:
Lina Wolf <112@linawolf.de> Reviewed-by:
Benni Mack <benni@typo3.org> Tested-by:
Lina Wolf <112@linawolf.de> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Benni Mack <benni@typo3.org> Tested-by:
Chris Müller <typo3@krue.ml> Reviewed-by:
Chris Müller <typo3@krue.ml>
-
- Dec 12, 2023
-
-
Andreas Nedbal authored
Resolves: #102432 Related: #102431 Releases: main Change-Id: I555f695c517e8691a58c8741a16f3419388f6a43 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/81824 Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Jochen Roth <rothjochen@gmail.com> Reviewed-by:
Benni Mack <benni@typo3.org> Tested-by:
Benni Mack <benni@typo3.org> Tested-by:
Jochen Roth <rothjochen@gmail.com>
-
Oliver Bartsch authored
The file being about to be imported is now exposed in the BeforeImportEvent. This information might be quite relevant for event listeners to decide about modifications to the `Import` instance. Resolves: #102657 Releases: main, 12.4 Change-Id: I03c2493b7beda4d07e17d1112117d090f0fae545 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82175 Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Benni Mack <benni@typo3.org> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Jochen Roth <rothjochen@gmail.com> Reviewed-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Jochen Roth <rothjochen@gmail.com>
-