Releases: gramps-project/gramps-web-api
v2.0.0
Welcome Gramps 5.2 & Gramps Web API 2.0!
This is the first backwards-incompatible release of Gramps Web API because it depends on Gramps 5.2 rather than Gramps 5.1.
Gramps 5.2 was released on February 23, 2024, and brings a host of improvements. However, it also contains a change in the database schema, which means that all existing database must be upgraded to the new schema - this applies both to Gramps Web and Gramps Desktop.
Please back up your tree before you upgrade. Detailed instructions for upgrading can be found at https://www.grampsweb.org/setup/v2/.
Change to Docker images
One of the improvements in Gramps 5.2 is that in can be installed via pip like any other Python package now. This makes it easier to install Gramps Web API and we have removed the dependency on the Gramps base Docker image.
Progress for background tasks
Apart from the change to Gramps 5.2, this release also brings a useful new feature: the /tasks/<task-id> endpoint now reports progress status for all background tasks.
v1.6.0
This release adds a new endpoint to check & repair a database, improves the handling of media imports, and fixes a few issues.
Check & repair database
Gramps desktop has a "check & repair" tool that checks for issues with a Gramps database and fixes some of them automatically. This release brings this tool to Gramps Web API as well, in the form of a simple new endpoint /trees/<tree_id>/repair.
Import media even when checksums are missing
The "import media archive" endpoint so far relied on media objects having correct checksums. However, there are cases, e.g. Gedcom import, when media objects would be created without checksums. From this version onwards, media files from an uploaded ZIP file will be correctly imported if either the checksum is present and matches (existing behaviour) or if the checksum is empty and the relative path of the file in the ZIP archive matches the relative path of the media object (new behaviour).
Fixes & improvements to user registration
- New configuration option
DISABLE_REGISTRATIONto completely disable registration of new users - So far, user registration was automatically disabled if no user of type "owner" existed. This was changed now to also allow registration if a user of type "administrator" exists, if Gramps Web API is deployed as single-tree instance.
- On registration of a new user, so far an e-mail was sent to all tree owners. Now, an e-mail is also sent to administrators if it is a single-tree instance.
Other improvements
An issue causing sever errors when generating reports has been fixed.
v1.5.1
Changes in this maintenance release:
Moreover, the repository has been renamed from gramps-webapi to gramps-web-api, see #473 for the rationale. The project name and Python package & module names do not change.
v1.5.0
This new release brings two new API features.
Edit bookmarks
The /api/bookmarks/ endpoint was only able to list existing bookmarks. This release adds edit capabilities by introducing the put (for adding a bookmark) and delete endpoint /api/bookmarks/{class}/{handle}.
Admin access to tree quotas
So far, in a multi-tree deployment, the server admin was able to create trees and modify their quotas, but not view them. This release adds rights for the server admin to view the following tree details: ID, name, people quota and usage, media quota and usage. This data is typically necessary for an administrator to manage the server.
v1.4.2
This patch release fixes an issue with the PUT method of the /media/<handle>/file endpoint when using object storage for media files.
v1.4.1
This patch release brings performance improvement and a configuration tweak.
- By refactoring the code for the
/reports/endpoint, they are loading much faster now. Moreover, there is a new query parameterinclude_helpto indicate whether or not the help options should be returned as well. These two improvements combined will make the "Reports" page in Gramps Web much faster. Fixes #451. - A new config option
IGNORE_DB_LOCKis added. If true, an existing lock file in the Gramps database directory is ignored. Although Gramps Web doesn't write the lock file, an existing lock file can lead to issues. Since this is meant as a safeguard to not intefere with a running Gramps desktop instance on the same machine, the default remains false (so this is not a breaking change), but it is recommended to set it to true when deploying Gramps Web on a web server.
v1.4.0
New feature: text recognition (OCR)
The main new feature in this release is the addition of an endpoint for text recognition (OCR) from media files using Tesseract (via pytesseract)!
To use the feature, tesseract needs to be installed; it is already installed in the latest version of the default docker image. The endpoint, /api/media/{handle}/ocr, is documented in the API specification.
Other improvements
- The e-mail confirmation token (for a newly registered user to confirm their e-mail address) no longer expires, see #448
- The Docker base image has been updated from Debian 10 to Debian 12
- The Docker base image has been updated from Gramps 5.1.5 to Gramps 5.1.6
Bug fixes
- A missing translation was added (#452)
v1.3.2
This minor release fixes one issue and improves performance, in particular for large trees and when using PostgreSQL as database.
- Previously, accessing a note with a broken link (e.g. internal link to a non-existent object) would raise a server error. Now, the note is shown with an empty link instead (fixes #431)
- Sorting a list of Gramps objects or filtering by a date pattern was generating a larger number of database calls so far, which could lead to a drastic slowdown when loading Gramps Web in particular when using PostgreSQL as database and for large trees. Now, sorting and filtering is done in memory, which leads to a slightly larger memory footprint, but significantly faster processing 🚀 (fixes #433)
v1.3.1
This is a maintenenance release making two small improvements:
- Person profiles now contain the name suffix in an additional key,
name_suffix, which was previously missing in the profile. - The
ancestor_handlesandancestor_profileof the DNA segment map endpoint introduced in v1.3.0 now no longer contain duplicate entries even if there are multiple connections to the same ancestor.
v1.3.0
DNA segment endpoint
This release adds a new endpoint to access chromsome segment data from DNA matches that are stored in the format used by the DNA segment map Gramplet.
Also, an issue with the media archive endpoint was fixed.