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)