Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow version 4 of php-token-stream #837

Merged
merged 1 commit into from Dec 2, 2020
Merged

Allow version 4 of php-token-stream #837

merged 1 commit into from Dec 2, 2020

Conversation

leofeyer
Copy link

@leofeyer leofeyer commented Dec 2, 2020

Since PHPUnit 8.5 is supposed to work on both PHP 7 and PHP 8, I think we need to allow version 4 of phpunit/php-token-stream to prevent the following error:

Error: Class "PHP_Token_NAME_QUALIFIED" not found

Support for NAME_QUALIFIED has only been added in version 4.0.4, however, this version is not allowed here yet.

Another possible solution would be to allow php-code-coverage version 8 in PHPUnit 8.5, but I figured that this change might have less side-effects. @sebastianbergmann If you prefer the other solution, I'll happily create a new PR. ;)

@sebastianbergmann
Copy link
Owner

PHPUnit 8.5 is supported on PHP 8 but without code coverage functionality. See https://github.com/sebastianbergmann/php-code-coverage/blob/7.0/ChangeLog.md#changed and https://github.com/sebastianbergmann/phpunit/blob/8.5/ChangeLog-8.5.md#changed.

That being said, you should not run into an error. Can you please provide instructions on how to reproduce it? PHPUnit 8.5 should not call into php-code-coverage and php-token-stream from there.

@sebastianbergmann
Copy link
Owner

Also note that even at version 4, php-token-stream is not compatible with PHP 8 -- and will not be made compatible with PHP 8.

@leofeyer
Copy link
Author

leofeyer commented Dec 2, 2020

You are right, the issue is not directly caused by PHPUnit 8.5. We are using phpunit-token-stream in Contao 4.9 LTS (see PhpFileLoader@4.9) and we need to install version 4.0.4. However, PHPUnit 8.5 only allows version 3:

Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - phpunit/phpunit[8.5.11, ..., 8.5.13] require phpunit/php-code-coverage ^7.0.12 -> satisfiable by phpunit/php-code-coverage[7.0.12, 7.0.13].
    - phpunit/phpunit 8.5.10 requires phpunit/php-code-coverage ^7.0.11 -> satisfiable by phpunit/php-code-coverage[7.0.11, 7.0.12, 7.0.13].
    - phpunit/phpunit 8.5.9 requires phpunit/php-code-coverage ^7.0.10 -> satisfiable by phpunit/php-code-coverage[7.0.10, 7.0.11, 7.0.12, 7.0.13].
    - phpunit/phpunit[8.5.0, ..., 8.5.8] require phpunit/php-code-coverage ^7.0.7 -> satisfiable by phpunit/php-code-coverage[7.0.7, ..., 7.0.13].
    - phpunit/php-code-coverage 7.0.7 requires phpunit/php-token-stream ^3.1.0 -> found phpunit/php-token-stream[3.1.0, 3.1.1, 3.1.2] but it conflicts with your root composer.json require (^4.0).
    - phpunit/php-code-coverage[7.0.8, ..., 7.0.13] require phpunit/php-token-stream ^3.1.1 -> found phpunit/php-token-stream[3.1.1, 3.1.2] but it conflicts with your root composer.json require (^4.0).
    - Root composer.json requires phpunit/phpunit ^8.5 -> satisfiable by phpunit/phpunit[8.5.0, ..., 8.5.13].

With this PR, it would be possible to require phpunit/phpunit: ^8.5 and phpunit/php-token-stream: ^4.0.4, which is what we would need. 🙈

@sebastianbergmann
Copy link
Owner

Again: php-token-stream is not compatible with PHP 8.

@ausi
Copy link

ausi commented Dec 2, 2020

But it was marked compatible since version 4.0.3, see sebastianbergmann/php-token-stream@4201f21

@leofeyer
Copy link
Author

leofeyer commented Dec 2, 2020

Again: php-token-stream is not compatible with PHP 8.

I know. But Contao 4.9 is a long term support version, which will never use any PHP 8-specific code. Therefore it works quite well in our case. 🤷🏻‍♂️

The most recent Contao version uses nikic/php-parser instead of php-token-stream, so this is really only about enabling the combination of phpunit/phpunit: ^8.5 and phpunit/php-token-stream: ^4.0.4 for an existing LTS version.

@sebastianbergmann sebastianbergmann merged commit f41d028 into sebastianbergmann:7.0 Dec 2, 2020
@leofeyer
Copy link
Author

leofeyer commented Dec 2, 2020

Thank you. 🙏🏻

@leofeyer leofeyer deleted the patch-1 branch December 2, 2020 13:36
leofeyer added a commit to contao/contao that referenced this pull request Dec 4, 2020
Description
-----------

See #2263 and #2291

### TODO

* [x] Fix the tests.
* [x] Wait if sebastianbergmann/php-code-coverage#837 gets merged and then use PHPUnit 8.5 for all PHP versions.
* [ ] <del>Click through the back end and front end and fix all warnings.</del>

Commits
-------

8ad6149 Add PHP 8.0 to the CI chain
7b8729e Fix the unit and functional tests
47c14db Use 127.0.0.1 instead of localhost in the functional tests
938836c Always set the ACCEPT_LANGUAGE header in the functional tests
a4199ec Use PHPUnit 8.5 for all PHP versions
7ffbd26 Adjust the error level in PHP 8
4ce6b27 Merge branch '4.9' into fix/php8
leofeyer added a commit to contao/manager-bundle that referenced this pull request Dec 4, 2020
Description
-----------

See #2263 and #2291

### TODO

* [x] Fix the tests.
* [x] Wait if sebastianbergmann/php-code-coverage#837 gets merged and then use PHPUnit 8.5 for all PHP versions.
* [ ] <del>Click through the back end and front end and fix all warnings.</del>

Commits
-------

8ad61492 Add PHP 8.0 to the CI chain
7b8729e5 Fix the unit and functional tests
47c14dbb Use 127.0.0.1 instead of localhost in the functional tests
938836c0 Always set the ACCEPT_LANGUAGE header in the functional tests
a4199ec2 Use PHPUnit 8.5 for all PHP versions
7ffbd267 Adjust the error level in PHP 8
4ce6b27b Merge branch '4.9' into fix/php8
leofeyer added a commit to contao/news-bundle that referenced this pull request Dec 4, 2020
Description
-----------

See #2263 and #2291

### TODO

* [x] Fix the tests.
* [x] Wait if sebastianbergmann/php-code-coverage#837 gets merged and then use PHPUnit 8.5 for all PHP versions.
* [ ] <del>Click through the back end and front end and fix all warnings.</del>

Commits
-------

8ad61492 Add PHP 8.0 to the CI chain
7b8729e5 Fix the unit and functional tests
47c14dbb Use 127.0.0.1 instead of localhost in the functional tests
938836c0 Always set the ACCEPT_LANGUAGE header in the functional tests
a4199ec2 Use PHPUnit 8.5 for all PHP versions
7ffbd267 Adjust the error level in PHP 8
4ce6b27b Merge branch '4.9' into fix/php8
leofeyer added a commit to contao/faq-bundle that referenced this pull request Dec 4, 2020
Description
-----------

See #2263 and #2291

### TODO

* [x] Fix the tests.
* [x] Wait if sebastianbergmann/php-code-coverage#837 gets merged and then use PHPUnit 8.5 for all PHP versions.
* [ ] <del>Click through the back end and front end and fix all warnings.</del>

Commits
-------

8ad61492 Add PHP 8.0 to the CI chain
7b8729e5 Fix the unit and functional tests
47c14dbb Use 127.0.0.1 instead of localhost in the functional tests
938836c0 Always set the ACCEPT_LANGUAGE header in the functional tests
a4199ec2 Use PHPUnit 8.5 for all PHP versions
7ffbd267 Adjust the error level in PHP 8
4ce6b27b Merge branch '4.9' into fix/php8
leofeyer added a commit to contao/installation-bundle that referenced this pull request Dec 4, 2020
Description
-----------

See #2263 and #2291

### TODO

* [x] Fix the tests.
* [x] Wait if sebastianbergmann/php-code-coverage#837 gets merged and then use PHPUnit 8.5 for all PHP versions.
* [ ] <del>Click through the back end and front end and fix all warnings.</del>

Commits
-------

8ad61492 Add PHP 8.0 to the CI chain
7b8729e5 Fix the unit and functional tests
47c14dbb Use 127.0.0.1 instead of localhost in the functional tests
938836c0 Always set the ACCEPT_LANGUAGE header in the functional tests
a4199ec2 Use PHPUnit 8.5 for all PHP versions
7ffbd267 Adjust the error level in PHP 8
4ce6b27b Merge branch '4.9' into fix/php8
leofeyer added a commit to contao/core-bundle that referenced this pull request Dec 4, 2020
Description
-----------

See #2263 and #2291

### TODO

* [x] Fix the tests.
* [x] Wait if sebastianbergmann/php-code-coverage#837 gets merged and then use PHPUnit 8.5 for all PHP versions.
* [ ] <del>Click through the back end and front end and fix all warnings.</del>

Commits
-------

8ad61492 Add PHP 8.0 to the CI chain
7b8729e5 Fix the unit and functional tests
47c14dbb Use 127.0.0.1 instead of localhost in the functional tests
938836c0 Always set the ACCEPT_LANGUAGE header in the functional tests
a4199ec2 Use PHPUnit 8.5 for all PHP versions
7ffbd267 Adjust the error level in PHP 8
4ce6b27b Merge branch '4.9' into fix/php8
leofeyer added a commit to contao/listing-bundle that referenced this pull request Dec 4, 2020
Description
-----------

See #2263 and #2291

### TODO

* [x] Fix the tests.
* [x] Wait if sebastianbergmann/php-code-coverage#837 gets merged and then use PHPUnit 8.5 for all PHP versions.
* [ ] <del>Click through the back end and front end and fix all warnings.</del>

Commits
-------

8ad61492 Add PHP 8.0 to the CI chain
7b8729e5 Fix the unit and functional tests
47c14dbb Use 127.0.0.1 instead of localhost in the functional tests
938836c0 Always set the ACCEPT_LANGUAGE header in the functional tests
a4199ec2 Use PHPUnit 8.5 for all PHP versions
7ffbd267 Adjust the error level in PHP 8
4ce6b27b Merge branch '4.9' into fix/php8
leofeyer added a commit to contao/calendar-bundle that referenced this pull request Dec 4, 2020
Description
-----------

See #2263 and #2291

### TODO

* [x] Fix the tests.
* [x] Wait if sebastianbergmann/php-code-coverage#837 gets merged and then use PHPUnit 8.5 for all PHP versions.
* [ ] <del>Click through the back end and front end and fix all warnings.</del>

Commits
-------

8ad61492 Add PHP 8.0 to the CI chain
7b8729e5 Fix the unit and functional tests
47c14dbb Use 127.0.0.1 instead of localhost in the functional tests
938836c0 Always set the ACCEPT_LANGUAGE header in the functional tests
a4199ec2 Use PHPUnit 8.5 for all PHP versions
7ffbd267 Adjust the error level in PHP 8
4ce6b27b Merge branch '4.9' into fix/php8
leofeyer added a commit to contao/comments-bundle that referenced this pull request Dec 4, 2020
Description
-----------

See #2263 and #2291

### TODO

* [x] Fix the tests.
* [x] Wait if sebastianbergmann/php-code-coverage#837 gets merged and then use PHPUnit 8.5 for all PHP versions.
* [ ] <del>Click through the back end and front end and fix all warnings.</del>

Commits
-------

8ad61492 Add PHP 8.0 to the CI chain
7b8729e5 Fix the unit and functional tests
47c14dbb Use 127.0.0.1 instead of localhost in the functional tests
938836c0 Always set the ACCEPT_LANGUAGE header in the functional tests
a4199ec2 Use PHPUnit 8.5 for all PHP versions
7ffbd267 Adjust the error level in PHP 8
4ce6b27b Merge branch '4.9' into fix/php8
leofeyer added a commit to contao/newsletter-bundle that referenced this pull request Dec 4, 2020
Description
-----------

See #2263 and #2291

### TODO

* [x] Fix the tests.
* [x] Wait if sebastianbergmann/php-code-coverage#837 gets merged and then use PHPUnit 8.5 for all PHP versions.
* [ ] <del>Click through the back end and front end and fix all warnings.</del>

Commits
-------

8ad61492 Add PHP 8.0 to the CI chain
7b8729e5 Fix the unit and functional tests
47c14dbb Use 127.0.0.1 instead of localhost in the functional tests
938836c0 Always set the ACCEPT_LANGUAGE header in the functional tests
a4199ec2 Use PHPUnit 8.5 for all PHP versions
7ffbd267 Adjust the error level in PHP 8
4ce6b27b Merge branch '4.9' into fix/php8
leofeyer added a commit to contao/contao that referenced this pull request Dec 11, 2020
Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #...
| Docs PR or issue | contao/docs#...

Commits
-------

13c00f1 Add the feature action to the permission checks (see #2524)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #2505
| Docs PR or issue | n/a

See #2505.

Commits
-------

6131435 Add feature action to permission check as well (see #2505)
55d85f3 Allow version 3 of toflar/psr6-symfony-http-cache-store (see #2522)

Description
-----------

Another step towards #2263.

Commits
-------

2efea3b Allow version 3 of toflar/psr6-symfony-http-cache-store
1cc3754 Increase undo expiry date (see #2528)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | -
| Docs PR or issue | -

I really think the default undo period of 24h is not a good default (which is why I think it should be changed in 4.9 LTS too).

For me, there are two use cases our current undo system can cover:

1. The immediate "Oh, I deleted something which I shouldn't have" case: 24 hours are enough
2. The customer did something over the weekend and you get a report on Monday that something was deleted: 24 hours are likely not enough.

So 30 days by default seem totally okay to me. It makes no sense to store undo entries that date back a year or so.

Commits
-------

7d7f01e Increase undo expiry date
7efdef4 Trigger the onload_callback when featuring news (see #2531)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #2485
| Docs PR or issue | -

Commits
-------

dee7c1d Trigger the onload_callback when featuring news
bc8447d Trigger the onload_callback when featuring news/events (see #2532)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #2485
| Docs PR or issue | -

Same PR as #2531 for Contao 4.10 where we also have featured events.

Commits
-------

c3a849c Trigger the onload_callback when featuring news/events
67c7b18 Backport the doctrine-cache-bundle changes (see #2534)

Description
-----------

Backports the changes from #1916 to Contao 4.9 to make it compatible with PHP 8 (see #2263).

Commits
-------

ba9d21f Backport the doctrine-cache-bundle changes
d1103e9 CS
3feda71 Add compatibility with PHP 8 (see #2535)

Description
-----------

See #2263 and #2291

### TODO

* [x] Fix the tests.
* [x] Wait if sebastianbergmann/php-code-coverage#837 gets merged and then use PHPUnit 8.5 for all PHP versions.
* [ ] <del>Click through the back end and front end and fix all warnings.</del>

Commits
-------

8ad6149 Add PHP 8.0 to the CI chain
7b8729e Fix the unit and functional tests
47c14db Use 127.0.0.1 instead of localhost in the functional tests
938836c Always set the ACCEPT_LANGUAGE header in the functional tests
a4199ec Use PHPUnit 8.5 for all PHP versions
7ffbd26 Adjust the error level in PHP 8
4ce6b27 Merge branch '4.9' into fix/php8
24b1d71 Update the changelog and the language files (see #2541)

Description
-----------

-

Commits
-------

a55a7f2 Update the changelog and the language files
d19cb6c Add a missing PHPStan dependency (see #2543)

Description
-----------

-

Commits
-------

288bc91 Add a missing PHPStan dependency
80b6469 Merge branch '4.4' into 4.9

# Conflicts:
#	installation-bundle/src/Resources/translations/messages.fr.xlf
#	news-bundle/src/Resources/contao/dca/tl_news.php
ffebcd7 Fix issues found by the PhpStorm code inspector (see #2544)

Description
-----------

Function arguments renaming → forward compat with PHP 8.

Commits
-------

d6b22e4 Fix issues found by the PhpStorm code inspector
1fb0b96 More fixes
e2544f4 And even more
e6c4b18 Add global page model for fragments (see #2506)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #1935

As discussed on Mumble on the 2020-11-19, this should make the (global) page model available in the fragment controllers.

Commits
-------

03e7c41 Add global page model for fragments (replaces #1935)
a5c2326 Cast values for comparison
826748d Added unit tests
00eeb72 CS
29ea202 CS
0e09e4e Merge branch '4.9' into bugfix/page-argument
77c79be Do not try to generate fragments for generated fragments (see #2521)

Description
-----------

If a fragment has multiple methods with different fragment type (e.g. a content element and a front end module), the first RegisterFragmentsPass creates a child definition that inherits all tags from the original. On the next run, the RegisterFragmentsPass would pick up the child definition and try to create duplicate fragments.

Commits
-------

cc5d72c Do not try to generate fragments for generated fragments
a0b92bb CS
4b8bc8f Merge branch '4.9' into bugfix/fragment-children
8605bc4 Allow caption to be a textarea rather than a text field (see #2527)

Description
-----------

An image caption shouldn't be limited to 255 chars only, that makes no sense to me.

That's the result:

<img width="1174" alt="Bildschirmfoto 2020-11-27 um 13 12 19" src="https://user-images.githubusercontent.com/481937/100448322-60b94a80-30b2-11eb-88f2-99f8fb499e4d.png">

Commits
-------

06f57ee Allow caption to be a textarea rather than a text field limited to 255 chars
b346f65 CS
0c23a1f Merge branch '4.9' into fix/allow-textarea-for-meta-caption
244d845 Move migrations to core bundle (see #2545)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #2364

Commits
-------

1d6f417 Move migrations to core bundle
20dfde3 Fix missing globals array
51fb5c7 PHPStan
5034731 Pass the filesystem as dependency and remove the Contao 3 migrations
66231e7 Fix compatibility with scssphp 1.4 (see #2547)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #2495

### ToDos

- [ ] Revert contao/conflicts@820074e once this got merged and released (4.9 and upstream).

Commits
-------

961abaa Set the file path to fix compatibility with scssphp 1.4
946940d Run the CS fixer (see #2548)

Description
-----------

-

Commits
-------

29af160 Run the CS fixer
0df5442 Do not index preview URLs for searching (see #2550)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #2507
| Docs PR or issue | -

@Toflar: If the `X-Robots-Tag` header or the meta robots tag contains `noindex`, the listener will not pass the document to the indexer at all. This means that potentially existing entries will not be deleted. Is this OK?

Commits
-------

17d0e8a Do not index preview URLs for searching
137d410 Correctly load the DCA labels (see #2540)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #2536

see #2536 for the discussion

Commits
-------

cb3740c Correctly load the DCA labels
64d2350 Merge branch '4.9' into bugfix/dca-labels
103649e Fix the cache tag invalidation (see #2551)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #2137
| Docs PR or issue | -

This is currently a proof of concept that should work for news and events. @Toflar @ausi Can you confirm that my implementation is what you had in mind?

### TODO

* [x] Add a general tag without ID for the top parent record
* [x] Implement cache tagging for the other elements and modules

Commits
-------

b523f61 Fix the cache tag invalidation
64c4cdc CS
4b61ac2 Do not double tag the content elements
5b4a03d Add a tag for the top parent element
996694e Add tagging for the missing modules
601247f Also tag the comments
90caa2a Strip port numbers from root page domains (see #2553)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #2214
| Docs PR or issue | -

Tested against https://regex101.com/r/jU0OrQ/2

Commits
-------

52e85cd Strip port numbers from root page domains
48a0c3c Improve the regex

Co-authored-by: Martin Auswöger <martin@auswoeger.com>
bacb48b Clean up before the release (see #2560)

Description
-----------

-

Commits
-------

7db3c54 Clean up before the release
41b89f2 Update the changelog and the language files (see #2561)

Description
-----------

-

Commits
-------

6c50c48 Update the changelog and the language files
918884c Update the changelog
5eb206f Merge branch '4.9' into 4.10

# Conflicts:
#	calendar-bundle/src/Resources/contao/languages/fr/tl_calendar_feed.xlf
#	composer.json
#	core-bundle/src/Command/InstallCommand.php
#	core-bundle/src/Command/SymlinksCommand.php
#	core-bundle/src/DependencyInjection/Compiler/RegisterFragmentsPass.php
#	core-bundle/src/Migration/Version408/Version480Update.php
#	core-bundle/src/Resources/contao/dca/tl_page.php
#	core-bundle/src/Resources/contao/library/Contao/Controller.php
#	core-bundle/src/Resources/contao/library/Contao/DcaExtractor.php
#	core-bundle/src/Resources/contao/library/Contao/InsertTags.php
#	core-bundle/src/Resources/contao/modules/Module.php
#	core-bundle/tests/Contao/Database/ResultTest.php
#	core-bundle/tests/Functional/RoutingTest.php
#	core-bundle/tests/Security/Authentication/RememberMe/ExpiringTokenBasedRememberMeServicesTest.php
#	installation-bundle/src/Database/Version330Update.php
#	manager-bundle/composer.json
#	manager-bundle/src/Resources/skeleton/config/config.yml
#	manager-bundle/tests/ContaoManager/PluginTest.php
#	monorepo.yml
#	news-bundle/src/Resources/contao/dca/tl_news.php
#	news-bundle/src/Resources/contao/languages/fr/tl_news_feed.xlf
695843a Clean up after the upstream merge (see #2564)

Description
-----------

-

Commits
-------

950581e Clean up after the upstream merge
280339c Update the changelog and the language files (see #2565)

Description
-----------

-

Commits
-------

5d2cada Update the changelog and the language files
b7567a8 Merge branch '4.10' into master

# Conflicts:
#	calendar-bundle/composer.json
#	comments-bundle/composer.json
#	composer.json
#	core-bundle/composer.json
#	core-bundle/src/Resources/contao/languages/fr/tl_article.xlf
#	core-bundle/src/Resources/contao/languages/fr/tl_form_field.xlf
#	core-bundle/src/Resources/contao/languages/fr/tl_image_size_item.xlf
#	core-bundle/src/Resources/contao/languages/fr/tl_layout.xlf
#	core-bundle/src/Resources/contao/languages/fr/tl_member.xlf
#	core-bundle/src/Resources/contao/languages/fr/tl_member_group.xlf
#	core-bundle/src/Resources/contao/languages/fr/tl_style_sheet.xlf
#	core-bundle/src/Resources/contao/languages/fr/tl_theme.xlf
#	core-bundle/src/Resources/contao/languages/fr/tl_user.xlf
#	core-bundle/src/Resources/contao/languages/fr/tl_user_group.xlf
#	core-bundle/tests/Contao/SearchTest.php
#	faq-bundle/composer.json
#	installation-bundle/composer.json
#	installation-bundle/src/Database/Version330Update.php
#	installation-bundle/src/Database/Version350Update.php
#	listing-bundle/composer.json
#	manager-bundle/composer.json
#	news-bundle/composer.json
#	news-bundle/src/Resources/contao/languages/cs/default.xlf
#	news-bundle/src/Resources/contao/languages/cs/tl_layout.xlf
#	news-bundle/src/Resources/contao/languages/cs/tl_news_feed.xlf
#	news-bundle/src/Resources/contao/languages/cs/tl_user_group.xlf
#	newsletter-bundle/composer.json
leofeyer added a commit to contao/manager-bundle that referenced this pull request Dec 11, 2020
Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #...
| Docs PR or issue | contao/docs#...

Commits
-------

13c00f1b Add the feature action to the permission checks (see #2524)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #2505
| Docs PR or issue | n/a

See #2505.

Commits
-------

61314356 Add feature action to permission check as well (see #2505)
55d85f37 Allow version 3 of toflar/psr6-symfony-http-cache-store (see #2522)

Description
-----------

Another step towards contao/contao#2263.

Commits
-------

2efea3bc Allow version 3 of toflar/psr6-symfony-http-cache-store
1cc3754d Increase undo expiry date (see #2528)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | -
| Docs PR or issue | -

I really think the default undo period of 24h is not a good default (which is why I think it should be changed in 4.9 LTS too).

For me, there are two use cases our current undo system can cover:

1. The immediate "Oh, I deleted something which I shouldn't have" case: 24 hours are enough
2. The customer did something over the weekend and you get a report on Monday that something was deleted: 24 hours are likely not enough.

So 30 days by default seem totally okay to me. It makes no sense to store undo entries that date back a year or so.

Commits
-------

7d7f01ec Increase undo expiry date
7efdef49 Trigger the onload_callback when featuring news (see #2531)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #2485
| Docs PR or issue | -

Commits
-------

dee7c1dc Trigger the onload_callback when featuring news
bc8447de Trigger the onload_callback when featuring news/events (see #2532)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #2485
| Docs PR or issue | -

Same PR as #2531 for Contao 4.10 where we also have featured events.

Commits
-------

c3a849ca Trigger the onload_callback when featuring news/events
67c7b188 Backport the doctrine-cache-bundle changes (see #2534)

Description
-----------

Backports the changes from #1916 to Contao 4.9 to make it compatible with PHP 8 (see #2263).

Commits
-------

ba9d21f1 Backport the doctrine-cache-bundle changes
d1103e9d CS
3feda719 Add compatibility with PHP 8 (see #2535)

Description
-----------

See #2263 and #2291

### TODO

* [x] Fix the tests.
* [x] Wait if sebastianbergmann/php-code-coverage#837 gets merged and then use PHPUnit 8.5 for all PHP versions.
* [ ] <del>Click through the back end and front end and fix all warnings.</del>

Commits
-------

8ad61492 Add PHP 8.0 to the CI chain
7b8729e5 Fix the unit and functional tests
47c14dbb Use 127.0.0.1 instead of localhost in the functional tests
938836c0 Always set the ACCEPT_LANGUAGE header in the functional tests
a4199ec2 Use PHPUnit 8.5 for all PHP versions
7ffbd267 Adjust the error level in PHP 8
4ce6b27b Merge branch '4.9' into fix/php8
24b1d711 Update the changelog and the language files (see #2541)

Description
-----------

-

Commits
-------

a55a7f20 Update the changelog and the language files
d19cb6c3 Add a missing PHPStan dependency (see #2543)

Description
-----------

-

Commits
-------

288bc91b Add a missing PHPStan dependency
80b6469c Merge branch '4.4' into 4.9

# Conflicts:
#	installation-bundle/src/Resources/translations/messages.fr.xlf
#	news-bundle/src/Resources/contao/dca/tl_news.php
ffebcd7f Fix issues found by the PhpStorm code inspector (see #2544)

Description
-----------

Function arguments renaming → forward compat with PHP 8.

Commits
-------

d6b22e4f Fix issues found by the PhpStorm code inspector
1fb0b96f More fixes
e2544f49 And even more
e6c4b182 Add global page model for fragments (see #2506)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #1935

As discussed on Mumble on the 2020-11-19, this should make the (global) page model available in the fragment controllers.

Commits
-------

03e7c410 Add global page model for fragments (replaces #1935)
a5c23263 Cast values for comparison
826748dc Added unit tests
00eeb729 CS
29ea202c CS
0e09e4ec Merge branch '4.9' into bugfix/page-argument
77c79bef Do not try to generate fragments for generated fragments (see #2521)

Description
-----------

If a fragment has multiple methods with different fragment type (e.g. a content element and a front end module), the first RegisterFragmentsPass creates a child definition that inherits all tags from the original. On the next run, the RegisterFragmentsPass would pick up the child definition and try to create duplicate fragments.

Commits
-------

cc5d72c2 Do not try to generate fragments for generated fragments
a0b92bba CS
4b8bc8f6 Merge branch '4.9' into bugfix/fragment-children
8605bc45 Allow caption to be a textarea rather than a text field (see #2527)

Description
-----------

An image caption shouldn't be limited to 255 chars only, that makes no sense to me.

That's the result:

<img width="1174" alt="Bildschirmfoto 2020-11-27 um 13 12 19" src="https://user-images.githubusercontent.com/481937/100448322-60b94a80-30b2-11eb-88f2-99f8fb499e4d.png">

Commits
-------

06f57eed Allow caption to be a textarea rather than a text field limited to 255 chars
b346f659 CS
0c23a1f9 Merge branch '4.9' into fix/allow-textarea-for-meta-caption
244d8455 Move migrations to core bundle (see #2545)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #2364

Commits
-------

1d6f4171 Move migrations to core bundle
20dfde35 Fix missing globals array
51fb5c72 PHPStan
5034731d Pass the filesystem as dependency and remove the Contao 3 migrations
66231e75 Fix compatibility with scssphp 1.4 (see #2547)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #2495

### ToDos

- [ ] Revert contao/conflicts@820074e once this got merged and released (4.9 and upstream).

Commits
-------

961abaaa Set the file path to fix compatibility with scssphp 1.4
946940d5 Run the CS fixer (see #2548)

Description
-----------

-

Commits
-------

29af160e Run the CS fixer
0df5442b Do not index preview URLs for searching (see #2550)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #2507
| Docs PR or issue | -

@Toflar: If the `X-Robots-Tag` header or the meta robots tag contains `noindex`, the listener will not pass the document to the indexer at all. This means that potentially existing entries will not be deleted. Is this OK?

Commits
-------

17d0e8a7 Do not index preview URLs for searching
137d4100 Correctly load the DCA labels (see #2540)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #2536

see #2536 for the discussion

Commits
-------

cb3740c2 Correctly load the DCA labels
64d23500 Merge branch '4.9' into bugfix/dca-labels
103649e2 Fix the cache tag invalidation (see #2551)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #2137
| Docs PR or issue | -

This is currently a proof of concept that should work for news and events. @Toflar @ausi Can you confirm that my implementation is what you had in mind?

### TODO

* [x] Add a general tag without ID for the top parent record
* [x] Implement cache tagging for the other elements and modules

Commits
-------

b523f614 Fix the cache tag invalidation
64c4cdc3 CS
4b61ac26 Do not double tag the content elements
5b4a03d8 Add a tag for the top parent element
996694e5 Add tagging for the missing modules
601247f2 Also tag the comments
90caa2a8 Strip port numbers from root page domains (see #2553)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #2214
| Docs PR or issue | -

Tested against https://regex101.com/r/jU0OrQ/2

Commits
-------

52e85cdb Strip port numbers from root page domains
48a0c3c0 Improve the regex

Co-authored-by: Martin Auswöger <martin@auswoeger.com>
bacb48b3 Clean up before the release (see #2560)

Description
-----------

-

Commits
-------

7db3c543 Clean up before the release
41b89f2d Update the changelog and the language files (see #2561)

Description
-----------

-

Commits
-------

6c50c48d Update the changelog and the language files
918884ce Update the changelog
5eb206fb Merge branch '4.9' into 4.10

# Conflicts:
#	calendar-bundle/src/Resources/contao/languages/fr/tl_calendar_feed.xlf
#	composer.json
#	core-bundle/src/Command/InstallCommand.php
#	core-bundle/src/Command/SymlinksCommand.php
#	core-bundle/src/DependencyInjection/Compiler/RegisterFragmentsPass.php
#	core-bundle/src/Migration/Version408/Version480Update.php
#	core-bundle/src/Resources/contao/dca/tl_page.php
#	core-bundle/src/Resources/contao/library/Contao/Controller.php
#	core-bundle/src/Resources/contao/library/Contao/DcaExtractor.php
#	core-bundle/src/Resources/contao/library/Contao/InsertTags.php
#	core-bundle/src/Resources/contao/modules/Module.php
#	core-bundle/tests/Contao/Database/ResultTest.php
#	core-bundle/tests/Functional/RoutingTest.php
#	core-bundle/tests/Security/Authentication/RememberMe/ExpiringTokenBasedRememberMeServicesTest.php
#	installation-bundle/src/Database/Version330Update.php
#	manager-bundle/composer.json
#	manager-bundle/src/Resources/skeleton/config/config.yml
#	manager-bundle/tests/ContaoManager/PluginTest.php
#	monorepo.yml
#	news-bundle/src/Resources/contao/dca/tl_news.php
#	news-bundle/src/Resources/contao/languages/fr/tl_news_feed.xlf
695843a5 Clean up after the upstream merge (see #2564)

Description
-----------

-

Commits
-------

950581e1 Clean up after the upstream merge
280339c0 Update the changelog and the language files (see #2565)

Description
-----------

-

Commits
-------

5d2cadae Update the changelog and the language files
b7567a83 Merge branch '4.10' into master

# Conflicts:
#	calendar-bundle/composer.json
#	comments-bundle/composer.json
#	composer.json
#	core-bundle/composer.json
#	core-bundle/src/Resources/contao/languages/fr/tl_article.xlf
#	core-bundle/src/Resources/contao/languages/fr/tl_form_field.xlf
#	core-bundle/src/Resources/contao/languages/fr/tl_image_size_item.xlf
#	core-bundle/src/Resources/contao/languages/fr/tl_layout.xlf
#	core-bundle/src/Resources/contao/languages/fr/tl_member.xlf
#	core-bundle/src/Resources/contao/languages/fr/tl_member_group.xlf
#	core-bundle/src/Resources/contao/languages/fr/tl_style_sheet.xlf
#	core-bundle/src/Resources/contao/languages/fr/tl_theme.xlf
#	core-bundle/src/Resources/contao/languages/fr/tl_user.xlf
#	core-bundle/src/Resources/contao/languages/fr/tl_user_group.xlf
#	core-bundle/tests/Contao/SearchTest.php
#	faq-bundle/composer.json
#	installation-bundle/composer.json
#	installation-bundle/src/Database/Version330Update.php
#	installation-bundle/src/Database/Version350Update.php
#	listing-bundle/composer.json
#	manager-bundle/composer.json
#	news-bundle/composer.json
#	news-bundle/src/Resources/contao/languages/cs/default.xlf
#	news-bundle/src/Resources/contao/languages/cs/tl_layout.xlf
#	news-bundle/src/Resources/contao/languages/cs/tl_news_feed.xlf
#	news-bundle/src/Resources/contao/languages/cs/tl_user_group.xlf
#	newsletter-bundle/composer.json
leofeyer added a commit to contao/newsletter-bundle that referenced this pull request Dec 11, 2020
Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #...
| Docs PR or issue | contao/docs#...

Commits
-------

13c00f1b Add the feature action to the permission checks (see #2524)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #2505
| Docs PR or issue | n/a

See #2505.

Commits
-------

61314356 Add feature action to permission check as well (see #2505)
55d85f37 Allow version 3 of toflar/psr6-symfony-http-cache-store (see #2522)

Description
-----------

Another step towards contao/contao#2263.

Commits
-------

2efea3bc Allow version 3 of toflar/psr6-symfony-http-cache-store
1cc3754d Increase undo expiry date (see #2528)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | -
| Docs PR or issue | -

I really think the default undo period of 24h is not a good default (which is why I think it should be changed in 4.9 LTS too).

For me, there are two use cases our current undo system can cover:

1. The immediate "Oh, I deleted something which I shouldn't have" case: 24 hours are enough
2. The customer did something over the weekend and you get a report on Monday that something was deleted: 24 hours are likely not enough.

So 30 days by default seem totally okay to me. It makes no sense to store undo entries that date back a year or so.

Commits
-------

7d7f01ec Increase undo expiry date
7efdef49 Trigger the onload_callback when featuring news (see #2531)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #2485
| Docs PR or issue | -

Commits
-------

dee7c1dc Trigger the onload_callback when featuring news
bc8447de Trigger the onload_callback when featuring news/events (see #2532)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #2485
| Docs PR or issue | -

Same PR as #2531 for Contao 4.10 where we also have featured events.

Commits
-------

c3a849ca Trigger the onload_callback when featuring news/events
67c7b188 Backport the doctrine-cache-bundle changes (see #2534)

Description
-----------

Backports the changes from #1916 to Contao 4.9 to make it compatible with PHP 8 (see #2263).

Commits
-------

ba9d21f1 Backport the doctrine-cache-bundle changes
d1103e9d CS
3feda719 Add compatibility with PHP 8 (see #2535)

Description
-----------

See #2263 and #2291

### TODO

* [x] Fix the tests.
* [x] Wait if sebastianbergmann/php-code-coverage#837 gets merged and then use PHPUnit 8.5 for all PHP versions.
* [ ] <del>Click through the back end and front end and fix all warnings.</del>

Commits
-------

8ad61492 Add PHP 8.0 to the CI chain
7b8729e5 Fix the unit and functional tests
47c14dbb Use 127.0.0.1 instead of localhost in the functional tests
938836c0 Always set the ACCEPT_LANGUAGE header in the functional tests
a4199ec2 Use PHPUnit 8.5 for all PHP versions
7ffbd267 Adjust the error level in PHP 8
4ce6b27b Merge branch '4.9' into fix/php8
24b1d711 Update the changelog and the language files (see #2541)

Description
-----------

-

Commits
-------

a55a7f20 Update the changelog and the language files
d19cb6c3 Add a missing PHPStan dependency (see #2543)

Description
-----------

-

Commits
-------

288bc91b Add a missing PHPStan dependency
80b6469c Merge branch '4.4' into 4.9

# Conflicts:
#	installation-bundle/src/Resources/translations/messages.fr.xlf
#	news-bundle/src/Resources/contao/dca/tl_news.php
ffebcd7f Fix issues found by the PhpStorm code inspector (see #2544)

Description
-----------

Function arguments renaming → forward compat with PHP 8.

Commits
-------

d6b22e4f Fix issues found by the PhpStorm code inspector
1fb0b96f More fixes
e2544f49 And even more
e6c4b182 Add global page model for fragments (see #2506)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #1935

As discussed on Mumble on the 2020-11-19, this should make the (global) page model available in the fragment controllers.

Commits
-------

03e7c410 Add global page model for fragments (replaces #1935)
a5c23263 Cast values for comparison
826748dc Added unit tests
00eeb729 CS
29ea202c CS
0e09e4ec Merge branch '4.9' into bugfix/page-argument
77c79bef Do not try to generate fragments for generated fragments (see #2521)

Description
-----------

If a fragment has multiple methods with different fragment type (e.g. a content element and a front end module), the first RegisterFragmentsPass creates a child definition that inherits all tags from the original. On the next run, the RegisterFragmentsPass would pick up the child definition and try to create duplicate fragments.

Commits
-------

cc5d72c2 Do not try to generate fragments for generated fragments
a0b92bba CS
4b8bc8f6 Merge branch '4.9' into bugfix/fragment-children
8605bc45 Allow caption to be a textarea rather than a text field (see #2527)

Description
-----------

An image caption shouldn't be limited to 255 chars only, that makes no sense to me.

That's the result:

<img width="1174" alt="Bildschirmfoto 2020-11-27 um 13 12 19" src="https://user-images.githubusercontent.com/481937/100448322-60b94a80-30b2-11eb-88f2-99f8fb499e4d.png">

Commits
-------

06f57eed Allow caption to be a textarea rather than a text field limited to 255 chars
b346f659 CS
0c23a1f9 Merge branch '4.9' into fix/allow-textarea-for-meta-caption
244d8455 Move migrations to core bundle (see #2545)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #2364

Commits
-------

1d6f4171 Move migrations to core bundle
20dfde35 Fix missing globals array
51fb5c72 PHPStan
5034731d Pass the filesystem as dependency and remove the Contao 3 migrations
66231e75 Fix compatibility with scssphp 1.4 (see #2547)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #2495

### ToDos

- [ ] Revert contao/conflicts@820074e once this got merged and released (4.9 and upstream).

Commits
-------

961abaaa Set the file path to fix compatibility with scssphp 1.4
946940d5 Run the CS fixer (see #2548)

Description
-----------

-

Commits
-------

29af160e Run the CS fixer
0df5442b Do not index preview URLs for searching (see #2550)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #2507
| Docs PR or issue | -

@Toflar: If the `X-Robots-Tag` header or the meta robots tag contains `noindex`, the listener will not pass the document to the indexer at all. This means that potentially existing entries will not be deleted. Is this OK?

Commits
-------

17d0e8a7 Do not index preview URLs for searching
137d4100 Correctly load the DCA labels (see #2540)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #2536

see #2536 for the discussion

Commits
-------

cb3740c2 Correctly load the DCA labels
64d23500 Merge branch '4.9' into bugfix/dca-labels
103649e2 Fix the cache tag invalidation (see #2551)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #2137
| Docs PR or issue | -

This is currently a proof of concept that should work for news and events. @Toflar @ausi Can you confirm that my implementation is what you had in mind?

### TODO

* [x] Add a general tag without ID for the top parent record
* [x] Implement cache tagging for the other elements and modules

Commits
-------

b523f614 Fix the cache tag invalidation
64c4cdc3 CS
4b61ac26 Do not double tag the content elements
5b4a03d8 Add a tag for the top parent element
996694e5 Add tagging for the missing modules
601247f2 Also tag the comments
90caa2a8 Strip port numbers from root page domains (see #2553)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #2214
| Docs PR or issue | -

Tested against https://regex101.com/r/jU0OrQ/2

Commits
-------

52e85cdb Strip port numbers from root page domains
48a0c3c0 Improve the regex

Co-authored-by: Martin Auswöger <martin@auswoeger.com>
bacb48b3 Clean up before the release (see #2560)

Description
-----------

-

Commits
-------

7db3c543 Clean up before the release
41b89f2d Update the changelog and the language files (see #2561)

Description
-----------

-

Commits
-------

6c50c48d Update the changelog and the language files
918884ce Update the changelog
5eb206fb Merge branch '4.9' into 4.10

# Conflicts:
#	calendar-bundle/src/Resources/contao/languages/fr/tl_calendar_feed.xlf
#	composer.json
#	core-bundle/src/Command/InstallCommand.php
#	core-bundle/src/Command/SymlinksCommand.php
#	core-bundle/src/DependencyInjection/Compiler/RegisterFragmentsPass.php
#	core-bundle/src/Migration/Version408/Version480Update.php
#	core-bundle/src/Resources/contao/dca/tl_page.php
#	core-bundle/src/Resources/contao/library/Contao/Controller.php
#	core-bundle/src/Resources/contao/library/Contao/DcaExtractor.php
#	core-bundle/src/Resources/contao/library/Contao/InsertTags.php
#	core-bundle/src/Resources/contao/modules/Module.php
#	core-bundle/tests/Contao/Database/ResultTest.php
#	core-bundle/tests/Functional/RoutingTest.php
#	core-bundle/tests/Security/Authentication/RememberMe/ExpiringTokenBasedRememberMeServicesTest.php
#	installation-bundle/src/Database/Version330Update.php
#	manager-bundle/composer.json
#	manager-bundle/src/Resources/skeleton/config/config.yml
#	manager-bundle/tests/ContaoManager/PluginTest.php
#	monorepo.yml
#	news-bundle/src/Resources/contao/dca/tl_news.php
#	news-bundle/src/Resources/contao/languages/fr/tl_news_feed.xlf
695843a5 Clean up after the upstream merge (see #2564)

Description
-----------

-

Commits
-------

950581e1 Clean up after the upstream merge
280339c0 Update the changelog and the language files (see #2565)

Description
-----------

-

Commits
-------

5d2cadae Update the changelog and the language files
b7567a83 Merge branch '4.10' into master

# Conflicts:
#	calendar-bundle/composer.json
#	comments-bundle/composer.json
#	composer.json
#	core-bundle/composer.json
#	core-bundle/src/Resources/contao/languages/fr/tl_article.xlf
#	core-bundle/src/Resources/contao/languages/fr/tl_form_field.xlf
#	core-bundle/src/Resources/contao/languages/fr/tl_image_size_item.xlf
#	core-bundle/src/Resources/contao/languages/fr/tl_layout.xlf
#	core-bundle/src/Resources/contao/languages/fr/tl_member.xlf
#	core-bundle/src/Resources/contao/languages/fr/tl_member_group.xlf
#	core-bundle/src/Resources/contao/languages/fr/tl_style_sheet.xlf
#	core-bundle/src/Resources/contao/languages/fr/tl_theme.xlf
#	core-bundle/src/Resources/contao/languages/fr/tl_user.xlf
#	core-bundle/src/Resources/contao/languages/fr/tl_user_group.xlf
#	core-bundle/tests/Contao/SearchTest.php
#	faq-bundle/composer.json
#	installation-bundle/composer.json
#	installation-bundle/src/Database/Version330Update.php
#	installation-bundle/src/Database/Version350Update.php
#	listing-bundle/composer.json
#	manager-bundle/composer.json
#	news-bundle/composer.json
#	news-bundle/src/Resources/contao/languages/cs/default.xlf
#	news-bundle/src/Resources/contao/languages/cs/tl_layout.xlf
#	news-bundle/src/Resources/contao/languages/cs/tl_news_feed.xlf
#	news-bundle/src/Resources/contao/languages/cs/tl_user_group.xlf
#	newsletter-bundle/composer.json
leofeyer added a commit to contao/faq-bundle that referenced this pull request Dec 11, 2020
Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #...
| Docs PR or issue | contao/docs#...

Commits
-------

13c00f1b Add the feature action to the permission checks (see #2524)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #2505
| Docs PR or issue | n/a

See #2505.

Commits
-------

61314356 Add feature action to permission check as well (see #2505)
55d85f37 Allow version 3 of toflar/psr6-symfony-http-cache-store (see #2522)

Description
-----------

Another step towards contao/contao#2263.

Commits
-------

2efea3bc Allow version 3 of toflar/psr6-symfony-http-cache-store
1cc3754d Increase undo expiry date (see #2528)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | -
| Docs PR or issue | -

I really think the default undo period of 24h is not a good default (which is why I think it should be changed in 4.9 LTS too).

For me, there are two use cases our current undo system can cover:

1. The immediate "Oh, I deleted something which I shouldn't have" case: 24 hours are enough
2. The customer did something over the weekend and you get a report on Monday that something was deleted: 24 hours are likely not enough.

So 30 days by default seem totally okay to me. It makes no sense to store undo entries that date back a year or so.

Commits
-------

7d7f01ec Increase undo expiry date
7efdef49 Trigger the onload_callback when featuring news (see #2531)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #2485
| Docs PR or issue | -

Commits
-------

dee7c1dc Trigger the onload_callback when featuring news
bc8447de Trigger the onload_callback when featuring news/events (see #2532)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #2485
| Docs PR or issue | -

Same PR as #2531 for Contao 4.10 where we also have featured events.

Commits
-------

c3a849ca Trigger the onload_callback when featuring news/events
67c7b188 Backport the doctrine-cache-bundle changes (see #2534)

Description
-----------

Backports the changes from #1916 to Contao 4.9 to make it compatible with PHP 8 (see #2263).

Commits
-------

ba9d21f1 Backport the doctrine-cache-bundle changes
d1103e9d CS
3feda719 Add compatibility with PHP 8 (see #2535)

Description
-----------

See #2263 and #2291

### TODO

* [x] Fix the tests.
* [x] Wait if sebastianbergmann/php-code-coverage#837 gets merged and then use PHPUnit 8.5 for all PHP versions.
* [ ] <del>Click through the back end and front end and fix all warnings.</del>

Commits
-------

8ad61492 Add PHP 8.0 to the CI chain
7b8729e5 Fix the unit and functional tests
47c14dbb Use 127.0.0.1 instead of localhost in the functional tests
938836c0 Always set the ACCEPT_LANGUAGE header in the functional tests
a4199ec2 Use PHPUnit 8.5 for all PHP versions
7ffbd267 Adjust the error level in PHP 8
4ce6b27b Merge branch '4.9' into fix/php8
24b1d711 Update the changelog and the language files (see #2541)

Description
-----------

-

Commits
-------

a55a7f20 Update the changelog and the language files
d19cb6c3 Add a missing PHPStan dependency (see #2543)

Description
-----------

-

Commits
-------

288bc91b Add a missing PHPStan dependency
80b6469c Merge branch '4.4' into 4.9

# Conflicts:
#	installation-bundle/src/Resources/translations/messages.fr.xlf
#	news-bundle/src/Resources/contao/dca/tl_news.php
ffebcd7f Fix issues found by the PhpStorm code inspector (see #2544)

Description
-----------

Function arguments renaming → forward compat with PHP 8.

Commits
-------

d6b22e4f Fix issues found by the PhpStorm code inspector
1fb0b96f More fixes
e2544f49 And even more
e6c4b182 Add global page model for fragments (see #2506)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #1935

As discussed on Mumble on the 2020-11-19, this should make the (global) page model available in the fragment controllers.

Commits
-------

03e7c410 Add global page model for fragments (replaces #1935)
a5c23263 Cast values for comparison
826748dc Added unit tests
00eeb729 CS
29ea202c CS
0e09e4ec Merge branch '4.9' into bugfix/page-argument
77c79bef Do not try to generate fragments for generated fragments (see #2521)

Description
-----------

If a fragment has multiple methods with different fragment type (e.g. a content element and a front end module), the first RegisterFragmentsPass creates a child definition that inherits all tags from the original. On the next run, the RegisterFragmentsPass would pick up the child definition and try to create duplicate fragments.

Commits
-------

cc5d72c2 Do not try to generate fragments for generated fragments
a0b92bba CS
4b8bc8f6 Merge branch '4.9' into bugfix/fragment-children
8605bc45 Allow caption to be a textarea rather than a text field (see #2527)

Description
-----------

An image caption shouldn't be limited to 255 chars only, that makes no sense to me.

That's the result:

<img width="1174" alt="Bildschirmfoto 2020-11-27 um 13 12 19" src="https://user-images.githubusercontent.com/481937/100448322-60b94a80-30b2-11eb-88f2-99f8fb499e4d.png">

Commits
-------

06f57eed Allow caption to be a textarea rather than a text field limited to 255 chars
b346f659 CS
0c23a1f9 Merge branch '4.9' into fix/allow-textarea-for-meta-caption
244d8455 Move migrations to core bundle (see #2545)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #2364

Commits
-------

1d6f4171 Move migrations to core bundle
20dfde35 Fix missing globals array
51fb5c72 PHPStan
5034731d Pass the filesystem as dependency and remove the Contao 3 migrations
66231e75 Fix compatibility with scssphp 1.4 (see #2547)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #2495

### ToDos

- [ ] Revert contao/conflicts@820074e once this got merged and released (4.9 and upstream).

Commits
-------

961abaaa Set the file path to fix compatibility with scssphp 1.4
946940d5 Run the CS fixer (see #2548)

Description
-----------

-

Commits
-------

29af160e Run the CS fixer
0df5442b Do not index preview URLs for searching (see #2550)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #2507
| Docs PR or issue | -

@Toflar: If the `X-Robots-Tag` header or the meta robots tag contains `noindex`, the listener will not pass the document to the indexer at all. This means that potentially existing entries will not be deleted. Is this OK?

Commits
-------

17d0e8a7 Do not index preview URLs for searching
137d4100 Correctly load the DCA labels (see #2540)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #2536

see #2536 for the discussion

Commits
-------

cb3740c2 Correctly load the DCA labels
64d23500 Merge branch '4.9' into bugfix/dca-labels
103649e2 Fix the cache tag invalidation (see #2551)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #2137
| Docs PR or issue | -

This is currently a proof of concept that should work for news and events. @Toflar @ausi Can you confirm that my implementation is what you had in mind?

### TODO

* [x] Add a general tag without ID for the top parent record
* [x] Implement cache tagging for the other elements and modules

Commits
-------

b523f614 Fix the cache tag invalidation
64c4cdc3 CS
4b61ac26 Do not double tag the content elements
5b4a03d8 Add a tag for the top parent element
996694e5 Add tagging for the missing modules
601247f2 Also tag the comments
90caa2a8 Strip port numbers from root page domains (see #2553)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #2214
| Docs PR or issue | -

Tested against https://regex101.com/r/jU0OrQ/2

Commits
-------

52e85cdb Strip port numbers from root page domains
48a0c3c0 Improve the regex

Co-authored-by: Martin Auswöger <martin@auswoeger.com>
bacb48b3 Clean up before the release (see #2560)

Description
-----------

-

Commits
-------

7db3c543 Clean up before the release
41b89f2d Update the changelog and the language files (see #2561)

Description
-----------

-

Commits
-------

6c50c48d Update the changelog and the language files
918884ce Update the changelog
5eb206fb Merge branch '4.9' into 4.10

# Conflicts:
#	calendar-bundle/src/Resources/contao/languages/fr/tl_calendar_feed.xlf
#	composer.json
#	core-bundle/src/Command/InstallCommand.php
#	core-bundle/src/Command/SymlinksCommand.php
#	core-bundle/src/DependencyInjection/Compiler/RegisterFragmentsPass.php
#	core-bundle/src/Migration/Version408/Version480Update.php
#	core-bundle/src/Resources/contao/dca/tl_page.php
#	core-bundle/src/Resources/contao/library/Contao/Controller.php
#	core-bundle/src/Resources/contao/library/Contao/DcaExtractor.php
#	core-bundle/src/Resources/contao/library/Contao/InsertTags.php
#	core-bundle/src/Resources/contao/modules/Module.php
#	core-bundle/tests/Contao/Database/ResultTest.php
#	core-bundle/tests/Functional/RoutingTest.php
#	core-bundle/tests/Security/Authentication/RememberMe/ExpiringTokenBasedRememberMeServicesTest.php
#	installation-bundle/src/Database/Version330Update.php
#	manager-bundle/composer.json
#	manager-bundle/src/Resources/skeleton/config/config.yml
#	manager-bundle/tests/ContaoManager/PluginTest.php
#	monorepo.yml
#	news-bundle/src/Resources/contao/dca/tl_news.php
#	news-bundle/src/Resources/contao/languages/fr/tl_news_feed.xlf
695843a5 Clean up after the upstream merge (see #2564)

Description
-----------

-

Commits
-------

950581e1 Clean up after the upstream merge
280339c0 Update the changelog and the language files (see #2565)

Description
-----------

-

Commits
-------

5d2cadae Update the changelog and the language files
b7567a83 Merge branch '4.10' into master

# Conflicts:
#	calendar-bundle/composer.json
#	comments-bundle/composer.json
#	composer.json
#	core-bundle/composer.json
#	core-bundle/src/Resources/contao/languages/fr/tl_article.xlf
#	core-bundle/src/Resources/contao/languages/fr/tl_form_field.xlf
#	core-bundle/src/Resources/contao/languages/fr/tl_image_size_item.xlf
#	core-bundle/src/Resources/contao/languages/fr/tl_layout.xlf
#	core-bundle/src/Resources/contao/languages/fr/tl_member.xlf
#	core-bundle/src/Resources/contao/languages/fr/tl_member_group.xlf
#	core-bundle/src/Resources/contao/languages/fr/tl_style_sheet.xlf
#	core-bundle/src/Resources/contao/languages/fr/tl_theme.xlf
#	core-bundle/src/Resources/contao/languages/fr/tl_user.xlf
#	core-bundle/src/Resources/contao/languages/fr/tl_user_group.xlf
#	core-bundle/tests/Contao/SearchTest.php
#	faq-bundle/composer.json
#	installation-bundle/composer.json
#	installation-bundle/src/Database/Version330Update.php
#	installation-bundle/src/Database/Version350Update.php
#	listing-bundle/composer.json
#	manager-bundle/composer.json
#	news-bundle/composer.json
#	news-bundle/src/Resources/contao/languages/cs/default.xlf
#	news-bundle/src/Resources/contao/languages/cs/tl_layout.xlf
#	news-bundle/src/Resources/contao/languages/cs/tl_news_feed.xlf
#	news-bundle/src/Resources/contao/languages/cs/tl_user_group.xlf
#	newsletter-bundle/composer.json
leofeyer added a commit to contao/listing-bundle that referenced this pull request Dec 11, 2020
Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #...
| Docs PR or issue | contao/docs#...

Commits
-------

13c00f1b Add the feature action to the permission checks (see #2524)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #2505
| Docs PR or issue | n/a

See #2505.

Commits
-------

61314356 Add feature action to permission check as well (see #2505)
55d85f37 Allow version 3 of toflar/psr6-symfony-http-cache-store (see #2522)

Description
-----------

Another step towards contao/contao#2263.

Commits
-------

2efea3bc Allow version 3 of toflar/psr6-symfony-http-cache-store
1cc3754d Increase undo expiry date (see #2528)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | -
| Docs PR or issue | -

I really think the default undo period of 24h is not a good default (which is why I think it should be changed in 4.9 LTS too).

For me, there are two use cases our current undo system can cover:

1. The immediate "Oh, I deleted something which I shouldn't have" case: 24 hours are enough
2. The customer did something over the weekend and you get a report on Monday that something was deleted: 24 hours are likely not enough.

So 30 days by default seem totally okay to me. It makes no sense to store undo entries that date back a year or so.

Commits
-------

7d7f01ec Increase undo expiry date
7efdef49 Trigger the onload_callback when featuring news (see #2531)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #2485
| Docs PR or issue | -

Commits
-------

dee7c1dc Trigger the onload_callback when featuring news
bc8447de Trigger the onload_callback when featuring news/events (see #2532)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #2485
| Docs PR or issue | -

Same PR as #2531 for Contao 4.10 where we also have featured events.

Commits
-------

c3a849ca Trigger the onload_callback when featuring news/events
67c7b188 Backport the doctrine-cache-bundle changes (see #2534)

Description
-----------

Backports the changes from #1916 to Contao 4.9 to make it compatible with PHP 8 (see #2263).

Commits
-------

ba9d21f1 Backport the doctrine-cache-bundle changes
d1103e9d CS
3feda719 Add compatibility with PHP 8 (see #2535)

Description
-----------

See #2263 and #2291

### TODO

* [x] Fix the tests.
* [x] Wait if sebastianbergmann/php-code-coverage#837 gets merged and then use PHPUnit 8.5 for all PHP versions.
* [ ] <del>Click through the back end and front end and fix all warnings.</del>

Commits
-------

8ad61492 Add PHP 8.0 to the CI chain
7b8729e5 Fix the unit and functional tests
47c14dbb Use 127.0.0.1 instead of localhost in the functional tests
938836c0 Always set the ACCEPT_LANGUAGE header in the functional tests
a4199ec2 Use PHPUnit 8.5 for all PHP versions
7ffbd267 Adjust the error level in PHP 8
4ce6b27b Merge branch '4.9' into fix/php8
24b1d711 Update the changelog and the language files (see #2541)

Description
-----------

-

Commits
-------

a55a7f20 Update the changelog and the language files
d19cb6c3 Add a missing PHPStan dependency (see #2543)

Description
-----------

-

Commits
-------

288bc91b Add a missing PHPStan dependency
80b6469c Merge branch '4.4' into 4.9

# Conflicts:
#	installation-bundle/src/Resources/translations/messages.fr.xlf
#	news-bundle/src/Resources/contao/dca/tl_news.php
ffebcd7f Fix issues found by the PhpStorm code inspector (see #2544)

Description
-----------

Function arguments renaming → forward compat with PHP 8.

Commits
-------

d6b22e4f Fix issues found by the PhpStorm code inspector
1fb0b96f More fixes
e2544f49 And even more
e6c4b182 Add global page model for fragments (see #2506)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #1935

As discussed on Mumble on the 2020-11-19, this should make the (global) page model available in the fragment controllers.

Commits
-------

03e7c410 Add global page model for fragments (replaces #1935)
a5c23263 Cast values for comparison
826748dc Added unit tests
00eeb729 CS
29ea202c CS
0e09e4ec Merge branch '4.9' into bugfix/page-argument
77c79bef Do not try to generate fragments for generated fragments (see #2521)

Description
-----------

If a fragment has multiple methods with different fragment type (e.g. a content element and a front end module), the first RegisterFragmentsPass creates a child definition that inherits all tags from the original. On the next run, the RegisterFragmentsPass would pick up the child definition and try to create duplicate fragments.

Commits
-------

cc5d72c2 Do not try to generate fragments for generated fragments
a0b92bba CS
4b8bc8f6 Merge branch '4.9' into bugfix/fragment-children
8605bc45 Allow caption to be a textarea rather than a text field (see #2527)

Description
-----------

An image caption shouldn't be limited to 255 chars only, that makes no sense to me.

That's the result:

<img width="1174" alt="Bildschirmfoto 2020-11-27 um 13 12 19" src="https://user-images.githubusercontent.com/481937/100448322-60b94a80-30b2-11eb-88f2-99f8fb499e4d.png">

Commits
-------

06f57eed Allow caption to be a textarea rather than a text field limited to 255 chars
b346f659 CS
0c23a1f9 Merge branch '4.9' into fix/allow-textarea-for-meta-caption
244d8455 Move migrations to core bundle (see #2545)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #2364

Commits
-------

1d6f4171 Move migrations to core bundle
20dfde35 Fix missing globals array
51fb5c72 PHPStan
5034731d Pass the filesystem as dependency and remove the Contao 3 migrations
66231e75 Fix compatibility with scssphp 1.4 (see #2547)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #2495

### ToDos

- [ ] Revert contao/conflicts@820074e once this got merged and released (4.9 and upstream).

Commits
-------

961abaaa Set the file path to fix compatibility with scssphp 1.4
946940d5 Run the CS fixer (see #2548)

Description
-----------

-

Commits
-------

29af160e Run the CS fixer
0df5442b Do not index preview URLs for searching (see #2550)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #2507
| Docs PR or issue | -

@Toflar: If the `X-Robots-Tag` header or the meta robots tag contains `noindex`, the listener will not pass the document to the indexer at all. This means that potentially existing entries will not be deleted. Is this OK?

Commits
-------

17d0e8a7 Do not index preview URLs for searching
137d4100 Correctly load the DCA labels (see #2540)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #2536

see #2536 for the discussion

Commits
-------

cb3740c2 Correctly load the DCA labels
64d23500 Merge branch '4.9' into bugfix/dca-labels
103649e2 Fix the cache tag invalidation (see #2551)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #2137
| Docs PR or issue | -

This is currently a proof of concept that should work for news and events. @Toflar @ausi Can you confirm that my implementation is what you had in mind?

### TODO

* [x] Add a general tag without ID for the top parent record
* [x] Implement cache tagging for the other elements and modules

Commits
-------

b523f614 Fix the cache tag invalidation
64c4cdc3 CS
4b61ac26 Do not double tag the content elements
5b4a03d8 Add a tag for the top parent element
996694e5 Add tagging for the missing modules
601247f2 Also tag the comments
90caa2a8 Strip port numbers from root page domains (see #2553)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #2214
| Docs PR or issue | -

Tested against https://regex101.com/r/jU0OrQ/2

Commits
-------

52e85cdb Strip port numbers from root page domains
48a0c3c0 Improve the regex

Co-authored-by: Martin Auswöger <martin@auswoeger.com>
bacb48b3 Clean up before the release (see #2560)

Description
-----------

-

Commits
-------

7db3c543 Clean up before the release
41b89f2d Update the changelog and the language files (see #2561)

Description
-----------

-

Commits
-------

6c50c48d Update the changelog and the language files
918884ce Update the changelog
5eb206fb Merge branch '4.9' into 4.10

# Conflicts:
#	calendar-bundle/src/Resources/contao/languages/fr/tl_calendar_feed.xlf
#	composer.json
#	core-bundle/src/Command/InstallCommand.php
#	core-bundle/src/Command/SymlinksCommand.php
#	core-bundle/src/DependencyInjection/Compiler/RegisterFragmentsPass.php
#	core-bundle/src/Migration/Version408/Version480Update.php
#	core-bundle/src/Resources/contao/dca/tl_page.php
#	core-bundle/src/Resources/contao/library/Contao/Controller.php
#	core-bundle/src/Resources/contao/library/Contao/DcaExtractor.php
#	core-bundle/src/Resources/contao/library/Contao/InsertTags.php
#	core-bundle/src/Resources/contao/modules/Module.php
#	core-bundle/tests/Contao/Database/ResultTest.php
#	core-bundle/tests/Functional/RoutingTest.php
#	core-bundle/tests/Security/Authentication/RememberMe/ExpiringTokenBasedRememberMeServicesTest.php
#	installation-bundle/src/Database/Version330Update.php
#	manager-bundle/composer.json
#	manager-bundle/src/Resources/skeleton/config/config.yml
#	manager-bundle/tests/ContaoManager/PluginTest.php
#	monorepo.yml
#	news-bundle/src/Resources/contao/dca/tl_news.php
#	news-bundle/src/Resources/contao/languages/fr/tl_news_feed.xlf
695843a5 Clean up after the upstream merge (see #2564)

Description
-----------

-

Commits
-------

950581e1 Clean up after the upstream merge
280339c0 Update the changelog and the language files (see #2565)

Description
-----------

-

Commits
-------

5d2cadae Update the changelog and the language files
b7567a83 Merge branch '4.10' into master

# Conflicts:
#	calendar-bundle/composer.json
#	comments-bundle/composer.json
#	composer.json
#	core-bundle/composer.json
#	core-bundle/src/Resources/contao/languages/fr/tl_article.xlf
#	core-bundle/src/Resources/contao/languages/fr/tl_form_field.xlf
#	core-bundle/src/Resources/contao/languages/fr/tl_image_size_item.xlf
#	core-bundle/src/Resources/contao/languages/fr/tl_layout.xlf
#	core-bundle/src/Resources/contao/languages/fr/tl_member.xlf
#	core-bundle/src/Resources/contao/languages/fr/tl_member_group.xlf
#	core-bundle/src/Resources/contao/languages/fr/tl_style_sheet.xlf
#	core-bundle/src/Resources/contao/languages/fr/tl_theme.xlf
#	core-bundle/src/Resources/contao/languages/fr/tl_user.xlf
#	core-bundle/src/Resources/contao/languages/fr/tl_user_group.xlf
#	core-bundle/tests/Contao/SearchTest.php
#	faq-bundle/composer.json
#	installation-bundle/composer.json
#	installation-bundle/src/Database/Version330Update.php
#	installation-bundle/src/Database/Version350Update.php
#	listing-bundle/composer.json
#	manager-bundle/composer.json
#	news-bundle/composer.json
#	news-bundle/src/Resources/contao/languages/cs/default.xlf
#	news-bundle/src/Resources/contao/languages/cs/tl_layout.xlf
#	news-bundle/src/Resources/contao/languages/cs/tl_news_feed.xlf
#	news-bundle/src/Resources/contao/languages/cs/tl_user_group.xlf
#	newsletter-bundle/composer.json
leofeyer added a commit to contao/news-bundle that referenced this pull request Dec 11, 2020
Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #...
| Docs PR or issue | contao/docs#...

Commits
-------

13c00f1b Add the feature action to the permission checks (see #2524)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #2505
| Docs PR or issue | n/a

See #2505.

Commits
-------

61314356 Add feature action to permission check as well (see #2505)
55d85f37 Allow version 3 of toflar/psr6-symfony-http-cache-store (see #2522)

Description
-----------

Another step towards contao/contao#2263.

Commits
-------

2efea3bc Allow version 3 of toflar/psr6-symfony-http-cache-store
1cc3754d Increase undo expiry date (see #2528)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | -
| Docs PR or issue | -

I really think the default undo period of 24h is not a good default (which is why I think it should be changed in 4.9 LTS too).

For me, there are two use cases our current undo system can cover:

1. The immediate "Oh, I deleted something which I shouldn't have" case: 24 hours are enough
2. The customer did something over the weekend and you get a report on Monday that something was deleted: 24 hours are likely not enough.

So 30 days by default seem totally okay to me. It makes no sense to store undo entries that date back a year or so.

Commits
-------

7d7f01ec Increase undo expiry date
7efdef49 Trigger the onload_callback when featuring news (see #2531)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #2485
| Docs PR or issue | -

Commits
-------

dee7c1dc Trigger the onload_callback when featuring news
bc8447de Trigger the onload_callback when featuring news/events (see #2532)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #2485
| Docs PR or issue | -

Same PR as #2531 for Contao 4.10 where we also have featured events.

Commits
-------

c3a849ca Trigger the onload_callback when featuring news/events
67c7b188 Backport the doctrine-cache-bundle changes (see #2534)

Description
-----------

Backports the changes from #1916 to Contao 4.9 to make it compatible with PHP 8 (see #2263).

Commits
-------

ba9d21f1 Backport the doctrine-cache-bundle changes
d1103e9d CS
3feda719 Add compatibility with PHP 8 (see #2535)

Description
-----------

See #2263 and #2291

### TODO

* [x] Fix the tests.
* [x] Wait if sebastianbergmann/php-code-coverage#837 gets merged and then use PHPUnit 8.5 for all PHP versions.
* [ ] <del>Click through the back end and front end and fix all warnings.</del>

Commits
-------

8ad61492 Add PHP 8.0 to the CI chain
7b8729e5 Fix the unit and functional tests
47c14dbb Use 127.0.0.1 instead of localhost in the functional tests
938836c0 Always set the ACCEPT_LANGUAGE header in the functional tests
a4199ec2 Use PHPUnit 8.5 for all PHP versions
7ffbd267 Adjust the error level in PHP 8
4ce6b27b Merge branch '4.9' into fix/php8
24b1d711 Update the changelog and the language files (see #2541)

Description
-----------

-

Commits
-------

a55a7f20 Update the changelog and the language files
d19cb6c3 Add a missing PHPStan dependency (see #2543)

Description
-----------

-

Commits
-------

288bc91b Add a missing PHPStan dependency
80b6469c Merge branch '4.4' into 4.9

# Conflicts:
#	installation-bundle/src/Resources/translations/messages.fr.xlf
#	news-bundle/src/Resources/contao/dca/tl_news.php
ffebcd7f Fix issues found by the PhpStorm code inspector (see #2544)

Description
-----------

Function arguments renaming → forward compat with PHP 8.

Commits
-------

d6b22e4f Fix issues found by the PhpStorm code inspector
1fb0b96f More fixes
e2544f49 And even more
e6c4b182 Add global page model for fragments (see #2506)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #1935

As discussed on Mumble on the 2020-11-19, this should make the (global) page model available in the fragment controllers.

Commits
-------

03e7c410 Add global page model for fragments (replaces #1935)
a5c23263 Cast values for comparison
826748dc Added unit tests
00eeb729 CS
29ea202c CS
0e09e4ec Merge branch '4.9' into bugfix/page-argument
77c79bef Do not try to generate fragments for generated fragments (see #2521)

Description
-----------

If a fragment has multiple methods with different fragment type (e.g. a content element and a front end module), the first RegisterFragmentsPass creates a child definition that inherits all tags from the original. On the next run, the RegisterFragmentsPass would pick up the child definition and try to create duplicate fragments.

Commits
-------

cc5d72c2 Do not try to generate fragments for generated fragments
a0b92bba CS
4b8bc8f6 Merge branch '4.9' into bugfix/fragment-children
8605bc45 Allow caption to be a textarea rather than a text field (see #2527)

Description
-----------

An image caption shouldn't be limited to 255 chars only, that makes no sense to me.

That's the result:

<img width="1174" alt="Bildschirmfoto 2020-11-27 um 13 12 19" src="https://user-images.githubusercontent.com/481937/100448322-60b94a80-30b2-11eb-88f2-99f8fb499e4d.png">

Commits
-------

06f57eed Allow caption to be a textarea rather than a text field limited to 255 chars
b346f659 CS
0c23a1f9 Merge branch '4.9' into fix/allow-textarea-for-meta-caption
244d8455 Move migrations to core bundle (see #2545)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #2364

Commits
-------

1d6f4171 Move migrations to core bundle
20dfde35 Fix missing globals array
51fb5c72 PHPStan
5034731d Pass the filesystem as dependency and remove the Contao 3 migrations
66231e75 Fix compatibility with scssphp 1.4 (see #2547)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #2495

### ToDos

- [ ] Revert contao/conflicts@820074e once this got merged and released (4.9 and upstream).

Commits
-------

961abaaa Set the file path to fix compatibility with scssphp 1.4
946940d5 Run the CS fixer (see #2548)

Description
-----------

-

Commits
-------

29af160e Run the CS fixer
0df5442b Do not index preview URLs for searching (see #2550)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #2507
| Docs PR or issue | -

@Toflar: If the `X-Robots-Tag` header or the meta robots tag contains `noindex`, the listener will not pass the document to the indexer at all. This means that potentially existing entries will not be deleted. Is this OK?

Commits
-------

17d0e8a7 Do not index preview URLs for searching
137d4100 Correctly load the DCA labels (see #2540)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #2536

see #2536 for the discussion

Commits
-------

cb3740c2 Correctly load the DCA labels
64d23500 Merge branch '4.9' into bugfix/dca-labels
103649e2 Fix the cache tag invalidation (see #2551)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #2137
| Docs PR or issue | -

This is currently a proof of concept that should work for news and events. @Toflar @ausi Can you confirm that my implementation is what you had in mind?

### TODO

* [x] Add a general tag without ID for the top parent record
* [x] Implement cache tagging for the other elements and modules

Commits
-------

b523f614 Fix the cache tag invalidation
64c4cdc3 CS
4b61ac26 Do not double tag the content elements
5b4a03d8 Add a tag for the top parent element
996694e5 Add tagging for the missing modules
601247f2 Also tag the comments
90caa2a8 Strip port numbers from root page domains (see #2553)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #2214
| Docs PR or issue | -

Tested against https://regex101.com/r/jU0OrQ/2

Commits
-------

52e85cdb Strip port numbers from root page domains
48a0c3c0 Improve the regex

Co-authored-by: Martin Auswöger <martin@auswoeger.com>
bacb48b3 Clean up before the release (see #2560)

Description
-----------

-

Commits
-------

7db3c543 Clean up before the release
41b89f2d Update the changelog and the language files (see #2561)

Description
-----------

-

Commits
-------

6c50c48d Update the changelog and the language files
918884ce Update the changelog
5eb206fb Merge branch '4.9' into 4.10

# Conflicts:
#	calendar-bundle/src/Resources/contao/languages/fr/tl_calendar_feed.xlf
#	composer.json
#	core-bundle/src/Command/InstallCommand.php
#	core-bundle/src/Command/SymlinksCommand.php
#	core-bundle/src/DependencyInjection/Compiler/RegisterFragmentsPass.php
#	core-bundle/src/Migration/Version408/Version480Update.php
#	core-bundle/src/Resources/contao/dca/tl_page.php
#	core-bundle/src/Resources/contao/library/Contao/Controller.php
#	core-bundle/src/Resources/contao/library/Contao/DcaExtractor.php
#	core-bundle/src/Resources/contao/library/Contao/InsertTags.php
#	core-bundle/src/Resources/contao/modules/Module.php
#	core-bundle/tests/Contao/Database/ResultTest.php
#	core-bundle/tests/Functional/RoutingTest.php
#	core-bundle/tests/Security/Authentication/RememberMe/ExpiringTokenBasedRememberMeServicesTest.php
#	installation-bundle/src/Database/Version330Update.php
#	manager-bundle/composer.json
#	manager-bundle/src/Resources/skeleton/config/config.yml
#	manager-bundle/tests/ContaoManager/PluginTest.php
#	monorepo.yml
#	news-bundle/src/Resources/contao/dca/tl_news.php
#	news-bundle/src/Resources/contao/languages/fr/tl_news_feed.xlf
695843a5 Clean up after the upstream merge (see #2564)

Description
-----------

-

Commits
-------

950581e1 Clean up after the upstream merge
280339c0 Update the changelog and the language files (see #2565)

Description
-----------

-

Commits
-------

5d2cadae Update the changelog and the language files
b7567a83 Merge branch '4.10' into master

# Conflicts:
#	calendar-bundle/composer.json
#	comments-bundle/composer.json
#	composer.json
#	core-bundle/composer.json
#	core-bundle/src/Resources/contao/languages/fr/tl_article.xlf
#	core-bundle/src/Resources/contao/languages/fr/tl_form_field.xlf
#	core-bundle/src/Resources/contao/languages/fr/tl_image_size_item.xlf
#	core-bundle/src/Resources/contao/languages/fr/tl_layout.xlf
#	core-bundle/src/Resources/contao/languages/fr/tl_member.xlf
#	core-bundle/src/Resources/contao/languages/fr/tl_member_group.xlf
#	core-bundle/src/Resources/contao/languages/fr/tl_style_sheet.xlf
#	core-bundle/src/Resources/contao/languages/fr/tl_theme.xlf
#	core-bundle/src/Resources/contao/languages/fr/tl_user.xlf
#	core-bundle/src/Resources/contao/languages/fr/tl_user_group.xlf
#	core-bundle/tests/Contao/SearchTest.php
#	faq-bundle/composer.json
#	installation-bundle/composer.json
#	installation-bundle/src/Database/Version330Update.php
#	installation-bundle/src/Database/Version350Update.php
#	listing-bundle/composer.json
#	manager-bundle/composer.json
#	news-bundle/composer.json
#	news-bundle/src/Resources/contao/languages/cs/default.xlf
#	news-bundle/src/Resources/contao/languages/cs/tl_layout.xlf
#	news-bundle/src/Resources/contao/languages/cs/tl_news_feed.xlf
#	news-bundle/src/Resources/contao/languages/cs/tl_user_group.xlf
#	newsletter-bundle/composer.json
leofeyer added a commit to contao/comments-bundle that referenced this pull request Dec 11, 2020
Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #...
| Docs PR or issue | contao/docs#...

Commits
-------

13c00f1b Add the feature action to the permission checks (see #2524)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #2505
| Docs PR or issue | n/a

See #2505.

Commits
-------

61314356 Add feature action to permission check as well (see #2505)
55d85f37 Allow version 3 of toflar/psr6-symfony-http-cache-store (see #2522)

Description
-----------

Another step towards contao/contao#2263.

Commits
-------

2efea3bc Allow version 3 of toflar/psr6-symfony-http-cache-store
1cc3754d Increase undo expiry date (see #2528)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | -
| Docs PR or issue | -

I really think the default undo period of 24h is not a good default (which is why I think it should be changed in 4.9 LTS too).

For me, there are two use cases our current undo system can cover:

1. The immediate "Oh, I deleted something which I shouldn't have" case: 24 hours are enough
2. The customer did something over the weekend and you get a report on Monday that something was deleted: 24 hours are likely not enough.

So 30 days by default seem totally okay to me. It makes no sense to store undo entries that date back a year or so.

Commits
-------

7d7f01ec Increase undo expiry date
7efdef49 Trigger the onload_callback when featuring news (see #2531)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #2485
| Docs PR or issue | -

Commits
-------

dee7c1dc Trigger the onload_callback when featuring news
bc8447de Trigger the onload_callback when featuring news/events (see #2532)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #2485
| Docs PR or issue | -

Same PR as #2531 for Contao 4.10 where we also have featured events.

Commits
-------

c3a849ca Trigger the onload_callback when featuring news/events
67c7b188 Backport the doctrine-cache-bundle changes (see #2534)

Description
-----------

Backports the changes from #1916 to Contao 4.9 to make it compatible with PHP 8 (see #2263).

Commits
-------

ba9d21f1 Backport the doctrine-cache-bundle changes
d1103e9d CS
3feda719 Add compatibility with PHP 8 (see #2535)

Description
-----------

See #2263 and #2291

### TODO

* [x] Fix the tests.
* [x] Wait if sebastianbergmann/php-code-coverage#837 gets merged and then use PHPUnit 8.5 for all PHP versions.
* [ ] <del>Click through the back end and front end and fix all warnings.</del>

Commits
-------

8ad61492 Add PHP 8.0 to the CI chain
7b8729e5 Fix the unit and functional tests
47c14dbb Use 127.0.0.1 instead of localhost in the functional tests
938836c0 Always set the ACCEPT_LANGUAGE header in the functional tests
a4199ec2 Use PHPUnit 8.5 for all PHP versions
7ffbd267 Adjust the error level in PHP 8
4ce6b27b Merge branch '4.9' into fix/php8
24b1d711 Update the changelog and the language files (see #2541)

Description
-----------

-

Commits
-------

a55a7f20 Update the changelog and the language files
d19cb6c3 Add a missing PHPStan dependency (see #2543)

Description
-----------

-

Commits
-------

288bc91b Add a missing PHPStan dependency
80b6469c Merge branch '4.4' into 4.9

# Conflicts:
#	installation-bundle/src/Resources/translations/messages.fr.xlf
#	news-bundle/src/Resources/contao/dca/tl_news.php
ffebcd7f Fix issues found by the PhpStorm code inspector (see #2544)

Description
-----------

Function arguments renaming → forward compat with PHP 8.

Commits
-------

d6b22e4f Fix issues found by the PhpStorm code inspector
1fb0b96f More fixes
e2544f49 And even more
e6c4b182 Add global page model for fragments (see #2506)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #1935

As discussed on Mumble on the 2020-11-19, this should make the (global) page model available in the fragment controllers.

Commits
-------

03e7c410 Add global page model for fragments (replaces #1935)
a5c23263 Cast values for comparison
826748dc Added unit tests
00eeb729 CS
29ea202c CS
0e09e4ec Merge branch '4.9' into bugfix/page-argument
77c79bef Do not try to generate fragments for generated fragments (see #2521)

Description
-----------

If a fragment has multiple methods with different fragment type (e.g. a content element and a front end module), the first RegisterFragmentsPass creates a child definition that inherits all tags from the original. On the next run, the RegisterFragmentsPass would pick up the child definition and try to create duplicate fragments.

Commits
-------

cc5d72c2 Do not try to generate fragments for generated fragments
a0b92bba CS
4b8bc8f6 Merge branch '4.9' into bugfix/fragment-children
8605bc45 Allow caption to be a textarea rather than a text field (see #2527)

Description
-----------

An image caption shouldn't be limited to 255 chars only, that makes no sense to me.

That's the result:

<img width="1174" alt="Bildschirmfoto 2020-11-27 um 13 12 19" src="https://user-images.githubusercontent.com/481937/100448322-60b94a80-30b2-11eb-88f2-99f8fb499e4d.png">

Commits
-------

06f57eed Allow caption to be a textarea rather than a text field limited to 255 chars
b346f659 CS
0c23a1f9 Merge branch '4.9' into fix/allow-textarea-for-meta-caption
244d8455 Move migrations to core bundle (see #2545)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #2364

Commits
-------

1d6f4171 Move migrations to core bundle
20dfde35 Fix missing globals array
51fb5c72 PHPStan
5034731d Pass the filesystem as dependency and remove the Contao 3 migrations
66231e75 Fix compatibility with scssphp 1.4 (see #2547)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #2495

### ToDos

- [ ] Revert contao/conflicts@820074e once this got merged and released (4.9 and upstream).

Commits
-------

961abaaa Set the file path to fix compatibility with scssphp 1.4
946940d5 Run the CS fixer (see #2548)

Description
-----------

-

Commits
-------

29af160e Run the CS fixer
0df5442b Do not index preview URLs for searching (see #2550)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #2507
| Docs PR or issue | -

@Toflar: If the `X-Robots-Tag` header or the meta robots tag contains `noindex`, the listener will not pass the document to the indexer at all. This means that potentially existing entries will not be deleted. Is this OK?

Commits
-------

17d0e8a7 Do not index preview URLs for searching
137d4100 Correctly load the DCA labels (see #2540)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #2536

see #2536 for the discussion

Commits
-------

cb3740c2 Correctly load the DCA labels
64d23500 Merge branch '4.9' into bugfix/dca-labels
103649e2 Fix the cache tag invalidation (see #2551)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #2137
| Docs PR or issue | -

This is currently a proof of concept that should work for news and events. @Toflar @ausi Can you confirm that my implementation is what you had in mind?

### TODO

* [x] Add a general tag without ID for the top parent record
* [x] Implement cache tagging for the other elements and modules

Commits
-------

b523f614 Fix the cache tag invalidation
64c4cdc3 CS
4b61ac26 Do not double tag the content elements
5b4a03d8 Add a tag for the top parent element
996694e5 Add tagging for the missing modules
601247f2 Also tag the comments
90caa2a8 Strip port numbers from root page domains (see #2553)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #2214
| Docs PR or issue | -

Tested against https://regex101.com/r/jU0OrQ/2

Commits
-------

52e85cdb Strip port numbers from root page domains
48a0c3c0 Improve the regex

Co-authored-by: Martin Auswöger <martin@auswoeger.com>
bacb48b3 Clean up before the release (see #2560)

Description
-----------

-

Commits
-------

7db3c543 Clean up before the release
41b89f2d Update the changelog and the language files (see #2561)

Description
-----------

-

Commits
-------

6c50c48d Update the changelog and the language files
918884ce Update the changelog
5eb206fb Merge branch '4.9' into 4.10

# Conflicts:
#	calendar-bundle/src/Resources/contao/languages/fr/tl_calendar_feed.xlf
#	composer.json
#	core-bundle/src/Command/InstallCommand.php
#	core-bundle/src/Command/SymlinksCommand.php
#	core-bundle/src/DependencyInjection/Compiler/RegisterFragmentsPass.php
#	core-bundle/src/Migration/Version408/Version480Update.php
#	core-bundle/src/Resources/contao/dca/tl_page.php
#	core-bundle/src/Resources/contao/library/Contao/Controller.php
#	core-bundle/src/Resources/contao/library/Contao/DcaExtractor.php
#	core-bundle/src/Resources/contao/library/Contao/InsertTags.php
#	core-bundle/src/Resources/contao/modules/Module.php
#	core-bundle/tests/Contao/Database/ResultTest.php
#	core-bundle/tests/Functional/RoutingTest.php
#	core-bundle/tests/Security/Authentication/RememberMe/ExpiringTokenBasedRememberMeServicesTest.php
#	installation-bundle/src/Database/Version330Update.php
#	manager-bundle/composer.json
#	manager-bundle/src/Resources/skeleton/config/config.yml
#	manager-bundle/tests/ContaoManager/PluginTest.php
#	monorepo.yml
#	news-bundle/src/Resources/contao/dca/tl_news.php
#	news-bundle/src/Resources/contao/languages/fr/tl_news_feed.xlf
695843a5 Clean up after the upstream merge (see #2564)

Description
-----------

-

Commits
-------

950581e1 Clean up after the upstream merge
280339c0 Update the changelog and the language files (see #2565)

Description
-----------

-

Commits
-------

5d2cadae Update the changelog and the language files
b7567a83 Merge branch '4.10' into master

# Conflicts:
#	calendar-bundle/composer.json
#	comments-bundle/composer.json
#	composer.json
#	core-bundle/composer.json
#	core-bundle/src/Resources/contao/languages/fr/tl_article.xlf
#	core-bundle/src/Resources/contao/languages/fr/tl_form_field.xlf
#	core-bundle/src/Resources/contao/languages/fr/tl_image_size_item.xlf
#	core-bundle/src/Resources/contao/languages/fr/tl_layout.xlf
#	core-bundle/src/Resources/contao/languages/fr/tl_member.xlf
#	core-bundle/src/Resources/contao/languages/fr/tl_member_group.xlf
#	core-bundle/src/Resources/contao/languages/fr/tl_style_sheet.xlf
#	core-bundle/src/Resources/contao/languages/fr/tl_theme.xlf
#	core-bundle/src/Resources/contao/languages/fr/tl_user.xlf
#	core-bundle/src/Resources/contao/languages/fr/tl_user_group.xlf
#	core-bundle/tests/Contao/SearchTest.php
#	faq-bundle/composer.json
#	installation-bundle/composer.json
#	installation-bundle/src/Database/Version330Update.php
#	installation-bundle/src/Database/Version350Update.php
#	listing-bundle/composer.json
#	manager-bundle/composer.json
#	news-bundle/composer.json
#	news-bundle/src/Resources/contao/languages/cs/default.xlf
#	news-bundle/src/Resources/contao/languages/cs/tl_layout.xlf
#	news-bundle/src/Resources/contao/languages/cs/tl_news_feed.xlf
#	news-bundle/src/Resources/contao/languages/cs/tl_user_group.xlf
#	newsletter-bundle/composer.json
leofeyer added a commit to contao/core-bundle that referenced this pull request Dec 11, 2020
Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #...
| Docs PR or issue | contao/docs#...

Commits
-------

13c00f1b Add the feature action to the permission checks (see #2524)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #2505
| Docs PR or issue | n/a

See #2505.

Commits
-------

61314356 Add feature action to permission check as well (see #2505)
55d85f37 Allow version 3 of toflar/psr6-symfony-http-cache-store (see #2522)

Description
-----------

Another step towards contao/contao#2263.

Commits
-------

2efea3bc Allow version 3 of toflar/psr6-symfony-http-cache-store
1cc3754d Increase undo expiry date (see #2528)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | -
| Docs PR or issue | -

I really think the default undo period of 24h is not a good default (which is why I think it should be changed in 4.9 LTS too).

For me, there are two use cases our current undo system can cover:

1. The immediate "Oh, I deleted something which I shouldn't have" case: 24 hours are enough
2. The customer did something over the weekend and you get a report on Monday that something was deleted: 24 hours are likely not enough.

So 30 days by default seem totally okay to me. It makes no sense to store undo entries that date back a year or so.

Commits
-------

7d7f01ec Increase undo expiry date
7efdef49 Trigger the onload_callback when featuring news (see #2531)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #2485
| Docs PR or issue | -

Commits
-------

dee7c1dc Trigger the onload_callback when featuring news
bc8447de Trigger the onload_callback when featuring news/events (see #2532)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #2485
| Docs PR or issue | -

Same PR as #2531 for Contao 4.10 where we also have featured events.

Commits
-------

c3a849ca Trigger the onload_callback when featuring news/events
67c7b188 Backport the doctrine-cache-bundle changes (see #2534)

Description
-----------

Backports the changes from #1916 to Contao 4.9 to make it compatible with PHP 8 (see #2263).

Commits
-------

ba9d21f1 Backport the doctrine-cache-bundle changes
d1103e9d CS
3feda719 Add compatibility with PHP 8 (see #2535)

Description
-----------

See #2263 and #2291

### TODO

* [x] Fix the tests.
* [x] Wait if sebastianbergmann/php-code-coverage#837 gets merged and then use PHPUnit 8.5 for all PHP versions.
* [ ] <del>Click through the back end and front end and fix all warnings.</del>

Commits
-------

8ad61492 Add PHP 8.0 to the CI chain
7b8729e5 Fix the unit and functional tests
47c14dbb Use 127.0.0.1 instead of localhost in the functional tests
938836c0 Always set the ACCEPT_LANGUAGE header in the functional tests
a4199ec2 Use PHPUnit 8.5 for all PHP versions
7ffbd267 Adjust the error level in PHP 8
4ce6b27b Merge branch '4.9' into fix/php8
24b1d711 Update the changelog and the language files (see #2541)

Description
-----------

-

Commits
-------

a55a7f20 Update the changelog and the language files
d19cb6c3 Add a missing PHPStan dependency (see #2543)

Description
-----------

-

Commits
-------

288bc91b Add a missing PHPStan dependency
80b6469c Merge branch '4.4' into 4.9

# Conflicts:
#	installation-bundle/src/Resources/translations/messages.fr.xlf
#	news-bundle/src/Resources/contao/dca/tl_news.php
ffebcd7f Fix issues found by the PhpStorm code inspector (see #2544)

Description
-----------

Function arguments renaming → forward compat with PHP 8.

Commits
-------

d6b22e4f Fix issues found by the PhpStorm code inspector
1fb0b96f More fixes
e2544f49 And even more
e6c4b182 Add global page model for fragments (see #2506)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #1935

As discussed on Mumble on the 2020-11-19, this should make the (global) page model available in the fragment controllers.

Commits
-------

03e7c410 Add global page model for fragments (replaces #1935)
a5c23263 Cast values for comparison
826748dc Added unit tests
00eeb729 CS
29ea202c CS
0e09e4ec Merge branch '4.9' into bugfix/page-argument
77c79bef Do not try to generate fragments for generated fragments (see #2521)

Description
-----------

If a fragment has multiple methods with different fragment type (e.g. a content element and a front end module), the first RegisterFragmentsPass creates a child definition that inherits all tags from the original. On the next run, the RegisterFragmentsPass would pick up the child definition and try to create duplicate fragments.

Commits
-------

cc5d72c2 Do not try to generate fragments for generated fragments
a0b92bba CS
4b8bc8f6 Merge branch '4.9' into bugfix/fragment-children
8605bc45 Allow caption to be a textarea rather than a text field (see #2527)

Description
-----------

An image caption shouldn't be limited to 255 chars only, that makes no sense to me.

That's the result:

<img width="1174" alt="Bildschirmfoto 2020-11-27 um 13 12 19" src="https://user-images.githubusercontent.com/481937/100448322-60b94a80-30b2-11eb-88f2-99f8fb499e4d.png">

Commits
-------

06f57eed Allow caption to be a textarea rather than a text field limited to 255 chars
b346f659 CS
0c23a1f9 Merge branch '4.9' into fix/allow-textarea-for-meta-caption
244d8455 Move migrations to core bundle (see #2545)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #2364

Commits
-------

1d6f4171 Move migrations to core bundle
20dfde35 Fix missing globals array
51fb5c72 PHPStan
5034731d Pass the filesystem as dependency and remove the Contao 3 migrations
66231e75 Fix compatibility with scssphp 1.4 (see #2547)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #2495

### ToDos

- [ ] Revert contao/conflicts@820074e once this got merged and released (4.9 and upstream).

Commits
-------

961abaaa Set the file path to fix compatibility with scssphp 1.4
946940d5 Run the CS fixer (see #2548)

Description
-----------

-

Commits
-------

29af160e Run the CS fixer
0df5442b Do not index preview URLs for searching (see #2550)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #2507
| Docs PR or issue | -

@Toflar: If the `X-Robots-Tag` header or the meta robots tag contains `noindex`, the listener will not pass the document to the indexer at all. This means that potentially existing entries will not be deleted. Is this OK?

Commits
-------

17d0e8a7 Do not index preview URLs for searching
137d4100 Correctly load the DCA labels (see #2540)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #2536

see #2536 for the discussion

Commits
-------

cb3740c2 Correctly load the DCA labels
64d23500 Merge branch '4.9' into bugfix/dca-labels
103649e2 Fix the cache tag invalidation (see #2551)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #2137
| Docs PR or issue | -

This is currently a proof of concept that should work for news and events. @Toflar @ausi Can you confirm that my implementation is what you had in mind?

### TODO

* [x] Add a general tag without ID for the top parent record
* [x] Implement cache tagging for the other elements and modules

Commits
-------

b523f614 Fix the cache tag invalidation
64c4cdc3 CS
4b61ac26 Do not double tag the content elements
5b4a03d8 Add a tag for the top parent element
996694e5 Add tagging for the missing modules
601247f2 Also tag the comments
90caa2a8 Strip port numbers from root page domains (see #2553)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #2214
| Docs PR or issue | -

Tested against https://regex101.com/r/jU0OrQ/2

Commits
-------

52e85cdb Strip port numbers from root page domains
48a0c3c0 Improve the regex

Co-authored-by: Martin Auswöger <martin@auswoeger.com>
bacb48b3 Clean up before the release (see #2560)

Description
-----------

-

Commits
-------

7db3c543 Clean up before the release
41b89f2d Update the changelog and the language files (see #2561)

Description
-----------

-

Commits
-------

6c50c48d Update the changelog and the language files
918884ce Update the changelog
5eb206fb Merge branch '4.9' into 4.10

# Conflicts:
#	calendar-bundle/src/Resources/contao/languages/fr/tl_calendar_feed.xlf
#	composer.json
#	core-bundle/src/Command/InstallCommand.php
#	core-bundle/src/Command/SymlinksCommand.php
#	core-bundle/src/DependencyInjection/Compiler/RegisterFragmentsPass.php
#	core-bundle/src/Migration/Version408/Version480Update.php
#	core-bundle/src/Resources/contao/dca/tl_page.php
#	core-bundle/src/Resources/contao/library/Contao/Controller.php
#	core-bundle/src/Resources/contao/library/Contao/DcaExtractor.php
#	core-bundle/src/Resources/contao/library/Contao/InsertTags.php
#	core-bundle/src/Resources/contao/modules/Module.php
#	core-bundle/tests/Contao/Database/ResultTest.php
#	core-bundle/tests/Functional/RoutingTest.php
#	core-bundle/tests/Security/Authentication/RememberMe/ExpiringTokenBasedRememberMeServicesTest.php
#	installation-bundle/src/Database/Version330Update.php
#	manager-bundle/composer.json
#	manager-bundle/src/Resources/skeleton/config/config.yml
#	manager-bundle/tests/ContaoManager/PluginTest.php
#	monorepo.yml
#	news-bundle/src/Resources/contao/dca/tl_news.php
#	news-bundle/src/Resources/contao/languages/fr/tl_news_feed.xlf
695843a5 Clean up after the upstream merge (see #2564)

Description
-----------

-

Commits
-------

950581e1 Clean up after the upstream merge
280339c0 Update the changelog and the language files (see #2565)

Description
-----------

-

Commits
-------

5d2cadae Update the changelog and the language files
b7567a83 Merge branch '4.10' into master

# Conflicts:
#	calendar-bundle/composer.json
#	comments-bundle/composer.json
#	composer.json
#	core-bundle/composer.json
#	core-bundle/src/Resources/contao/languages/fr/tl_article.xlf
#	core-bundle/src/Resources/contao/languages/fr/tl_form_field.xlf
#	core-bundle/src/Resources/contao/languages/fr/tl_image_size_item.xlf
#	core-bundle/src/Resources/contao/languages/fr/tl_layout.xlf
#	core-bundle/src/Resources/contao/languages/fr/tl_member.xlf
#	core-bundle/src/Resources/contao/languages/fr/tl_member_group.xlf
#	core-bundle/src/Resources/contao/languages/fr/tl_style_sheet.xlf
#	core-bundle/src/Resources/contao/languages/fr/tl_theme.xlf
#	core-bundle/src/Resources/contao/languages/fr/tl_user.xlf
#	core-bundle/src/Resources/contao/languages/fr/tl_user_group.xlf
#	core-bundle/tests/Contao/SearchTest.php
#	faq-bundle/composer.json
#	installation-bundle/composer.json
#	installation-bundle/src/Database/Version330Update.php
#	installation-bundle/src/Database/Version350Update.php
#	listing-bundle/composer.json
#	manager-bundle/composer.json
#	news-bundle/composer.json
#	news-bundle/src/Resources/contao/languages/cs/default.xlf
#	news-bundle/src/Resources/contao/languages/cs/tl_layout.xlf
#	news-bundle/src/Resources/contao/languages/cs/tl_news_feed.xlf
#	news-bundle/src/Resources/contao/languages/cs/tl_user_group.xlf
#	newsletter-bundle/composer.json
leofeyer added a commit to contao/calendar-bundle that referenced this pull request Dec 11, 2020
Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #...
| Docs PR or issue | contao/docs#...

Commits
-------

13c00f1b Add the feature action to the permission checks (see #2524)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #2505
| Docs PR or issue | n/a

See #2505.

Commits
-------

61314356 Add feature action to permission check as well (see #2505)
55d85f37 Allow version 3 of toflar/psr6-symfony-http-cache-store (see #2522)

Description
-----------

Another step towards contao/contao#2263.

Commits
-------

2efea3bc Allow version 3 of toflar/psr6-symfony-http-cache-store
1cc3754d Increase undo expiry date (see #2528)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | -
| Docs PR or issue | -

I really think the default undo period of 24h is not a good default (which is why I think it should be changed in 4.9 LTS too).

For me, there are two use cases our current undo system can cover:

1. The immediate "Oh, I deleted something which I shouldn't have" case: 24 hours are enough
2. The customer did something over the weekend and you get a report on Monday that something was deleted: 24 hours are likely not enough.

So 30 days by default seem totally okay to me. It makes no sense to store undo entries that date back a year or so.

Commits
-------

7d7f01ec Increase undo expiry date
7efdef49 Trigger the onload_callback when featuring news (see #2531)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #2485
| Docs PR or issue | -

Commits
-------

dee7c1dc Trigger the onload_callback when featuring news
bc8447de Trigger the onload_callback when featuring news/events (see #2532)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #2485
| Docs PR or issue | -

Same PR as #2531 for Contao 4.10 where we also have featured events.

Commits
-------

c3a849ca Trigger the onload_callback when featuring news/events
67c7b188 Backport the doctrine-cache-bundle changes (see #2534)

Description
-----------

Backports the changes from #1916 to Contao 4.9 to make it compatible with PHP 8 (see #2263).

Commits
-------

ba9d21f1 Backport the doctrine-cache-bundle changes
d1103e9d CS
3feda719 Add compatibility with PHP 8 (see #2535)

Description
-----------

See #2263 and #2291

### TODO

* [x] Fix the tests.
* [x] Wait if sebastianbergmann/php-code-coverage#837 gets merged and then use PHPUnit 8.5 for all PHP versions.
* [ ] <del>Click through the back end and front end and fix all warnings.</del>

Commits
-------

8ad61492 Add PHP 8.0 to the CI chain
7b8729e5 Fix the unit and functional tests
47c14dbb Use 127.0.0.1 instead of localhost in the functional tests
938836c0 Always set the ACCEPT_LANGUAGE header in the functional tests
a4199ec2 Use PHPUnit 8.5 for all PHP versions
7ffbd267 Adjust the error level in PHP 8
4ce6b27b Merge branch '4.9' into fix/php8
24b1d711 Update the changelog and the language files (see #2541)

Description
-----------

-

Commits
-------

a55a7f20 Update the changelog and the language files
d19cb6c3 Add a missing PHPStan dependency (see #2543)

Description
-----------

-

Commits
-------

288bc91b Add a missing PHPStan dependency
80b6469c Merge branch '4.4' into 4.9

# Conflicts:
#	installation-bundle/src/Resources/translations/messages.fr.xlf
#	news-bundle/src/Resources/contao/dca/tl_news.php
ffebcd7f Fix issues found by the PhpStorm code inspector (see #2544)

Description
-----------

Function arguments renaming → forward compat with PHP 8.

Commits
-------

d6b22e4f Fix issues found by the PhpStorm code inspector
1fb0b96f More fixes
e2544f49 And even more
e6c4b182 Add global page model for fragments (see #2506)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #1935

As discussed on Mumble on the 2020-11-19, this should make the (global) page model available in the fragment controllers.

Commits
-------

03e7c410 Add global page model for fragments (replaces #1935)
a5c23263 Cast values for comparison
826748dc Added unit tests
00eeb729 CS
29ea202c CS
0e09e4ec Merge branch '4.9' into bugfix/page-argument
77c79bef Do not try to generate fragments for generated fragments (see #2521)

Description
-----------

If a fragment has multiple methods with different fragment type (e.g. a content element and a front end module), the first RegisterFragmentsPass creates a child definition that inherits all tags from the original. On the next run, the RegisterFragmentsPass would pick up the child definition and try to create duplicate fragments.

Commits
-------

cc5d72c2 Do not try to generate fragments for generated fragments
a0b92bba CS
4b8bc8f6 Merge branch '4.9' into bugfix/fragment-children
8605bc45 Allow caption to be a textarea rather than a text field (see #2527)

Description
-----------

An image caption shouldn't be limited to 255 chars only, that makes no sense to me.

That's the result:

<img width="1174" alt="Bildschirmfoto 2020-11-27 um 13 12 19" src="https://user-images.githubusercontent.com/481937/100448322-60b94a80-30b2-11eb-88f2-99f8fb499e4d.png">

Commits
-------

06f57eed Allow caption to be a textarea rather than a text field limited to 255 chars
b346f659 CS
0c23a1f9 Merge branch '4.9' into fix/allow-textarea-for-meta-caption
244d8455 Move migrations to core bundle (see #2545)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #2364

Commits
-------

1d6f4171 Move migrations to core bundle
20dfde35 Fix missing globals array
51fb5c72 PHPStan
5034731d Pass the filesystem as dependency and remove the Contao 3 migrations
66231e75 Fix compatibility with scssphp 1.4 (see #2547)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #2495

### ToDos

- [ ] Revert contao/conflicts@820074e once this got merged and released (4.9 and upstream).

Commits
-------

961abaaa Set the file path to fix compatibility with scssphp 1.4
946940d5 Run the CS fixer (see #2548)

Description
-----------

-

Commits
-------

29af160e Run the CS fixer
0df5442b Do not index preview URLs for searching (see #2550)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #2507
| Docs PR or issue | -

@Toflar: If the `X-Robots-Tag` header or the meta robots tag contains `noindex`, the listener will not pass the document to the indexer at all. This means that potentially existing entries will not be deleted. Is this OK?

Commits
-------

17d0e8a7 Do not index preview URLs for searching
137d4100 Correctly load the DCA labels (see #2540)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #2536

see #2536 for the discussion

Commits
-------

cb3740c2 Correctly load the DCA labels
64d23500 Merge branch '4.9' into bugfix/dca-labels
103649e2 Fix the cache tag invalidation (see #2551)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #2137
| Docs PR or issue | -

This is currently a proof of concept that should work for news and events. @Toflar @ausi Can you confirm that my implementation is what you had in mind?

### TODO

* [x] Add a general tag without ID for the top parent record
* [x] Implement cache tagging for the other elements and modules

Commits
-------

b523f614 Fix the cache tag invalidation
64c4cdc3 CS
4b61ac26 Do not double tag the content elements
5b4a03d8 Add a tag for the top parent element
996694e5 Add tagging for the missing modules
601247f2 Also tag the comments
90caa2a8 Strip port numbers from root page domains (see #2553)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #2214
| Docs PR or issue | -

Tested against https://regex101.com/r/jU0OrQ/2

Commits
-------

52e85cdb Strip port numbers from root page domains
48a0c3c0 Improve the regex

Co-authored-by: Martin Auswöger <martin@auswoeger.com>
bacb48b3 Clean up before the release (see #2560)

Description
-----------

-

Commits
-------

7db3c543 Clean up before the release
41b89f2d Update the changelog and the language files (see #2561)

Description
-----------

-

Commits
-------

6c50c48d Update the changelog and the language files
918884ce Update the changelog
5eb206fb Merge branch '4.9' into 4.10

# Conflicts:
#	calendar-bundle/src/Resources/contao/languages/fr/tl_calendar_feed.xlf
#	composer.json
#	core-bundle/src/Command/InstallCommand.php
#	core-bundle/src/Command/SymlinksCommand.php
#	core-bundle/src/DependencyInjection/Compiler/RegisterFragmentsPass.php
#	core-bundle/src/Migration/Version408/Version480Update.php
#	core-bundle/src/Resources/contao/dca/tl_page.php
#	core-bundle/src/Resources/contao/library/Contao/Controller.php
#	core-bundle/src/Resources/contao/library/Contao/DcaExtractor.php
#	core-bundle/src/Resources/contao/library/Contao/InsertTags.php
#	core-bundle/src/Resources/contao/modules/Module.php
#	core-bundle/tests/Contao/Database/ResultTest.php
#	core-bundle/tests/Functional/RoutingTest.php
#	core-bundle/tests/Security/Authentication/RememberMe/ExpiringTokenBasedRememberMeServicesTest.php
#	installation-bundle/src/Database/Version330Update.php
#	manager-bundle/composer.json
#	manager-bundle/src/Resources/skeleton/config/config.yml
#	manager-bundle/tests/ContaoManager/PluginTest.php
#	monorepo.yml
#	news-bundle/src/Resources/contao/dca/tl_news.php
#	news-bundle/src/Resources/contao/languages/fr/tl_news_feed.xlf
695843a5 Clean up after the upstream merge (see #2564)

Description
-----------

-

Commits
-------

950581e1 Clean up after the upstream merge
280339c0 Update the changelog and the language files (see #2565)

Description
-----------

-

Commits
-------

5d2cadae Update the changelog and the language files
b7567a83 Merge branch '4.10' into master

# Conflicts:
#	calendar-bundle/composer.json
#	comments-bundle/composer.json
#	composer.json
#	core-bundle/composer.json
#	core-bundle/src/Resources/contao/languages/fr/tl_article.xlf
#	core-bundle/src/Resources/contao/languages/fr/tl_form_field.xlf
#	core-bundle/src/Resources/contao/languages/fr/tl_image_size_item.xlf
#	core-bundle/src/Resources/contao/languages/fr/tl_layout.xlf
#	core-bundle/src/Resources/contao/languages/fr/tl_member.xlf
#	core-bundle/src/Resources/contao/languages/fr/tl_member_group.xlf
#	core-bundle/src/Resources/contao/languages/fr/tl_style_sheet.xlf
#	core-bundle/src/Resources/contao/languages/fr/tl_theme.xlf
#	core-bundle/src/Resources/contao/languages/fr/tl_user.xlf
#	core-bundle/src/Resources/contao/languages/fr/tl_user_group.xlf
#	core-bundle/tests/Contao/SearchTest.php
#	faq-bundle/composer.json
#	installation-bundle/composer.json
#	installation-bundle/src/Database/Version330Update.php
#	installation-bundle/src/Database/Version350Update.php
#	listing-bundle/composer.json
#	manager-bundle/composer.json
#	news-bundle/composer.json
#	news-bundle/src/Resources/contao/languages/cs/default.xlf
#	news-bundle/src/Resources/contao/languages/cs/tl_layout.xlf
#	news-bundle/src/Resources/contao/languages/cs/tl_news_feed.xlf
#	news-bundle/src/Resources/contao/languages/cs/tl_user_group.xlf
#	newsletter-bundle/composer.json
leofeyer added a commit to contao/installation-bundle that referenced this pull request Dec 11, 2020
Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #...
| Docs PR or issue | contao/docs#...

Commits
-------

13c00f1b Add the feature action to the permission checks (see #2524)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #2505
| Docs PR or issue | n/a

See #2505.

Commits
-------

61314356 Add feature action to permission check as well (see #2505)
55d85f37 Allow version 3 of toflar/psr6-symfony-http-cache-store (see #2522)

Description
-----------

Another step towards contao/contao#2263.

Commits
-------

2efea3bc Allow version 3 of toflar/psr6-symfony-http-cache-store
1cc3754d Increase undo expiry date (see #2528)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | -
| Docs PR or issue | -

I really think the default undo period of 24h is not a good default (which is why I think it should be changed in 4.9 LTS too).

For me, there are two use cases our current undo system can cover:

1. The immediate "Oh, I deleted something which I shouldn't have" case: 24 hours are enough
2. The customer did something over the weekend and you get a report on Monday that something was deleted: 24 hours are likely not enough.

So 30 days by default seem totally okay to me. It makes no sense to store undo entries that date back a year or so.

Commits
-------

7d7f01ec Increase undo expiry date
7efdef49 Trigger the onload_callback when featuring news (see #2531)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #2485
| Docs PR or issue | -

Commits
-------

dee7c1dc Trigger the onload_callback when featuring news
bc8447de Trigger the onload_callback when featuring news/events (see #2532)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #2485
| Docs PR or issue | -

Same PR as #2531 for Contao 4.10 where we also have featured events.

Commits
-------

c3a849ca Trigger the onload_callback when featuring news/events
67c7b188 Backport the doctrine-cache-bundle changes (see #2534)

Description
-----------

Backports the changes from #1916 to Contao 4.9 to make it compatible with PHP 8 (see #2263).

Commits
-------

ba9d21f1 Backport the doctrine-cache-bundle changes
d1103e9d CS
3feda719 Add compatibility with PHP 8 (see #2535)

Description
-----------

See #2263 and #2291

### TODO

* [x] Fix the tests.
* [x] Wait if sebastianbergmann/php-code-coverage#837 gets merged and then use PHPUnit 8.5 for all PHP versions.
* [ ] <del>Click through the back end and front end and fix all warnings.</del>

Commits
-------

8ad61492 Add PHP 8.0 to the CI chain
7b8729e5 Fix the unit and functional tests
47c14dbb Use 127.0.0.1 instead of localhost in the functional tests
938836c0 Always set the ACCEPT_LANGUAGE header in the functional tests
a4199ec2 Use PHPUnit 8.5 for all PHP versions
7ffbd267 Adjust the error level in PHP 8
4ce6b27b Merge branch '4.9' into fix/php8
24b1d711 Update the changelog and the language files (see #2541)

Description
-----------

-

Commits
-------

a55a7f20 Update the changelog and the language files
d19cb6c3 Add a missing PHPStan dependency (see #2543)

Description
-----------

-

Commits
-------

288bc91b Add a missing PHPStan dependency
80b6469c Merge branch '4.4' into 4.9

# Conflicts:
#	installation-bundle/src/Resources/translations/messages.fr.xlf
#	news-bundle/src/Resources/contao/dca/tl_news.php
ffebcd7f Fix issues found by the PhpStorm code inspector (see #2544)

Description
-----------

Function arguments renaming → forward compat with PHP 8.

Commits
-------

d6b22e4f Fix issues found by the PhpStorm code inspector
1fb0b96f More fixes
e2544f49 And even more
e6c4b182 Add global page model for fragments (see #2506)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #1935

As discussed on Mumble on the 2020-11-19, this should make the (global) page model available in the fragment controllers.

Commits
-------

03e7c410 Add global page model for fragments (replaces #1935)
a5c23263 Cast values for comparison
826748dc Added unit tests
00eeb729 CS
29ea202c CS
0e09e4ec Merge branch '4.9' into bugfix/page-argument
77c79bef Do not try to generate fragments for generated fragments (see #2521)

Description
-----------

If a fragment has multiple methods with different fragment type (e.g. a content element and a front end module), the first RegisterFragmentsPass creates a child definition that inherits all tags from the original. On the next run, the RegisterFragmentsPass would pick up the child definition and try to create duplicate fragments.

Commits
-------

cc5d72c2 Do not try to generate fragments for generated fragments
a0b92bba CS
4b8bc8f6 Merge branch '4.9' into bugfix/fragment-children
8605bc45 Allow caption to be a textarea rather than a text field (see #2527)

Description
-----------

An image caption shouldn't be limited to 255 chars only, that makes no sense to me.

That's the result:

<img width="1174" alt="Bildschirmfoto 2020-11-27 um 13 12 19" src="https://user-images.githubusercontent.com/481937/100448322-60b94a80-30b2-11eb-88f2-99f8fb499e4d.png">

Commits
-------

06f57eed Allow caption to be a textarea rather than a text field limited to 255 chars
b346f659 CS
0c23a1f9 Merge branch '4.9' into fix/allow-textarea-for-meta-caption
244d8455 Move migrations to core bundle (see #2545)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #2364

Commits
-------

1d6f4171 Move migrations to core bundle
20dfde35 Fix missing globals array
51fb5c72 PHPStan
5034731d Pass the filesystem as dependency and remove the Contao 3 migrations
66231e75 Fix compatibility with scssphp 1.4 (see #2547)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #2495

### ToDos

- [ ] Revert contao/conflicts@820074e once this got merged and released (4.9 and upstream).

Commits
-------

961abaaa Set the file path to fix compatibility with scssphp 1.4
946940d5 Run the CS fixer (see #2548)

Description
-----------

-

Commits
-------

29af160e Run the CS fixer
0df5442b Do not index preview URLs for searching (see #2550)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #2507
| Docs PR or issue | -

@Toflar: If the `X-Robots-Tag` header or the meta robots tag contains `noindex`, the listener will not pass the document to the indexer at all. This means that potentially existing entries will not be deleted. Is this OK?

Commits
-------

17d0e8a7 Do not index preview URLs for searching
137d4100 Correctly load the DCA labels (see #2540)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #2536

see #2536 for the discussion

Commits
-------

cb3740c2 Correctly load the DCA labels
64d23500 Merge branch '4.9' into bugfix/dca-labels
103649e2 Fix the cache tag invalidation (see #2551)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #2137
| Docs PR or issue | -

This is currently a proof of concept that should work for news and events. @Toflar @ausi Can you confirm that my implementation is what you had in mind?

### TODO

* [x] Add a general tag without ID for the top parent record
* [x] Implement cache tagging for the other elements and modules

Commits
-------

b523f614 Fix the cache tag invalidation
64c4cdc3 CS
4b61ac26 Do not double tag the content elements
5b4a03d8 Add a tag for the top parent element
996694e5 Add tagging for the missing modules
601247f2 Also tag the comments
90caa2a8 Strip port numbers from root page domains (see #2553)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #2214
| Docs PR or issue | -

Tested against https://regex101.com/r/jU0OrQ/2

Commits
-------

52e85cdb Strip port numbers from root page domains
48a0c3c0 Improve the regex

Co-authored-by: Martin Auswöger <martin@auswoeger.com>
bacb48b3 Clean up before the release (see #2560)

Description
-----------

-

Commits
-------

7db3c543 Clean up before the release
41b89f2d Update the changelog and the language files (see #2561)

Description
-----------

-

Commits
-------

6c50c48d Update the changelog and the language files
918884ce Update the changelog
5eb206fb Merge branch '4.9' into 4.10

# Conflicts:
#	calendar-bundle/src/Resources/contao/languages/fr/tl_calendar_feed.xlf
#	composer.json
#	core-bundle/src/Command/InstallCommand.php
#	core-bundle/src/Command/SymlinksCommand.php
#	core-bundle/src/DependencyInjection/Compiler/RegisterFragmentsPass.php
#	core-bundle/src/Migration/Version408/Version480Update.php
#	core-bundle/src/Resources/contao/dca/tl_page.php
#	core-bundle/src/Resources/contao/library/Contao/Controller.php
#	core-bundle/src/Resources/contao/library/Contao/DcaExtractor.php
#	core-bundle/src/Resources/contao/library/Contao/InsertTags.php
#	core-bundle/src/Resources/contao/modules/Module.php
#	core-bundle/tests/Contao/Database/ResultTest.php
#	core-bundle/tests/Functional/RoutingTest.php
#	core-bundle/tests/Security/Authentication/RememberMe/ExpiringTokenBasedRememberMeServicesTest.php
#	installation-bundle/src/Database/Version330Update.php
#	manager-bundle/composer.json
#	manager-bundle/src/Resources/skeleton/config/config.yml
#	manager-bundle/tests/ContaoManager/PluginTest.php
#	monorepo.yml
#	news-bundle/src/Resources/contao/dca/tl_news.php
#	news-bundle/src/Resources/contao/languages/fr/tl_news_feed.xlf
695843a5 Clean up after the upstream merge (see #2564)

Description
-----------

-

Commits
-------

950581e1 Clean up after the upstream merge
280339c0 Update the changelog and the language files (see #2565)

Description
-----------

-

Commits
-------

5d2cadae Update the changelog and the language files
b7567a83 Merge branch '4.10' into master

# Conflicts:
#	calendar-bundle/composer.json
#	comments-bundle/composer.json
#	composer.json
#	core-bundle/composer.json
#	core-bundle/src/Resources/contao/languages/fr/tl_article.xlf
#	core-bundle/src/Resources/contao/languages/fr/tl_form_field.xlf
#	core-bundle/src/Resources/contao/languages/fr/tl_image_size_item.xlf
#	core-bundle/src/Resources/contao/languages/fr/tl_layout.xlf
#	core-bundle/src/Resources/contao/languages/fr/tl_member.xlf
#	core-bundle/src/Resources/contao/languages/fr/tl_member_group.xlf
#	core-bundle/src/Resources/contao/languages/fr/tl_style_sheet.xlf
#	core-bundle/src/Resources/contao/languages/fr/tl_theme.xlf
#	core-bundle/src/Resources/contao/languages/fr/tl_user.xlf
#	core-bundle/src/Resources/contao/languages/fr/tl_user_group.xlf
#	core-bundle/tests/Contao/SearchTest.php
#	faq-bundle/composer.json
#	installation-bundle/composer.json
#	installation-bundle/src/Database/Version330Update.php
#	installation-bundle/src/Database/Version350Update.php
#	listing-bundle/composer.json
#	manager-bundle/composer.json
#	news-bundle/composer.json
#	news-bundle/src/Resources/contao/languages/cs/default.xlf
#	news-bundle/src/Resources/contao/languages/cs/tl_layout.xlf
#	news-bundle/src/Resources/contao/languages/cs/tl_news_feed.xlf
#	news-bundle/src/Resources/contao/languages/cs/tl_user_group.xlf
#	newsletter-bundle/composer.json
AlexejKossmann pushed a commit to AlexejKossmann/contao that referenced this pull request Apr 6, 2021
Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #...
| Docs PR or issue | contao/docs#...

Commits
-------

13c00f1 Add the feature action to the permission checks (see contao#2524)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes contao#2505
| Docs PR or issue | n/a

See contao#2505.

Commits
-------

6131435 Add feature action to permission check as well (see contao#2505)
55d85f3 Allow version 3 of toflar/psr6-symfony-http-cache-store (see contao#2522)

Description
-----------

Another step towards contao#2263.

Commits
-------

2efea3b Allow version 3 of toflar/psr6-symfony-http-cache-store
1cc3754 Increase undo expiry date (see contao#2528)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | -
| Docs PR or issue | -

I really think the default undo period of 24h is not a good default (which is why I think it should be changed in 4.9 LTS too).

For me, there are two use cases our current undo system can cover:

1. The immediate "Oh, I deleted something which I shouldn't have" case: 24 hours are enough
2. The customer did something over the weekend and you get a report on Monday that something was deleted: 24 hours are likely not enough.

So 30 days by default seem totally okay to me. It makes no sense to store undo entries that date back a year or so.

Commits
-------

7d7f01e Increase undo expiry date
7efdef4 Trigger the onload_callback when featuring news (see contao#2531)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes contao#2485
| Docs PR or issue | -

Commits
-------

dee7c1d Trigger the onload_callback when featuring news
bc8447d Trigger the onload_callback when featuring news/events (see contao#2532)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes contao#2485
| Docs PR or issue | -

Same PR as contao#2531 for Contao 4.10 where we also have featured events.

Commits
-------

c3a849c Trigger the onload_callback when featuring news/events
67c7b18 Backport the doctrine-cache-bundle changes (see contao#2534)

Description
-----------

Backports the changes from contao#1916 to Contao 4.9 to make it compatible with PHP 8 (see contao#2263).

Commits
-------

ba9d21f Backport the doctrine-cache-bundle changes
d1103e9 CS
3feda71 Add compatibility with PHP 8 (see contao#2535)

Description
-----------

See contao#2263 and contao#2291

### TODO

* [x] Fix the tests.
* [x] Wait if sebastianbergmann/php-code-coverage#837 gets merged and then use PHPUnit 8.5 for all PHP versions.
* [ ] <del>Click through the back end and front end and fix all warnings.</del>

Commits
-------

8ad6149 Add PHP 8.0 to the CI chain
7b8729e Fix the unit and functional tests
47c14db Use 127.0.0.1 instead of localhost in the functional tests
938836c Always set the ACCEPT_LANGUAGE header in the functional tests
a4199ec Use PHPUnit 8.5 for all PHP versions
7ffbd26 Adjust the error level in PHP 8
4ce6b27 Merge branch '4.9' into fix/php8
24b1d71 Update the changelog and the language files (see contao#2541)

Description
-----------

-

Commits
-------

a55a7f2 Update the changelog and the language files
d19cb6c Add a missing PHPStan dependency (see contao#2543)

Description
-----------

-

Commits
-------

288bc91 Add a missing PHPStan dependency
80b6469 Merge branch '4.4' into 4.9

# Conflicts:
#	installation-bundle/src/Resources/translations/messages.fr.xlf
#	news-bundle/src/Resources/contao/dca/tl_news.php
ffebcd7 Fix issues found by the PhpStorm code inspector (see contao#2544)

Description
-----------

Function arguments renaming → forward compat with PHP 8.

Commits
-------

d6b22e4 Fix issues found by the PhpStorm code inspector
1fb0b96 More fixes
e2544f4 And even more
e6c4b18 Add global page model for fragments (see contao#2506)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes contao#1935

As discussed on Mumble on the 2020-11-19, this should make the (global) page model available in the fragment controllers.

Commits
-------

03e7c41 Add global page model for fragments (replaces contao#1935)
a5c2326 Cast values for comparison
826748d Added unit tests
00eeb72 CS
29ea202 CS
0e09e4e Merge branch '4.9' into bugfix/page-argument
77c79be Do not try to generate fragments for generated fragments (see contao#2521)

Description
-----------

If a fragment has multiple methods with different fragment type (e.g. a content element and a front end module), the first RegisterFragmentsPass creates a child definition that inherits all tags from the original. On the next run, the RegisterFragmentsPass would pick up the child definition and try to create duplicate fragments.

Commits
-------

cc5d72c Do not try to generate fragments for generated fragments
a0b92bb CS
4b8bc8f Merge branch '4.9' into bugfix/fragment-children
8605bc4 Allow caption to be a textarea rather than a text field (see contao#2527)

Description
-----------

An image caption shouldn't be limited to 255 chars only, that makes no sense to me.

That's the result:

<img width="1174" alt="Bildschirmfoto 2020-11-27 um 13 12 19" src="https://user-images.githubusercontent.com/481937/100448322-60b94a80-30b2-11eb-88f2-99f8fb499e4d.png">

Commits
-------

06f57ee Allow caption to be a textarea rather than a text field limited to 255 chars
b346f65 CS
0c23a1f Merge branch '4.9' into fix/allow-textarea-for-meta-caption
244d845 Move migrations to core bundle (see contao#2545)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes contao#2364

Commits
-------

1d6f417 Move migrations to core bundle
20dfde3 Fix missing globals array
51fb5c7 PHPStan
5034731 Pass the filesystem as dependency and remove the Contao 3 migrations
66231e7 Fix compatibility with scssphp 1.4 (see contao#2547)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes contao#2495

### ToDos

- [ ] Revert contao/conflicts@820074e once this got merged and released (4.9 and upstream).

Commits
-------

961abaa Set the file path to fix compatibility with scssphp 1.4
946940d Run the CS fixer (see contao#2548)

Description
-----------

-

Commits
-------

29af160 Run the CS fixer
0df5442 Do not index preview URLs for searching (see contao#2550)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes contao#2507
| Docs PR or issue | -

@Toflar: If the `X-Robots-Tag` header or the meta robots tag contains `noindex`, the listener will not pass the document to the indexer at all. This means that potentially existing entries will not be deleted. Is this OK?

Commits
-------

17d0e8a Do not index preview URLs for searching
137d410 Correctly load the DCA labels (see contao#2540)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes contao#2536

see contao#2536 for the discussion

Commits
-------

cb3740c Correctly load the DCA labels
64d2350 Merge branch '4.9' into bugfix/dca-labels
103649e Fix the cache tag invalidation (see contao#2551)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes contao#2137
| Docs PR or issue | -

This is currently a proof of concept that should work for news and events. @Toflar @ausi Can you confirm that my implementation is what you had in mind?

### TODO

* [x] Add a general tag without ID for the top parent record
* [x] Implement cache tagging for the other elements and modules

Commits
-------

b523f61 Fix the cache tag invalidation
64c4cdc CS
4b61ac2 Do not double tag the content elements
5b4a03d Add a tag for the top parent element
996694e Add tagging for the missing modules
601247f Also tag the comments
90caa2a Strip port numbers from root page domains (see contao#2553)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes contao#2214
| Docs PR or issue | -

Tested against https://regex101.com/r/jU0OrQ/2

Commits
-------

52e85cd Strip port numbers from root page domains
48a0c3c Improve the regex

Co-authored-by: Martin Auswöger <martin@auswoeger.com>
bacb48b Clean up before the release (see contao#2560)

Description
-----------

-

Commits
-------

7db3c54 Clean up before the release
41b89f2 Update the changelog and the language files (see contao#2561)

Description
-----------

-

Commits
-------

6c50c48 Update the changelog and the language files
918884c Update the changelog
5eb206f Merge branch '4.9' into 4.10

# Conflicts:
#	calendar-bundle/src/Resources/contao/languages/fr/tl_calendar_feed.xlf
#	composer.json
#	core-bundle/src/Command/InstallCommand.php
#	core-bundle/src/Command/SymlinksCommand.php
#	core-bundle/src/DependencyInjection/Compiler/RegisterFragmentsPass.php
#	core-bundle/src/Migration/Version408/Version480Update.php
#	core-bundle/src/Resources/contao/dca/tl_page.php
#	core-bundle/src/Resources/contao/library/Contao/Controller.php
#	core-bundle/src/Resources/contao/library/Contao/DcaExtractor.php
#	core-bundle/src/Resources/contao/library/Contao/InsertTags.php
#	core-bundle/src/Resources/contao/modules/Module.php
#	core-bundle/tests/Contao/Database/ResultTest.php
#	core-bundle/tests/Functional/RoutingTest.php
#	core-bundle/tests/Security/Authentication/RememberMe/ExpiringTokenBasedRememberMeServicesTest.php
#	installation-bundle/src/Database/Version330Update.php
#	manager-bundle/composer.json
#	manager-bundle/src/Resources/skeleton/config/config.yml
#	manager-bundle/tests/ContaoManager/PluginTest.php
#	monorepo.yml
#	news-bundle/src/Resources/contao/dca/tl_news.php
#	news-bundle/src/Resources/contao/languages/fr/tl_news_feed.xlf
695843a Clean up after the upstream merge (see contao#2564)

Description
-----------

-

Commits
-------

950581e Clean up after the upstream merge
280339c Update the changelog and the language files (see contao#2565)

Description
-----------

-

Commits
-------

5d2cada Update the changelog and the language files
b7567a8 Merge branch '4.10' into master

# Conflicts:
#	calendar-bundle/composer.json
#	comments-bundle/composer.json
#	composer.json
#	core-bundle/composer.json
#	core-bundle/src/Resources/contao/languages/fr/tl_article.xlf
#	core-bundle/src/Resources/contao/languages/fr/tl_form_field.xlf
#	core-bundle/src/Resources/contao/languages/fr/tl_image_size_item.xlf
#	core-bundle/src/Resources/contao/languages/fr/tl_layout.xlf
#	core-bundle/src/Resources/contao/languages/fr/tl_member.xlf
#	core-bundle/src/Resources/contao/languages/fr/tl_member_group.xlf
#	core-bundle/src/Resources/contao/languages/fr/tl_style_sheet.xlf
#	core-bundle/src/Resources/contao/languages/fr/tl_theme.xlf
#	core-bundle/src/Resources/contao/languages/fr/tl_user.xlf
#	core-bundle/src/Resources/contao/languages/fr/tl_user_group.xlf
#	core-bundle/tests/Contao/SearchTest.php
#	faq-bundle/composer.json
#	installation-bundle/composer.json
#	installation-bundle/src/Database/Version330Update.php
#	installation-bundle/src/Database/Version350Update.php
#	listing-bundle/composer.json
#	manager-bundle/composer.json
#	news-bundle/composer.json
#	news-bundle/src/Resources/contao/languages/cs/default.xlf
#	news-bundle/src/Resources/contao/languages/cs/tl_layout.xlf
#	news-bundle/src/Resources/contao/languages/cs/tl_news_feed.xlf
#	news-bundle/src/Resources/contao/languages/cs/tl_user_group.xlf
#	newsletter-bundle/composer.json
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants