Release Notes

This is the list of Slicer Package Manager changes between each release. For full details, see the commit logs at https://github.com/girder/slicer_package_manager

Next Release

Internal

  • Require Python >= 3.7 for both python client and server.

  • Update development status to Production/Stable.

  • Vendorize bson.objectid from PyMongo to support installing the client alongside the server and workaround incompatibilities between standalone bson package and the one provided by PyMongo.

Python Client

  • Support publishing python client sdist and wheel named slicer-package-manager-client.

0.6.0

New Features

  • Support listing extension with a query parameter specifying the text expected to be found in the extension name or description.

Bug fixes

Server

  • Fix creation of extension in private application.

  • Ensure user or administrator errors associated with API endpoints are displayed and associated with HTTP error code 400 by raising a RestException instead of a generic Exception.

  • Update API endpoint GET /app/{app_id}/extension to always check user credentials.

0.5.0

New Features

  • Require version information to be specified when uploading application packages. See #97.

  • Add application package build_date metadata. User may specify a custom value formatted as a datetime string using the API endpoint or the python client. Default is set to current date and time.

Server

Bug fixes

  • Remove partially implemented codebase metadata.

  • Remove support for unused packagetype metadata.

Tests

  • ExternalData:

    • Fix re-download of files if checksum does not match.

    • Re-factor fixture introducing downloadExternals.

0.4.0

New Features

  • Support querying application packages given a release name. See #96.

Bug fixes

Server

  • Ensure permissions are consistently checked in API endpoints implementation. See #95.

  • Fix support for unauthenticated use of public API endpoints. See #95.

0.3.0

Bug fixes

Server

  • Update implementation of GET /app/:app_id/package endpoint to properly handle limit=0 parameter. See #94.

Documentation

0.2.0

Bug fixes

Server

  • Update access level of API endpoints. See #89.

    • Creating or updating packages now always require credentials.

    • Retrieving list of applications, releases and packages are now public. Note that credentials are still required to retrieve data associated with private applications.

Python Client

  • Fix handling of --public, --all and --pre_release flags. See #85.

  • Update draft list command to support --limit argument. See #82.

Documentation

Tests

  • Simplify and refactor python client tests to facilitate maintenance. See #83 and #88.

0.1.0

New Features

  • Transition server plugin from Girder 2.x to Girder 3.x. See #88.

Initial version

Developed by @Pierre-Assemat during his internship at Kitware in 2018.

Features

  • Girder plugin implementing REST API endpoints.

  • CLI slicer_package_manager_client

  • Python client class SlicerPackageClient.

Documentation

Tests

  • Continuous integration (CI) configured to run on CircleCI.

  • Girder plugin tests.

  • CLI and Python client tests leveraging pytest-vcr.

Provisioning

  • Dockerfile and docker-compose files for provisioning a demo server.