Changelog#

1.0#

1.0.0 - 2023-08-11#

This release bundles with the latest available software from the JupyterHub ecosystem.

The TLJH project now has tests to verify upgrades of installations between releases and procedures with automation to make releases. Going onwards, TLJH installations of version 0.2.0 and later are meant to be easy to upgrade.

For instructions on how to make an upgrade, see Upgrade TLJH.

Breaking changes#

  • JupyterHub 1.* has been upgraded to >=4.0.2,<5

    • This upgrade requires user servers to be restarted if they were running during the upgrade.

    • Refer to the JupyterHub changelog for details where you pay attention to the entries for JupyterHub version 2.0.0, 3.0.0, and 4.0.0.

  • Several JupyterHub Authenticators has been upgraded a major version, inspect the changelog for the authenticator class your installation makes use of. For links to the changelogs, see the section below.

  • The configured JupyterHub Proxy class traefik-proxy and the traefik server controlled by JupyterHub via the proxy class has been upgraded to a new major version, but no breaking change are expected to be noticed for users of this distribution.

  • The configured JupyterHub Spawner class jupyterhub-systemdspawner has been upgraded to a new major version, but no breaking change are expected to be noticed for users of this distribution.

  • User servers now launch into /lab by default, to revert this a JupyterHub admin user can do sudo tljh-config set user_environment.default_app classic or set the JupyterHub config c.Spawner.default_url directly.

Notable dependencies updated#

A TLJH installation provides a Python environment where the software for JupyterHub itself runs - the hub environment, and a Python environment where the software of users runs - the user environment.

If you are installing TLJH for the first time, the user environment will be setup initially with Python 3.10 and some other packages described in tljh/requirements-user-env-extras.txt.

If you are upgrading to this version of TLJH, the bare minimum is changed in the user environment. The hub environment’s dependencies are on the other hand always upgraded to the latest version within the specified version range defined in tljh/requirements-hub-env.txt and seen below.

The changes in the respective environments between TLJH version 0.2.0 and 1.0.0 are summarized below.

Dependency changes in the hub environment

Version in 0.2.0

Version in 1.0.0

Changelog link

Note

jupyterhub

1.*

>=4.0.2,<5

Changelog

Running in the jupyterhub systemd service

traefik

1.7.33

2.10.1

Changelog

Running in the traefik systemd service

traefik-proxy

0.3.*

>=1.1.0,<2

Changelog

Run by jupyterhub, controls traefik

systemdspawner

0.16.*

>=1.0.1,<2

Changelog

Run by jupyterhub, controls user servers via systemd

jupyterhub-idle-culler

1.*

>=1.2.1,<2

Changelog

Run by jupyterhub, stops inactivate servers etc.

firstuseauthenticator

1.*

>=1.0.0,<2

Changelog

An optional way to authenticate users

tmpauthenticator

0.6.*

>=1.0.0,<2

Changelog

An optional way to authenticate users

nativeauthenticator

1.*

>=1.2.0,<2

Changelog

An optional way to authenticate users

oauthenticator

14.*

>=16.0.4,<17

Changelog

An optional way to authenticate users

ldapauthenticator

1.*

>=1.3.2,<2

Changelog

An optional way to authenticate users

pip

21.3.*

>=23.1.2

Changelog

-

Dependency changes in the user environment

Version in 0.2.0

Version in 1.0.0

Changelog link

Note

jupyterhub

1.*

>=4.0.2,<5

Changelog

Always upgraded.

pip

*

>=23.1.2

Changelog

Only upgraded if needed.

conda

0.16.0

>=0.16.0

Changelog

Only upgraded if needed.

mamba

4.10.3

>=4.10.0

Changelog

Only upgraded if needed.

New features added#

Enhancements made#

Maintenance and upkeep improvements#

Documentation improvements#

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)

@adonm (activity) | @audiodude (activity) | @choldgraf (activity) | @consideRatio (activity) | @eingemaischt (activity) | @GeorgianaElena (activity) | @Hannnsen (activity) | @jawiv (activity) | @jochym (activity) | @jrdnbradford (activity) | @jtpio (activity) | @kevmk04 (activity) | @manics (activity) | @minrk (activity) | @MridulS (activity) | @nsurleraux-railnova (activity) | @raybellwaves (activity) | @Rom1deTroyes (activity) | @wjcapehart (activity) | @yuvipanda (activity)

0.2.0#

0.2.0 - 2023-02-27#

(full changelog)

Merged PRs#

Contributors to this release#

(GitHub contributors page for this release)

@1kastner | @6palace | @AashitaK | @aboutaaron | @Adrianhein | @afonit | @ajhenley | @altmas5 | @alvinhuff | @Amran2k16 | @anyushevai | @aolney | @astrojuanlu | @benbovy | @betatim | @bjornarfjelldal | @budgester | @CagtayFabry | @Carreau | @cdibble | @cgawron | @cgodkin | @choldgraf | @codecov | @consideRatio | @cornhundred | @ctb | @CyborgDroid | @danlester | @DataCascadia | @davide84 | @davidedelvento | @deeplook | @dependabot | @dongmok | @dschofield | @efedorov-dart | @EvilMav | @ewidl | @fermasia | @filippo82 | @fm75 | @fomightez | @fperez | @Fregf | @frier-sam | @gabefair | @gantheaume | @gedankenstuecke | @geoffbacon | @GeorgianaElena | @gillybops | @greg-dusek | @gsemet | @Guillaume-Garrigos | @gutow | @gvdr | @gyg-github | @Hannnsen | @henfee | @hoenie-ams | @huhuhang | @iampatterson | @ian-r-rose | @ibayer | @ikhoury | @JavierHernandezMontes | @jayvdb | @jdelamare | @jdkruzr | @jeanmarcalkazzi | @jerpson | @jhadjar | @jihobak | @jkfm | @JobinJohan | @josiahls | @jprorama | @jtpio | @JuanCab | @junctionapps | @jzf2101 | @kafonek | @kannes | @kevmk04 | @lachlancampbell | @lambdaTotoro | @laxdog | @lee-hodg | @leouieda | @leportella | @letianw91 | @Louren | @LTangaF | @lumbric | @luong-komorebi | @mangecoeur | @manics | @MartijnZ | @mauro3 | @MayeulC | @mbenguig | @mdpiper | @meeseeksmachine | @mgd722 | @mhwasil | @minrk | @mpkirby | @mpound | @MridulS | @mskblackbelt | @mtav | @mukhendra | @namin | @nguyenvulong | @norcalbiostat | @oisinBates | @olivierverdier | @owah | @parente | @parmentelat | @paulnakroshis | @pbugnion | @pnasrat | @psychemedia | @ptcane | @pulponair | @raybellwaves | @rdmolony | @rgbkrk | @richardbrinkman | @RobinTTY | @robnagler | @rprimet | @rraghav13 | @scottkleinman | @sethwoodworth | @shireenrao | @silhouetted | @staeiou | @stephen-a2z | @story645 | @subgero | @sukhjitsehra | @support | @t3chbg | @tkang007 | @TobiGiese | @toccalenuvole73 | @tomliptrot | @trallard | @twrobinson | @VincePlantItAi | @vsisl | @waltermateriais | @welcome | @willingc | @willirath | @wjcapehart | @wqh17101 | @wrightaprilm | @xavierliang | @ynnelson | @yuvipanda | @znicholls