Skip to content

Releases: bookwyrm-social/bookwyrm

v0.8.2

16 Nov 02:45

Choose a tag to compare

Important

This update includes important security fixes.

Upgrading to BookWyrm v0.8.2

All environments

Warning

This release includes a database migration

  • ALWAYS BACK UP YOUR DATABASE BEFORE UPGRADING and ideally know how you can restore it if something goes wrong.

Docker

Run ./bw-dev update

Non-docker

Follow the instructions for dockerless upgrades.

What's Changed

Updated Dependencies 🧸

Other Changes

Full Changelog: v0.8.1...v0.8.2

v0.8.1

15 Nov 21:37

Choose a tag to compare

v0.8.1 Pre-release
Pre-release

This is a bugfix release. It is strongly recommended to patch as soon as possible.

Upgrading to BookWyrm v0.8.1

All environments

Warning

This release includes a data migration

  • ALWAYS BACK UP YOUR DATABASE BEFORE UPGRADING and ideally know how you can restore it if something goes wrong.
  • This patch includes a data migration and adds a new management command (fix_isbn10_entries). Both of these repair 11-digit ISBN-10 entries caused by a bug in v0.8.0. You do not need to run the new command when updating, but you may wish to use it in the future to fix any books that are added or merged from a federated server.

Docker

Run ./bw-dev update

Non-docker

Follow the instructions for dockerless upgrades. It is important that you complete the migration stage (venv/bin/python3 manage.py migrate) as this will apply a fix to incorrect ISBN entries.

What's Changed

Bug Fixes 🐛

Other Changes

  • edit_book: improve author search matching on some names and aliases by @ilkka-ollakka in #3714

Full Changelog: v0.8.0...v0.8.1

v0.8.0

14 Oct 20:45

Choose a tag to compare

Important

This update includes important security fixes.

User exports and imports

User import and export files will now both be saved to /exports in local storage by default. Import files will be deleted once the import is completed.

Instance administrators should manually check your images directory (local and S3 storage) for any user export files (ending in .gz). These should be deleted as a matter of priority as they are publicly available. You are also strongly encouraged to delete any files in S3 exports directories, especially is you are using Backblaze (B2) or Cloudflare (R2) S3-compatible storage as your bucket may be unsecured.

If you wish to use S3 storage for export files instead of local storage, you must set the following values in your .env file:

  • USE_S3_FOR_EXPORTS=true
  • EXPORTS_S3_CUSTOM_DOMAIN
  • EXPORTS_STORAGE_BUCKET_NAME

The following new .env values for are optional, and will default to the equivalent S3 env values if not set:

  • EXPORTS_ACCESS_KEY_ID
  • EXPORTS_SECRET_ACCESS_KEY
  • EXPORTS_S3_REGION_NAME
  • EXPORTS_S3_ENDPOINT_URL

Important

This update changes default values

The default file upload limit is now 100MiB. This can be changed by defining MAX_UPLOAD_MiB in .env, as a number representing mebibytes. This may change again in future after enough time is provided for legacy user export files to be imported to new instances.

User import and export files now default to save to /exports in local storage. If you wish to use S3 storage for user import/export files instead of local storage, you must set USE_S3_FOR_EXPORTS=truein your .env file.

Warning

This version has new minimum versions for dependencies

Postgres version

The minimum Postgres version is now 14 (17 preferred). Follow the BookWyrm upgrade instructions below to ensure a smooth migration.

Django version

The Django version is now 5.2.

Environment variables

New env variables

  • NGINX_SETUP - this actually changed in 0.7.5 but was not mentioned in the release notes. Possible values are reverse-proxy or https. If not set, defaults to https. If you are using a reverse-proxy or working in a development environment (including when using localhost), set this to reverse-proxy.

Changes and deprecations to env values

  • USE_HTTPS is no longer used. HTTPS will now always be assumed unless DOMAIN=localhost. This ensures that it is not possible to run in production on the http protocol. If you were previously running in production with USE_HTTPS set to False (or not set at all) you may have some user and object IDs with http URLs. You should ensure that you have http to https forwarding in place for your IDs work correctly.
  • DEBUG now defaults to false rather than true. This makes production installs more secure by default, but may require adjustment for existing development environments.
  • If not set, PORT will now default to 443 unless DOMAIN is localhost, in which case it will default to 80. This is different to previous behaviour, where if unset, PORT was 1333.

Upgrading to BookWyrm v0.8.0

All environments

  • ALWAYS BACK UP YOUR DATABASE BEFORE UPGRADING and ideally know how you can restore it if something goes wrong.
  • Check the environment variables you have set in .env against the notes above, and make any necessary changes

Docker

  • You will need to stop your containers in order to upgrade: docker compose down
  • Upgrade postgres to version 17: ./bw-dev upgrade_db_version
  • Upgrade BookWyrm: ./bw-dev update (NOTE: if you have previously commented out the docker-compose build stage you must uncomment this first in order to correctly rebuild with Django 5.2)

Non-docker

What's Changed

‼️ Breaking Changes & New Settings ⚙️

Updated Dependencies 🧸

New Features 🎉

Bug Fixes 🐛

Other Changes

Read more

v0.7.5

15 Apr 19:28

Choose a tag to compare

What's Changed

Updated Dependencies 🧸

Other Changes

New Contributors

Full Changelog: v0.7.4...v0.7.5

v0.7.4

06 Jun 23:12

Choose a tag to compare

v0.7.4 Pre-release
Pre-release

What's Changed

Updated Dependencies 🧸

Other Changes

New Contributors

Full Changelog: v0.7.3...v0.7.4

v0.7.3

31 Mar 21:28

Choose a tag to compare

v0.7.3 Pre-release
Pre-release

What's Changed

New Contributors

Full Changelog: v0.7.2...v0.7.3

v0.7.2

17 Jan 22:47

Choose a tag to compare

Important
You will need to update your nginx config! You need to make two changes to the default.conf file so that they reflect the current state of production.conf:

  1. Change the location block on line 99 (this may vary if you have made any edits to your copy of the file) from location ~ ^/(images|static)/ { to location ~ \.(bmp|ico|jpg|jpeg|png|tif|tiff|webp|css|js)$ {. The whole block should now look like this:
    location ~ \.(bmp|ico|jpg|jpeg|png|tif|tiff|webp|css|js)$ {
        root /app;
        try_files $uri =404;
        add_header X-Cache-Status STATIC;
        access_log off;
    }
  1. Add a new block below (by default this will be on line 106):
    # block access to any non-image files from images or static
    location ~ ^/images/ {
         return 403;
    }

It's a good idea to check that your config syntax is valid before restarting nginx. With docker, you can run: docker-compose run --rm nginx nginx -t. Please reach out in the developer chat if you have any questions ❤️

What's Changed

New Contributors

Full Changelog: v0.7.1...v0.7.2

v0.7.1

02 Jan 16:54

Choose a tag to compare

v0.7.1 Pre-release
Pre-release

What's Changed

New Contributors

Full Changelog: v0.6.6...v0.7.1

v0.6.6

02 Oct 17:25

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.6.5...v0.6.6

v0.6.5

19 Aug 21:54

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.6.4...v0.6.5