pgweb.git
2 days agoFix pycodestyle warning master github/master
Christoph Berg [Wed, 5 Aug 2026 13:31:32 +0000 (15:31 +0200)]
Fix pycodestyle warning

Fix a pycodestyle warning I introduced in 9b064cc04a628: E261 at least
two spaces before inline comment

2 days agoDon't show past news posting embargoes
Magnus Hagander [Wed, 5 Aug 2026 10:55:38 +0000 (12:55 +0200)]
Don't show past news posting embargoes

The list of embargoes should only include current and future ones, not
past.

Fixes oversight in c9be0975

4 days agoRemove stray character from regex substring grouping
Daniel Gustafsson [Mon, 3 Aug 2026 19:19:07 +0000 (21:19 +0200)]
Remove stray character from regex substring grouping

Author: Christophe Pettus <xof@thebuild.com>
Discussion: https://postgr.es/m/BB10E027-775C-4A4E-A602-626370D81338@thebuild.com

4 days agodownload/linux/ubuntu: questing (25.10) has been removed
Christoph Berg [Mon, 3 Aug 2026 18:06:33 +0000 (20:06 +0200)]
download/linux/ubuntu: questing (25.10) has been removed

9 days agoFix link to books
Daniel Gustafsson [Wed, 29 Jul 2026 12:34:33 +0000 (14:34 +0200)]
Fix link to books

The template for rendering books from YAML accidentally hardcoded the
url instead of pulling it out of the data stream.

Reported-by: Agron Metaj <agron-metaj@hotmail.com>
Discussion: https://postgr.es/m/19585-7cd733cb26cda5d5@postgresql.org

9 days agodownload: Debian trixie supports loong64
Christoph Berg [Wed, 29 Jul 2026 12:27:31 +0000 (14:27 +0200)]
download: Debian trixie supports loong64

Omission noticed by yuanchao zhang, thanks!

3 weeks agoPostgreSQL 19 Beta 2 release
Jonathan S. Katz [Thu, 16 Jul 2026 13:00:45 +0000 (09:00 -0400)]
PostgreSQL 19 Beta 2 release

3 weeks agoFix featurematrix views for legacy details url
Magnus Hagander [Wed, 15 Jul 2026 12:27:22 +0000 (14:27 +0200)]
Fix featurematrix views for legacy details url

3 weeks agoUse a sprinte instead of individual images for books
Magnus Hagander [Wed, 15 Jul 2026 10:56:09 +0000 (12:56 +0200)]
Use a sprinte instead of individual images for books

The book listing loads close to 100 images at this point, this is a huge
number of roundtrips and... Slow. Instead, combine them into one sprite
and use CSS.

To do this add a generic support for generating sprites. Right now it's
only used for books, but it can be used for others as well in the
future.

To add a new book now, add it to the YAML, add the image as usual, and
then run "manage.py combine_image_sprites", and make sure to commit both
the original image and the combined one.

This brings the image downloads from about 2MB across 84 requests to
less than 350KB across 1 request.

3 weeks agoFix varnish purges for data/ files in subdirectories
Magnus Hagander [Tue, 14 Jul 2026 17:44:48 +0000 (19:44 +0200)]
Fix varnish purges for data/ files in subdirectories

This is not currently used, but let's generate xkeys that are actually
vaild in case we ever do.

3 weeks agoDrive list of books from a yaml file instead of harcoded
Magnus Hagander [Tue, 14 Jul 2026 17:37:55 +0000 (19:37 +0200)]
Drive list of books from a yaml file instead of harcoded

Instead of copy/pasting HTML, use a template.

3 weeks agoMake the yaml data loader generic
Magnus Hagander [Tue, 14 Jul 2026 17:38:44 +0000 (19:38 +0200)]
Make the yaml data loader generic

This means it will be possible to use it for other things than just the
feature matrix.

3 weeks agoAdd missing support for sk-ssh-ed25519@openssh.com
Magnus Hagander [Mon, 13 Jul 2026 15:03:45 +0000 (17:03 +0200)]
Add missing support for sk-ssh-ed25519@openssh.com

Allow community logins to include sk-ssh-ed25519@openssh.com as an ssh
key, which is what is used when a key is on a secure external device.

Noted by Melanie Plageman

3 weeks agoFix creation of news article in the django admin
Magnus Hagander [Mon, 13 Jul 2026 14:53:07 +0000 (16:53 +0200)]
Fix creation of news article in the django admin

This has been broken for ages and should normally only be used in
emergencies, but if it is needed in an emergency it should work...

3 weeks agoRemove attempt to use nice widgets for embargo time ranges
Magnus Hagander [Mon, 13 Jul 2026 14:23:10 +0000 (16:23 +0200)]
Remove attempt to use nice widgets for embargo time ranges

Looks like this is not supported in django admin without awful hacks, so
just get rid of it - the user putting them in will just have to type
both date and time.

4 weeks agoDisallow blocking oauth on oauth logins
Magnus Hagander [Fri, 10 Jul 2026 10:28:40 +0000 (12:28 +0200)]
Disallow blocking oauth on oauth logins

When a user logs in with oauth, we should not allow them to disable
their own ability to log in.

4 weeks agoDrive releases off a metadata files instead of manually
Magnus Hagander [Thu, 25 Jun 2026 10:01:24 +0000 (12:01 +0200)]
Drive releases off a metadata files instead of manually

This, together with the previous cve changes, makes it possible to do a
complete release in just one "git push", instead of a combination of
editing files and timing it with making changes in the database
manually in the right order.

In passing also dynamically drive the text about when it's time to
upgrade from the eoldate listed in the database, and start showing the
warning at 180 days.

6 weeks agoDrive the developer/beta page from database info
Magnus Hagander [Thu, 25 Jun 2026 10:17:55 +0000 (12:17 +0200)]
Drive the developer/beta page from database info

This means we don't have to edit it every time, since it's really just
static text that comes and goes depending on if we have an active beta
or not.

6 weeks agoRemove debugging code
Magnus Hagander [Wed, 24 Jun 2026 15:45:59 +0000 (17:45 +0200)]
Remove debugging code

6 weeks agoAdd an actual constraint making sure we can only have one pinned news article
Magnus Hagander [Wed, 24 Jun 2026 15:22:10 +0000 (17:22 +0200)]
Add an actual constraint making sure we can only have one pinned news article

We only had a gui-level prevention of this before...

6 weeks agoDrive the news entry on the topbar from PinnedNewsArticle
Magnus Hagander [Wed, 24 Jun 2026 15:01:31 +0000 (17:01 +0200)]
Drive the news entry on the topbar from PinnedNewsArticle

This will generate a query for every single page on the site in
development mode, but that's OK - in production we're using ESI and will
cache the result of it.

6 weeks agoAllow saving Version objects with update_fields set
Magnus Hagander [Tue, 23 Jun 2026 11:39:19 +0000 (13:39 +0200)]
Allow saving Version objects with update_fields set

6 weeks agoAdd a template filter to get max value from a list
Magnus Hagander [Mon, 22 Jun 2026 20:22:23 +0000 (22:22 +0200)]
Add a template filter to get max value from a list

6 weeks agoFix varnish purging of edited/added versions
Magnus Hagander [Mon, 22 Jun 2026 15:24:17 +0000 (17:24 +0200)]
Fix varnish purging of edited/added versions

This doesn't happen often, but could if patch info is mistaken, and
should be correct... It will still miss a deletion since we don't pick
up those, but other than that it should be correct.

6 weeks agoLoad a list of CVEs from JSON files in data/security/cve
Magnus Hagander [Mon, 22 Jun 2026 15:19:41 +0000 (17:19 +0200)]
Load a list of CVEs from JSON files in data/security/cve

We get these files from "ourselves" now that we are a CNA, so instead of
manually copy/paste:ing things over, load them from a directory of json
fiels and update automatically. This loading will happen at the end of
the migrate step, which runs at every deploy.

Import all CVEs from 2025 and 2026 (so far).

6 weeks agoRemove unused __init__.py files
Magnus Hagander [Mon, 22 Jun 2026 14:11:30 +0000 (16:11 +0200)]
Remove unused __init__.py files

6 weeks agoCreate actual unique constraint for (patch, version)
Magnus Hagander [Mon, 22 Jun 2026 14:10:02 +0000 (16:10 +0200)]
Create actual unique constraint for (patch, version)

6 weeks agoUse GeneratedColumn for cvenumber, enforce check constraints
Magnus Hagander [Mon, 22 Jun 2026 10:34:34 +0000 (12:34 +0200)]
Use GeneratedColumn for cvenumber, enforce check constraints

Use a GeneratedColumn for cvenumber now that django supports it, instead
of hacky workarounds. While at it, also add check constraints for cve
number format (to make sure that expression doesn't fail) and for cvss
vectors. To make this work, we have to delete securtiypatches with no
cve numbers of which there are three *very* old ones in the system. Old
enough that we don't care anymore, and the viewing of them was already
broken and nobody has complaiend for many years - the newest refers to
8.1.

In passing fix that the second part of the CVS number allows 5 digits,
not 7 (with the calculations currently used).

6 weeks agoDon't crash when trying to reset password without specifying email
Magnus Hagander [Sat, 20 Jun 2026 19:48:01 +0000 (21:48 +0200)]
Don't crash when trying to reset password without specifying email

This is obviously not a valid request and cannot be generated from a
proper browser, but we shouldn't throw 500 errors on it.

6 weeks agoStore complete CVSS vectors instead of decomposed
Magnus Hagander [Thu, 18 Jun 2026 21:58:42 +0000 (23:58 +0200)]
Store complete CVSS vectors instead of decomposed

The only thing we ever did was put them back together, so simplify both
storage and code by just storing them that way int the first place.

6 weeks agoRemove unused property
Magnus Hagander [Thu, 18 Jun 2026 21:17:39 +0000 (23:17 +0200)]
Remove unused property

6 weeks agoImplement news posting embargoes
Magnus Hagander [Thu, 18 Jun 2026 13:29:34 +0000 (15:29 +0200)]
Implement news posting embargoes

This allows the creation of time ranges (tstzrange! of course!) during
which news will not be posted. It is still possible to approve news, in
which case it gets queued up and posted once the embargo expires. An
option is also given to superusers to force posting even during an
embargo (typically this would be used for the release announcements).

6 weeks agoRemove unused Bootstrap files
Dave Page [Tue, 23 Jun 2026 08:37:19 +0000 (09:37 +0100)]
Remove unused Bootstrap files

2 months agoFix beta page
Jonathan S. Katz [Thu, 4 Jun 2026 13:27:13 +0000 (09:27 -0400)]
Fix beta page

I thought I had tested this, but clearly not.

2 months agoPostgreSQL 19 Beta 1 release
Jonathan S. Katz [Thu, 4 Jun 2026 01:54:31 +0000 (21:54 -0400)]
PostgreSQL 19 Beta 1 release

2 months agoUse filter_horizontal for community auth site groups
Magnus Hagander [Tue, 2 Jun 2026 19:49:58 +0000 (21:49 +0200)]
Use filter_horizontal for community auth site groups

2 months agoAdd ability to restrict cauth sites to members of specific group(s)
Magnus Hagander [Thu, 28 May 2026 13:28:21 +0000 (15:28 +0200)]
Add ability to restrict cauth sites to members of specific group(s)

If no groups are specified, work just like before where every user can
log in to every site. Existing limited sites had the list of users
defined locally on the machine, but it seems reasonable to be able to
control this centrally as well.

2 months agoAdd community auth unwrap sample
Magnus Hagander [Fri, 22 May 2026 19:21:59 +0000 (21:21 +0200)]
Add community auth unwrap sample

This is used to decrypt and verify a community auth response so it can
be used by an external tool, typically an nginx subrequest, to complete
a registration.

2 months agoPGCA Benefactor sponsor: Microsoft
Dave Page [Fri, 29 May 2026 09:42:00 +0000 (10:42 +0100)]
PGCA Benefactor sponsor: Microsoft

2 months agoDownload: Remove "3rd party distributions" section
Christoph Berg [Wed, 27 May 2026 09:10:32 +0000 (11:10 +0200)]
Download: Remove "3rd party distributions" section

The BitNami link has been dead for at least a year, and the value of
pointing to a specific container image is questionable these days.

Discussion: https://www.postgresql.org/message-id/ahXFQU3N4TNDuG4b%40msg.df7cb.de

2 months agoMention about OpenSuSE 16.0
Devrim Gunduz [Fri, 22 May 2026 19:10:57 +0000 (12:10 -0700)]
Mention about OpenSuSE 16.0

2 months agoUpdate SLES info.
Devrim Gunduz [Fri, 22 May 2026 19:10:02 +0000 (12:10 -0700)]
Update SLES info.

2 months agoCorrect May 2027 roadmap date
Jonathan S. Katz [Fri, 15 May 2026 13:24:21 +0000 (09:24 -0400)]
Correct May 2027 roadmap date

Reported-by: Pierrick <pierrick.chovelon@dalibo.com>
2 months agoFixed issues with news archive pagination
Jonathan S. Katz [Thu, 14 May 2026 14:00:20 +0000 (10:00 -0400)]
Fixed issues with news archive pagination

Bogus dates in the news pagination would create a server error.
This softens it to a 404.

2 months ago2026-05-14 update release
Jonathan S. Katz [Thu, 14 May 2026 01:36:30 +0000 (21:36 -0400)]
2026-05-14 update release

2 months agoAdd more details on disclosure to security page
Jonathan S. Katz [Thu, 14 May 2026 01:21:11 +0000 (21:21 -0400)]
Add more details on disclosure to security page

This adds a clarification to how the PostgreSQL Security
Team handles validating and publishing fixes for reported
vulnerabilities.

Reviewed-by: Jacob Champion <champion.p@gmail.com>
Reviewed-by: Andrew Dunstan <andrew@dunslane.net>
Reviewed-by: Nathan Bossart <nathandbossart@gmail.com>
3 months agoUpdate .mailmap to capture all relevant authors
Daniel Gustafsson [Fri, 8 May 2026 07:44:15 +0000 (09:44 +0200)]
Update .mailmap to capture all relevant authors

The mailmap laceked entries for Álvaro and Joe making their entries
in the git log inconsistent.

Author: Daniel Gustafsson <daniel@yesql.se>
Discussion: https://postgr.es/m/FCE7FFF9-D610-4B8D-A669-1B4BFC241488@yesql.se

3 months agoFedora 44 is out already, so add that. Remove Fedora 42 (will be EOLed soon
Devrim Gunduz [Wed, 6 May 2026 13:22:40 +0000 (16:22 +0300)]
Fedora 44 is out already, so add that. Remove Fedora 42 (will be EOLed soon

3 months agoContributor first/last name tweaks
Christoph Berg [Fri, 24 Apr 2026 16:05:12 +0000 (18:05 +0200)]
Contributor first/last name tweaks

Users are already allowed to edit their first and last name, but this
didn't include the names listed in their Contributor object. Since it's
not even obvious that the data there is separate, that's pretty
confusing. Allow them to edit these fields.

In the Django admin interface, sort the list of contributors like they
are sorted in the public list: first by type, and the by last name.

Lastly, put the first name first in the edit mask for contributors.
(This changes the order of the fields in the model, but does not need
any Django database migration.)

3 months agoDownload: Upgrade Debian/Ubuntu instructions to use pgdg.sources format
Christoph Berg [Thu, 23 Apr 2026 14:33:22 +0000 (16:33 +0200)]
Download: Upgrade Debian/Ubuntu instructions to use pgdg.sources format

3 months agoAdd Deep Dive Into a SQL Query book
Daniel Gustafsson [Thu, 16 Apr 2026 13:05:07 +0000 (15:05 +0200)]
Add Deep Dive Into a SQL Query book

Author: Daniel Gustafsson <daniel@yesql.se>
Submitted-by: Jesús Espino <jespinog@gmail.com>
Discussion: https://postgr.es/m/CALRMi60ZVbMr-9MGy7j_J9EZw2-xi3=GAa8LnVVo+SHy9Lc7FA@mail.gmail.com

3 months agoFix date on financial sponsors page
Jonathan S. Katz [Mon, 13 Apr 2026 20:16:41 +0000 (16:16 -0400)]
Fix date on financial sponsors page

This was missed in one of the previous commits.

3 months agoAdd financial sponsor logo
Jonathan S. Katz [Mon, 13 Apr 2026 01:45:43 +0000 (21:45 -0400)]
Add financial sponsor logo

This was missed in 6f63eb9f

3 months agoUpdate valuse for financial sponsorship tiers
Jonathan S. Katz [Mon, 13 Apr 2026 01:43:58 +0000 (21:43 -0400)]
Update valuse for financial sponsorship tiers

This matches what was already posted on the PGCA website, but now
is entered correctly on this one.

3 months agoUpdate sponsor information for financial sponsors
Jonathan S. Katz [Mon, 13 Apr 2026 01:42:59 +0000 (21:42 -0400)]
Update sponsor information for financial sponsors

This updates the donation date for one of the financial
sponsors, and includes an updated logo that the sponsor had
previously requested.

3 months agoFix accidental double-hash-in-hashtag-links bug on bluesky
Magnus Hagander [Fri, 10 Apr 2026 08:23:27 +0000 (10:23 +0200)]
Fix accidental double-hash-in-hashtag-links bug on bluesky

4 months agoDon't try to pin a NULL post on Mastodon
Magnus Hagander [Tue, 7 Apr 2026 16:54:11 +0000 (18:54 +0200)]
Don't try to pin a NULL post on Mastodon

4 months agoAdd write:accounts to mastodon scopes
Magnus Hagander [Tue, 7 Apr 2026 16:48:42 +0000 (18:48 +0200)]
Add write:accounts to mastodon scopes

This is needed to do post pinning (but for some reason worked in testing
on a different account)

4 months agoAdd missing / in mastodon API urls
Magnus Hagander [Tue, 7 Apr 2026 16:47:32 +0000 (18:47 +0200)]
Add missing / in mastodon API urls

4 months agoFix error checking in mastodon pinning looking at the wrong object
Magnus Hagander [Tue, 7 Apr 2026 16:46:13 +0000 (18:46 +0200)]
Fix error checking in mastodon pinning looking at the wrong object

4 months agoRemove stray whitespace in URL
Magnus Hagander [Tue, 7 Apr 2026 16:43:00 +0000 (18:43 +0200)]
Remove stray whitespace in URL

4 months agoProceed to pinning step even if there are no new articles posted
Magnus Hagander [Tue, 7 Apr 2026 16:41:49 +0000 (18:41 +0200)]
Proceed to pinning step even if there are no new articles posted

4 months agoFix logic for unpinning articles
Magnus Hagander [Tue, 7 Apr 2026 16:38:54 +0000 (18:38 +0200)]
Fix logic for unpinning articles

4 months agoAdd mastodon verification link
Magnus Hagander [Tue, 7 Apr 2026 16:17:58 +0000 (18:17 +0200)]
Add mastodon verification link

4 months agoImplement pinning to social networks
Magnus Hagander [Tue, 7 Apr 2026 16:15:58 +0000 (18:15 +0200)]
Implement pinning to social networks

This is mostly untested so far, since we need some real posts to pin
before we can do that, but "mostly works".

4 months agoFix register() function names for base and bluesky
Magnus Hagander [Tue, 7 Apr 2026 15:56:10 +0000 (17:56 +0200)]
Fix register() function names for base and bluesky

The value is ignored, but must be included

4 months agoFix filtering for already-posted news articles
Magnus Hagander [Tue, 7 Apr 2026 15:52:45 +0000 (17:52 +0200)]
Fix filtering for already-posted news articles

We need to filter based on just the keys, not the values as well, when
figuring out if there is anywhere left to post an article.

4 months agoDon't try to post to social if no providers at all are configured
Magnus Hagander [Tue, 7 Apr 2026 15:40:51 +0000 (17:40 +0200)]
Don't try to post to social if no providers at all are configured

4 months agoAdd support for bluesky and mastodon, drop support for twitter
Magnus Hagander [Thu, 2 Apr 2026 10:19:02 +0000 (12:19 +0200)]
Add support for bluesky and mastodon, drop support for twitter

This also makes the framework more generic for adding more options in
the future. And make the poster a file that can easily be copied between
projects as we will need it elsewhere as well.

In passing, add the #postgresql hashtag to the posts

4 months agoFix date/time formats for new version of django
Magnus Hagander [Wed, 1 Apr 2026 16:57:27 +0000 (18:57 +0200)]
Fix date/time formats for new version of django

This now has to live in a module and not just in settings.py, so
duplicate it there (leave in settings.py as well in case some parts
still use it)

4 months agoA Fedora release is supported for 13 months, so PGDG RPM repo *may* include all suppo...
Devrim Gunduz [Fri, 27 Mar 2026 03:39:28 +0000 (22:39 -0500)]
A Fedora release is supported for 13 months, so PGDG RPM repo *may* include all supported PostgreSQL versions (and it does). So mention about that. While passing update min Fedora version to 42

4 months agoAdd instructions for reporting security vulnerabilities in pgvector. Patch from Andre...
Devrim Gunduz [Fri, 27 Mar 2026 03:29:26 +0000 (22:29 -0500)]
Add instructions for reporting security vulnerabilities in pgvector. Patch from Andrew Kane.

4 months agoAdd pgvector to list of projects covered by CNA scope. Per Noah
Devrim Gunduz [Thu, 26 Mar 2026 18:41:28 +0000 (13:41 -0500)]
Add pgvector to list of projects covered by CNA scope. Per Noah

4 months agoRevert "Add pgvector to list of projects covered by CNA scope. Per Noah"
Devrim Gunduz [Thu, 26 Mar 2026 18:40:47 +0000 (13:40 -0500)]
Revert "Add pgvector to list of projects covered by CNA scope. Per Noah"

This reverts commit 1e391045200ac9ae77aa6edf884a5b3db0370b38.

4 months agoAdd pgvector to list of projects covered by CNA scope. Per Noah
Devrim Gunduz [Thu, 26 Mar 2026 18:39:14 +0000 (13:39 -0500)]
Add pgvector to list of projects covered by CNA scope. Per Noah

4 months agoAdd "Lift the Elephant" book to docs/books
Daniel Gustafsson [Thu, 12 Mar 2026 09:49:08 +0000 (10:49 +0100)]
Add "Lift the Elephant" book to docs/books

The author has in the email thread granted permission to use the
cover art in our listing.

Author: Daniel Gustafsson <daniel@yesql.se>
Reported-by: Alex Yarotsky <yarotsky.alex@gmail.com>
Discussion: https://postgr.es/m/CAFf0AzyBTHmd3m+NaQ1AVMOq2Op5Rg5TzFReJLzJML5QipWE8g@mail.gmail.com

4 months agoBump django version to 5.2
Magnus Hagander [Wed, 11 Mar 2026 14:31:01 +0000 (15:31 +0100)]
Bump django version to 5.2

No actual changes, but update requirements and doc to point at 5.2 now
that this has been deployed.

4 months agoSuppress auto replies to moderation notices
Magnus Hagander [Wed, 11 Mar 2026 13:54:37 +0000 (14:54 +0100)]
Suppress auto replies to moderation notices

Most likely this was needed before we sent the notifications to all
moderators, but since 3ab07fa06 there is no reason to specifically
enable auto replies on moderation notices. So remove the special
handling.

4 months agoAdd small tool to decrypt community auth sessions
Magnus Hagander [Tue, 3 Mar 2026 15:51:19 +0000 (16:51 +0100)]
Add small tool to decrypt community auth sessions

If the url is retreived from the other end (the auth_receive url), one
can paste in the querystring and get the details out, using the crypto
key from the database.

5 months ago2026-02-26 update release
Jonathan S. Katz [Thu, 26 Feb 2026 02:10:39 +0000 (18:10 -0800)]
2026-02-26 update release

5 months agoFurther updates to github actions dependencies
Magnus Hagander [Fri, 20 Feb 2026 21:15:41 +0000 (22:15 +0100)]
Further updates to github actions dependencies

Finally synced up with some offline testing...

5 months agosudo needed for apt-get
Magnus Hagander [Fri, 20 Feb 2026 21:07:23 +0000 (22:07 +0100)]
sudo needed for apt-get

(Sorry for the commit spam, testing github actions..)

5 months agoLet's try with installing all required debian packages first
Magnus Hagander [Fri, 20 Feb 2026 21:06:29 +0000 (22:06 +0100)]
Let's try with installing all required debian packages first

5 months agoI guess we try ubuntu-latest to actually run an action
Magnus Hagander [Fri, 20 Feb 2026 21:00:49 +0000 (22:00 +0100)]
I guess we try ubuntu-latest to actually run an action

5 months agoFirst attempt at a github action that checks django migrations
Magnus Hagander [Fri, 20 Feb 2026 20:58:05 +0000 (21:58 +0100)]
First attempt at a github action that checks django migrations

5 months agoUpdate python versions in preparation of trixie upgrade
Magnus Hagander [Fri, 20 Feb 2026 20:56:53 +0000 (21:56 +0100)]
Update python versions in preparation of trixie upgrade

5 months agoDisable django timezone support
Magnus Hagander [Thu, 19 Feb 2026 22:07:24 +0000 (23:07 +0100)]
Disable django timezone support

This was enabled by default in django 5.0, and since we don't use it we
have to explicitly disable it.

5 months agoUpdate topbar to announce out-of-cycle release
Jonathan S. Katz [Tue, 17 Feb 2026 15:40:47 +0000 (10:40 -0500)]
Update topbar to announce out-of-cycle release

Given the amount of time between releases, and the blast radius
of some of the regressions, provide more awareness around the
out-of-cycle release.

5 months agoAdd Ubuntu resolute, remove plucky
Christoph Berg [Fri, 13 Feb 2026 15:58:35 +0000 (16:58 +0100)]
Add Ubuntu resolute, remove plucky

5 months ago2026-02-12 release announcement
Jonathan S. Katz [Thu, 12 Feb 2026 14:06:34 +0000 (09:06 -0500)]
2026-02-12 release announcement

5 months agoFix for email rendering preview on pgweb
Jonathan S. Katz [Thu, 12 Feb 2026 14:29:40 +0000 (09:29 -0500)]
Fix for email rendering preview on pgweb

fc120c16 introduced some "spec compliant" code for rendering image,
but it broke our lookup for the image in the repo. This fixes it.

6 months agoAdd Jacob Champion to list of security team members
Magnus Hagander [Tue, 27 Jan 2026 09:09:49 +0000 (10:09 +0100)]
Add Jacob Champion to list of security team members

6 months agoSend pure plain-text mails as quoted-printable
Magnus Hagander [Wed, 7 Jan 2026 20:35:39 +0000 (21:35 +0100)]
Send pure plain-text mails as quoted-printable

We were already using QP for HTML emails, but due to an oversight it
wasn't done for the pure plaintext ones. Fix that as it's a lot easier
to debug that way, and it's what most MUAs do so it should lead to lower
spam scores.

6 months agoFix MIME-structure of HTML emails
Magnus Hagander [Wed, 7 Jan 2026 20:25:53 +0000 (21:25 +0100)]
Fix MIME-structure of HTML emails

To render properly in particular on Apple Mail, HTML mails with inline
attachments need the structure:

multipart/alternate
  text/plain
  multipart/related
    text/html
    image/png

In particular, the cid-linked images must be part of the same
multipart/related section as the HTML, otherwise they *also* end up at
the bottom of the email as an attachment.

To do this, separate out the idea of html attachments from other
attachments. We currently don't have any other types of attachments, but
since we might in the future, we shouldn't disable that functionality.

Diagnosed by Tobias Bussmann <t.bussmann@gmx.net>
Tested by Daniel Gustafsson <daniel@yesql.se>

6 months agoAdd small tools for testing email sending and parsing
Magnus Hagander [Wed, 7 Jan 2026 16:42:09 +0000 (17:42 +0100)]
Add small tools for testing email sending and parsing

These tools can be used for any app that uses the "pgweb style
mailqueue" module, including for example pgeu-system.

6 months agoAdd @img suffix to cid values
Magnus Hagander [Wed, 7 Jan 2026 16:35:05 +0000 (17:35 +0100)]
Add @img suffix to cid values

Turns out this is required to be spec-compliant. I don't think this was
why things broke in my tests, but it is good to be comlpiant.

6 months agoAttempt to fix template for rendering logos for Outlook/O365
Magnus Hagander [Tue, 2 Dec 2025 21:41:18 +0000 (22:41 +0100)]
Attempt to fix template for rendering logos for Outlook/O365

Seems Outlook/O365 couldn't handle our floating images, and nobody
pointed it out :) And since using tables for layouts really is a thing
still, do that instead and it seems to work now.

7 months agoAdd missing trailing slashes
Christoph Berg [Mon, 5 Jan 2026 22:08:37 +0000 (23:08 +0100)]
Add missing trailing slashes

Missing slashes lead to redirects that add the slash. Add where missing
in the context menu.

7 months agoSay that "not submitted" means "for moderation"
Christoph Berg [Mon, 5 Jan 2026 21:53:13 +0000 (22:53 +0100)]
Say that "not submitted" means "for moderation"

The objects lists have a section "Not submitted" and the big button at
the bottom is labeled "Submit <objecttype>" which looks like that button
might submit these objects. Change the section header to "Not submitted
for moderation" to make that a bit less confusing.

I thought about changing the button label to "Submit new <objecttype>",
but then for news, the button would read "Submit new news article" which
looked a bit too weird.

Discussion: https://postgr.es/m/aUleB6I9meb9KsF7@msg.df7cb.de

7 months agoInclude organisationtype data from postgresql.org
Christoph Berg [Mon, 5 Jan 2026 21:50:17 +0000 (22:50 +0100)]
Include organisationtype data from postgresql.org

These are the 4 organisationtype entries currently found on
postgresql.org.