Releases: gramps-project/gramps-web-api
v2.8.0
Improved handling of DNA matches
Several improvements have been made in this release to better handle DNA match data.
- The calculation of relationships has been made much faster, speeding up the DNA match endpoint. (#598)
- A new filter rule
HasAssociationType
has been added that allows to filter for people with an association (person reference) of a given type (e.g. "DNA) (#602) - The DNA match endpoint now returns additional useful data (#607)
- A new endpoint
/api/parsers/dna-match
has been added that allows to parse raw DNA match data (e.g. pasted from other online services) and returns it in structured form (without storing the data, so it can be used for previewing the data) (#604) - The parser for raw DNA match data has been rewritten from scratch and can now understand more different formats (#610)
Other improvements
Gramps Web API is now tested to work with Python 3.13. (#571)
v2.7.0
New feature: background transactions
The /api/transactions/
endpoint, which is used e.g. by the Gramps Web Sync addon, now has an optional background
boolean parameter. If true, the transaction is processed in the background rather than within the request. This allows a transaction to take much longer rather than the usual 1-2 minutes until a HTTP request times out. It will enable much better experience with the Sync addon when processing a large number of changes. (#593)
Other improvements
- The
openai
module is no longer imported at the top level, which caused an error when not installing theai
extra dependencies (#594) - An issue with local prefixed media file directories (#515) was solved
- The codebase has been overhauled, type hints improved and a static type checker added to the cuntinuous integration pipeline (#567)
v2.6.0
Improvements to development server
@dsblank has implement various improvements to the development server, including improved logging and optionally opening the browser, among others. See the documentation for all the options.
Caching for vector embedding model
The fix released in v2.5.3 temporarily slowed down vector search. This release reintroduces caching for the vector embedding model to remedy this.
v2.5.3
This is a bug fix release that solves a regression introduced in v2.5.0, which breaks the search feature in multi-tree setups.
Also, this release introduces a new simple /ready
endpoint that can be used as a container readiness probe.
v2.5.2
Improvements
This minor release brings the following improvements & fixes:
- A performance bottleneck has been removed for the metadata endpoint in multi-tree deployments (#568, #569)
- A new environment variable
GUNICORN_TIMEOUT
has been added to the default docker image to customize gunicorn's timeout (which defaults to 180 s if not specified) #570 by @Illia-M - A regression with the face detection feature has been fixed in the default docker image. Face detection is not supported on the
armv7
platform due to missing library support, but works onarm64
(eg. 64-bit Raspberry Pi)
Python 3.8 support removed
Since Python 3.8 has reach end of life, you will need Python 3.9 or higher to run Gramps Web API starting with this release.
v2.5.1
This release fixes a minor issue with some chat models.
v2.5.0
Semantic search
This release adds semantic search powered by vector embeddings, in addition to the existing full-text search. This leads to the following API changes:
- A new configuration option
VECTOR_EMBEDDING_MODEL
- The
search
CLI command gets an optional--semantic
switch to manage the semantic search index (which is separate from the full-text search index, but stored in the same database) - The
/api/search
endpoint gets an optional boolean parameter?semantic
- The
/api/metadata
endpoint reports whether semantic search is enabled via theserver.semantic_search
key and the number of objects in the semantic search index via thesearch.sifts.count_semantic
key
AI chat endpoint
Powered by the semantic search, this release adds an AI chat endpoint using the retrieval-augmented generation (RAG) technique (#539).
For setup and usage documentation, see
Note that semantic search and AI chat are not supported on the armv7
platform (e.g. Raspberry Pi 32-bit) since they depend on PyTorch. Without these features enabled, Gramps Web continues to support armv7
and we continue to provide images for this platform. The arm64
platform (e.g. Raspberry Pi 64-bit) is fully supported.
Object Query Language
A Python-like query language has been added as an alternative to the "Gramps Query Language" (GQL) by @dsblank #553. See https://github.com/dsblank/object-ql for detais.
Other changes
- Generate app/secret only if SECRET_KEY is unset by @pwalkr in #538
- silence warning gtk version by @JohnRDOrazio in #542
- Fix issue #545: migrate to pyproject.toml by @JohnRDOrazio in #547
- Replace Haar Cascade by YuNet for face detection by @DavidMStraub in #546
- Added Object Query Language by @dsblank in #553
- Provide more insights in emails to admin and self-registered user by @hgohel in #557
- python.linting settings are deprecated by @JohnRDOrazio in #541
New Contributors
- @pwalkr made their first contribution in #538
- @JohnRDOrazio made their first contribution in #542
- @dsblank made their first contribution in #553
- @hgohel made their first contribution in #557
Thank you to all contributors and translators! 🎉
Full Changelog: v2.4.2...v2.5.0
v2.4.3
This is a patch release to resolve issues with database connections not being properly closed in some circumstances.
v2.4.2
This is another quick maintenance release to update the dependency on the new search backend, increasing stability.
v2.4.1
This maintenance release brings one major performance improvement: importing genealogical data should now be much faster, as the incremental search reindex it triggers has been accelerated (#530). The dependence on the new search backend sifts
has also been updated to profit from bug fixes there.