- Fix build with hatchling backend #185 (@martinclaus, @consideRatio)
- docs: Confine type of client_id to list[str] or set[str] #189 (@martinclaus, @consideRatio)
- docs: fix uri_scheme default value #168 (@martinclaus)
- ci: pin robust github action to major version only #187 (@consideRatio)
- ci: test against python 3.12 #186 (@consideRatio)
1.6.1 Adds missing changelogs for release 1.6.0.
1.6.0 adds the ability to specify multiple client IDs for a single issuer and to manually specify the http scheme when building URLs, which may be necessary for some deployments where autodetection of the scheme based on the request header produces wrong results.
- feat: Allow to manually specify URL scheme #166 (@martinclaus)
- feat(lti13): Allow multiple LTI 1.3 client ids #152 (@martinclaus)
- fix(lti13): Fix protocol for redirect_uri if behind a reverse proxy with TLS termination #165 (@jeflem)
- maint: Ditch dependency to OAuthenticator #164 (@martinclaus)
- docs: fix details in changelog - missing date, heading level, links #161 (@consideRatio)
(GitHub contributors page for this release)
@consideRatio | @jeflem | @martinclaus | @minrk
1.5.1 adds compatibility with XSRF changes in JupyterHub 4.
- fix: compatibility with XSRF check introduced in Jupyterhub 4.0.0 #158 (@regisb, @minrk, @martinclaus)
- docs(lti11): Fix typo in reference #159 (@sean-morris, @martinclaus)
- docs: Document danger of user name collisions #156 (@martinclaus)
The following people contributed discussions, new ideas, code and documentation contributions, and review. See our definition of contributors.
(GitHub contributors page for this release)
@consideRatio (activity) | @martinclaus (activity) | @minrk (activity) | @regisb (activity) | @sean-morris (activity)
This release introduces support of LTI 1.3 and moves large parts of the usage information to ltiauthenticator.readthedocs.io.
- feat(lti13): Reintroduce lti13 support #134 (@martinclaus)
- feat(lti13): Allow username key from custom claim #142 (@martinclaus)
- fix(lti11) Make oauth_callback parameter optional #139 (@martinclaus)
- docs: Move usage documentation to readthedocs #144 (@martinclaus)
- docs(lti13): Rewrite lti13 documentation #143 (@martinclaus)
- docs(lti11): Use consistent module path for LTI11Authenticator #112 (@BenGig)
(GitHub contributors page for this release)
@BenGig | @consideRatio | @dennis531 | @martinclaus | @minrk
The main purpose of this release is to remove the non-functional LTI13OAuthenticator
class introduced in 1.3.0 while its being worked on towards a functional state.
Any merged PRs related to LTI 1.3 which were later removed are still kept in this changelog to give credit to the contributors.
- feat(lti13): Make tool name & description configurable #103 (@yuvipanda)
- fix(lti13): Completely remove non-functional LTI1.3 implementation #128 (@martinclaus)
- fix(lti13): Fix login request validation #126 (@martinclaus)
- fix(lti13): Relax resource link launch request message requirements #125 (@martinclaus)
- fix(lti13): Add missing oauth handler #124 (@martinclaus)
- maint(lti11): Silence OAuthlib deprication warnings #129 (@martinclaus)
- maint: drop py36 and py37, test py311, use tbump, refactor away setup.py, and misc #116 (@consideRatio)
- chore(lti13): Make LTI1.3 tool name be a bit more generic #102 (@yuvipanda)
- maint: configure pytest asyncio_mode = auto #99 (@consideRatio)
- breaking, maint(lti13): switch to using pyjwt v2 #91 (@consideRatio)
- refactor: use f-strings instead of %s #90 (@consideRatio)
- chore(pre-commit): replace reorder-python-imports with isort #89 (@consideRatio)
- docs: Fix read-the-docs build with pydata-sphinx-theme==0.13.0 #132 (@martinclaus)
- docs: Fix documentation for LTI1.1 #104 (@martinclaus)
- docs: update config to use fresh ubuntu:20.04 as base #88 (@consideRatio)
- docs: fix multiple typos in README #82 (@regisb)
- docs: Linkify and fix typo in URL (lit -> lti) #81 (@krassowski)
- docs: Update helm chart examples #78 (@jgwerner)
- ci: remove deps managed by pre-commit #100 (@consideRatio)
- ci: avoid running workflows twice and test against py310 #98 (@consideRatio)
- ci: add dependabot.yml to keep gha updated #93 (@consideRatio)
(GitHub contributors page for this release)
@consideRatio | @isaacpod | @jgwerner | @krassowski | @martinclaus | @minrk | @ptcane | @regisb | @yuvipanda
(GitHub contributors page for this release)
@consideRatio | @jgwerner | @yuvipanda
(GitHub contributors page for this release)
@consideRatio | @jgwerner | @yuvipanda
- Remove exception when default custom_canvas_user_id argument is not included in LTI 1.1 launch request #51 (@jgwerner)
- Fix oauthlib dependency #37 (@brospars)
- Fix release instructions by reverting to use bump2version #66 (@consideRatio)
- Add pyupgrade and prettier to pre-commit, and apply it #63 (@consideRatio)
- Use pre-commit.ci to run pre-commit tests #62 (@consideRatio)
- docs: initialize read-the-docs based documentation #61 (@consideRatio)
- Update release documentation and dependency #59 (@jgwerner)
- Rename master to main #58 (@consideRatio)
- Update tests workflow #56 (@jgwerner)
- Refactor LTI 1.1 validator #44 (@jgwerner)
- Add common utility functions for LTI 1.1 and LTI 1.3 #43 (@jgwerner)
- Refactor LTI11 source #41 (@jgwerner)
- Add pre-commit and formatting tools #40 (@jgwerner)
- Add example LTI 1.1 configuration and readme #54 (@jgwerner)
- README: updated k8s example #52 (@BenGig)
(GitHub contributors page for this release)
@BenGig | @brospars | @consideRatio | @jgwerner | @yuvipanda
BREAKING CHANGE: Log out current user when a new user logs in, reducing confusion about which 'user' is logged in. Multiple 'LTI' users can exist for the same 'human' user - often per-course. This makes sure the 'correct' LTI user is logged in whenever a launch request is clicked, instead of deferring to a previous launch request's LTI user. #31 (@U4I-fedir-kryvytskyi)
- Log out old user when new user logs in #31 (@U4I-fedir-kryvytskyi)
- GitHub actions + drop py35 #33 (@consideRatio)
(GitHub contributors page for this release)
@consideRatio | @ptcane | @U4I-fedir-kryvytskyi | @welcome | @yuvipanda
- Fix bug about "has no attribute request" if x-forwarded-proto wasn't part of the web request header #25 (@consideRatio)
- Bump oauthlib dependency from ==2.* to >=3.0 to be compatible with JupyterHub 1.0.0 #24 (@consideRatio)
- Add TravisCI and PyPI badges #27 (@consideRatio)
- CI/CD update #26 (@consideRatio)
- Update Readme with Moodle instructions #20 (@rtcn2)
- Remove python 3.4 support #18 (@yuvipanda)
- Link to Canvas' external app docs. #15 (@ryanlovett)
This is the projects first release on GitHub even though there was some releases to PyPI. A lot of work was put in by pushing directly to the master branch. For a full list of changes only the commit history will do justice.
- Canvas ID Authentication #7 (@samhinshaw)
- Canvas Implementation Instructions #6 (@samhinshaw)
- Add support for forwarded protocol in headers (reverse_proxy) #5 (@brospars)