The release adds support for JupyterHub 4.
- Register native as an jupyterhub authenticator class #247 (@consideRatio)
- Add test as optional dependency, refactor fixtures to conftest.py, fix code coverage setup #245 (@consideRatio)
- pre-commit: add autoflake, use isort over reorder-python-imports #244 (@consideRatio)
- maint: transition to pypi trusted workflow release, put tbump conf in pyproject.toml #243 (@consideRatio)
- Add xsrf token to the login, signup, and password changing pages #239 (@agostof)
- Use XSRF tokens for cross-site protections #236 (@djangoliv)
- dependabot: rename to .yaml #235 (@consideRatio)
- dependabot: monthly updates of github actions #233 (@consideRatio)
(GitHub contributors page for this release)
@agostof | @consideRatio | @djangoliv | @minrk
- Ask for new passwords twice, ask for current password on change #180 (@lambdaTotoro)
- Add slash restriction to username validation #197 (@marc-marcos)
- Correct login procedure for admins #195 (@lambdaTotoro)
- Enforce password criteria on password change #169 (@lambdaTotoro)
- Systematic refresh of templates #162 (@consideRatio)
- document and refactor the handlers #183 (@lambdaTotoro)
- chore: use async instead of gen.coroutine #178 (@consideRatio)
- pre-commit: apply black formatting #174 (@consideRatio)
- Smaller tweaks from pre-commit autoformatting hooks #173 (@consideRatio)
- Support JupyterHub 2's fine grained RBAC permissions, and test against Py3.10 and JH2 #160 (@consideRatio)
- update documentation screenshots #194 (@lambdaTotoro)
- docs: fix c.JupyterHub.template_paths #192 (@yapatta)
- docs: c.NativeAuthenticator instead of c.Authenticator #188 (@consideRatio)
- docs: update from rST to MyST and to common theme #187 (@consideRatio)
- document and refactor the handlers #183 (@lambdaTotoro)
- docs: add inline documentation to orm.py #179 (@consideRatio)
- Update CONTRIBUTING.md #161 (@consideRatio)
- ci: add RELEASE.md and tbump.toml #217 (@consideRatio)
- ci: add tests against jupyterhub 3 and python 3.11 #216 (@consideRatio)
- ci: add dependabot bumping of github actions #215 (@consideRatio)
- ci: rely on pre-commit.ci & run tests only if needed #175 (@consideRatio)
(GitHub contributors page for this release)
@consideRatio | @harshu1470 | @lambdaTotoro | @leportella | @manics | @marc-marcos | @yapatta
This releases resolves an incorrect Python module structure that lead to a failing import when installing from a built wheel.
This release includes a bugfix related to an import statement.
This release includes a bugfix of an import statement.
This release includes documentation updates and an attempted bugfix of an import statement.
A small release hiccup resolved.
As tracked by #149 and especially since the incorporation of multiple substantial and new features, we are now happy to call this version 1.0.0.
Here are the main contributions in this release:
- Unauthorized users now get a better error message on failed login (#119)
- GitHub Page About Section now links to Docs (#143)
- Improved documentation
- feat: keep position in authorization area by @djangoliv in jupyterhub#141
- Feature/page template by @raethlein in jupyterhub#79
A very warm and special thanks goes out to @consideRatio who helped tremendously in keeping the project up to date:
- Update changelog from 0.0.1-0.0.7: jupyterhub#137
- Add various README badges: jupyterhub#135
- ci: transition from circleci to github workflows: jupyterhub#134
- ci: add publish to pypi workflow: jupyterhub#136
Special shoutout also goes to @davidedelvento who contributed a lot of work in these PRs:
- Terms of Service: jupyterhub#148
- Recaptcha: jupyterhub#146
- Allow some users (but not all) to not need admin approval: jupyterhub#145
Full Changelog: https://github.com/jupyterhub/nativeauthenticator/compare/0.0.7...1.0.0
- fix: we now need to await render_template method #129 (@djangoliv)
- Bump notebook from 5.7.8 to 6.1.5 #125 (@dependabot)
@dependabot | @djangoliv | @lambdaTotoro
- Discard from authorize #121 (@lambdaTotoro)
- Allowed users #120 (@lambdaTotoro)
- Ensure that jinja loader is not registered at each render #115 (@fbessou)
- Allow admin to change any password #112 (@djangoliv)
- Bump notebook from 5.7.2 to 5.7.8 #111 (@dependabot)
- Signup error #109 (@lambdaTotoro)
- fix broken test #107 (@leportella)
- fix flake8 errors #106 (@leportella)
- Add option for disable user to signup #103 (@mayswind)
- Error on signup with taken username #102 (@lambdaTotoro)
- add changelog #101 (@leportella)
- fix orm for support mysql #57 (@00Kai0)
@00Kai0 | @dependabot | @djangoliv | @fbessou | @lambdaTotoro | @leportella | @mayswind | @minrk | @shreeishitagupta
- Revert "fix timedelta.seconds misuse" #100 (@leportella)
- upgrade version to launch at pypi #99 (@leportella)
- Add announcement_login handling to login template #97 (@JohnPaton)
- add contributing file #89 (@leportella)
- Add normalization to username #87 (@leportella)
- Authenticator should accept passwords that are exactly the minimum length #86 (@lambdaTotoro)
- Add missing base_url prefix to links for correct routing #83 (@raethlein)
- fix timedelta.seconds misuse #82 (@meownoid)
- fix typos and improve performance #81 (@meownoid)
- Add check for None before trying to delete a user. #80 (@raethlein)
- Fix failed to change password due to compatibility issues with JupyterHub 1.0.0 #78 (@hiroki-sawano)
- postgres says
opt_secret
is too long forvarying(10)
#76 (@databasedav) - Add 2 factor authentication as optional feature #70 (@leportella)
- Add stylized login page #69 (@leportella)
- Add importation of db from FirstUse Auth #67 (@leportella)
- Change setup to version 0.0.4 #65 (@leportella)
@chicocvenancio | @choldgraf | @consideRatio | @databasedav | @harshu1470 | @hiroki-sawano | @JohnPaton | @lambdaTotoro | @leportella | @meownoid | @paulbaracch | @raethlein | @xrdy511623 | @yuvipanda
- Change image of block attemps workflow #64 (@leportella)
- add MANIFEST.in to ensure files get packaged #63 (@minrk)
- Remove duplication creation of user #62 (@leportella)
- Change package_data to include_package_data #60 (@leportella)
- fix raise error when email is none #56 (@00Kai0)
- fix password is not bytes in mysql #55 (@00Kai0)
@00Kai0 | @leportella | @minrk | @yuvipanda
- Change package_data to include_package_data #60 (@leportella)
- Increase Native Auth version to 0.0.2 #59 (@leportella)
- Change package_data to include_package_data #60 (@leportella)
- Increase Native Auth version to 0.0.2 #59 (@leportella)
(GitHub contributors page for this release)
- Change button from Deauthorize to Unauthorize #58 (@leportella)
- Add description to README and setup.py #54 (@leportella)
- Fix data packaging on setup.py #53 (@leportella)
- Improving docs with images #50 (@leportella)
- Delete user info from admin panel #49 (@leportella)
- Add all info from signup post to get_or_create_user #48 (@leportella)
- Fix installation errors #46 (@leportella)
- Username sanitization #43 (@leportella)
- Remove message decision from Signup post method #42 (@leportella)
- Add email as an option to be asked on sign up #41 (@leportella)
- Add endpoint for changing password #40 (@leportella)
- Add option for open signup and add style to result msgs #38 (@leportella)
- Add option to see password on signup #37 (@leportella)
- Add check if user exceeded attempt of logins #36 (@leportella)
- Improve docs #35 (@leportella)
- Add missing template from authorization page #32 (@leportella)
- Add password strength option #31 (@leportella)
- Add admin authorization system to new users #29 (@leportella)
- Add relationship between User and UserInfo #27 (@leportella)
- Add authentication based on userinfo #25 (@leportella)
- Add user info table #24 (@leportella)
- Add new user #16 (@leportella)
- Fix Circle Ci badge #15 (@leportella)
- Add signup post form #14 (@leportella)
- Add badges to README #13 (@leportella)
- Add codecov to circle ci and requirements #12 (@leportella)
- Add signup area #11 (@leportella)
- Add docs link on README #10 (@leportella)
- Add docs with sphinx #9 (@leportella)
- Add circleci for flake8 #7 (@leportella)
- Add minimal tests #5 (@leportella)
- Add first structure to NativeAuthenticator #4 (@leportella)