2022 Thumbor updates

Background
Thumbor is a smart imaging service that enables on-demand cropping, resizing, applying filters and optimizing of images. The Wikimedia media thumbnailing infrastructure is based on Thumbor, which has evolved and released various new versions since the Wikimedia Foundation adopted it.

Over the years we have been unable to keep pace with the latest releases to Thumbor and related technologies, resulting in an outdated service that is difficult to maintain and contribute to. To add additional complexity, Wikimedia Thumbor uses a community tool, Thumbor Community Core, to provide modifications as extensions to the Thumbor tool.

In order to simplify Thumbor maintenance, take advantage of new version features, address issues within the service, and invite more contributors from the movement, we seek to upgrade and streamline Wikimedia Thumbor. This project details the efforts of the Wikimedia Foundation to deliver this work.

What is changing
Our goal is to update/migrate Thumbor (both Mediawiki and Community Core) to Thumbor version 7 and Python 3, while retaining and/or improving existing Thumbor performance and functionality. We will attempt to minimize drastic changes or impacts to end-users, ensuring that we communicate potential large impacts or changes via updates on this page.

Key Milestones
 * 1) Update or Replace Thumbor Community Core to support Thumbor version 7 and Python 3
 * 2) Update Wikimedia Thumbor to support Thumbor version 7 and Python 3
 * 3) Dockerization & Migration to Kubernetes
 * 4) Pre-Release Testing & Release to Production
 * 5) Upgrade to latest available versions (if needed)

Help & Learning More
To learn more about Mediawiki Thumbor see Thumbor.

To learn more about Thumbor, see Thumbor.

To see or track our migration project work, see Thumbor Migration Phabricator Board.

To see the general product workboard for Thumbor, see Thumbor Phabricator Board.

June 2023 Updates

 * Milestones #1 & 2 Update Wikimedia Thumbor to support Thumbor version 7 and Python
 * T252719: Upgrade thumbor to Thumbor 7 and python3 DONE


 * Milestone #3 Dockerization & Migration to Kubernetes
 * T233196: Migrate thumbor to Kubernetes DONE


 * Milestone #4 Pre-Release Testing & Release to Production
 * Bug fixes. See Thumbor Migration Workboard for details DONE


 * Milestone #5 Upgrade to latest available versions (if needed)
 * T216815: Upgrade Thumbor to Buster DONE


 * These updates lead to 37+ Thumbor related bugs being closed when we shipped full Kubernetes/Buster Thumbor.

We also explored some enhancements, which will require further investigation and decision making.


 * Enhancements
 * T256959: Allow PDF's to be rendered at higher (or user specified DPI) Blocked
 * Requires decisions from the WMF management/engineering staff related to MediaWiki core, Structured Data, etc.
 * T47212: TIF less focused than JPG equivalent (due to conditional sharpening applied to JPEGs and not TIFFS) Blocked
 * Requires decisions from the WMF management/engineering staff related to MediaWiki core, Structured Data, etc.
 * T256959: Allow PDF's to be rendered at higher (or user specified DPI) Blocked
 * Requires decisions from the WMF management/engineering staff related to MediaWiki core, Structured Data, etc.

December 2022 Progress Updates

 * Milestones #1 & 2 Update Wikimedia Thumbor to support Thumbor version 7 and Python
 * T252719: Upgrade thumbor to Thumbor 7 and python3 DONE


 * Milestone #3 Dockerization & Migration to Kubernetes
 * T233196: Migrate thumbor to Kubernetes IN PROCESS


 * Milestone #4 Pre-Release Testing & Release to Production
 * Bug fixes. See Thumbor Migration Workboard for details IN PROCESS
 * Rollout on Production scheduled for January 2023


 * Milestone #5 Upgrade to latest available versions (if needed)
 * T216815: Upgrade Thumbor to Bullseye Not Yet Started


 * Enhancements
 * T256959: Allow PDF's to be rendered at higher (or user specified DPI) Blocked
 * Requires technical decision making
 * T47212: TIF less focused than JPG equivalent (due to conditional sharpening applied to JPEGs and not TIFFS) Blocked
 * Requires technical decision making
 * T256959: Allow PDF's to be rendered at higher (or user specified DPI) Blocked
 * Requires technical decision making

For questions or comments, please use the talk page.