Temporal Cache Management Temporal Cache Management

0 likes

nr_temporal_cache / stable

Automatic TYPO3 cache invalidation for time-based content (starttime/endtime), addressing Forge #14277. Three scoping strategies (global, per-page, per-content) and three timing strategies (dynamic, scheduler, hybrid). The default global scoping expires all page caches on every transition - read the Performance chapter before deployment.

This version supports TYPO3

12 LTS 13 LTS 14 LTS

Older versions also support TYPO3

12 LTS 13 LTS 14 LTS

Get started

Download 1.0.2

Details

Author
Netresearch
Company
Netresearch DTT GmbH
Last update
06. Oct 2026
First upload
03. Sep 2026
Downloads
54
Category
Frontend
Dependencies
  • PHP (>=8.1.0 <=8.99.99)
  • TYPO3 (>=12.4.0 <=14.99.99)
  • scheduler (>=12.4.0 <=14.99.99)
  • reports (>=12.4.0 <=14.99.99)

Last upload comment

Fixed:

• The extension can be published to TER again. TER reads the extension title from the part of the composer.json description before the first - , and the description had its only - near the end, which gave a 289-byte title that TER could not store. The description now starts with Temporal Cache Management - ; the text after it is unchanged.
• Release archives no longer contain files the installed extension does not use: docs/, scripts/, .bestpractices.json, codecov.yml, Documentation/index.html and the AGENTS.md and CLAUDE.md files.

For details see https://github.com/netresearch/t3x-nr-temporal-cache/releases


Downloads by month

Installation

  1. Download ZIP file
  2. Log into your TYPO3 backend
  3. Go to Extension Manager module
  4. Press the upload button on the top bar
  5. Select the ZIP file and upload it. If you want to overwrite an existing extension installation, activate the checkbox.
  1. Go to your folder where the root composer.json file is located
  2. Type: composer require netresearch/nr-temporal-cache to get the latest version that runs on your TYPO3 version.
  1. Download T3X file
  2. Log into your TYPO3 backend
  3. Go to Extension Manager module
  4. Press the upload button on the top bar
  5. Select the T3X file and upload it. If you want to overwrite an existing extension installation, activate the checkbox.

Other extensions by this user (20)


Version history

Filter for TYPO3 versions

1.0.2 stable Latest
October 06, 2026
TYPO3: 12 LTS 13 LTS 14 LTS (>=12.4.0 <=14.99.99)
Fixed:

• The extension can be published to TER again. TER reads the extension title from the part of the composer.json description before the first - , and the description had its only - near the end, which gave a 289-byte title that TER could not store. The description now starts with Temporal Cache Management - ; the text after it is unchanged.
• Release archives no longer contain files the installed extension does not use: docs/, scripts/, .bestpractices.json, codecov.yml, Documentation/index.html and the AGENTS.md and CLAUDE.md files.

For details see https://github.com/netresearch/t3x-nr-temporal-cache/releases
Download
1.0.0 stable
September 04, 2026
TYPO3: 12 LTS 13 LTS 14 LTS (>=12.4.0 <=14.99.99)
First stable release. The API listed in Documentation/Api/ follows Semantic Versioning from here on: the two strategy service tags and their interfaces, TemporalMonitorRegistry's registration methods, the two value objects, and the eleven configuration keys.

Added:

• Documentation/Api/ defines what is covered by the version promise and what is internal, together with the deprecation policy. @api and @internal in the code say the same.

Fixed:

• Per-content scoping never resolved a reference. The lookup filtered sys_refindex on a column that table does not have, so on MySQL the query raised an error the strategy swallowed and on SQLite it matched nothing — per-content behaved exactly like per-page.
• The documented way to monitor additional tables did nothing. All three recipes registered through a service definition that Symfony removes when it compiles the container. Register from ext_localconf.php instead; the manual now shows only that form.
• Deleted records could reach a transition lookup, shortening cache lifetimes for content an editor had removed.
• The manual stated the opposite of the code in three places: hybrid timing's content rule, the harmonization slot distance around midnight, and a claim that no scheduler task type is registered.
• LICENSE contained a placeholder instead of the GPL-2.0 text.

Changed:

• Extension state from beta to stable.
• The backend module tests now run on TYPO3 13 and 14 instead of skipping.

For details see https://github.com/netresearch/t3x-nr-temporal-cache/releases
Download
0.9.0 beta
September 03, 2026
TYPO3: 12 LTS 13 LTS 14 LTS (>=12.4.0 <=14.99.99)
Added:

• TYPO3 v14 and PHP 8.5 support.
• Page-aware cache scoping under dynamic timing.
• Persistent temporal field harmonization with table-aware routing.
• ext_tables.sql with starttime/endtime indexes; run typo3 extension:setup.
• XLIFF translations for 31 languages; separate extension and module icons.

Changed:

• Upgrade impact: under timing.strategy = hybrid the page cache lifetime now honours timing.hybrid.content as well as timing.hybrid.pages, taking the earliest. A site with pages = scheduler and content = dynamic previously got an unbounded page cache and will now get expiring caches.
• harmonization.tolerance = 0 disables harmonization rather than removing a limit; auto_round is labelled as the reporting flag it is.
• Extension state raised from alpha to beta.

Removed:

• timing.scheduler_interval and ExtensionConfiguration::getSchedulerInterval(). Nothing read the value; the cadence is the task's frequency in the Scheduler module. An API change, acceptable before 1.0.

Fixed:

• timing.strategy = scheduler did nothing: no task type was registered, so the task could not be created and the per-page and per-content flush tags were unreachable. The page cache was left uncapped and never flushed.
• The task could not be saved on TYPO3 12.4 and 13, which serialize it; its injected services made that throw. It now re-resolves them on wake-up.
• timing.hybrid.pages was read as pages while the configuration supplied page, so page records always fell back to dynamic timing.
• Harmonization measured slot distance within one day, so a transition near midnight moved to the wrong slot. It is now circular.
• temporalcache:verify suggested the non-core database:updateschema and rejected harmonization.tolerance = 0.
• Backend module links use the Backend UriBuilder for v14.

For details see https://github.com/netresearch/t3x-nr-temporal-cache/releases
Download

Get started

Download 1.0.2

Details

Author
Netresearch
Company
Netresearch DTT GmbH
Last update
06. Oct 2026
First upload
03. Sep 2026
Downloads
54
Category
Frontend
Dependencies
  • PHP (>=8.1.0 <=8.99.99)
  • TYPO3 (>=12.4.0 <=14.99.99)
  • scheduler (>=12.4.0 <=14.99.99)
  • reports (>=12.4.0 <=14.99.99)