Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,10 @@ and this project adheres to

## [Unreleased]

### Removed

- 🔥(backend) remove easy-thumbnails and Pillow #2909

## [v6.0.4] - 2026-10-26

### Changed
Expand Down
14 changes: 14 additions & 0 deletions UPGRADE.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,20 @@ the following command inside your docker container:

## [Unreleased]

- The backend no longer depends on `easy-thumbnails`, nor on Pillow, which
came with it: nothing used them anymore. No migration drops the tables of
`easy-thumbnails`, they stay in the database and the backend reads none of
them: `easy_thumbnails_source`, `easy_thumbnails_thumbnail` and
`easy_thumbnails_thumbnaildimensions`. They are empty: nothing ever
created a thumbnail. Keep them or drop them; to drop them, along with
their entries in `django_migrations`:

```sql
DROP TABLE easy_thumbnails_thumbnaildimensions, easy_thumbnails_thumbnail,
easy_thumbnails_source;
DELETE FROM django_migrations WHERE app = 'easy_thumbnails';
```

## [v6.0.2] - 2026-10-21

- ⚠️ **The collaboration server moves to `@y/hub` 0.10.1: run its schema
Expand Down
4 changes: 1 addition & 3 deletions src/backend/core/management/commands/anonymize_database.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
(emails, names, the OIDC ``sub``), user-generated content (document titles and
excerpts, comment bodies, thread/comment metadata) and secrets (password
hashes), and TRUNCATEs the operational tables that embed identity (sessions,
admin log, thumbnail cache). Structural columns that make
admin log). Structural columns that make
the data realistic for load testing — the tree ``path``/``depth``/``numchild``,
``link_reach``, roles, foreign keys, row counts, timestamps — are deliberately
preserved, so the result pairs naturally with ``profile_volumetry`` /
Expand Down Expand Up @@ -129,8 +129,6 @@
TRUNCATES = [
"django_session", # session_data can carry the authenticated identity
"django_admin_log", # object_repr / change_message leak titles and emails
"easy_thumbnails_source", # thumbnail cache: media file paths
"easy_thumbnails_thumbnail",
]


Expand Down
Empty file.
58 changes: 0 additions & 58 deletions src/backend/core/templatetags/extra_tags.py

This file was deleted.

7 changes: 0 additions & 7 deletions src/backend/impress/settings.py
Original file line number Diff line number Diff line change
Expand Up @@ -399,7 +399,6 @@ class Base(Configuration):
"rest_framework",
"parler",
"treebeard",
"easy_thumbnails",
"waffle",
# Django
"django.contrib.admin",
Expand Down Expand Up @@ -704,12 +703,6 @@ class Base(Configuration):
"https://eu.i.posthog.com", environ_name="POSTHOG_HOST", environ_prefix=None
)

# Easy thumbnails
THUMBNAIL_EXTENSION = "webp"
THUMBNAIL_TRANSPARENCY_EXTENSION = "webp"
THUMBNAIL_DEFAULT_STORAGE_ALIAS = "default"
THUMBNAIL_ALIASES = {}

# Celery
CELERY_BROKER_URL = values.Value("redis://redis:6379/0")
CELERY_BROKER_TRANSPORT_OPTIONS = values.DictValue({})
Expand Down
1 change: 0 additions & 1 deletion src/backend/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,6 @@ dependencies = [
"django-waffle==5.0.0",
"drf_spectacular==0.30.0",
"dockerflow==2026.3.4",
"easy_thumbnails==2.10.1",
"emoji==2.16.0",
"factory_boy==3.3.3",
"gunicorn==26.2.0",
Expand Down
44 changes: 0 additions & 44 deletions src/backend/uv.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion src/mail/mjml/template.mjml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
We load django tags here so they appear in the body of the HTML output.
This ensures html-to-text also includes them in the plain text template.
-->
<mj-raw>{% load i18n static extra_tags %}</mj-raw>
<mj-raw>{% load i18n static %}</mj-raw>
<mj-wrapper css-class="wrapper" padding="5px 25px 0px 25px">
<mj-section css-class="wrapper-logo">
<mj-column>
Expand Down
Loading