summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.CHANGELOG876
-rw-r--r--.SRCINFO26
-rw-r--r--PKGBUILD52
3 files changed, 886 insertions, 68 deletions
diff --git a/.CHANGELOG b/.CHANGELOG
index 79f1d1f39b93..efa1367112aa 100644
--- a/.CHANGELOG
+++ b/.CHANGELOG
@@ -1,5 +1,859 @@
# Changelog
+## v0.41.0
+
+*Jan 29th, 2024*
+
+- Add khmer language (#2011)
+- Replace blaze with ember (http stack) (#2221, #2348)
+- Updated several dependencies (#2348, #2354, 2355)
+- Fix `AddonExecutionResult` monoid (#2363)
+- Setting item date from addons (#2345)
+- Fix sql queries where a space was missing (#2367, #2368)
+- Change AWS region for minio file backend (#2386)
+- Allow additional metadata to be passed on upload for addons and hooks (#2334)
+- Add support for Slovak language
+- Fix possibility to configure too large `session-valid` values (#2309)
+- Consider emails when `flattenArchives` is true (#2063)
+- Allow new file upload without hitting reset (#2323)
+
+Big thanks to:
+- @eikek
+- @madduck
+- @mprasil
+- @rehanone
+- @v6ak
+- @xshadowlegendx
+
+## v0.40.0
+
+*Mar 11th, 2023*
+
+- Add Ukrainian language (#1835, @GooRoo)
+- webui: normalize `,` to `.` for numeric fields
+- improve error reporting when file backend fails (#1976)
+- docker: remove exlpicit zlib install (#1863)
+- nix: replace wkhtmltopdf with weasyprint (#1873, #1895, @VTimofeenko)
+- fix listing shares with no name (#1840)
+- fix html conversion of text files (#1915)
+- fix: remove test-scoped dependencies from artifacts (#1856)
+- fix deletin users (#1941)
+- fix notification for collective scoped tasks (#1987)
+
+### Rest API changes
+
+- None
+
+### Configuration Changes
+
+- None
+
+## v0.39.0
+
+*Nov 7th, 2022*
+
+- 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 to `wkhtmltopdf` 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)
+
+### PLEASE NOTE
+
+The database structure changed substantially in this release. Please
+make sure to create a backup of your database **before** attempting
+the upgrade!
+
+### Docker Users
+
+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](https://min.io/docs/minio/linux/reference/minio-mc/mc-mv.html))
+
+### 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 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:
+
+```sql
+UPDATE flyway_schema_history set checksum = -276220379 WHERE version = '1.9.3';
+```
+
+
+### Rest API changes
+
+- Adds apis for retrieving and setting extracted text at
+ `/sec/attachment/{id}/extracted-text`
+
+
+### Configuration Changes
+
+Restserver:
+- Adds `auth.on-account-source-conflict` to decide what to do if an
+ account exists locally and at some OIDC provider
+
+Joex:
+- Adds a new system command for `weasyprint` an alternative to
+ `wkhtmltopdf`
+- Adds the setting `convert.html-converter` to set which to use
+ (default stays on `wkhtmltopdf`)
+
+
+## v0.38.0
+
+*Jul 09, 2022*
+
+- Allow to skip login page if a single OIDC provider is configured (#1640)
+- Add config to force OCR on a PDF even if text would be available (#1628)
+- Improvements for OIDC integration (#1619, #1545)
+- Improve unzipping/zipping files (#1603)
+- Fix starting a background task to install addon (#1601)
+- Add more database indexes to improve search (#1584)
+- Add paging to the share view (#1582)
+- Remove unused code (#1581)
+
+### Rest API Changes
+
+- remove `inReplyTo` from item metadata, it has never been used
+
+### Configuration Changes
+
+Restserver:
+- Add (optional) `logout-url` to a open-id provider config block
+- Add `oidc-auto-redirect`
+
+Joex:
+- Allow values <= 0 for `pdf.min-text-len` to force OCR on a pdf
+
+
+## v0.37.0
+
+*Jun 04, 2022*
+
+- Fix e-mail address input field (#1565)
+- Overhaul of search when fulltext search is applied. Fixes #1363.
+- Return when a search exceeds server configured limit for page size (#1358)
+- Several fixes related to addons (#1566, 1573)
+
+### Rest API Changes
+
+- removed `searchIndex` endpoint, because it is redundant
+
+### Configuration Changes
+
+- None.
+
+
+## v0.36.0
+
+*May 22, 2022*
+
+- Extend docspell via addons (experimental feature) (#1550)
+- Adds Lithuanian and Polish to document languages (#1540, #1345)
+- Added a quick guide for adding more languages (#942)
+- Make dashboard boxes headlines bold (#1531)
+- Improve logging config; allow to specify loggers and their level (#1535)
+- Allow for auth tokens to optionally be issued with an validity (#1533, 1534)
+- Allow to repair db migrations, necessary for rare cases like #1517
+
+### Rest API Changes
+
+- new endpoints for managing addons
+- new endpoint for joex to return its addon executor config
+
+### Configuration Changes
+
+- logging config sections allows to specfiy a map of logger names ->
+ level pairs (joex and restserver)
+- addon config section in restserver: allows to enable/disable
+ corresponding endpoints
+- addon config section in joex: allows to configure how to run addons
+
+
+## v0.35.0
+
+*Apr 14, 2022*
+
+- Download multiple documents as zip (#1093). The webui allows to
+ download multiple files as a zip archive. The zip file is created at
+ the server and cached for a while.
+- New project [ds4e](https://github.com/docspell/ds4e) providing some
+ utilises to access Docspell from Emacs.
+- Increase size for password fields in the database (#1508)
+- Hide the delete button in new notifciation channel forms (#1506)
+- Fix logging (#1468), non-errors were logged as errors.
+- Apply the migration fix from last version only from 0.32.0 onwards
+ (#1469)
+- Fix typos in UI (#1510, @monnypython)
+- Add support for Postgres FTS in nix module (#1512, @LeSuisse)
+
+### Rest API Changes
+
+- adds routes to create and download multiple files
+
+### Configuration Changes
+
+- restserver: add limits for creating zip files from search queries
+- joex: settings for new cleanup task that removes zip files that
+ exceed some configured age
+
+
+## v0.34.0
+
+*Mar 31, 2022*
+
+- French translation (#1440): The UI is now available in French!
+ Thanks to @jgirardet.
+- Link Items (#528): Link items together directly (without using
+ custom fields) and see all related items quickly on the search page.
+- Import mails recursively (#1260): The scanmailbox task can now go
+ through folders recursively. Thanks to @Moerfi666 and @seijikun.
+- Fulltext search via PostgreSQL (#424): Another backend for full-text
+ search was added that is backed by PostgreSQL's text search feature.
+ You can now choose between SOLR and PostgreSQL for fulltext search.
+- More file backends (#1379): Next to storing the files in the
+ database, you can now choose to store them in a S3 compatible
+ storage or use the filesystem directly.
+- Flat zip upload (#1366): An option has been added to the upload
+ metadata that will unpack zip files and process each entry
+ separately (instead of treating a zip file as a single item).
+- Fix to upload large files (#1339): Uploaded files are not loaded
+ entirely into memory allowing to upload large files.
+- Fix previously published db migration (#1454, #1436): Unfortunately,
+ there was an db migration in the last release that caused problems
+ on some installations. A fix for this migration has been added.
+- Fix build to run on windows (#1449, #1461): Building docspell on
+ windows has been improved by @arittner.
+
+For some of the new features, you need the new version of
+[dsc](https://github.com/docspell/dsc).
+
+### Rest API Changes
+
+- adds routes to clone file repositories and the integrity check
+- adds routes to support linking items
+- `ScanMailboxSettings` has a new flag `scanRecursively`
+- `ItemDetail` and `ItemLight` contain a new field to transport
+ related/linked items
+- `ItemUploadMeta` has a new flag to specify whether zip files should
+ be treated as a container only, and be "flattened" into the list of
+ uploaded files
+
+### Configuration Changes
+
+- rest server only: added options to tune the http server
+- joex only: adds a file integrity check to the regular house keeping tasks
+- configuration for postgresql based full-text search
+- extend `files` config adding the different storage backends for
+ files
+
+
+## v0.33.0
+
+*Mar 6, 2022*
+
+- Refactor file identifiers, as preparation for different file storage
+ backends (#1380)
+ - **PLEASE NOTE** this release contains a DB migration that changes
+ all file identifiers in the database. It is really very much
+ recommended to do a backup of the database *before* updating!
+- Allow background tasks to return results that are published via events (#1362)
+ - the task for processing files returns now data (item id, name,
+ extracted text, tags etc) that is included in the `JobDone` event
+ data
+- Users can specify a time zone in user settings (#1062)
+ - the time zone is used when formatting dates in the web ui
+ - the time zone is used for calendar events of periodic tasks; you
+ need to save each periodic task again in order to pass a different
+ timezone
+ - should you have calendar events in the config file, you can add a
+ time zone at the end
+ - if not specified, it will default to UTC as before
+- Improve item selection (#1422)
+ - selecting items was possible before, but only ephemeral in the list view
+ - it is now stored globally and kept until you explicitely clear the selection
+ - items can be selected in detail view and the search menu shows an
+ entry to quickly see all items currently selected
+ - makes it easier to select a bunch of documents for sharing/bookmarking etc
+- Change logging format and backend
+ - The logging format has changed again from logfmt to the "classic" one
+ - the configuration allows to use logfmt, json or two "classic" formats
+ - logback has been removed! If you used a custom `logback.xml`
+ before, I'm sorry this is not possible anymore. There are two
+ settings in the config file for now to control logging:
+ `logging.minimum-level` and `logging.format`.
+- Pdf preview not updated (#1210)
+ - some browsers (e.g. safari and some mobile browsers) don't update
+ the ui when the `src` attribute of the `embed` element changes
+ - for the "fallback view", an `iframe` is now used - thus for mobile
+ it should work now. Safari on desktop would require to change the
+ respective setting
+- Several ui improvements
+ - More cards per row for large screens (#1401)
+ - more space below direction dropdown (#1400)
+ - fix input field save-while-typing (#1340, #1299)
+ - improves detail view on small screens (#1420)
+ - sort tags by group and then name (#1396)
+ - fix bug presenting an empty tag category in search menu (#1402)
+ - wrap long text in dashboard tables (#1357)
+ - typo fixes (#1387, #1433)
+- Remove tools package from release (#1421)
+ - the tools package doesn't contain general useful stuff anymore and
+ is thus removed from the release packaging. The code is still
+ there, and can be packaged manually
+
+### Rest API Changes
+
+None.
+
+### Configuration Changes
+
+- add `logging.format` and `logging.minimum-level`
+- change default values for calendar events to explicitely show that
+ they are in UTC (the value itself is not changed)
+
+
+## v0.32.0
+
+*Feb 06, 2022*
+
+- Dashboards: There is a new starting page showing a dashboard.
+ Dashboards can be customized (#1294)
+- UI-settings can be specified per collective and then be overriden by
+ user settings (#838)
+- Managing notifications channels: Instead of giving channel data with
+ each notification hook, they can now be managed separately. This is
+ more convenient, because they can be reused for different
+ notification hooks and periodic queries. Notifications can be
+ associated to multiple channels. (#1293)
+ - Please note that some (small) manual effort is recommended when
+ upgrading: The channel data from all your current notifications is
+ copied into a separate data set. This can create duplicates if you
+ had notifications with equal channel data. In order to remove
+ these duplicates, first change all notifications to a known
+ channel and afterwards you can delete the obsolete ones.
+- Replace bundled pdf viewer with pdfjs default viewer. (#1304)
+- Fixes the query used in a periodic query, that had returned trashed
+ items (#1323)
+- Fixes UI bugs where some data was not initialized in the view
+ (#1324)
+- Fix sorting tags in search menu (#1318)
+- Reworked website using tailwindcss
+
+## v0.31.0
+
+*Jan 16, 2022*
+
+- Bookmark queries and use it in searches. (#1175) Also the periodic
+ query form is updated to allow using a bookmarks.
+- Customize message for periodic queries (#1258). You can now add your
+ own sentence to the beginning of the message notifying you for a
+ list of items.
+- Allow to configure a priority for Gotify notifications (#1277)
+- Improve handling tags (#960). When choosing a tag by the dropdown
+ the catgory is shown next to a tag and the options can be
+ constrainted by clicking a category bubble.
+- Fix timezone in docker image (#1234)
+- Fix adding high-dpi images that would cause an out-of-memory error
+ when generating previews (#1183).
+- Fix tearing down and initializing pubsub table to allow changing app
+ ids (#1251)
+- Fix switching between tile and list view when "full width" preview
+ is enabled (#1261)
+- Disable "group by month" if there are no groups (#1255)
+- Fix deleting periodic queries (button was not working) (#1257)
+
+### Rest API Changes
+
+- new routes for managing bookmarks
+- added routes for client settings to be separated between user and
+ collective, the previous endpoint now returns a merged json
+- add a priority value to gotify settings
+- add bookmark value to periodic query settings
+
+### Configuration Changes
+
+None.
+
+
+## v0.30.1
+
+*Dec 22, 2021*
+
+Bug fix release for #1229: notification mails could not be sent.
+
+
+## v0.30.0
+
+*Dec 21, 2021*
+
+- Add a list view for items, allowing to toggle between tile and list
+ view (#526)
+- Generic notification system: It is a start. A few events are
+ available with the idea to add more when needed. Get notified about
+ certain events via gotify, matrix or e-mail. A generic periodic
+ query has been added (in addition to the notify-due-items task).
+ (#848, #1174)
+- Update stanford-corenlp and add Spanish to the supported language
+ set for NLP and Hungarian to the standard set of languages.
+- Fix to update job execution count when a job is canceled (#1182)
+- Change the log format to [logfmt](https://www.brandur.org/logfmt)
+ and remove all ansi color sequences
+
+### Rest API Changes
+
+- added new routes to manage notification channels and hooks
+- added new routes for the generic periodic query task
+
+### Configuration Changes
+
+None.
+
+
+## v0.29.0
+
+*Nov 18, 2021*
+
+- Show number of waiting jobs in the top bar (#1069). This introduces
+ some changes under the hood, for example: while previously the
+ restserver was notifying job executors about new jobs, it will now
+ also *receive* messages from the job executors. This requires a new
+ setting (see below).
+- Hide sidebar by default on mobile (#1169)
+- Improve scanmailbox form (#1147)
+- Improve input of an e-mail address (#987)
+- Fix e-mail import for certain files (#1140)
+- Fix uploading files with non-ascii filenames (#991)
+
+### Rest API Changes
+
+None
+
+### Configuration Changes
+
+**Important**
+
+- the restserver has a new setting `internal-url` which must be set to
+ the base url of the server such that other nodes (i.e. joex nodes)
+ can reach it. It is by default set to `http://localhost:7880`. If
+ you are using docker: the `docker-compose.yml` in this repository
+ has been updated. You can copy&paste the new env variable
+ `DOCSPELL_SERVER_INTERNAL__URL=http://docspell-restserver:7880` into
+ your `docker-compose.yml` or add it to your config file.
+
+
+## v0.28.0
+
+*Oct 27, 2021*
+
+- Share items (#446). Allows to create shares, public cryptic links,
+ to a subset of your documents that can be shared with other people
+ (who don't need an account). It is possible to search inside the
+ shared subset. Shares have a lifetime and can be password protected.
+- Support encrypted PDFs (#1074). When importing PDF files, the
+ protection layer (usually for signed PDFs) is being removed in order
+ to process it. The config file and collective settings can now
+ define a list of passwords that are being used when trying to
+ decrypt encrypted PDFs.
+- Use environment variables to configure Docspell instead of a config
+ file (#1121). This is mainly intended when running via docker or
+ other similar tools. Note that settings that accept list as its
+ values are not yet supported.
+- Try to detect the best way to render PDFs (#1099). Mobile browsers
+ need a fallback for rendering PDFs, but desktop browsers can do it
+ much better natively. The user settings allow to decide how to
+ render a PDF or to let docspell detect it.
+- Filter possible values in search menu based on current results
+ (#856). This removes options that would only yield empty results
+ from the dropdowns.
+- Fix search in documenation (#1120)
+
+### Rest API Changes
+
+- `/share/*` routes to access a share
+- `/open/share/verify` routes to verify a share id
+- `/sec/share/*` routes to manage shares
+- extend `SearchStats` to include correspondents/concerning numbers
+
+### Configuration Changes
+
+- restserver: changed the server secret from the (dummy) value
+ `hex:caffee` to an empty string. This results in a random secret
+ generated at application start. It is recommended to set it to some
+ random value, otherwise sessions don't survive server restarts.
+- joex: adds a section `decrypt-pdf` for specifying a list of
+ passwords to try when encountering encrypted PDFs
+
+
+## v0.27.0
+
+*Sep 23, 2021*
+
+- Allow external authentication providers via [OpenID
+ Connect](https://openid.net/connect). Now you can integrate Docspell
+ into your SSO solution. Using keycloak, for example (or other such
+ tools) users can be maintained elsewhere, like in an LDAP directory.
+ (#489)
+- Adds two-factor authentication using TOTPs. If you don't want to
+ setup an external authentication provider (which is another tool to
+ maintain), you can use the builtin TOTP support to have two-factor
+ authentication. (#762)
+- Improvements when querying documents (#1040)
+- Changed the underlying code for storing and loading files. This is a
+ preparation to allow different storage backends for files in the
+ future (maybe the filesystem or s3). (#1080)
+- The license has changed from GPLv3+ to AGPLv3+ (#1078)
+- Fixes a bug in the "check for updates" task that was added in the
+ last release (#1068)
+- Reduces the length of the startup command, which makes tools like
+ `ps` much more readable and allows now to start docspell on Windows
+ (untested, though ;-)) (#1062)
+- Fixes merging items, where sent mails were not copied to the target
+ item. (#1055)
+- Fixes and improves deleting users. Now all their data is also
+ removed and it is shown what that would be. (#1060)
+
+### Rest API Changes
+
+- The `login` routes now won't return a session token when 2FA is
+ enabled for an account. The returned token must be used to provide
+ the TOTP in order to finalize login.
+- Added `open/auth/two-factor` endpoint to provide the TOTP for login
+- Added `open/auth/openid/{providerId}[/resume]` endpoints to initiate
+ authentication via an external provider
+- Added `sec/user/{username}/deleteData` to retrieve a summary of data
+ that would be deleted with that user
+- Added `sec/user/otp/*` endpoints to manage the TOTP for an account
+- Added `admin/user/otp/reserOTP` to reset the 2FA setup for any user
+
+### Configuration Changes
+
+- Restserver: Added a section to configure external authentication
+ provider
+
+
+## v0.26.0
+
+*Aug 28, 2021*
+
+- Add ability to merge items (#414). You can now select multiple items
+ and merge them all into one. The first item in the list is the
+ target item, all others are deleted after a successful merge. The
+ webapp allows to reorder this list, of course.
+- Add option to only import attachments of e-mails (#983).
+- Improve *Manage Data* page by sorting the tables (#965, #538)
+- Allow wildcard searches in queries using `attach.id` (#971). Before
+ you would have to specify the complete id. This is inconvenient when
+ using from the command line client.
+- Add Hebrew to the document languages (#1027, thans @wallace11).
+ Please note, that the SOLR support is very basic for this language.
+- Add a periodic task to check for Docspell updates (#990). Let's you
+ check periodically for new versions of docspell. It uses an existing
+ user account and its mail settings to send an e-mail.
+- Show the link to an item and its attachments as a QR code in item
+ details (#836). This might be useful when you want to attach this
+ link to physical devices.
+- The search menu highlights the sections that contain active filters
+ (#966)
+- Safe deletion of items (#347). When deleting items, they are now
+ *marked as deleted* and can therefore be restored. A periodic job
+ will really delete them from the database eventually.
+- Improves German translation (#985, thanks @monnypython)
+- The [dsc](https://github.com/docspell/dsc) tool has also been
+ improved, thanks to @seijikun.
+- Upgrade the website to work with newer zola versions (#847)
+- Remove the scripts in `tools/` since these are now obsolete. The new
+ [command line interface](https://github.com/docspell/dsc) covers
+ these features now. Note that the docker images are also NOT built
+ anymore. The directory still exits and is still a place for scripts
+ and little tooling around docspell.
+- Fixes a regression where the browser would not display the pdf (#975)
+- Fixes the health checks in the docker setup (#976)
+- Fixes an issue with text extraction for Japanese documents where
+ numbers were extracted as special unicode points (#973). This only
+ affects the docker setup, when not using the docker images you need
+ to setup tesseract to use different training data for Japanese.
+
+### Rest API Changes
+
+Complete
+[diff](https://github.com/eikek/docspell/compare/v0.25.1...master#diff-5dfb63e478c5511c16420f5e4d139666603d1c625546af06c4de50d0ae64a94f)
+(need to click the *Files changed* tab)
+
+- The routes to fetch a list of tags, organizations, persons, fields
+ etc can now optionally take a `sort` query parameter to specify how
+ to order the list.
+- Added `/sec/collective/emptytrash/startonce` to run the task to
+ empty the trash immediately
+- The search endpoints can now take an optional parameter `searchMode`
+ that defines whether to search in trashed items or not
+- Deleting an item via the api now only changes its state to *Trashed*
+- Added `/sec/item/{id}/restore` to restore a trashed item (unless it
+ has been deleted from the database).
+- Added `/sec/items/restoreAll` to restore multiple of trashed items
+- Added `/sec/items/merge` that accepts a POST request with a list of
+ items to merge. The first item is the "target" item. All other items
+ are deleted after the merge was successful.
+- The `ScanMailboxSettings`, `Source` and `ItemUploadMeta` structures
+ now contains a boolean field `attachmentsOnly`
+- `ItemInsights` structure now contains a counter for trashed items
+- `CollectiveSettings` structure now has a section to specify settings
+ for periodically deleting trashed items.
+
+### Configuration Changes
+
+- Joex: A new section for configuring the update task has been added.
+ See section `update-check` in the default [config
+ file](https://docspell.org/docs/configure/defaults/#joex).
+
+
+## v0.25.1
+
+*Jul 29, 2021*
+
+- Fix solr fulltext search by adding the new japanese content field
+
+The SOLR fulltext search is broken in 0.25.0, so this is a fixup
+release.
+
+## v0.25.0
+
+*Jul 29, 2021*
+
+- Introducing a new CLI tool (#345) that replaces all the shell
+ scripts from the `tools/` directory! https://github.com/docspell/dsc
+- UI changes:
+ - year separators are now more prominent (#950)
+ - fixes a bug in the item counter in detail view when an item is
+ deleted (#920)
+ - German translation improvements (#901)
+ - The number of selected files is shown in upload page (#896)
+- The created date of an item can now be used in queries (#925, #958)
+- Setting tags api has been improved (#955)
+- Task for converting pdfs is now behind the admin secret (#949)
+- Task for generating preview images is now behind the admin secret (#915)
+- respond with 404 when the source-id is not correct (#931)
+- Update of core libraries (#890)
+- Add Japanese to the list of document languages. Thanks @wallace11
+ for helping out (#948, #962)
+- Fix setting the folder from metadata when processing a file and
+ allow to specifiy it by name or id (#940)
+- Fixes docspell config file in docker-compose setup (#909)
+- Fixes selecting the next job in the job executor (#898)
+- Fixes a bug that prevents uploading more than one file at once
+ (#938)
+
+### Rest API Changes
+
+- Removed `sec/item/convertallpdfs` endpoint in favor for new
+ `admin/attachments/convertallpdfs` endpoint which is now an admin
+ task
+- Removed `sec/collective/previews` endpoint, in favor for new
+ `admin/attachments/generatePreviews` endpoint which is now an admin
+ task to generate previews for all files. The now removed enpoint did
+ this only for one collective.
+- `/sec/item/{id}/tags`: Setting tags to an item (replacing existing
+ tags) has been changed to allow tags to be specified as names or ids
+- `/sec/item/{id}/tagsremove`: Added a route to remove tags for a
+ single item
+
+### Configuration Changes
+
+None.
+
+
+## v0.24.0
+
+*Jun 18, 2021*
+
+This time a translation of the Web-UI in German is included and the
+docker build was overhauled. The releases are now build and tested
+using Java 11.
+
+- Rework Docker setup. Images are now provided for different
+ architectures and have a new home now (see below). The images are
+ now built via a github-action from the official packages of each
+ release. (#635, #643, #840, #687)
+- Translation of the UI into German (thanks to @monnypython for proof
+ reading and applying lots of corrections!) (#292, #683, #870)
+- Improve migration of SOLR (#604)
+ - The information whether solr has been setup, is now stored inside
+ SOLR. This means when upgrading Docspell, all data will be
+ re-indexed.
+- Add `--exclude` and `--include` options to the `consumedir.sh`
+ script (#885)
+- Improved documenation of the http api (#874)
+- Removed unused libraries in the final packages to reduce file size a
+ bit (#841)
+- Bug: Searching by tag category was broken when using upper case
+ letters (#849)
+- Bug: when adding a boolean custom field, it must be applied
+ immediatly (#842)
+- Bug: when entering a space in a dropdown the menu closes (#863)
+- Bug: Some scripts didn't work with earlier versions of `jq` (#851)
+- Bug: The source form was broken in that it didn't load the language
+ correctly (#877)
+- Bug: Tag category options were wrongly populated when narrowing tags
+ via a search (#880)
+
+### Breaking Changes
+
+#### Java 11
+
+Not really a breaking change. Docspell is now build and tested using
+Java 11. Docspell has a small amount of Java source code. This is
+compiled using Java 11 but to target Java 8 JVMs. So it still can run
+under Java 8. However, it is recommended to use at least Java 11 to
+run Docspell.
+
+
+#### Docker Images
+
+The docker images are now pushed to the
+[docspell](https://hub.docker.com/u/docspell) organization at
+docker-hub! So the images are now:
+
+- `docspell/restserver`
+- `docspell/joex`
+- `docspell/tools`
+
+Tags: images are tagged with two floating tags: `nightly` and
+`latest`. The `nightly` tag always points to the latest development
+state (the master branch). The `latest` tag points to the latest
+release. Each release is also tagged with its version number, like
+`v0.24.0`.
+
+The images changed slightly in that there is no assumption on where
+the config file is placed. Now you need to pass the docspell config
+file explicitely when using the images.
+
+Multiarch: Images are now build for `amd64`, `arm64` and `armv7`.
+
+The consumedir is being replaced by the more generic `docspell/tools`
+image which contains all the scripts from the `tools/` section. That
+means it has no special entrypoint for the consumedir script anymore.
+The polling functionality is now provided by the consumedir script.
+And the docker-compose file needs now to specify the complete command
+arguments. This makes it much more flexible to use.
+
+This allows to use this image to run all the other tool scripts, too.
+The scripts are in PATH inside the image and prefixed by `ds-`, so for
+example `ds-consumedir` or `ds-export-files` etc.
+
+#### Docker Compose
+
+The docker-compose setup is now at `docker/docker-compose`. Please
+look at the new [compose
+file](https://github.com/eikek/docspell/blob/master/docker/docker-compose/docker-compose.yml)
+and do the corresponding changes at yours. Especially the consumedir
+container changed significantly. Then due to the fact that the config
+file must be given explicitely, you need to add this argument to each
+docspell component (restserver and joex) via a `command` section (see
+the compose file referenced above).
+
+The `.envrc` has been cleaned from some settings. Since the config
+files is mounted into the image, you can just edit this file instead.
+The only settings left in the .envrc file are those that need to be
+available in the docker-compose file and the application. If some
+settings need to be duplicated for joex and restserver, you can use
+the builtin variable resolution mechanism for this. An example is
+provided in the new config file.
+
+### Configuration Changes
+
+None.
+
+
+### Rest API Changes
+
+None.
+
+
## v0.23.0
*May 29, 2021*
@@ -220,7 +1074,7 @@ Please open an issue if want more languages to be included.
- all text analysis steps are now configurable that makes it
possible to adapt it better to your data and machine.
- The docs have been updated with some details
- [here](https://docspell.org/docs/configure/#file-processing) and
+ [here](https://docspell.org/docs/configure/file-processing/) and
[here](https://docspell.org/docs/joex/file-processing/#text-analysis).
- more languages (#488)
- Adds: Spanish, Italian, Portuguese, Czech, Dutch, Danish, Finnish,
@@ -284,8 +1138,8 @@ Please open an issue if want more languages to be included.
- the config regarding text analysis changed, there are new config
options, like `nlp.mode` and the `max-due-date-years` has been
moved inside `text-anlysis`. Please have a look at the new
- [default config](https://docspell.org/docs/configure/#joex) if you
- changed something there.
+ [default config](https://docspell.org/docs/configure/defaults/#joex)
+ if you changed something there.
- The `regex-ner` section has changed: the `enabled` flag has been
removed, you can now limit the number of entries using
`max-entries` to apply and `0` means to disable it.
@@ -305,7 +1159,7 @@ Please open an issue if want more languages to be included.
- The result summary is now also used to update the tag counts in
the search menu according to the current results.
- Feature: password reset (#376,
- [docs](https://docspell.org/docs/tools/reset-password/))
+ [docs](https://docspell.org/docs/tools/cli/#admin-commands))
- Adds a new route for admins to reset the password of a user
- Admin users are those with access to the config file, the endpoint
requires to supply a secret from the config file.
@@ -812,7 +1666,7 @@ improvements for processing files.
upload the file into memory for nothing if something fails (e.g. the
source doesn't exist)
- Re-process files. A
- [route](https://docspell.org/openapi/docspell-openapi.html#api-Item-secItemItemIdReprocessPost)
+ [route](https://docspell.org/openapi/docspell-openapi.html#operation/sec-item-start-reprocess)
has been added that submits files for re-processing. It is possible
to re-process some files of an item or all. There is no UI for this
for now. You'd need to run `curl` or something manually to trigger
@@ -822,9 +1676,8 @@ improvements for processing files.
[OCRMyPdf](https://github.com/jbarlow83/OCRmyPDF) tool that can be
used in docspell since the last release. This task converts all your
existing PDFs into a PDF/A type pdf including the OCR-ed text layer.
- There is no UI to trigger this task, but a
- [script](https://docspell.org/docs/tools/convert-all-pdf/) is
- provided to help with it. (#206)
+ There is no UI to trigger this task, but a script is provided to
+ help with it. (#206)
- There is now an [Android Client
App](https://github.com/docspell/android-client) to conveniently
upload files from your android devices
@@ -895,10 +1748,9 @@ improvements for processing files.
- Adds the [full-text
search](https://docspell.org/docs/webapp/finding/#full-text-search)
feature (see #69). It requires a separate
- [Solr](https://lucene.apache.org/solr) instance. Items can be
- searched by documents contents and item/file names. It is possible
- to use full-text search to further confine the results via the
- search menu.
+ [Solr](https://solr.apache.org) instance. Items can be searched by
+ documents contents and item/file names. It is possible to use
+ full-text search to further confine the results via the search menu.
- Fixes column types for item date and due-date for MariaDB (see #158)
and adds an upper limit for due-dates (which is configurable).
- Fixes a bug when cancelling jobs. Stuck jobs were only removed from
diff --git a/.SRCINFO b/.SRCINFO
index 6a9840e6a98d..2e258ce72fb4 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,25 +1,22 @@
pkgbase = docspell
pkgdesc = Assists in organizing your piles of documents, resulting from scanners, e-mails and other sources with miminal effort.
- pkgver = 0.23.0
+ pkgver = 0.41.0
pkgrel = 1
url = https://docspell.org/
changelog = .CHANGELOG
arch = any
groups = docspell
license = GPL3
- makedepends = python
- source = docspell-0.23.0-restserver.zip::https://github.com/eikek/docspell/releases/download/v0.23.0/docspell-restserver-0.23.0.zip
- source = docspell-0.23.0-joex.zip::https://github.com/eikek/docspell/releases/download/v0.23.0/docspell-joex-0.23.0.zip
- source = docspell-0.23.0-tools.zip::https://github.com/eikek/docspell/releases/download/v0.23.0/docspell-tools-0.23.0.zip
+ source = docspell-0.41.0-restserver.zip::https://github.com/eikek/docspell/releases/download/v0.41.0/docspell-restserver-0.41.0.zip
+ source = docspell-0.41.0-joex.zip::https://github.com/eikek/docspell/releases/download/v0.41.0/docspell-joex-0.41.0.zip
source = docspell-joex.sh
source = docspell-restserver.sh
source = docspell-joex.service
source = docspell-restserver.service
source = docspell.sysusers
source = docspell.tmpfiles
- sha512sums = 49c3676c38f064763817c2e56aae9605fcec1fbaa4e3cfa0c5b975c6f8f1b7004fe02db688bcff189bf7038e0e2b4d9e1be483a232a72d01142aeefe8a9495fd
- sha512sums = 329d1d7ef678121f0a6d46bddd8a84c614e8217334f2b516a659cfdb2baa5a40ca5f87906c262c7538f08ef3dae435ce93c5482f078ad6dc9e247ed226084475
- sha512sums = 8fa8664c8303112feac564e8d52512cd329d0558b3701afd4bd53063491ab9f212022ea86ff6b9ce322e5dc9460a0ff626e27d0cd8414364b80f75c1f11b2e58
+ sha512sums = dab7184ee75ea68fddc447b9acfc1c09f9258c330c115aa7e0b0fd8d4fc01b6dbd4f30d63469085c969cdba3c7f1c9c78172ebc2fe592b4a8424c0c48c98b039
+ sha512sums = f187278b336db17d8e4841adf5e3af5b1bff73689d4eada50889a1882c5d2855b7410a432c779b68b5ed2ff3c53639d1875e06728dabec1353035328258fb3ab
sha512sums = 6ab8b24eb76f02b68e4fa4194b8771ef4f57c8375b34bf7bf914563528e347ea127beb5547e432910911d4fd15982cccdd1df50aeb76058129b909824ce49093
sha512sums = 0b8b08f47f1cb46a3bfc16df4b0574cebfb4a851562d134fcba3c4bf80fb011443499a549c3a04480456c048346d09f36fbcbc9d792810001c9c8b370d3926a8
sha512sums = c1a7a9cb942413d0febb083554a15ded0ead5c7124624f0ec5fe43d3bc73a1637f89bc27f7b6e0bbdbd0d886799e5331beb5f45f476db70b69ae17c0d803f004
@@ -33,21 +30,14 @@ pkgname = docspell-joex
depends = java-runtime-headless
depends = tesseract
depends = unoconv
- depends = wkhtmltopdf
optdepends = ocrmypdf: adds an OCR layer to scanned PDF files to make them searchable
+ optdepends = python-weasyprint: alternative to wkhtmltopdf for converting html files to pdf
optdepends = unpaper: pre-processes images to yield better results when doing ocr
+ optdepends = wkhtmltopdf: convert html to pdf
backup = etc/docspell/joex.conf
pkgname = docspell-restserver
pkgdesc = Assists in organizing your piles of documents, resulting from scanners, e-mails and other sources with miminal effort. (Server)
depends = java-runtime-headless
- optdepends = solr: provide fulltext search
+ optdepends = solr: alternative fulltext search
backup = etc/docspell/restserver.conf
-
-pkgname = docspell-tools
- pkgdesc = Collection of tools to interact with Docspell
- depends = curl
- depends = inotify-tools
- depends = jq
- depends = python
-
diff --git a/PKGBUILD b/PKGBUILD
index ee26b19d6819..97d46d630e2c 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,9 +1,13 @@
# Maintainer: Lucki <https://aur.archlinux.org/account/Lucki>
-# shellcheck disable=SC2034,2154,2148
+# shellcheck shell=bash
+# shellcheck disable=2034,2154
pkgbase=docspell
-pkgname=('docspell-joex' 'docspell-restserver' 'docspell-tools')
-pkgver=0.23.0
+pkgname=(
+ 'docspell-joex'
+ 'docspell-restserver'
+)
+pkgver=0.41.0
pkgrel=1
changelog=.CHANGELOG
arch=('any')
@@ -13,16 +17,14 @@ license=('GPL3')
groups=('docspell')
source=("$pkgbase-$pkgver-restserver.zip::https://github.com/eikek/$pkgbase/releases/download/v$pkgver/$pkgbase-restserver-$pkgver.zip"
"$pkgbase-$pkgver-joex.zip::https://github.com/eikek/$pkgbase/releases/download/v$pkgver/$pkgbase-joex-$pkgver.zip"
- "$pkgbase-$pkgver-tools.zip::https://github.com/eikek/$pkgbase/releases/download/v$pkgver/$pkgbase-tools-$pkgver.zip"
"${pkgname[0]}.sh"
"${pkgname[1]}.sh"
"${pkgname[0]}.service"
"${pkgname[1]}.service"
"$pkgbase.sysusers"
"$pkgbase.tmpfiles")
-sha512sums=('49c3676c38f064763817c2e56aae9605fcec1fbaa4e3cfa0c5b975c6f8f1b7004fe02db688bcff189bf7038e0e2b4d9e1be483a232a72d01142aeefe8a9495fd'
- '329d1d7ef678121f0a6d46bddd8a84c614e8217334f2b516a659cfdb2baa5a40ca5f87906c262c7538f08ef3dae435ce93c5482f078ad6dc9e247ed226084475'
- '8fa8664c8303112feac564e8d52512cd329d0558b3701afd4bd53063491ab9f212022ea86ff6b9ce322e5dc9460a0ff626e27d0cd8414364b80f75c1f11b2e58'
+sha512sums=('dab7184ee75ea68fddc447b9acfc1c09f9258c330c115aa7e0b0fd8d4fc01b6dbd4f30d63469085c969cdba3c7f1c9c78172ebc2fe592b4a8424c0c48c98b039'
+ 'f187278b336db17d8e4841adf5e3af5b1bff73689d4eada50889a1882c5d2855b7410a432c779b68b5ed2ff3c53639d1875e06728dabec1353035328258fb3ab'
'6ab8b24eb76f02b68e4fa4194b8771ef4f57c8375b34bf7bf914563528e347ea127beb5547e432910911d4fd15982cccdd1df50aeb76058129b909824ce49093'
'0b8b08f47f1cb46a3bfc16df4b0574cebfb4a851562d134fcba3c4bf80fb011443499a549c3a04480456c048346d09f36fbcbc9d792810001c9c8b370d3926a8'
'c1a7a9cb942413d0febb083554a15ded0ead5c7124624f0ec5fe43d3bc73a1637f89bc27f7b6e0bbdbd0d886799e5331beb5f45f476db70b69ae17c0d803f004'
@@ -35,12 +37,6 @@ prepare() {
sed -i -e 's@url = "jdbc:h2://"${java.io.tmpdir}"@url = "jdbc:h2:///var/lib/docspell@' \
"${pkgname[0]}-$pkgver/conf/${pkgname[0]}.conf" \
"${pkgname[1]}-$pkgver/conf/$pkgbase-server.conf"
-
- sed -i -e 's@/usr/local/share/docspell/native.py@/usr/share/docspell-tools/native.py@' \
- "${pkgname[2]}-$pkgver/firefox/native/app_manifest.json"
-
- sed -i -e 's@DS_SH_CMD="ds.sh"@DS_SH_CMD="docspell-ds"@' \
- "${pkgname[2]}-$pkgver/firefox/native/native.py"
}
# You do not need to compile Java applications from source.
@@ -53,9 +49,11 @@ prepare() {
package_docspell-joex() {
pkgdesc+=" (Job executer)"
- depends=('ghostscript' 'java-runtime-headless' 'tesseract' 'unoconv' 'wkhtmltopdf')
+ depends=('ghostscript' 'java-runtime-headless' 'tesseract' 'unoconv')
optdepends=('ocrmypdf: adds an OCR layer to scanned PDF files to make them searchable'
- 'unpaper: pre-processes images to yield better results when doing ocr')
+ 'python-weasyprint: alternative to wkhtmltopdf for converting html files to pdf'
+ 'unpaper: pre-processes images to yield better results when doing ocr'
+ 'wkhtmltopdf: convert html to pdf')
backup=("etc/docspell/joex.conf")
install -Dm 755 "${pkgname[0]}.sh" "$pkgdir/usr/bin/${pkgname[0]}"
@@ -84,7 +82,7 @@ package_docspell-joex() {
package_docspell-restserver() {
pkgdesc+=" (Server)"
depends=('java-runtime-headless')
- optdepends=('solr: provide fulltext search')
+ optdepends=('solr: alternative fulltext search')
backup=("etc/docspell/restserver.conf")
install -Dm 755 "${pkgname[1]}.sh" "$pkgdir/usr/bin/${pkgname[1]}"
@@ -109,25 +107,3 @@ package_docspell-restserver() {
`# DSTDIR:` \
"$pkgdir/usr/share/java/${pkgname[1]}/"
}
-
-makedepends+=('python')
-package_docspell-tools() {
- pkgdesc="Collection of tools to interact with Docspell"
- depends=('curl' 'inotify-tools' 'jq' 'python')
-
- cd "${pkgname[2]}-$pkgver" || return
-
- # Firefox extension and native messaging host
- mkdir -p "$pkgdir/usr/share/${pkgname[2]}"
- mkdir -p "$pkgdir/usr/lib/mozilla/native-messaging-hosts"
- install -Dm 644 "firefox/$pkgbase-extension.xpi" "$pkgdir/usr/lib/firefox/browser/extensions/docspell@eikek.github.io.xpi"
- install -Dm 755 "firefox/native/native.py" "$pkgdir/usr/share/${pkgname[2]}/firefox/native/native.py"
- ln -s "/usr/share/${pkgname[2]}/firefox/native/app_manifest.json" "$pkgdir/usr/lib/mozilla/native-messaging-hosts/$pkgbase.json"
-
- # https://wiki.archlinux.org/index.php/Python_package_guidelines#Reproducible_bytecode
- export PYTHONHASHSEED=0
- python -O -m compileall "$pkgdir/usr/share/${pkgname[2]}/firefox/native/native.py"
-
- # Scripts
- find . -type f -name "*.sh" -exec sh -c 'install -Dm 755 "$3" "$1/usr/bin/$2-$(basename "$3" .sh)"' _ "$pkgdir" "$pkgbase" {} \;
-}