AltStyle によって変換されたページ (->オリジナル) /

Piwigo 16

Refined for effortless use.

Download Piwigo 16.4.0

Released on November 24, 2025

Download details and older versions

Piwigo 16 brings a fresh layer of consistency, control, and security. With the new Standard Pages design, pages like Sign In and Profile and more now share a clean, customizable look. API keys and a new Two-Factor Authentication plugin strengthen gallery protection, while updates to the advanced search and admin screens make everyday tasks smoother.

Once again, Piwigo 16 proves that thoughtful details make all the difference when managing your photo library.

Bugs fixed

2555 / Users & Groups

[users] generic user cannot generate password reset link but UI suggests otherwise

2553 / Technical

plugin update through UI may perform the plugin update action of the previous version

2544 / Users & Groups

[users] add user modal is too large and some bad translations

2539 / web API

[API] Set pwg_token automatically for api_key requests

2538 / Technical

[mail] differentitate from and reply-to

2531 / Display

Standard pages conf disappears

2478 / UX

Creation date of API key not visible

2369 / Technical

DivisionByZeroError

796 / web API

API pwg.images.getInfo returns incorrect URLs with $conf['original_url_protection']

Security

GHSA-rr39-mf4j-6594

prevent displaying RAW cookie content

Security

GHSA-jhp4-7f82-8f6q

album photos sort order : check user input before use

Security

GHSA-7r67-9xhq-7p2c

batch manager : check user input

Security

GHSA-7w97-5g4p-xqvv

standard pages config : more robust check on logo file type

Security

GHSA-j9q6-q52g-g8jw

photo upload : make sure SVG files have the appropriate file name extension

Security

GHSA-gphq-34pv-gvf3

install : sanity check for table prefix during install

Security

GHSA-6wj3-7fhw-gfpm

upgrade: SQL injection

Languages

Updated languages

Breton (Brezhoneg)

Catalan (Català)

Czech (Česky)

Danish (Dansk)

German (Deutsch)

Greek (Ελληνικά)

Spanish (Español)

Basque (Euskara)

Persian (فارسی)

French Canadian (Québecois)

French (Français)

Hebrew (עברית)

Icelandic (Íslenska)

Italian (Italiano)

Japanese (日本語)

Korean (한국어)

Norwegian Bokmål (bokmål)

Dutch (Nederlands)

Brazilian Portuguese (Português Brasil)

Russian (Русский)

Serbian (Srpski)

Slovak (Slovensky)

Swedish (Svenska)

Chinese (简体中文)

Traditional Chinese (中文 繁體)

Bugs fixed

2528 / Display

Missing remove icon on selected related tags

2525 / Display

Missing translation in groups selection mode

2522 / UX

[standard pages] password reset success message is misleading

2519 / Albums

[SECURITY] CSRF vulnerability in album email sending

2518 / Display

Standard pages responsive design not good

2517 / Display

Standard pages language switch overflows

2510 / Photos

[16.x] stripslashes(): Passing null to parameter #1 ($string) of type string is deprecated in pwg.comments.php

2509 / Technical

wrong button label in site_update.tpl

2508 / Display

Standard pages uses default theme header.tpl

2507 / Technical

album notification, template error in email sent

2503 / UX

Auto update button not visible

2501 / Technical

Add a more granular container detection

2499 / Technical

check for new Piwigo versions generates too many requests on piwigo.org

Security

GHSA-mgqc-3445-qghq

Pre-auth SQL injection via date filter parameters in ws_std_image_sql_filter

Security

GHSA-397m-gfhm-pmg2

Unauthenticated Information Disclosure via pwg.history.search API

Security

GHSA-5jwg-cr5q-vjq2

SQL Injection in pwg.users.getList API Method via filter Parameter

Security

GHSA-wfmr-9hg8-jh3m

SQL Injection in Activity.getList

Languages

Updated languages

Czech (Česky)

English

Finnish (suomi)

French (Français)

Hebrew (עברית)

Hungarian (Magyar)

Korean (한국어)

Portuguese (Português)

Romanian (Română)

Russian (Русский)

Slovak (Slovensky)

Turkish (Türkçe)

Chinese (简体中文)

Bugs fixed

2494 / Photos

\"[Image] unsupported file extension\" error on TIFF files

2490 / Technical

[tags] missing trigger notify for merged tag

2488 / Photos

[derivatives] error when enabling disabled derivatives

2486 / Display

Add config for standard pages

2484 / web API

[API] pwg.images.getInfo returns new derivatives sizes as strings instead of integers

2481 / UX

Whats new piwigo 16 popin, adjust hover scale size

2480 / Technical

Container detection generate a warning if open_basedir is set

2474 / Technical

representative not generated when '.heic' photos uploaded from Piwigo iOS

2473 / Photos

empty related tags dropdown

Languages

Updated languages

Breton (Brezhoneg)

Catalan (Català)

Danish (Dansk)

German (Deutsch)

Greek (Ελληνικά)

English

Spanish (Español)

Persian (فارسی)

French Canadian (Québecois)

French (Français)

Hebrew (עברית)

Icelandic (Íslenska)

Italian (Italiano)

Norwegian Bokmål (bokmål)

Dutch (Nederlands)

Polish (Polski)

Brazilian Portuguese (Português Brasil)

Russian (Русский)

Slovak (Slovensky)

Swedish (Svenska)

Chinese (简体中文)

Traditional Chinese (中文 繁體)

Bugs fixed

2467 / Technical

cast integer error, php 8.5 compatibility

2462 / Technical

Ext ImageMagick problem - Piwigo 16

2461 / Technical

tell templates whether standard pages are active or not

2460 / web API

Using HTTP Basic Auth on Nginx returning {\"stat\":\"fail\",\"err\":401,\"message\":\"Invalid api_key\"}

2458 / Photos

[16.0.0, PHP 7.4] image upload: Call to undefined function str_starts_with()

Languages

Updated languages

Czech (Česky)

French (Français)

Hebrew (עברית)

Polish (Polski)

Brazilian Portuguese (Português Brasil)

Portuguese (Português)

Russian (Русский)

Slovak (Slovensky)

Chinese (简体中文)

Traditional Chinese (中文 繁體)

Standard pagesNew

We have introduced, an optional, default design for common pages to all themes. I.e. the pages Sign in, Register, Forgotten password and Profile.

The aim is to provide a minimalist design, easily customizable, that is the same for all users no matter the theme they choose to use.

Administrators can choose whether they want to apply the standard pages design or keep using the current theme's design.

All standard pages have some pretty handy functionalities: A light/dark mode switch, a link to find help on our documentation, and a language switch.

On the profile page users can handle everything as before (update their email address, password and gallery preferences)

Two factor authentication, renewed

Two factor authentication (or 2FA) is the famous confirmation code requested in sign in forms. The confirmation code is sent in a third party system to prevent identity theft.

Piwigo already had a plugin "Two-factor Authentication" (by mail only) since 2022 but enabling it made authentication impossible to mobile apps or any script using Piwigo API. We have decided to rework it. The new plugin is now compatible with mobile apps, by using the new API keys. Instead of using email to get the confirmation code, we have added compatibility with TOTP (Time-based One-Time Password) which is far more reliable.

We have decided to improve how and where related tags are displayed. We think it is, and has always been, a great and quite uncommon feature offered by Piwigo. The new way to display related tags will encourage their use and we hope you will happily re-discover them.

On any page with thumbnails, you'll find the related tags dropdown in the secondary actions menu (on the right-hand side when using the Modus theme).

When you open a tag page, you'll see related tags shown as badges for combining with current tags in a single click.

Moved save buttonsRefresh

Following a previous update on the edit Album page, where the save button got moved, we found that it was better for user experience to have the save button always visible at the bottom of the page.

Hello, my name is Romain (perrom on GitHub). I worked as a fullstack developer intern in the Piwigo team from April to August 2025. During my stay here, I was always eager to improve my code and step up as a developer, so that I could offer the best I could through my work to every Piwigo users.

Among the tasks I did, I implemented the new option page for the gallery search filters. I also reworked a bit the user activity page, which had some processing issues and limited filters before. Those were not easy tasks, but I'm satisfied with what I did during my internship. I hope you keep supporting Piwigo, and the team behind it - they helped me a lot when I was with them.

Romain

Gallery search, filters managementNew

In Piwigo 14 we introduced a new way to search in the gallery. Four filters were active by default. Piwigo 16 allows admins to change available filters and which ones are displayed by default.

It is now possible to decide who can have access to which filter. Choose what only admins, only registered user or what everyone can use in the filtered search.

Administrators can choose which filters are to be displayed by default. It is also possible to set the default filters to what the users last used.

Comment manager Refresh

The comments manager has undergone a makeover to hopefully help handle comments on your photos more easily than before.

This design makes it more obvious which comments still need validation and which one are alreaday validated. A selection mode makes it easier to handle comments in batches.

Dates format depends on language

We have added support for different ways of writing dates according to the language. The English way of writing a date is used by default. For example:

  • "Tuesday, October 7, 2025" in American English
  • "mardi 7 octobre 2025" in French
  • "Dienstag, 7. Oktober 2025" in German
  • "martes, 7 de octubre de 2025" in Spanish
  • ...

New filters for user activity Redesign

Finding information within the activity logs could sometimes be tedious. However with new filters finding information about user activity has never been easier.

It is possible to select a specific user or action to find out why information about a photo, album, group etc. might have changed. This can come in handy to figure out which colleague performed an unexpected action that like deleting an album (by accident of course).

Updating images in batchesRedesign

To update a set of images there is now option in the upload photos form, which can be activated any time you are uploading images.

Piwigo will detect files in the same album with the same filename. Visually the photo will be updated but its properties (title, tags, description, etc.) will remain the same.

New image sizes 3XL and 4XL

With HD images and screen resolutions getting bigger we also needed bigger display sizes. Even on a small 14 inches screen, the XXL size does not always fills the screen space, because the screen often has a high definition. 3XL and 4XL will now make it possible to "fill the whole space". If the orignal images allows it, new 3XL and 4XL sizes will be generated by Piwigo. This option isn't activated by default to save storage space.

New search filter, expert modeNew

The gallery search gets a new filter to search for words, along side the existing one. This filter uses extended syntax and operators to perform the search.

We've added an Expert Mode search filter that lets you refine your queries with much greater precision. You can now exclude words, search for exact matches, and make use of a variety of other operators.

For users who have never tried advanced syntax before (mainly because it was only available in the batch manager of the administration), we've redesigned the help pop-in. This is where you'll find guidance on how to use expert mode effectively.

Hi! I'm Lana (RushLana or Renarde on GitHub and the forums), I first joined the Piwigo team as an intern in April and since September I'm a full-time employee. Most of my contributions have been toward the newly released official docker image ensuring it's both stable and at feature parity with a standard Piwigo install.

Seeing the vibrant community around Piwigo making plugins and custom themes always motivate me to do better. Having a job as working on an open source project as always been a dream to me and I hope this reflects in my contributions to Piwigo !

Technical features

Please note that more detailed documentation is available about Technical changes in Piwigo 16. Please read it to make your extensions compatible with Piwigo 16.

Compatibility with PHP 8.4

Compatibility with PHP 8.4 required the switch to Smarty 5.5.2 (template engine). This means however the minimum version of PHP required for running Piwigo is now PHP 7.4.

Change image library priority

Use as a priority "External ImageMagick" (command line) rather than "ImageMagick" (PHP wrapper). Calling ImageMagick in the command line is more optimized and uses its own memory. The PHP wrapper is not always aware of the latest changes available in the command line.

API Keys

Scripts and apps using Piwigo API will no longer need to provide username/password to authenticate. Instead it is now possible to use an API key. Each API key is linked to a specific user and is time limited.

To handle these API keys you will find them in the gallery profile only with Standard pages (for now). API Keys can also be used to log in, by using the API key ID as username and API key secret as password, to make 2FA compatible with mobile apps.

Docker image

Piwigo 16 introduces an official Docker image, providing a simple and reliable way to run Piwigo in containerized environments. This image is maintained by our team and makes installation and updates easier for users who prefer Docker-based deployments. Get our official docker image

Download details and older versions

Version Checksum Release date
16.4.0 Latest fe0c67aeb6addd1d076900b676aa65c9 May 3, 2026 Download Details
16.3.0 40a8ab17a30cceb1984fdcaaa69d83b3 February 24, 2026 Download Details
16.2.0 8e6688fbaf50d7c2a3b948857aa8dae1 December 30, 2025 Download Details
16.1.0 e7765b2aaa79ba00a096258858d0ea3c December 2, 2025 Download Details
16.0.0 8341bc3665fad4d4b09046872116d1c1 November 24, 2025 Download Details