Skip to content
Version 2.6.0

⚠️ Important Note: This version add several quite long migrations. After the migration are run, you should run as a database administrator:

```sql
VACUUM FULL pictures, sequences;
```

or use a tool like [pg_repack](https://github.com/reorg/pg_repack) to remove dead tuples and save lot's of space.

Note that the vacuum will hold an exclusive lock whereas pg_repack will not.

⚠️ Important Note ⚠️ : This new versions uses postgres [`session_replication_role`](https://www.postgresql.org/docs/current/runtime-config-client.html) for non blocking migrations. This means that the users used to connect to the database must either have superuser privilege, or if postgres version is >= 15, you can grant the permission to the user with:

```psql
GRANT SET ON PARAMETER session_replication_role TO you_user;
```

### Added

- API routes returning items embed original datetime with timezone information in a new property `datetimetz`.
- New routes offering [MapLibre Style JSON files](https://maplibre.org/maplibre-style-spec/) for each vector tile endpoint (`/api/map/style.json`, `/api/users/me/map/style.json` and `/api/users/:userId/map/style.json`). This will allow more flexibility in offered vector tiles zoom levels and features against clients. These routes are advertised in API landing page with `xyz-style` and `user-xyz-style` links.
- A new configuration `DB_CHECK_SCHEMA` to tell GeoVisio not to check the database schema on startup, use only if you know you'll not use GeoVisio before updating its schema.
- Pictures metadata now embed pitch & roll information (`pers:pitch` and `pers:roll` fields).
- A new configuration `PICTURE_PROCESS_REFRESH_CRON` tell the background workers when to refresh the database stats (they execute the `flask db refresh` command).

### Changed

- All sequences geometries have been updated to be split if pictures were too far apart (linked to change done in [this MR](https://gitlab.com/panoramax/server/api/-/merge_requests/244)).
- Vector tiles from zoom 0 to 5 now offers a grid of available pictures (instead of simplified sequences). They are computed on-demand, so you may want to run `flask db refresh` once a day to keep them up-to-date.
- Doc and links to match the Gitlab organization rename from GeoVisio to Panoramax.

### Fixed

- Migration to change LineString sequence geometry into MultiLinestring was not compatible with older PostGIS version, making Docker image not able to migrate populated sequences tables from 2.4 to 2.5.
- Route `/api/collections/:cid/geovisio_status` was returning non-empty list of items when no pictures was yet associated to the sequence.
- Improve `/api/collections/:cid/geovisio_status` performance for big sequences.
- Improve performance of big sequences deletion in database.

### Removed

- All binary exif fields are removed from the database. This should save quite a lot of database storage.