Release 2.9.0 ### Added - Add a new configuration `PICTURE_PROCESS_NB_RETRIES` to tell the number of times a job will be retried if there is a `RecoverableProcessException` during process (like if the blurring api is not reachable). Defaults to 5 like before. - Add a way to search on semantic tags in `/api/search` endpoint with a CQL2 filter like `filter="semantics.some_key"='some_value'`. - Add a `API_REGISTRATION_IS_OPEN` setting in the API to tell the federation that account can (or not) be created directly on the instance. Defaults to `false`. - Added field `geovisio:rank_in_collection` to pictures metadata to get the rank of the picture in the collection in `/api/collections/:cid/items/:id` / `/api/collections/:cid/items` and `/api/search` responses. This makes it easier to use the `startAfterRank` parameter to paginate through pictures in collections.. - Handle semantics returned by the blurring API, and automatically add annotations on the pictures with semantic tags on the detected objects.. ### Fixed - Fix the pagination links when many sequences had the exact same creation date on `/api/collections`. - Migration `20240409_01_jnhra-pictures-grid.sql` was not working from empty database. - When asking for collections list as CSV format, API was sending `Content-Type: text/html` instead of `text/csv` in response. - Fix a sql error on `/api/users/me/collection` when using PostgreSQL <= 13. - Fix a bug causing a 500 when filtering collections with no updates - Fix a bug where the collection geometry was not recomputed after a sort. ### Changed - Change the way the coefficients are computed for the grid, compute the mean only over squares with flat (or 360°) pictures. - Update lot of dependencies (Flask, psycopg, pillow, sentry, ...)