Skip to content
Tags give the ability to mark specific points in history as being important
  • 2.5.0 protected
    ae750186 · Release 2.5.0 ·
    Release 2.5.0
    
    ### Added
    
    - Picture search route (`/api/search`) now allows to look for a place that should be visible in pictures. This allows to find pictures for illustrating a POI page. This is done using `place_position`, `place_distance` and `place_fov_tolerance` parameters.
    - Route `PATCH /api/collections/:id` has new parameters for editing in a single shot all pictures in a sequence:
      - `relative_heading`: to change all picture headings based on sequence movement track
      - `sortby`: to change the property used to sort pictures in the sequence (GPS date, file date or file name, either ascending or descending order).
    - Route `PATCH /api/collections/:col_id/items/:id` has a new parameter for editing a picture's heading.
    - Add 2 new tables `pictures_changes` and `sequences_changes` to track updates on `pictures` and `sequences`. Those tables are not yet exposed via an http API.
    
    ### Changed
    
    - Updated Geopic Tag Reader to version 1.0.5
    - Variable `DB_URL` is not set by default on the Dockerfile anymore, a real value must be given.
    - Do not persist binary exif fields. The most notable one is `MakerNote` that took ~15% of the database storage.
    - Pictures's are now displayed from zoom level 15 in the tiles to lower the tile's size.
    - Collection geometries are now stored as multilinestrings, and split if pictures are too far apart.
    
    ### Fixed
    
    - Pytest path in CI for Docker image release.
    - When searching collections with a bounding box (in `/api/collections` or `/api/users/:id/collection`), a real intersection is done in the search (before, only the bounding box of the collection was considered).
    - Permission problems in Dockerfile when writing to `/data/geovisio`
  • 2.4.0 protected
    4c1a8b18 · Release 2.4.0 ·
    Release 2.4.0
  • 2.3.1 protected
    573b28e8 · # Release 2.3.1 ·
    # Release 2.3.1
    
    ### Added
    - Basic `Cache-Control` headers, only setting `public` or `private` for the moment.
    - `original_file:size` and `original_file:name` in an item's response's `properties`
    - User collection list (`/api/users/:id/collection`) now also supports search with `bbox`, as proposed in [STAC _Collection Search_ extension](https://github.com/stac-api-extensions/collection-search).
    
    ### Changed
    - Docker container work directory is now `/opt/geovisio`.
    - Docker compose file with blurring is lighter, to for easier maintenance.
    - Update [geo-picture-tag-reader](https://gitlab.com/geovisio/geo-picture-tag-reader) to [1.0.3 version](https://gitlab.com/geovisio/geo-picture-tag-reader/-/tags/1.0.3).
    
    ### Removed
    - Tests in Docker are removed, tests can be run locally and are automatically run through repository CI.
    - `docker-compose-auth.yml` file, as it is now redundant with `docker-compose-full.yml` (as blurring is separated in a lighter compose file).
  • 2.3.0 protected
    cafce6af · Release 2.3.0 ·
    Release 2.3.0
    
    +++ Added
    - Performance and crash metrics can be sent now to a Sentry server.
    - (Almost) full list of picture EXIF tags are shown in `properties.exif` field in API routes returning STAC items. Some keys are skipped because of their low added-value and wide size (maker notes, long binary fields).
    - On route `POST /api/collections/:cid/items`, new `override_Exif.*` and `override_Xmp.*` parameters are available to manually define EXIF or XMP tags to override in picture metadata. You can pass any valid [Exiv2](https://exiv2.org/metadata.html) EXIF/XMP tag in query parameters.
    - A documentation about [STAC API and GeoVisio API differences](./docs/80_STAC_Compatibility.md).
    - Sequences can be filtered by their last update time with `GET /api/collections?filter=...` parameter (uses _Common Query Language_ expression). Deleted sequences can also be show using the `filter` `status` (`filter=status='deleted'`).
    - Picture processing will now be retried (10 times) in case the blurring API fails.
    - Sequence title can be updated through `PATCH /api/collections/:id` route.
    
    +++ Changed
    - Picture EXIF tags are now stored in database following the [Exiv2](https://exiv2.org/metadata.html) naming scheme. A database migration that could take some time (up to half an hour) is offered to update existing metadata in running instances.
    - Upgrade Swagger to 5.9
    - Fix a deadlock in the database when a picture is deleted while a worker is preparing it.
    - Sequences last updated date corresponds to either last edit of sequence itself or any pictures it embeds.
    - Surrounding pictures are listed in details of a single picture (`GET /api/collections/:collectionId/items/:itemId`), as `rel=related` links.
    - User detailed catalog (`/api/users/:userId/collection`) now offers paginated and filterable results for its `child` links. Query parameter are `filter, limit, sortby`.
    - Tag reader library update to 1.0.2 to fix various fractions value issues.
    - `API_MAIN_PAGE` and `API_VIEWER_PAGE` environment variables can now also take a full URL to use instead of default API front-end pages. Useful if you're using a third-party front-end to keep RSS links consistent.
    
    +++ Fixed
    - Tag reader dependency was incorrectly evaluated in pyproject.
    
    +++ Deprecated
    - Parameters `created_before` and `created_after` in `GET /api/collections` route, in favor of `filter` parameter.
  • 2.2.0 protected
    02e4bae6 · Release ·
    Release 2.2.0
    
    +++ Changed
    - [GeoPic Tag Reader](https://gitlab.com/geovisio/geo-picture-tag-reader) updated to 0.4.1 to embed stronger checks on picture coordinates.
    
    +++ Fixed
    - If a picture was having invalid coordinates in its EXIF tags, geometry in database was landing outside of WGS84 bounding box, and `GET /api` returned an invalid spatial extent. API now limits returned bounding box to maximum authorized value for WGS84 projection.
    
    +++ Added
    - a new route: `/api/users/:id/collection` that returns a collection of all the users's collections (can also be accessed with `/api/users/me/collection` with authentication). It's similar to `/api/users/:id/catalog` but with more metadata since a STAC collection is an enhanced STAC catalog.
  • 2.1.1 protected
    2952b3b6 · Release 2.1.1 ·
    Release 2.1.1
    
    +++ Added
    - On picture upload, some metadata can be passed through HTTP request parameters instead of being read from picture file EXIF tags. Available metadata overrides are: GPS coordinates, capture time and picture type. This allows API clients to handle a wider set of input files (for example GeoPackage, CSV, Shapefile...) without needing to insert all information into picture file.
    - To make API compatible with a broader range of clients, the `GET /api/collections/{collectionId}/items` route has new metadata in its `properties` field (`geovisio:producer`, `geovisio:image`, `geovisio:thumbnail`). These properties are duplicated regarding STAC standard (which puts them directly at _Feature_ level) to allow compatibility with clients which only reads metadata from `properties` field (like uMap or QGIS).
    - A favicon is shown in default API pages.
    - A RSS feed is now offered to list recently uploaded collections, it can be accessed through `GET /api/collections?format=rss` (or with `Accept: application/rss+xml` HTTP request header).
    - Collections list (`/api/collections`) now also supports search with `bbox` and `datetime` parameters, as proposed in [STAC _Collection Search_ extension](https://github.com/stac-api-extensions/collection-search).
    
    +++ Changed
    - The Docker compose file `docker-compose-full.yml` now embeds [GeoVisio Website](https://gitlab.com/geovisio/website), available on `localhost:3000`.
    
    +++ Fixed
    - Database migration `20230720_01_EyQ0e-sequences-summary` was having a failing SQL request, causing invalid computed sequence metadata being present in database.
    - Search parameters `collections` and `ids` for `/api/search` route where not correctly handled when passed through `POST` JSON body.
  • 2.1.0 protected
    278818b4 · Release 2.1.0 ·
    Release 2.1.0
    
    +++ Added
    - A way to customize the picture's license. If none is set, the pictures's license is considered to be proprietary.
    - A new route `PATCH /api/collections/:cid` is offered to change visibility of a sequence
    - A way to call the vector tiles as an authenticated user. It is mainly used to be able to see objects only visible for this user.
    - A `hidden` property in the vector tiles, to mark a sequence or picture as only visible for the owner of this sequence or picture. If the property is not set, the object is visible by all
    - A new route `DELETE /api/collections/:cid` is offered to delete a collection. The deletion is done asynchronously.
    - A new route `DELETE /api/collections/:cid/items/:id` is offered to delete a picture
    - [OpenAPI](https://swagger.io/specification/) conformance tests are now automatically run through `tests/test_api_conformance.sh` script
    - [Support of pagination](https://github.com/radiantearth/stac-api-spec/tree/main/ogcapi-features#item-pagination) for `GET /api/collections/:cid/items` API route (`first, last, prev, next` relation types)
      * also support a `?withPicture=:picture_id` query paramater to ask for a page with a specific picture in it
    - Add a `flask sequences reorder` subcommand to reorder all or some sequences using the picture's datetime.
    - [Support of pagination](https://github.com/radiantearth/stac-api-spec/blob/master/ogcapi-features/README.md#collection-pagination) for `GET /api/collections` API route (`first, last, prev, next` relation types), with a default limit to 100 sequences retrieved per call
    - Add 2 optional parameters to the `GET /api/collections` api: `created_after`/`created_before` used to filter the collection by their creation date.
    
    +++ Changed
    - Docker compose files now use `latest` API image instead of `develop`
    - In default pages (`/` and `/viewer.html`), web viewer version is now synced to current API version instead of develop
    - Algorithm used for generating smaller versions of pictures changed from _NEAREST_ to _HAMMING_ for better results
    - API documentation and specifications moved to `/api/docs/swagger` and `/api/docs/specs.json`, and with improved readability of their content
    - Now heading are recomputed if set to 0 because some camera use this value by default
    - Hidden pictures will now always be served through the API to be able to check permissions.
    
    +++ Fixed
    - Raw picture bytes are sent to blurring API instead of Pillow-based version, avoiding various issues (too large files, missing EXIF)
    - Docker-compose files are now compatible with MacOS (replaced `network_mode: host` to use a more classic approach)
    - Some CORS HTTP headers were missing in API responses to allow client send credentials
  • 2.0.2 protected
    c617418e · Release 2.0.2 ·
    Release 2.0.2
  • 2.0.1 protected
    0f0dff47 · Release 2.0.1 ·
    Release 2.0.1
  • 2.0.0 protected
    a44a83b5 · Release 2.0.0 ·
    Release 2.0.0
  • 1.5.0 protected
    008a255d · Release 1.5.0 ·
    Release 1.5.0
  • 1.4.1 protected
    12bf7a7d · Release 1.4.1 ·
    Release 1.4.1
  • 1.4.0 protected
    5c5350b1 · Release 1.4.0 ·
    Release: 1.4.0
    Release 1.4.0
  • 1.3.1 protected
    514c2341 · Release 1.3.1 ·
    Release 1.3.1
  • 1.3.0 protected
    771759b3 · Release 1.3.0 ·
    Release 1.3.0
  • 1.2.0 protected
    b805d0c1 · Release 1.2.0 ·
    Release 1.2.0
  • 1.1.0 protected
    Release 1.1.0
  • 1.0.0 protected
    cb492592 · Add NPM deployment in CI ·
    Release 1.0.0