Skip to content
Release 2.7.0

⚠️ The minimal supported Python version is now 3.10. Note that you can run it with newer python versions as some might bring better performance. ⚠

### Added

- The API and picture workers now use connection pool to reduce the load on the database and improve the performances. The connection pool can be configured using `DB_MIN_CNX`/`DB_MAX_CNX`.
- Add a way to use Gunicorn instead of waitress as WSGI server. Gunicorn can use processes instead of threads, which can result in better performance for high load usage.
- The ID of the associated accounts are now returned in the STAC response in an `id` field in the `providers` field.
- Add a whole new way of uploading pictures, using the new `/api/upload_sets` APIs. The pictures added to the uploaded will be dispatched to one or more collection on completion.
- You can create and manage _Reports_ (issues with pictures or sequences) through `/api/reports` routes. Reports can be created anonymously or by authenticated users, can automatically hide faulty pictures or sequences, and be tracked over time for statistics. **Note** that reports management (beyond creation, which can be done through _web viewer_) is only available through HTTP API as now, no CLI or front-end is offered as now.
- You can create and manage _Excluded areas_ (areas where people should not upload pictures) through `/api/configuration/excluded_areas` and `/api/users/me/excluded_areas` routes. Excluded areas can be defined for everyone, or by user, for fine management. **Note** that this is only manageable through HTTP API, no CLI or front-end is offered as now.
- An user account can be marked with an `admin` role in database to enable some features (access to all reports, edit excluded areas).
- Support of cropped panorama, with new values in `pers:interior_orientation` in picture properties: `visible_area`, `sensor_array_dimensions` following [proposed definition in STAC](https://github.com/stac-extensions/perspective-imagery/issues/10).
- Routes `/api` and `/api/configuration` return API version in a `geovisio_version` attribute (example: `2.6.0-12-ab12cd34`).
- Routes returning collections display a `geovisio:upload-software` property showing which client has been used to create the collection (for meta-catalog statistics).
- handle user agent `GeoVisioCli` and `PanoramaxCli` as the same `cli` software.

### Changed

- Flask session has been set to `permanent`, thus the session cookie will have the lifetime defined by `FLASK_PERMANENT_SESSION_LIFETIME` (default to 7 days).
- Reject duplicates pictures (same md5). A configuration `API_ACCEPT_DUPLICATE` can make the instance accepts duplicates as before.
- The background jobs have been changed, it should be transparent for the administrator, but they now rely on the new `job_queue` table, and can handle more types of async jobs.
- More metadata can be set on API (name, description, logo and main color) in `API_SUMMARY` setting. This is served through `/api/configuration` and `/api` routes for client-side display.
- Maximum authorized distance between two consecutive pictures in a same segment of a sequence is now 75 meters (distance at 135km/h during two seconds). This only changes map rendering, to avoid sequences cuts over motorways.
- Sequences and Upload Sets creation now stores `User-Agent` HTTP requests headers.
- Minimal required PostGIS version is now 3.4 with PostgreSQL 12.
- Almost all database queries now have a statement timeout (default to 5mn).
- Updated Geopic Tag Reader to 1.3.0 to solve various issues related to pictures timestamps.
- In vector tiles style, `interpolate-hcl` expression for grid colouring has been replaced into `interpolate` for broader compatibility with QGIS versions.
- A new `geovisio:length_km` property is available on `/api/collections/:id`, `/api/users/:id/collection` and `/api/users/me/collection` route, giving the length of sequence in kilometers.
- ⚠️ The docker images are now `panoramax/api` instead of `geovisio/api`.

### Fixed

- RSS feed was producing invalid viewer links (missing coordinates) since sequences are represented as MultiLineString in database.
- Fix a bug where we could add pictures to an already deleted sequence.
- Fix a bug where the `pictures_grid` view was refreshed too frequently (and the computation can be expensive for the database).

### Removed

- The `test-api-conformance.sh` are now regular python tests
- Removed on-the-fly JPEG to WebP conversion (too slow). WebP might do an unexpected come-back in the future 😉
- The list of users has been removed from the API entrypoint (`/`) as the list is ever growning, but it can still be accessed through the `/users` endpoint.