Skip to content

Releases: in2code-de/in2publish_core

12.3.0 (12.3.1) TYPO3 v12 compatibility

30 Nov 14:05
12.3.0
63064b0
Compare
Choose a tag to compare

30 days, 242 changed files and 10k+ changed lines, we proudly release in2publish_core v12.3.0 which is now compatible with TYPO3 v12

🎉 Features

(Of course these features include a long list of changes, fixes, workarounds, cosmetic corrections, updates, backports, etc, which are not listed here for the sake of brevity)

  • Support for TYPO3 v12
    • Support for TCA type file
    • Support for TCA type link
  • Support for PHP 8.1 & 8.2

Changes

Admins

  • Action is required The YAML parser used to parse the configuration was replaced with the one already shipped with TYPO3 (symfony/yaml). That package handles YAML lists quite differently. Please refer to the changelog file for this specific change.
  • ✨ Cosmetic upgrade for the Publish Tools Module (good job, @dhoffmann1979 !)
  • Remove the integration for co-stack/logs. You can use the extension's module without any loss of functionality on its own.

Developers

  • Logged Queries (ExtConf basic.debugQueries) are now ordered by how often they occurred
  • Logged Queries (ExtConf basic.debugQueries) display the total duration of all queries
  • Logged Queries (ExtConf basic.debugQueries) are displayed in a new tab for each request
  • in2publish_core defines two namespaced constants In2code\In2publishCore\{TYPO3_V11,TYPO3_V12}. They are not considered public API.
  • New demands and resolvers (yes, they are public API 😏): FolderDemand, FoldersInFolderDemand, FilesInFolderDemand. If you don't know what demands are in in2publish_core, have a look at Concept and ResolveYourOwnRelations
  • New Record type StorageRootFolderRecord. It does what it says (It's just a folder when using the local driver, but that's very picky now, isn't it?)

General

  • The PreProcessing of the TCA is now cached, which reduces the overhead in2publish_core puts onto TYPO3 by a few thousand method/function calls, which result in less computing time and resource consumption (It's now faster and eco friendly 💚 without any drawback)
  • The LoadingOverlay and ConfirmationModal is now available in all modules where the path begins with InjectLoadingOverlayMiddleware::SUPPORTED_PATHS. You can use the loading overlay and confirmation modal JS, but it is not considered public API and may change without prior notice.

🐛 Bugfixes

Editors

  • You will be redirected to the previous page after publishing. This did not work reliably before when publishing single records or translations.

Admins

  • The setting ignoredFields.ctrl.versioningWS works again

Developers

  • Collection and debugging of Content Publisher queries in the backend had an issue where a portion of logged queries was lost.
  • TcaService::getTablesAllowedOnPage and TcaService::getAllAllowedTableNames are now TYPO3 version specific implementations that are injected. Use the interface In2code\In2publishCore\Service\Configuration\PageTypeService instead.
  • Removed the BackendRouteInitialization and ExtTablesPostProcessingEvent. If you used them you have to create your own middleware instead (which always was the better option 😉)
  • It is not allowed to call PublisherService::publishRecordTree directly anymore. Calling it will trigger a deprecation. Use PublisherService::publish instead. The method will be made protected/private in in2publish_core v13.

Internal

  • Replaced tx_in2publishcore_filepublisher_task with tx_in2publishcore_filepublisher_instruction in the list of default excluded tables
  • Added tx_in2publishcore_filepublisher_instruction the the list of required tables
  • The function bar in the publish files module will not be shown anymore if publishing is not available
  • Fixed Unit Tests for new PublishFileInstructions
  • Introduced a 2-level cache to prevent multiple cache misses and cache queries
  • The exception CacheableValueCanNotBeGeneratedException now inherits from the in2publish_core base exception, not from the enterprise edition base exception
  • Reduced memory footprint by omitting resolver metdadata not required by any code
  • The Publish Tools Module Icon is now registered as icon in2publish-core-tools-module and can be used everywhere
  • The PageTsProvider is now a singleton as unlocking it had no effect, as the property change does not affect different instances of the class
  • Don't require typo3conf to be an existing folder when testing the foreign document root
  • Removed outdated an outdated overlay HTML container
  • Consecutive publications in a single process will not fail miserably anymore
  • Correctly calculate the state and recursive state of folder records by including any record but other files and folders

12.2.0 New demand types, config container services, form framework support, etc.

31 Oct 13:42
12.2.0
52cb316
Compare
Choose a tag to compare

⚡ Features

  • Form Framework plugins are now supported. If a form from fileadmin is used in a content element, the file will be published with the form plugin element.
  • The feature treatRemovedAndDeletedAsDifference is now implemented again under the new name feature.hideRecordsDeletedDifferently. It shows records deleted on foreign and removed on local and vice versa if feature is disabled (default = enabled)
  • New Styling for Badges in Publish Files Module

↕️ Changes (for Admins)

  • Changed behavior: The Content Publisher will now only publish the selected page excluding translations and translated content.
  • Files starting with a dot (hidden files) are skipped by the Publish Files Module
  • Some configurations are moved in a more structure way. Please consider the Publish Tools Module to bring your configuration file up to date. Also, have a look at LocalConfiguration.yaml.example
  • The Preview & Compare Butttons are shown again in the overview module
  • You can now use ignoredFields.[table|*].ctrl.enablecolumns to ignore changes in all fields which define the visibility of a content element

🔩 Changes and Deprecations (for Developers)

  • The Dependency Modal, which displays unfulfilled dependencies is now reusable by other developers
  • The content recursion limit can now be set in the RecordTreeBuildRequest
  • New Event RecordWasSelectedForPublishing
  • New Event RecordWasPublished
  • Add configuration option to add a timeout after file transmission in order to restore file transmission on slow file systems (for Mac users)
  • New Demand Types: It's now possible to create custom Demand types, which can be used to resolve relations to records which are not selectable with the existing demands.
  • Config Container Services: All Config Container parts (Definer, Provider, PostProcessor, Migrations) will be automatically registered via Services if they implement the new service interfaces.
  • Event PublishingOfOneRecordBegan is deprecated, use RecordWasPublished instead.
  • Event PublishingOfOneRecordEnded is deprecated, use RecordWasPublished instead.
  • Anemic TcaService Methods are deprecated

🐛 Fixes

  • Respect TCA type category relationship setting. Categories attached to records will be published
  • Replace deprecated (PHP 8.1) function strftime with date
  • Publishing Overlay is shown again
  • Running Request are now splitted up into chunks to prevent timeouts
  • Publish File Module shows the correct state of files now
  • Prevent exceptions when legacy adapters extend SshConnectionDefiner
  • Respect allowLanguageSynchronization behaviour when defining visibility dependencies
  • Some labels are corrected and inform the user now in a more detailed way
  • Publish File Module now show identifiers for moved files.
  • Corrects SSH Adapter
  • After publishing the correct event is now dispatched RecordWasPublished

❓ Further information

  • The branching of the extension was updated. Previously, the main development was done in the branch develop-v12, this is now only called develop. The same applies to the master branches. The older TYPO3-vX branches have been renamed and are now called master-vX.

Full Changelog: 12.1.0...12.2.0

11.0.8

17 Oct 09:44
11.0.8
3072411
Compare
Choose a tag to compare

🐛 Fixes

  • Merged #104 Invalid XML in locallang.xlf
  • Merged #106 Issue #105 Fixes an edge case bug when translated pages have a lower uid than the default language

11.0.7

27 Sep 14:47
877809d
Compare
Choose a tag to compare

🐛 Fixes

  • Fixes missing tag in locallang.xml

11.0.6

25 Sep 11:02
5d0ef6b
Compare
Choose a tag to compare

✨ Features

  • Add label for PublishRedirects module

🐛 Fixes

  • Fix problem with SSH Adapter
  • Avoid error log entries for unset backend users in clear cache command
  • Update definition of defaultIgnoredTables for publishing

11.0.5

05 Jun 13:23
Compare
Choose a tag to compare

✨ Features

  • none - but PHP 8.1 is supported and tested

🐛 Fixes

  • Avoid undefined array key access in ShallowRecordFinder
  • Fix registration of BackupCommand and description of ImportCommand

12.1.0

28 Oct 14:27
12.1.0
85c73df
Compare
Choose a tag to compare

✨ Features

  • We present, a new event: DemandsWereResolved
  • Let go of your XCLASS with 🥁 RecordExtensions. What? RecordExtensions! What? RecordExtensions!!! Why? Because we can, that's why!
    TBH i think this is pretty awesome and you should read the documentation about RecordExtensions.

🐛 Fixes

  • Hooray, the Overview Module shows record breadcrumbs again (if enabled)
  • The build scripts are now compatible with docker compose
  • The RecordIndex will not attempt to misuse arrays as records anymore
  • The tests in the Tools Module which demanded an antique table is now satisfied with less.
  • Giving the DatabaseSchemaService good defaults made it crash less.
  • We are now supporting all FAL drivers, regardless how picky they are with their folder and file names.
  • Missing files don't hurt us anymore, we just ignore them.
  • An empty redirects table on foreign won't hurt us anymore, too.
  • Too many cooks spoil the broth. Remove the second check if a record is being published, or else no record actually will.
  • To infinity and beyond, no longer. Infinite recursions in the Overview Module are now very very unlikely.
  • Last but not least: Call me maybe?! RecordRelationsWereResolved will be triggered for Publish Files Module operations.

🧹 Chores

  • I threw some things in the trash, like unused code, duplicate methods from interfaces
  • Ignore stuff we don't test, because pff, who tests middlewares, events, or compiler passes (sarkasm included)
  • Switch from docker-compose to docker compose
  • Fix all them typos
  • Deprecate stuff that nobody uses anymore. ArrayUtility::getValueByPath, AbstractTask::getConfiguration
  • Special thanks to @tinzog for fixing my bad english 😉
  • Explain how to exclude a record by its parent state and property, add missing docs for DemandsWereCollected and DemandsForTextWereCollected
  • [DOCS] Explain how to exclude a record by its parent state and property
  • [DOCS] Add missing docs for the events DemandsWereCollected and DemandsForTextWereCollected

Full Changelog: 12.0.0...12.1.0

11.0.4

28 Oct 13:51
11.0.4
e2de2a9
Compare
Choose a tag to compare
  • This release includes all changes from the 10.2.6 release
  • Marked as compatible with PHP 8.1
  • Fixed code coverage collection

Full Changelog: 11.0.3...11.0.4

10.2.6 Bug fixes

28 Oct 13:01
10.2.6
fadab95
Compare
Choose a tag to compare

This release rectifies problems with files. These problems can occur when a file is indexed but does not exist on local and foreign. Also, one og the fixes is just a workaround for a bug in TYPO3.
The SysInfo exporter will gracefully handle problems when log data could not be decoded.
The missing support for query parts in TYPO3 redirects was added.
Redirects targeting existing page are now properly connected to a page if the connection is defined only on foreign.

Full Changelog: 10.2.5...10.2.6

10.2.5 Missing bugfixes

24 Aug 09:16
10.2.5
9d6ec4a
Compare
Choose a tag to compare

In the last release, two bug fix were not included by accident.

Bugs fixed:

  • Prevent empty bulk insert when nothing would be actually published
  • Ensure the correct return type of a count query