Changelog#
2.0.0 2024-08-22#
API and Breaking Changes#
Require python 3.8+ #232 (@consideRatio, @minrk)
New features added#
add redis implementation #230 (@minrk, @consideRatio, @GeorgianaElena, @manics)
Add arm64 support to install script #220 (@cmd-ntrf, @minrk)
Enhancements made#
[redis] add default retry config #244 (@minrk, @consideRatio)
Bugs fixed#
Maintenance and upkeep improvements#
Update default traefik to install to 2.10.7 #233 (@consideRatio, @minrk)
Test python 3.12, redis 7, traefik 3 - and misc updates to align with jupyterhub-python-repo-template #231 (@consideRatio, @GeorgianaElena, @minrk)
temporary pin for pytest-asyncio #227 (@minrk, @consideRatio)
Documentation improvements#
Note keyspace notifications, persistence requirement for redis #246 (@minrk, @consideRatio)
Express yaml optional dependency #245 (@minrk, @consideRatio)
README: Emphasize Redis over Etcd and Consul #243 (@manics, @minrk)
Continuous integration improvements#
ci: test with traefik v3.0.0 #240 (@consideRatio)
ci: test with traefik v2.11.2 and v3.0.0-rc5 #239 (@consideRatio)
Bump codecov/codecov-action from 3 to 4 #234 (@consideRatio)
Bump actions/setup-python from 4 to 5 #225 (@consideRatio)
Bump actions/checkout from 3 to 4 #221 (@consideRatio)
Bump pypa/gh-action-pypi-publish from 1.8.6 to release/v1 (edited) #214 (@consideRatio)
Contributors to this release#
The following people contributed discussions, new ideas, code and documentation contributions, and review. See our definition of contributors.
(GitHub contributors page for this release)
@cmd-ntrf | @consideRatio | @dependabot | @manics | @minrk | @pre-commit-ci | @rcthomas | @welcome
1.1.0 - 2023-06-06#
New features added#
add TraefikProxy.enable_setup_dynamic_config for opt-out of dynamic config setup #210 (@minrk, @alexleach)
Contributors to this release#
The following people contributed discussions, new ideas, code and documentation contributions, and review. See our definition of contributors.
(GitHub contributors page for this release)
@alexleach (activity) | @consideRatio (activity) | @minrk (activity)
1.0.1 - 2023-05-25#
1.0.1 fixes some packing issues in the 1.0 release. No changes to actual behavior.
Maintenance and upkeep improvements#
Contributors to this release#
The following people contributed discussions, new ideas, code and documentation contributions, and review. See our definition of contributors.
1.0.0 - 2023-05-16#
1.0.0 is a big release for jupyterhub-traefik-proxy! It updates support for traefik to version 2.x (current default: 2.10.1). Traefik versions < 2.0 are no longer supported. If you have custom traefik configuration, make sure to checkout traefik’s v1 to v2 migration guide, since your configuration may need updating.
A major consequence of the v2 updates is that the performance of adding and removing routes when there are a large number already defined is now greatly improved, and no longer grows significantly with the number of routes.
Major changes:
Traefik v2 is required. Traefik v1 is not supported.
TraefikTomlProxy
is deprecated in favor ofTraefikFileProviderProxy
, which supports both toml and yaml. Replacetraefik_toml
withtraefik_file
in your configuration.python3 -m jupyterhub_traefik_proxy.install
will now only install traefik, not any key-value-store providers. You can follow your KV store’s own installation instructions.python3 -m jupyterhub_traefik_proxy.install --traefik-version x.y.z
now supports fetching any published traefik version on any architecture, instead of a few preset versions.
Performance and responsiveness is also greatly improved.
API and Breaking Changes#
remove kv stores from install.py #156 (@minrk, @GeorgianaElena, @consideRatio)
Traefik v2 support #145 (@GeorgianaElena, @minrk, @alexleach)
New features added#
Traefik v2 support #145 (@GeorgianaElena, @minrk, @alexleach)
Enhancements made#
update default bootstrapped traefik to 2.10.1 #206 (@minrk, @consideRatio)
simplify ssl, passthrough configuration #199 (@minrk, @GeorgianaElena)
reduce requirements of KV store implementations and custom methods #185 (@minrk, @GeorgianaElena)
Improve performance, scaling #165 (@minrk, @GeorgianaElena)
Improve error message on traefik api access error #140 (@twalcari, @minrk)
Bugs fixed#
make sure that
/prefix
and/prefix/
are handled the same #197 (@minrk, @GeorgianaElena, @manics)Fix handling of empty dicts in traefik config #173 (@minrk, @GeorgianaElena)
Maintenance and upkeep improvements#
dependabot: monthly updates of github actions #201 (@consideRatio)
trade versioneer for tbump #193 (@minrk, @consideRatio)
make api endpoint configurable, restore previous entrypoint names #192 (@minrk, @GeorgianaElena)
set providersThrottleDuration=0s in tests #190 (@minrk, @consideRatio)
Make traefik_entrypoint name explicit #184 (@minrk, @GeorgianaElena)
test: fix consul auth port #183 (@minrk, @consideRatio, @GeorgianaElena)
deprecate consul due to unhealthy API clients #182 (@minrk, @consideRatio)
add dependabot config for github actions #178 (@minrk, @GeorgianaElena)
reuse backends across tests #174 (@minrk, @GeorgianaElena)
simplify some test fixtures #169 (@minrk, @GeorgianaElena)
avoid deprecation warning in
--slow-last
sorting #168 (@minrk)Minor cleanup of start/stop methods and logging #166 (@minrk, @GeorgianaElena)
Respect ip address config in urls, don’t serve dashboard by default #162 (@minrk, @GeorgianaElena, @consideRatio)
minor logging tweaks #161 (@minrk, @consideRatio)
Use checksums from traefik releases #160 (@minrk, @GeorgianaElena)
Add pre-commit config and configure autoformating tools and pytest from pyproject.toml #157 (@GeorgianaElena, @minrk, @consideRatio)
Deprecations for v2 upgrades #154 (@minrk, @GeorgianaElena, @alexleach, @consideRatio)
switch etcd3 client for Python 3.11 support #153 (@minrk, @consideRatio)
Support External Traefik Certificate Resolver and update grpc #152 (@alexleach, @minrk)
improve test time #150 (@minrk, @GeorgianaElena)
Get the repo back running #144 (@minrk, @GeorgianaElena, @consideRatio)
prepare to rename default branch to main #143 (@minrk, @GeorgianaElena)
Documentation improvements#
add document on enabling https #204 (@minrk, @consideRatio)
doc: update sample configuration for v2 #189 (@minrk, @GeorgianaElena)
Fix CI README badges #177 (@manics, @consideRatio)
changelog for 1.0 #176 (@minrk, @GeorgianaElena, @manics)
Update performance benchmarks for v2 #163 (@minrk, @GeorgianaElena, @manics)
Revert some entrypoint names in docs, renumber how to install steps #196 (@rcthomas, @GeorgianaElena)
Contributors to this release#
The following people contributed discussions, new ideas, code and documentation contributions, and review. See our definition of contributors.
(GitHub contributors page for this release)
@alexleach (activity) | @consideRatio (activity) | @dependabot (activity) | @devnull-mr (activity) | @dolfinus (activity) | @GeorgianaElena (activity) | @manics (activity) | @maulikjs (activity) | @minrk (activity) | @pre-commit-ci (activity) | @rcthomas (activity) | @twalcari (activity)
0.3.0 2021-10-18#
Enhancements made#
Support ARM in binary package installs #129 (@yuvipanda)
Bugs fixed#
Fix handling default server routes in TraefikTomlProxy #131 (@dolfinus)
Make etcd3 & python-consul2 soft dependencies #127 (@yuvipanda)
Continuous integration#
ci: don’t run tests if docs change #139 (@consideRatio)
ci/docs: install autodocs-traits as a PyPI package & pin sphinx #138 (@consideRatio)
Contributors to this release#
(GitHub contributors page for this release)
@alexleach | @consideRatio | @dolfinus | @GeorgianaElena | @yuvipanda
0.2.0 2021-02-24#
Bugs fixed#
Maintenance and upkeep improvements#
Switch to pydata-sphinx-theme and myst-parser #122 (@GeorgianaElena)
Try unpinning deps and use a more up to date python consul client #115 (@GeorgianaElena)
Other merged PRs#
Remove CircleCI docs build since now we’re using the RTD CI #121 (@GeorgianaElena)
Update readthedocs config options and version #119 (@GeorgianaElena)
pip-compile is actually just pip in dependabots config file #117 (@GeorgianaElena)
Freeze requirements and setup dependabot #116 (@GeorgianaElena)
ci: make pushing tags trigger release workflow properly #114 (@consideRatio)
Travis -> GitHub workflows #113 (@GeorgianaElena)
Contributors to this release#
(GitHub contributors page for this release)
@consideRatio | @GeorgianaElena | @manics | @minrk | @mofanke
0.1.6 2020-05-16#
Merged PRs#
Fix circular reference error #107 (@GeorgianaElena)
fix TypeError: ‘NoneType’ object is not iterable, in delete_route when route doesn’t exist #104 (@mofanke)
New Proxy config option traefik_api_validate_cert #98 (@devnull-mr)
Contributors to this release#
0.1.5 2020-03-31#
Merged PRs#
Fix named servers routing #96 (@GeorgianaElena)
Show a message when no binary is provided to the installer #95 (@GeorgianaElena)
Travis deploy tags to PyPI #89 (@GeorgianaElena)
Update README #87 (@consideRatio)
Handle ssl #84 (@GeorgianaElena)
CONTRIBUTING: use long option in “pip install -e” #82 (@muxator)
Change traefik default version #81 (@GeorgianaElena)
Add info about TraefikConsulProxy in readme #80 (@GeorgianaElena)
Contributors to this release#
(GitHub contributors page for this release)
@consideRatio | @devnull-mr | @GeorgianaElena | @jtpio | @manics | @muxator | @yuvipanda
0.1.4 2019-09-20#
Merged PRs#
Add info about TraefikConsulProxy in readme #80 (@GeorgianaElena)
Stop assuming kv_traefik_prefix ends with a slash #79 (@GeorgianaElena)
Log info about what dynamic config file it’s used by the Hub #77 (@GeorgianaElena)
Install script #76 (@GeorgianaElena)
Set defaults for traefik api username and password #75 (@GeorgianaElena)
Allow etcd and consul client ssl settings #70 (@GeorgianaElena)
Fix format in install script warnings #69 (@GeorgianaElena)
Create test coverage report #65 (@GeorgianaElena)
Explicitly close consul client session #64 (@GeorgianaElena)
Throughput results updated #62 (@GeorgianaElena)
Make trefik’s log level configurable #61 (@GeorgianaElena)
TraefikConsulProxy #57 (@GeorgianaElena)
WIP Common proxy profiling suite #54 (@GeorgianaElena)
Contributors to this release#
0.1.3 2019-02-26#
Load initial routing table from disk in TraefikTomlProxy when resuming from a previous session.
Merged PRs#
Try to load routes from file if cache is empty #52 (@GeorgianaElena)
Contributors to this release#
0.1.2 2019-02-22#
Fix possible race in atomic_writing with TraefikTomlProxy
0.1.1 2019-02-22#
make proxytest reusable with any Proxy implementation
improve documentation
improve logging and error handling
make check_route_timeout configurable
Merged PRs#
Update documentation and readme #47 (@GeorgianaElena)
Define only the proxy fixture in test_proxy #46 (@GeorgianaElena)
add mocks so that test_check_routes needs only proxy fixture #44 (@minrk)
Etcd with credentials #43 (@GeorgianaElena)
Contributors to this release#
0.1.0#
First release!