- Oct 27, 2023
-
-
Garvin Hicking authored
The `EXT:felogin/Classes/Service/RecoveryService.php` makes use of the local $uriBuilder instance building links, however it does not `reset()` it's state before building a URL. It seems this only creates an issue when used in conjunction with `EXT:vhs` (possibly due to adapted fluid/object caching behavior?). Fixing this by resetting the instance as recommended via https://docs.typo3.org/m/typo3/reference-coreapi/main/en-us/ExtensionArchitecture/Extbase/Reference/UriBuilder.html should take care of this, even though uriBuilder should be a singleton only operating within the scope of a single ActionController. Resolves: #102203 Releases: main, 12.4, 11.5 Change-Id: Idb6089c4b43b6d3352fbbbbeedfa63770959def0 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/81560 Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
core-ci <typo3@b13.com>
-
- Oct 26, 2023
-
-
Bastien Lutz authored
CLI commands had to be registered in the extensions `Services.yaml` file with the `console.command` tag. This change enables automatic cli command registration with the tag `console.command` by using the existing `\Symfony\Component\Console\Attribute\AsCommand` symfony PHP attribute. Thus providing an additional and simpler way, without deprecating or enforcing to change already existing registrations. Resolves: #101567 Releases: main, 12.4 Change-Id: I24edf5ad2291ab5b26e3023f13ef490b88dcc98c Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/81559 Tested-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Stefan Bürk <stefan@buerk.tech>
-
Christian Kuhn authored
Resolves: #101543 Related: #71723 Releases: main, 12.4 Change-Id: If8bc3523b0f3ca1e589baf51f222c2ae476c0376 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/81587 Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
core-ci <typo3@b13.com>
-
Nikita Hovratov authored
EXT:form automatically generates FlexForm for form finisher overrides based on YAML configuration in the `finishersDefinition.FormEngine` sub-array. Since the removal of `TCEforms` for FlexForm (#97126), the regex to match valid FlexForm fields did a "too good" job and also added fields from section containers. These were guarded by a negative lookbehind `(?>!\.TCEforms)`. Note the dot. This basically means ignore anything, which has something else before TCEforms (=sections). This was mostly fixed with #101050 by ignoring anything with a dot before `config.type`. Sadly, this also ignored FlexForm identifiers with dots in their name. In this case `translation.language.config.type`. This whole regex thing is a mess and partially was the reason these issues started as soon as something changed in the FlexForm syntax. Now, in order to fix this, section containers are kicked from the array with plain old PHP logic. This way we don't need to come up with a super smart regex like "anything that ends with `config.type` but not preceded by `_arrayContainer`". I tried and I failed. Resolves: #102250 Related: #101050 Related: #97126 Releases: main, 12.4 Change-Id: I5549bdcfcda1b8dc014c11933b140d5c671c36e1 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/81558 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Stefan Bürk <stefan@buerk.tech>
-
Christian Kuhn authored
This may be triggered by invalid FlexForm values that does not contain a 'data' key for whatever reason. Resolves: #100733 Releases: main, 12.4, 11.5 Change-Id: I96924d65af56fd7cf2bb2a97fd4591b3c81f934f Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/81585 Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch>
-
Oliver Hader authored
To identify whether a nonce values was actually used (consumed), `ConsumableNonce` instances are used, instead of `Nonce` objects. The new `ConsumableNonce` inherits from `ConsumableString`. As a result, the `<f:security.nonce>` view helper would increase the consumption counter. This is important for additional cache handling in the frontend rendering context. Resolves: #101751 Releases: main, 12.4 Change-Id: Iea147b0130e3d350f5913dc75f33af61c18e8af3 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/81580 Tested-by:
Oliver Hader <oliver.hader@typo3.org> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Oliver Hader <oliver.hader@typo3.org>
-
Soren Malling authored
See if a object is a instance of \Stringable aswell as a TypeInterface. TypeInterface implements the __toString method but objects coming from extension can rely on either implements \Stringable or have the __toString method Resolves: #102263 Releases: main, 12.4 Change-Id: I840492b0011b60abc3754f215695154c90b7e707 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/81579 Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
core-ci <typo3@b13.com>
-
Oliver Hader authored
The new section "Content Security Policy Mutations" in the "Configuration" backend module shows the all available CSP scopes, the compiled CSP header value and all involved mutations in the order they are applied with their origins (static package configuration or dynamic resolution item). Resolves: #102017 Releases: main, 12.4 Change-Id: Id6d5f769400b340698fb463ad21f5e8af29a784a Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/81577 Reviewed-by:
Oliver Hader <oliver.hader@typo3.org> Tested-by:
Oliver Hader <oliver.hader@typo3.org> Tested-by:
core-ci <typo3@b13.com>
-
Oliver Hader authored
MutationMode::Extend has some ambiguity when being invoked multiple times on modified ancestor source collections. This change introduces the new MutationMode::InheritOnce, MutationMode::InheritAgain and MutationMode::Append. The implicit behavior of MutationMode::Extend changes from the combination of MutationMode::InheritAgain + MutationMode::Append to MutationMode::InheritOnce + MutationMode::Append to avoid side effects with more configurations modifying the policy. Static mutations loaded from ContentSecurityPolicies.php are ordered accordoring to the packages dependency hierarchy. That is the reason, the configuration from ext:core had to be moved to both ext:backend and ext:frontend. Resolves: #101797 Releases: main, 12.4 Change-Id: I7ab8e9d3f5635783d026f585f15c27ff62189959 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/81574 Reviewed-by:
Oliver Hader <oliver.hader@typo3.org> Tested-by:
Oliver Hader <oliver.hader@typo3.org> Tested-by:
core-ci <typo3@b13.com>
-
- Oct 25, 2023
-
-
Andreas Kienast authored
FormEngine UI has a rather inconsistent markup. Fields within Flexforms may appear within another `div` container, causing issues when trying to mark an erroneous field as such. To solve this short-termed, additional CSS rules are added to cover such cases. In the long run, the FormEngine markup must get consolidated. Resolves: #102252 Releases: main, 12.4 Change-Id: I671fd8fe2edbd2b3592e7f4e1f205544a074ec51 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/81557 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Jasmina Ließmann <minapokhalo+typo3@gmail.com> Reviewed-by:
Jasmina Ließmann <minapokhalo+typo3@gmail.com>
-
Andreas Kienast authored
The module `@typo3/core/ajax/input-transformer` is used to automatically prepare payload to be sent via AJAX. One sub-routine converts nested objects into a flat list recursively. However, the check for objects was not sufficient as, in JavaScript, `null` is also of type `object`. This patch hardens the check to consider non-null values only. Resolves: #102256 Releases: main, 12.4 Change-Id: I6cf902f6a4fa045a4f8304059607f8a359a97186 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/81556 Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Francois Suter <sutfra@gmail.com> Reviewed-by:
Andreas Kienast <a.fernandez@scripting-base.de> Tested-by:
Francois Suter <sutfra@gmail.com> Tested-by:
Andreas Kienast <a.fernandez@scripting-base.de>
-
Benjamin Franzke authored
And therefore maps into a JSON array instead of an object, preventing errors when CKEditor5 operated on the resulting confguration. Resolves: #102230 Resolves: #102245 Related: #102099 Releases: main, 12.4 Change-Id: Ia20e5927b10bbb56763e3fc01cc30c8c4d0252c8 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/81538 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Jasmina Ließmann <minapokhalo+typo3@gmail.com> Tested-by:
Benjamin Franzke <ben@bnf.dev> Reviewed-by:
Benjamin Franzke <ben@bnf.dev> Reviewed-by:
Jasmina Ließmann <minapokhalo+typo3@gmail.com>
-
Markus Klein authored
A record may not have a t3ver_state, hence accessing this value must be safeguarded. Resolves: #102251 Releases: 12.4, 11.5 Change-Id: Ia2050171276891e08d2e84e750cfa894a7f3291f Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/81544 Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by:
Benni Mack <benni@typo3.org> Tested-by:
Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by:
Thomas Hohn <tho@gyldendal.dk> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Thomas Hohn <tho@gyldendal.dk> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch>
-
Benjamin Franzke authored
Enable all current PER-CS2.0 rules in order to reflect our current state of coding style. This was missed in #102240 because pre merge didn't perform a full CGL run when @PER was switched to @PER-CS1.0. Resolves: #102247 Related: #102240 Releases: main, 12.4, 11.5 Change-Id: I0e1c833ad99c4e06767dee8a2c4bcb2bdee6eb68 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/81554 Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Benjamin Franzke <ben@bnf.dev> Tested-by:
Benjamin Franzke <ben@bnf.dev>
-
- Oct 24, 2023
-
-
Benjamin Franzke authored
PER-CS2.0 was added as clone of PER-CS1.0 in php-cs-fixer v3.27 in order to implement the new rules that are defined in PER Coding Style 2.0 [1]. The alias PER already points to PER-CS2.0 although the current set of rules are not implemented yet. [2] There is only one rule (single_line_empty_body) that is done by now and more will follow, so we rather pin to PER-CS1.0 for now (and enable single_line_empty_body which we already migrated to) in order to prevent having coding style changes with every php-cs-fixer raise. We rather wait until the 2.0 preset has been finished and is on par with the upstream php-fig definitions and then switch with one change. [1] https://www.php-fig.org/per/coding-style/ [2] https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7247 Resolves: #102240 Related: #102236 Releases: main, 12.4, 11.5 Change-Id: I33377e4e5016f1e5cc8ab08a9e71a933dcd41d93 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/81553 Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Benjamin Franzke <ben@bnf.dev> Tested-by:
Benjamin Franzke <ben@bnf.dev>
-
Till Hörner authored
Since #99739 the foreign record selector for type select no longer shows the record labels but the uids. Change it to show the label again. Resolves: #102244 Related: #99739 Releases: main, 12.4 Change-Id: I91640769eb76cdba42e781588a68aa449cca70c5 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/81537 Reviewed-by:
Nikita Hovratov <nikita.h@live.de> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Nikita Hovratov <nikita.h@live.de> Reviewed-by:
Jasmina Ließmann <minapokhalo+typo3@gmail.com> Tested-by:
Jasmina Ließmann <minapokhalo+typo3@gmail.com>
-
Christian Kuhn authored
It's time to update to latest changes of php-cs-fixer to align with current community rules. This brings a rather huge series of changes, main changes due to single_line_empty_body rule which now formats empty class and method body curly braces into a single line, plus changes from function_declaration rule which tends to avoid more whitespaces. The change has a slight impact on phpstan, we regenerate baseline. To reduce backport headaches, this change is backported to v12 and v11. > composer req --dev friendsofphp/php-cs-fixer:^3.35.1 > Build/Scripts/runTests.sh -s cgl > Build/Scripts/runTests.sh -s phpstanGenerateBaseline Resolves: #102236 Releases: main, 12.4, 11.5 Change-Id: Iea45b10667951672b2194033216c49f580799f55 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/81513 Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Jasmina Ließmann <minapokhalo+typo3@gmail.com> Reviewed-by:
Jasmina Ließmann <minapokhalo+typo3@gmail.com> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
core-ci <typo3@b13.com>
-
- Oct 23, 2023
-
-
Jasmina Ließmann authored
The "Limit history to this record" link in the record history module is broken and always uses the same link value. With this patch the correct value will be used. Resolves: #102234 Releases: main, 12.4 Change-Id: Iaf013b82746b03892d295ed8b8a67c3f8c63fbc6 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/81468 Tested-by:
Jasmina Ließmann <minapokhalo+typo3@gmail.com> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Jasmina Ließmann <minapokhalo+typo3@gmail.com>
-
Christian Kuhn authored
When a page with a content element that has images assigned is copied in workspaces, a PHP array access error is raised since sys_file_reference TCA has no sortby ctrl. Add an appropriate null fallback. Resolves: #102231 Releases: main, 12.4, 11.5 Change-Id: I453a612a62a359156c8be2e087d1d121f1b9c3ea Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/81466 Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch>
-
Uwe Trotzek authored
This change transforms the processed record of FlexForms into a human-readable format. This is especially useful when comparing changes in the history module or the workspaces diff view. The diff needs to be formatted with line breaks and tabs as the output is passed through "htmlspecialchars" before it will be displayed. The white-space css setting needs to be changed to "pre-wrap", because this is the only setting where line breaks and tabs are kept and the text will still be word-wrapped. Resolves: #91148 Releases: main, 12.4 Change-Id: I189555f459a3a96594e9c708b4ee71c908efd970 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/75117 Tested-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Nikita Hovratov <nikita.h@live.de> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Nikita Hovratov <nikita.h@live.de> Tested-by:
Anja Leichsenring <aleichsenring@ab-softlab.de> Reviewed-by:
Anja Leichsenring <aleichsenring@ab-softlab.de> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/81508
-
Christoph Lehmann authored
The PreviewSimulator might turn on the includeHiddenPages flag in VisibilityAspect due to hidden pages in current the rootline. The flag is now taken into account when generating the rootline cache identifier and thus the rootline cache doesn't need to get flushed. Resolves: #102205 Related: #17599 Releases: main, 12.4 Change-Id: If5246c9297d00071852968d48801d35f4060d110 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/81465 Reviewed-by:
Benni Mack <benni@typo3.org> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Benni Mack <benni@typo3.org>
-
Josef Glatz authored
This patch improves the readability of the record history view of an element which was edited in switchTo mode by showing the original user always on a new line. div tags are used instead of span tags, to reduce any dependency on bootstrap classes for displaying an element as display:block. Resolves: #102200 Related: #102091 Releases: main, 12.4 Change-Id: I873711d4be6651ff15ae82e0bd7cbc4c6bf16e26 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/81464 Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
core-ci <typo3@b13.com>
-
- Oct 22, 2023
-
-
Nikita Hovratov authored
RuntimeException is never thrown in the executed code of ImageViewHelper. Reason is, that the image either is inside the fallback storage "0" or it was already caught by InvalidArgumentException catch block. For reference: There is no way to find out, which RuntimeException the author meant to catch. I assume it was the one in AbstractFile->getStorage (code: 1381570091). Resolves: #102223 Related: #71686 Releases: main, 12.4 Change-Id: Ia08c085a13c29b4188f955887dcaa0410c2f47b0 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/81463 Tested-by:
Nikita Hovratov <nikita.h@live.de> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Nikita Hovratov <nikita.h@live.de>
-
Nikita Hovratov authored
This is a follow-up patch for #102220. A dedicated fileadmin path has been added for ImageViewHelperTest and unnecessary fixtures are removed. In addition, error message checks are added for the invalidArgument test cases in order to clarify, what exactly is supposed to go wrong. Resolves: #102221 Related: #102220 Releases: main, 12.4 Change-Id: I03404c5f15f1a67032fce01febc4a9a5214373f6 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/81462 Reviewed-by:
Nikita Hovratov <nikita.h@live.de> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Nikita Hovratov <nikita.h@live.de>
-
Nikita Hovratov authored
- Remove duplicate test case for src="" and image="null" - Avoid instantiating ImageViewHelper with "new" -> use TemplateView - Add missing scenarios for possible exceptions Resolves: #102220 Releases: main, 12.4 Change-Id: I18b5cdbe7471a53ebb57bbe5521fecc051a24d26 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/81461 Reviewed-by:
Nikita Hovratov <nikita.h@live.de> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Nikita Hovratov <nikita.h@live.de>
-
- Oct 20, 2023
-
-
Nikita Hovratov authored
In order to align with the current specification of .editorconfig, all xml files inside typo3/sysext and Build have their tabs replaced with 4 spaces. Executed commands: find ./typo3/sysext/ -type f -name "*.xml" \ -exec sed -i 's/\t/ /g' {} \; find ./Build -name "*.xml" -not -path "./Build/node_modules/*" \ -exec sed -i 's/\t/ /g' {} \; Note: Manual adjustment in some impexp fixtures have been done to keep tabs as there is a database version of FlexForm stored. Resolves: #102199 Releases: main, 12.4 Change-Id: I146e3ad53b1b6afdd5a7f5f725a409c301ecead1 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/81489 Tested-by:
Oliver Klee <typo3-coding@oliverklee.de> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Nikita Hovratov <nikita.h@live.de> Reviewed-by:
Nikita Hovratov <nikita.h@live.de> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de>
-
Simon Schaufelberger authored
Most fixes relate to indefinite article usage "an vs a" and some typos. Resolves: #102074 Releases: main, 12.4, 11.5 Change-Id: Ief07759697828d94edde8902a912719f82b2b798 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/81486 Reviewed-by:
Benjamin Franzke <ben@bnf.dev> Tested-by:
Benjamin Franzke <ben@bnf.dev> Tested-by:
core-ci <typo3@b13.com>
-
- Oct 19, 2023
-
-
Simon Praetorius authored
It is already possible to use the "value" argument together with "property" in form ViewHelpers. This should be reflected in the ViewHelper documentation. One possible use case is a form to edit a user. For the password field you would want to define property="password", but also value="" to not expose the current password hash to the form. Resolves: #102206 Releases: main, 12.4, 11.5 Change-Id: I3c7b1a201e38ccef84efcc863075043cf461dd20 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/81459 Tested-by:
Simon Praetorius <simon@praetorius.me> Reviewed-by:
Simon Praetorius <simon@praetorius.me>
-
Andreas Kienast authored
Executed commands: npm install --save-dev terser@^5.22.0 npm run build Resolves: #102201 Releases: main, 12.4 Change-Id: I16e9c884f7314b8b38d7587341a57f2777e89986 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/81482 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Andreas Kienast <a.fernandez@scripting-base.de> Reviewed-by:
Andreas Kienast <a.fernandez@scripting-base.de>
-
Andreas Kienast authored
Some dev dependencies have known security issues again, that are now updated. Executed command: npm audit fix Resolves: #102208 Releases: main, 12.4 Change-Id: Ib83c955dbd06d6ba54dc264c4c82315888fe9622 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/81480 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Andreas Kienast <a.fernandez@scripting-base.de> Reviewed-by:
Benjamin Franzke <ben@bnf.dev> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Tested-by:
Benjamin Franzke <ben@bnf.dev> Tested-by:
Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by:
Andreas Kienast <a.fernandez@scripting-base.de>
-
Oliver Hader authored
The new MutationRepository is a central place for providing static mutations (from configuration) and resolved mutations (static mutations + dynamic resolutions from database). The corresponding logic has been extracted and moved from the PolicyProvider to the new repository. Resolves: #102011 Releases: main, 12.4 Change-Id: Iaa627236fd55fb2c7c910ea7c13b54a1ad7cc663 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/81481 Tested-by:
Benjamin Franzke <ben@bnf.dev> Reviewed-by:
Benjamin Franzke <ben@bnf.dev> Tested-by:
core-ci <typo3@b13.com>
-
Andreas Kienast authored
This commit updates ckeditor5 to v40. See changelog at https://github.com/ckeditor/ckeditor5/releases/tag/v40.0.0. Executed commands: npm i --save \ @ckeditor/ckeditor5-alignment@^40.0.0 \ @ckeditor/ckeditor5-autoformat@^40.0.0 \ @ckeditor/ckeditor5-basic-styles@^40.0.0 \ @ckeditor/ckeditor5-block-quote@^40.0.0 \ @ckeditor/ckeditor5-clipboard@^40.0.0 \ @ckeditor/ckeditor5-code-block@^40.0.0 \ @ckeditor/ckeditor5-core@^40.0.0 \ @ckeditor/ckeditor5-dev-utils@^39.1.0 \ @ckeditor/ckeditor5-editor-classic@^40.0.0 \ @ckeditor/ckeditor5-engine@^40.0.0 \ @ckeditor/ckeditor5-essentials@^40.0.0 \ @ckeditor/ckeditor5-find-and-replace@^40.0.0 \ @ckeditor/ckeditor5-heading@^40.0.0 \ @ckeditor/ckeditor5-horizontal-line@^40.0.0 \ @ckeditor/ckeditor5-html-support@^40.0.0 \ @ckeditor/ckeditor5-indent@^40.0.0 \ @ckeditor/ckeditor5-link@^40.0.0 \ @ckeditor/ckeditor5-list@^40.0.0 \ @ckeditor/ckeditor5-paragraph@^40.0.0 \ @ckeditor/ckeditor5-paste-from-office@^40.0.0 \ @ckeditor/ckeditor5-remove-format@^40.0.0 \ @ckeditor/ckeditor5-show-blocks@^40.0.0 \ @ckeditor/ckeditor5-source-editing@^40.0.0 \ @ckeditor/ckeditor5-special-characters@^40.0.0 \ @ckeditor/ckeditor5-style@^40.0.0 \ @ckeditor/ckeditor5-table@^40.0.0 \ @ckeditor/ckeditor5-theme-lark@^40.0.0 \ @ckeditor/ckeditor5-ui@^40.0.0 \ @ckeditor/ckeditor5-undo@^40.0.0 \ @ckeditor/ckeditor5-utils@^40.0.0 \ @ckeditor/ckeditor5-word-count@^40.0.0 npm run build Resolves: #102198 Releases: main, 12.4 Change-Id: Ie8535118f53f80509985277766b1ed2fb95bf778 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/81476 Tested-by:
Andreas Kienast <a.fernandez@scripting-base.de> Reviewed-by:
Andreas Kienast <a.fernandez@scripting-base.de> Tested-by:
core-ci <typo3@b13.com>
-
- Oct 18, 2023
-
-
Markus Klein authored
`$TCA['ctrl']['title']` is optional and may not be set. Resolves: #102195 Releases: main, 12.4, 11.5 Change-Id: I38a5aa921515f48b2e35a0ebdb8bcdce646b5bd6 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/81457 Reviewed-by:
Andreas Kienast <a.fernandez@scripting-base.de> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Andreas Kienast <a.fernandez@scripting-base.de>
-
Jan Greth authored
The file `settings.php`, which stores the value of $GLOBALS['TYPO3_CONF_VARS']['BE']['installToolPassword'] is located under `config/system/` in Composer-mode. If a project is not set up with composer it is `typo3conf/system/`. The hint next to the Install Tool's login mask spells the wrong path, which is corrected with this patch. Also the difference between legacy and composer setups is taken into account, without exposing information about the projects file structure. Resolves: #102166 Releases: main, 12.4 Change-Id: I5b2313516c1af9623a9c8de8f1dca7bb46fb8ce0 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/81456 Tested-by:
Nikita Hovratov <nikita.h@live.de> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Nikita Hovratov <nikita.h@live.de>
-
Christoph Lehmann authored
They are executed to build a descriptive cache identifier and the database name is now received from configuration instead firing an SQL query. SQLite for example does not have a database name, here 'generic' is used as fallback. Resolves: #102174 Releases: main, 12.4 Change-Id: Ic8f46675a850a7fca9508acb7dc1432493437ff3 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/81455 Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Stefan Bürk <stefan@buerk.tech>
-
Georg Ringer authored
More TCA types must be allowed for field mapping of reactions. Resolves: #102180 Releases: main, 12.4 Change-Id: I33327e7d083f9b31ab8e1764255eb5e7aa111d70 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/81454 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Stefan Bürk <stefan@buerk.tech>
-
Benjamin Franzke authored
An `instanceof Type` on `Type|null` is unneeded and is to be replaced by a null-check (or modern alternatives like optional chaning or the null coalescing operator) in order to avoid narrowing code branches unnecessarily. We call them "pseudo" uncertain checks there is no need to express uncertainty regarding the type in a condition where native type declarations define a specific type *or* null: It is `null` or `!null`. Definition of a pseudo uncertain instanceof check: `$foo instanceof Bar` is fully equivalent to `$foo !== null`, when `$foo` is defined (via native PHP types) to be `Bar|null`. ⇒ `instanceof` expresses pseudo uncertainty regarding the type. From what we have seen in previous gerrit discussions, there were two reasons why instanceof was preferred over null checks although being unneeded: 1) Cognitive load for an instanceof check is perceived to be lower in contrast to negated null (not null) conditions 2) Preparatory safe-guard against type of $foo being changed at sometime later 1) Cognitive load is a subjective term and the opinions actually differ a lot. Some developers prefer narrowing instanceof conditions because they claim the desired type for a certain code branch. Some others say that's a clear signal for code that needs refactoring and perceive a high cognitive load because they do not understand why the type is unnecessarily checked if it can only be null or not null. Lets call that: "reverse cognitive load". That means, this argument basically boils down to "congitive load" (for the good "then" case: inner code block) vs "reverse cognitive load" (for the bad "else" case: outer code block) ⇒ Due to being subjective "cognitive load" is not a good argument to base a decision upon. 2) The second argument is that an instanceof ensures a method that is to be called actually exists and doesn't lead to an error – that is a "preparatory safe-guard". This is true and works, but doesn't "answer" the question, what happens if the object is not an instance of the desired type (but not null). While preparatory safe-guards against the type of variable being changed sometime later was probably a pretty good idea for code that is not statically analyzed and had no native type declarations, but such checks effectively preclude that the type must/should never change (which might not be true!) and has no chance of actually detecting when that case (type change/extension) ever happens. All advantages offered by pseudo uncertain instanceof checks are accomplished with static code analysis as well, but with the added downside that an `instanceof` hardcodes our human static code analysis result, instead of letting the static analyzer do the job. To explain that: If the type of the variable under test is actually widened (like a union type, or change to a base class), it will never be automatically detected that there is an instanceof condition that restricts the type too narrowly. It will always be valid code from static code analysis perspective. In comparison to that, static analysis on null-checked variables will report invalid method calls or assignments not allowed by the (natively defined) types and will notify in case a type change requires the code to be adapted. We gain the advantage that the code will not be forgotten to be updated to a new type. That means !== null combined with static code analysis has the same level of being a safeguard against the bad cases, while instanceof silently transforms new "good"-cases into bugs, where !== null is a transparent and secure passthrough. Actually to make an uncertain instanceof robust, an elseif branch would be needed to be somehow notified about new good-cases without silently ignoring them: if ($foo instanceof Foo) { … } elseif ($foo !== null) { throw new MustNeverHappenException(…); } In other words an unneeded pseudo uncertain instanceof check is basically like a switch construct without a default case. Just to be explicit: Of course, instanceof is fine to be used when multiples types are to be expected and handled in different code branches. That means pseudo uncertain instanceof usage instead of null-checks is an antipattern for the following reasons: * It narrow code branches for the sake of less cognitive load * The cognitive load appears to be lower, but actually future-bad cases are overseen and are never auto-detectable in future – while null-checks will resolve to static analysis errors in case the input type is *ever* widened (which uncertain `instanceof` checks try to prepare for, but actually introduce future-bugs because of missing `else` cases) * It embraces deep nesting instead of early returns via null-checks * It embraces conditions over newer and more elegant PHP techniques like optional chaing * Tries to "help" the developer by explicitly anotating the current type of the variable under test ⇒ This is a clear sign of code smell, that needs to refactored into smaller chunks and methods and type autocompletion/information can be provided by IDEs when using proper types (which this change is about) anyway * Has zero advantages over static code analysis Resolves: #102140 Releases: main, 12.4 Change-Id: I10de41e9744a814c9e24255573b5a5eaf6fb8b0f Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/81445 Tested-by:
Benjamin Franzke <ben@bnf.dev> Reviewed-by:
Benjamin Franzke <ben@bnf.dev> Tested-by:
core-ci <typo3@b13.com>
-
- Oct 17, 2023
-
-
Markus Klein authored
'transOrigPointerField' may not be set for a table Resolves: #102190 Releases: main, 12.4, 11.5 Change-Id: I79febf5d99774b5e22d03f42f9088c00fa98dfc4 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/81452 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Stefan Bürk <stefan@buerk.tech>
-
- Oct 16, 2023
-
-
Oliver Hader authored
Some database systems like PostgresSQL and MySQL are really picky if selected columns are not contained in all group and order selections or no aggregation method is used (aka 'ONLY_FULL_GROUP_BY'). That may be influenced by server configuration, which makes it really hard to come up with a minmal grouping query if: * not all used `ORDER BY` fields are included in the `GROUP BY` selection * not all `GROUP BY` fields are contained in the `SELECT` field list * Fields in the `SELECT` list are not included in the `GROUP BY` list OR using a aggregation function like `MAX()`, `MIN()`, `AVG(), `SUM()` and similar. Aggregation function cannot be used for non numeric values like `uuid like` strings and prevent to group on a field but retrieve the uinique id (UUID, uid, ) of the `first` or `last` record per group in on query. To get a similar effect through all database vendor and without requiring specific, mostly not default database settings provided by many hosting provider or in default configuration for databases, this change introduces a nested inner join construct with to ensure the same result across multiple systems. Resolves: #101913 Releases: main, 12.4 Change-Id: I28fa36db46d8219fc67a5503509e2a92a71ea6a7 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/81435 Tested-by:
Oliver Hader <oliver.hader@typo3.org> Reviewed-by:
Oliver Hader <oliver.hader@typo3.org> Tested-by:
core-ci <typo3@b13.com>
-
- Oct 15, 2023
-
-
Patrick Schriner authored
The option untrusted is now properly passed to the addQueryString configuration for the menu object. Resolves: #102162 Releases: main, 12.4 Change-Id: Ibdda3dd256d1984f5589c39077f8defc4a4b818a Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/81351 Tested-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Stefan Bürk <stefan@buerk.tech>
-