The rebuild_reference_index management command starts by
deleting the entire ReferenceIndex table.
In Wagtail versions 4.1 and 4.2, all models are tracked in the
reference index. Unfortunately this also includes the
ReferenceIndex model itself. This is changed in 5.0 to only track certain Wagtail-related models [0].
This means that when rebuild_reference_index runs in versions
4.1 or 4.2, and deletes the ReferenceIndex table, it runs the code that checks whether ReferenceIndex instances have any
references.
If the index contains a large number of references (as could
happen if an upgrade to 4.1 built an index for a non-Wagtail
model), this process becomes extremely slow. There's no need
for the rebuild_reference_index command to update the index
when deleting it, so this can be significantly optimized by
disabling auto update here.
[0] https://docs.wagtail.org/en/stable/releases/5.0.html#referenceindex-no-longer-tracks-models-used-outside-of-wagtail
This migration would fail on Wagtail instances that have been around
since v0.5 (when we still used django-south), because the column order
of the wagtailsearch_querydailyhits table is different from the newly-created
wagtailsearchpromotions_querydailyhits.
If you hit this issue, you deserve a 🌟
Other packages and projects may still rely on the existence of this
template. We cannot simply remove it without a proper deprecation.
Add a note to remove the template in the next release.
`field_as_li.html` merely wraps a <li> and includes `field.html`.
Remove `field_as_li.html` template
It is no longer used.
Historical mention in 1.0 release notes [^1] has
been left intact.
[^1]: docs/releases/1.0.rst
Relates to #9031
* Usages of strftime("%d %b %Y %H:%M") have been replaced by usages of
django's timezone handling and date formatting, so the output is
similar to other dates rendered through the templating.
* Dates stored in the action logs are now parsed and converted
accordingly for the frontend.
* Improved tests to check those conversions
* Fixes#9581
* Add handling for wagtail.schedule.cancel with go_live_at=None
* Migrate log timestamps to ISO 8601 in UTC
* adapted new code from #9628
* replaced usages of test utility rendered_timestamp() with new core utility
* Replaced usages of django.utils.timezone.utc
* re-added migration on top of newest migrations
This reduces the memory overhead of the command, allowing it to be run on sites with lots of images.
Whilst that may reduce performance, I've also added a `select_related` and massively simplified the
`purge_only` path to counter
- Removes the jQuery slide animation so content will be instantly replaced
- Removes the autofocus behaviour on the search fields as this is not helpful for screen readers / keyboard control
- Includes support for `window.header` if provided alongside dynamic adding of data-* attributes if not included
- Base implementation for #9950
- Co-authored-by: sage <laymonage@gmail.com>
- Stimulus CountController content is programatically generated but best to avoid writing HTML accidentally
- ChooserModel field required label should avoid risk of translations with HTML
- Image focal point chooser's label does not need to support HTML
- FieldBlock us using h util but this can be avoided by built in browser escaping when innerText is used
- focal-point-chooser gets value from its set up but we should avoid innerHTML if we can