Docspell 0.39.0
π Changelog β’ Documentation β’ Milestone π
This release contains some bug fixes, updates docker images and includes some internal change to get a bit forward with #585 (user groups).
- Allow to set extracted content (#1775) You can now fix OCRed text this way.
- Improve handling mixes of OIDC and local accounts (#1827). It is now possible to use the same account locally and via OIDC.
- Add Estonian language (#1646)
- Updated docker images to new alpine and openjdk, fixing #1736 (#1713) by @jberggg and @eikek
- drops support for arm7 (#1719)
- introduces
weasyprint
as an alternative towkhtmltopdf
for converting html files to pdf
- Fix docspell's query to remove
attach.count
. It has been removed a while ago, but the query language didn't reflect it (#1758) - Fix search for linked items (#1808)
- Fix item selection after merging (#1809)
- Internal changes to how a collective is referenced as a preparation for #585 (#1686)
- Update H2 to 2.1.x, incompatible to the previous used version (#1690)
Warning
The database structure changed substantially in this release. Please make sure to create a backup of your database before attempting the upgrade!
Docker
There are two major changes for docker users: First ARM7 support has been dropped, because it was too much work to maintain alongside the other architectures. Second the images have been updated to the latest alpine linux, which requires to sacrifice using wkhtmltopdf
as a tool to convert HTML to PDF (often used for processing emails).
The joex image doesn't have the wkhtmltopdf
binary anymore, because it is not available for alpine linux. Instead weasyprint
has been added. Docspell by default still uses wkhtmltopdf
, because I found it has better results. But you can now switch to weasyprint
and if you use the provided docker images you have to.
There is a new config that you need to set - when using environment variables:
DOCSPELL_JOEX_CONVERT_HTML__CONVERTER=weasyprint
Just add it to the env variables in the docker-compose.yml
. If you use a config file, add this to it:
docspell.joex {
convert.html-converter = "weasyprint"
}
File Backends
The internal change on how collectives are now referenced requires to adopt the files accordingly. If you have your files in the database, all is being migrated automatically on first start.
For other file backends, the files must be migrated manually. The difference is that from now on a collective is referenced by a unique number and not by its name anymore. You can look at the table collective
to see which number was assigned to a collective and then
- for a filebackend, simply move the folder with a collective name to its corresponding number
- for s3 backend the same must happen, using some s3 client (maybe this one)
H2
If you use H2 as a database, there are some manual steps required. H2 was bumped from 1.4.x to 2.1.x and the new version cannot read the database files of the old version.
Additionally, one of the changesets for H2 used a now illegal syntax and had to be changed. This will lead to checksum mismatch errors when starting up.
Creating and restoring a dump, the script tools/h2-util.sh
can be used. The H2 version can be specified with an environment variable H2_VERSION
to easily create a dump in one version and restore in another.
To fix the changeset, you could simply run this sed command on the dump before restoring:
sed -i 's,175554607,-276220379,g' docspell-dump-h2.sql
But this could potentially change not only the checksum, but other things in the dump. It is not very likely, though. A more safe alternative is to use a text editor and find the correct place (in table flyway_schema_history
) to change or just set database-schema.repair-schema = true
in the config file or use the env variables
DOCSPELL_SERVER_BACKEND_DATABASE__SCHEMA_REPAIR__SCHEMA=true
and startup only the restserver one time to have the checksum fixed. Another safe variant is to run this update statement on your h2 database:
UPDATE flyway_schema_history set checksum = -276220379 WHERE version = '1.9.3';