GitHub repository: libris/xl_auth
Description: Authorization and OAuth2 provider for Libris XL

1.10.0: tag_name: 1.10.0
1.9.0: tag_name: 1.9.0
1.8.3: tag_name: 1.8.3
body: 1.8.3
1.8.2: tag_name: 1.8.2
body: 1.8.2
1.8.1: tag_name: 1.8.1
1.8.0: tag_name: 1.8.0
1.7.1: tag_name: 1.7.1
1.6.0: tag_name: 1.6.0
1.4.0: tag_name: 1.4.0
body: * Clarify copy
1.3.0: tag_name: 1.3.0
body: * Add support for OAuth2 Backend Application Flow
1.2.0: tag_name: 1.2.0
body: * Update ToS page
1.1.0: tag_name: 1.1.0
body: * Add GDPR information
1.0.0: tag_name: 1.0.0
body: * Allow cataloging admins to create and edit cataloging admin permissions
* Save scope authorization in user session
* Allow CORS requests

0.8.0: tag_name: 0.8.0
body: * Add support for OAuth2 implicit flow
0.7.8: tag_name: 0.7.8
body: * Add CLI tool for purging a user from the system (#148)
* Clean up Jenkinsfile
0.7.7: tag_name: 0.7.7
body: * Replace Docker container runtimes with local installs of xl_auth and Postgres (#178)
* Copy improvements / UX (#176, #173)
0.7.6: tag_name: 0.7.6
body: 
* Production hardening (#179, #175, #174)

0.7.5: tag_name: 0.7.5
body: * Security improvements (#154, #155)
* UX enhancements (#114)
* Monitoring of Nginx logs (#157)

0.7.4: tag_name: 0.7.4
body: * UX enhancements (#128, #151)

0.7.3: tag_name: 0.7.3
body: * UX enhancements (#149, #146)

0.7.2: tag_name: 0.7.2
body: * Added support for creating new users directly from register/edit permission views (#140)
* UX enhancements (#142, #133)
* Link to Permissions' overview removed from navbar
* Ignoring/discarding permissions on inactive collections

0.7.1: tag_name: 0.7.1
body: * Revised API endpoints for registering/editing permissions; now allowing cataloging admins to register new and edit existing permissions on their collections (#126)
* UX enhancements (#129, #134, #130)
0.7.0: tag_name: 0.7.0
body: * Preserve permissions created by others than libris@kb.se superuser account
* Revised API endpoint for deleting permissions; now allowing cataloging admins to delete permissions on their collections (#123)

0.6.4: tag_name: 0.6.4
body: 
* Provisioning and stability updates (#121, #122)

0.6.3: tag_name: 0.6.3
body: 
* Added "view collection" link to user profile page
* *Terms of Service* view added, requesting the user to approve ([#112](https://github.com/libris/xl_auth/issues/112))
* Bug fix for loading Voyager permissions on SEK ([#113](https://github.com/libris/xl_auth/issues/113))
* Bug fix for permissions exchange with LibrisXL ([#110](https://github.com/libris/xl_auth/issues/110))

0.6.2: tag_name: 0.6.2
body: * Secret usability improvements for admin interface

0.6.1: tag_name: 0.6.1
body: * Under-the-hood traceability updates (#78)
0.6.0: tag_name: 0.6.0
body: * Added support for resetting forgotten user account passwords (#41)
* When registering new user accounts, opting in for a password reset email is the preferred way of enabling them to login (#102)

0.5.8: tag_name: 0.5.8
body: * Update internal links to reference users by ID instead of email (#25)
* Refactored OAuth2 (internal) paths

0.5.7: tag_name: 0.5.7
body: * Reuse existing OAuth2 tokens on refresh
0.5.6: tag_name: 0.5.6
body: * Fix broken 0.5.5 build
0.5.5: tag_name: 0.5.5
body: * Bug fix for OAuth2 token handling

0.5.4: tag_name: 0.5.4
body: * UI fixes for OAuth2 authorization view
* Bug fix for ``/oauth/token`` API endpoint

0.5.3: tag_name: 0.5.3
body: * Add collection name to ``/oauth/verify`` response
* Fix broken database migration (#68)

0.5.2: tag_name: 0.5.2
body: * Add ``app_version`` property to response from OAuth2 API endpoints
* Bug fixes for OAuth2 data model; fully re-created on ``flask db upgrade`` (#68)
* Updated Voyager/SysAdmin data import (#38)

0.5.1: tag_name: 0.5.1
body: * Update `/oauth/verify` API response format (#68)
* Fix bug where collections would read the wrong active/inactive state from bibdb.libris.kb.se

0.5.0: tag_name: 0.5.0
body: * Introduced buggy and limited OAuth2 provider (#68)
* Updated Voyager/SysAdmin data import (#38)

0.4.6: tag_name: 0.4.6
body: * Minor traceability improvements (#78)
0.4.5: tag_name: 0.4.5
body: * Bug fixes (#75, #76)

0.4.4: tag_name: 0.4.4
body: * Data import updates #44 
* UI adjustments; irrelevant permissions no longer shown to cataloging admins, using term "sigel" instead of "kod"
* Ansible provisioning updated to use Nginx reverse proxy and SSL #39 

0.4.3: tag_name: 0.4.3
body: * Personalized user icons (Gravatar, #70)
* Updated `/about/` page with current version number + links (#71)
* Only list permissions on active collections on `/users/profile/` page

0.4.2: tag_name: 0.4.2
body: * UI improvements (#61)
* Updated data import (#38)

0.4.1: tag_name: 0.4.1
body: * Even stricter restrictions on non-admin users (#48)
* Improved Ansible deployment logic for login.libris.kb.se (#39)
* UI and help text improvements

0.4.0: tag_name: 0.4.0
body: * Added `flask import_data` CLI tool for pulling data from legacy systems (#38, #43)
* Styling and usability improvements (#6, #22)
* Applied restrictions on anonymous users and non-admins (#48)
* Added new type of permission, "being the cataloging admin for a collection" (#40)
* Support for dev deployment on login.libris.kb.se (#39)
0.3.0: tag_name: 0.3.0
body: * Added the concept of users having permissions on zero or more collections (#27)
0.2.2: tag_name: 0.2.2
body: * Bug fix for uniqueness checks on email addresses and collection codes (#30)
0.2.1: tag_name: 0.2.1
body: * Added localization for Swedish and set it as the default BABEL_DEFAULT_LOCALE (#17)
* Added support for editing users (#19)
0.2.0: tag_name: 0.2.0
body: * Replaced project template with https://github.com/sloria/cookiecutter-flask (#2)
* Basic functionality of registering a user by email address and logging in (#9, #10)
* A simple form of "collections" can be added and edited (#10, #11)
* Dockerfile added for testing purposes (running Flask in debug mode with a ephemeral SQLite db) (#5)
* Jenkinsfile (multibranch pipeline) added for testing/linting/building on any code changes (#7, #8, #12, #15)
0.1.0: tag_name: 0.1.0
body: * Establishing initial project requirements, with none of the intended functionality in place (#1)