forked from a64f7bb4-7358-4778-9fbe-3b882c34cc1d/v1
12 KiB
12 KiB
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[Unreleased]
Added
Changed
[8.x-3.2] - 2021-10-04
Fixed
- #3240230: Don't hard depend on dunamic_page_cache module anymore.
- #3240238: Revert FilterResponseEvent::isMainRequest() deprecation fix.
- #2976480: rewrite of CacheableResponseSubscriberTest by japerry which now passes.
- Revert:
Tests: deprecation warning in src/Functional/DashboardPurgersTest.php
[8.x-3.1] - 2021-10-01
Changed
- Improvement: Refactor info.yml core_version_requirement formats.
Fixed
- #2976480: Do not send Cache-Tags header if Cache-control: no-cache.
- #2803607: Remove PageCacheCheck.
- #2425093: Purge declares 'Performance' task on behalf of system module.
- #3034525: Clean up duplicate cache tags created by invalidation tokens.
- #3006680: Fix PHP7.2 subclass signature error.
- #3163002: Make late runtime processor compatible with drush.
- #3224426: Possibility to disable some purge plugins in config.
- Improvement: fixed various deprecations to futureproof for Drupal 10.
- Improvement: fixed codestyle issues.
- Improvement: fixed several testcases.
[8.x-3.0] - 2020-05-29
Added
- Improvement: added more tags to the default blacklist of the core tags
queuer:
config:core.extension
,extensions
,config:purge
,config:field.storage
.
Changed
- Important: Purge now requires Drupal 8 to be updated to a recent stable
version, which is
8.8.6
. This requirement supports the ongoing commitment to stability, quality and functional equivalent on Drupal 8, while paving the way for equal Drupal 9 quality with a single codebase. - Important: Purge now requires at least PHP 7.2 or newer.
- Important: Drush 8 legacy wrappers have been removed.
Fixed
- D9 support: Various little fixes have been made to run smooth on D9.
- Improvement: Code quality has been brought up to date (D9 readiness).
- Improvement: Rewrote the entire UI testsuite to pass (D9 readiness).
- Improvement: Rewrote the entire kernel testsuite to pass (D9 readiness).
[8.x-3.0-beta9] - 2019-10-03
Added
- Added
.gitattributes
to keep documentation out of built packages. - Added
composer.json
for integration with Composer-based workflows. - API:
Annotation\PurgeTagsHeader::$dependent_purger_plugins
to allow binding headers to purgers. - API:
TagsHeaderInterface::isEnabled()
which returnsTRUE
by default. - API:
DiagnosticsServiceInterface::filterInfo
,::filterOk
,::filterWarnings
,::filterWarningsAndErrors
,::filterErrors
- API:
DiagnosticsServiceInterface::toMessageList()
- API:
DiagnosticsServiceInterface::toRequirementsArray()
parameter$prefix_title
.
Changed
- Improvement: thousands of fixes to pass all these these standards checks:
phpcs --standard=Drupal --extensions=php,module,inc,install,..
phpcs --standard=AcquiaDrupalStrict
- Improvement:
PROJECTPAGE.md
,README.md
and newCHANGELOG.md
. - Improvement: Drupal's status report now only shows warning and error diagnostics.
- Improvement:
Counter\Counter::set()
only writes if the value changes. - Improvement:
Queue\DatabaseQueue::numberOfItems()
now builds theCOUNT()
OOP-style. - Improvement:
Queue\StatsTracker::updateTotals()
no longer maintains the::numberOfItems()
statistic. - Improvement:
Queue\NumberOfItemsStatistic
is now synced fromQueueService::commit
and nowhere else. - API:
DiagnosticsServiceInterface::getRequirementsArray()
-->::toRequirementsArray()
- API:
DiagnosticsServiceInterface::getHookRequirementsArray()
removed - API: `DiagnosticCheckInterface::getHookRequirementsArray()`` removed
- API:
Queue\numberOfItemsStatistic
-->NumberOfItemsStatistic
- API:
Queue\totalProcessingStatistic
-->TotalProcessingStatistic
- API:
Queue\totalSucceededStatistic
-->TotalSucceededStatistic
- API:
Queue\totalFailedStatistic
-->TotalFailedStatistic
- API:
Queue\totalNotSupportedStatistic
-->TotalNotSupportedStatistic
Fixed
- #2795131:
purge_tokens
should not set Max-Age to 0. - #2795131: codestyle in the tests got overhauled.
- #2795131: Drush commands ported to Drush 9, tested extensively and UX improved.
Invalidation\WildcardPathInvalidation
declaration issue
[8.x-3.0-beta8] - 2017-08-14
Added
TypeUnsupportedException
, thrown fromInvalidationsService::get()
, this prevents people from adding things to their queue that aren't supported.QueueSizeDiagnosticCheck
which warns after 30000 queue items and does a safety shutdown over 10000.- Improvement:
drush
commands:cache-rebuild-external (cre)
shorthand for "drush p-invalidate everything
".p-processor-add (pradd)
p-processor-ls (prols -> prls)
p-processor-lsa (prlsa)
p-processor-rm (prrm)
p-queue-stats (pqs)
: now has richer output and a--reset-totals
switch.p-queue-empty (pqe)
: no longer resets statistics (hint: it shouldn't).p-queuer-add (puadd)
p-queuer-ls (puls)
p-queuer-lsa (pulsa)
p-queuer-rm (purm)
p-purger-mvu (ppmvu)
: move a purger UP in the execution order.p-purger-mvd (ppmvd)
: move a purger DOWN in the execution order.
Changed
- Improvement:
purge_ui
's diagnostic report, its colored and visually pretty now. - API: Rewrote
Queue\StatsTrackerInterface
from the ground up. - API: Simplified
Counter\PersistentCounterInterface
andCounterInterface
into one mergedCounterInterface
, and::setWriteCallback
lost its$id
parameter.
Fixed
Undefined variable count QueueService:122
DatabaseQueue::createItemMultiple()
call todb_insert()
->$this->connection->insert()
- Endless queue-loop of invalidations after removing a purger.
- Drush commands no longer require a
drush cache-rebuild
to become visible.
[8.x-3.0-beta7] - 2017-07-24
Added
drush p-queue-volume
to view the current queue volume.drush p-debug-en
anddrush p-debug-dis
for quickly enabling and disabing debug logging again. Works great together withdrush p-queue-work -v
!\Drupal\purge\Logger\LoggerChannelPart::isDebuggingEnabled()
to make it easier for downstreams to prevent heavy overhead code when this ain’t needed.
Changed
- Improvement:
drush p-queue-add
now allows adding multiple items to the queue using commas. - Improvement:
drush p-queue-work
now has a--finish
argument. - Improvement:
drush p-invalidate
anddrush p-queue-add
now ask for confirmation when invalidatingeverything
, to prevent users from accidentally harming their website at a moment where this isn’t a good idea. - Improvement: micro-optimized
\Drupal\purge\Logger\LoggerChannelPart
. - Improvement: renamed several
drush
commands to improve consistency:p-processors
PPRO
-->p-procsr-ls
PROLS
p-purgers
PPPU
-->p-purger-ls
PPLS
p-purgers-available
PPPUA
-->p-purger-lsa
PPLSA
p-purger-add
PPA
-->p-p-purger-add
PPADD
p-purger-rm
PPR
-->p-purger-rm
PPRM
p-queuers
PQRS
-->p-queuer-ls
PQULS
Fixed
- Bug in
RuntimeMeasurement::stop()
causing fatal errors.
[8.x-3.0-beta6] - 2016-10-26
Added
- Drush commands
p-purgers
,p-purgers-available
,p-purger-add
andp-purger-rm
.
Changed
- Improvement: 5m TTLs no longer shuts down purging, but still a bad idea.
[8.x-3.0-beta5] - 2016-09-07
Added
- Diagnostic check:
\...\DiagnosticCheck\MaxAgeCheck
. - Diagnostic check:
\...\DiagnosticCheck\PageCacheCheck
.
Changed
- API:
TagsHeaderInterface
now also extendsContainerFactoryPluginInterface
in order forcreate::
injection support. - Improvement: test coverage (
4430 passes, 0f, 0e
), pareview.sh compliance. - Improvement: The "
page cache maximum age
" dropdown on the performance tab, contains a lot more serious options now. - Improvement:
::testIteration()
tests onKernelServiceTestBase
derivatives, by introducingassertIterator()
. - Improvement:
Tests\Queue\PluginTestBase
now tests the paging logic of queue plugins.
Fixed
- #2692523: The
Purge-Cache-Tags
header has been dropped, and moves to the purge_purger_http project (as a submodule). The reasoning here is clear and in line with the strategy of the purge module for the future: HTTP headers are implementation details and the responsibility of purger modules, not a core task (and technology-assumption) for the core project. Users who need customized configurations, already likely use the generic HTTP purger while others will use submodules that already introduce their own headers (and remove them too). - #2791387: A new configurable block "
Purge this page
" has been added to allow administrators to quickly purge by URL, path or clear "everything". Alternatively, the block can also be configured to queue the items instead of direct execution. - #2706567: by lahoosascoots, nielsvm, arknoll:
QueuerService
andProcessorsService
assumes there are plugins in CMI. - #2795131: has rewritten the entire database queue backend, which now
automatically deploys a new database table
purge_queue
. Please note that upgrading users will see their queues wiped out and are required to rundrush p-queue-empty
to also reset queue statistics. - #2744215: diagnostic errors will now get logged for new installations, old installations will need to check "error" for the "diagnostics" log channel in their logging configurations.
- #2755019: Remove @file tag docblock
- #2787993: Allowed memory size of 268435456 bytes exhausted
- #2724217: Incompatibility with Monolog
- #2744135:
PurgerCapacityDataInterface::hasRuntimeMeasurement()
further clarified.
[8.x-3.0-beta4] - 2016-04-01
Changed
- API:
http.response.debug_cacheability_headers
has been dropped. - Improvement: Tag-Header plugins: now allow submodules to set export
headers with cache tags, the default header now is
Purge-Cache-Tags
. - Improvement: Invalidation properties: invalidation objects now have
::setProperty()
,::getProperty()
, this allows purgers to pass through information between processing rounds (Akamai requirement). - Improvement: Log management now allows purge and its submodules to log extensively and users have fine-grained control over it.
[8.x-3.0-beta3] - 2016-03-15
Changed
- API: All purger implementations now need to implement
::hasRuntimeMeasurement()
and can now drop their already existing::getTimeHint()
implementations unless they desire keeping that level of control. The end-user benefit is that capacity calculation becomes much more dynamic and now depends upon real-world execution times, which means that capacity can increase or decrease depending on how the purgers perform. The downstream benefit is that less code is required in purgers, reducing the risk of bugs and hassle.
Fixed
\...\Queue\StatsTracker::destruct()
which was potentially writing the buffer multiple times.\...\Invalidation\ImmutableInvalidationBase::getState()
- Catch combination states where one or more purgers addedNOT_SUPPORTED
but other purgers added states as well.
[8.x-3.0-beta2] - 2016-03-11
Changed
- API: The service
purge.queue.txbuffer
became public.
[8.x-3.0-beta1] - 2016-02-05
Added
- Purge version 8.x-3.0-beta1 - codename
Hello World
!