Repository navigation
Releases: tlockney/ganymede
Releases · tlockney/ganymede
Release list
v0.4.0
- Install ganymede-ui 0.2.0 by default (#217)
- Give the shutdown escalation test time for the TERM trap (#215)
- Test against cdp-kernel 0.7.1 (#214)
- Write lab extension page config and install records atomically (#211)
- Document token-only cross-origin auth; add allow_credentials (#210)
- Docs: embedding page, landing hero with the screenshot (#209)
- Docs: Windows install, tested versions, dev log out of search, anywidget links (#206)
- Docs: one "Get started" path, API examples, switching guide (#205)
- Docs: diagrams for the commands, install, security, saving, gateway (#202)
- Add a container image with no Python (#204)
- Docs diagrams follow the site's theme toggle; legends and contrast (#201)
- Docs: CLI and configuration page, regrouped sidebar, slimmer README, redrawn where-kernels-run diagram (#200)
- Answer kernel delete with success once the kernel is removed (#199)
- Docs: click an image to zoom it (#198)
- Docs: guide to Ganymede's app; describe where things run as built (#196)
- Docs: crate and cell diagrams in Architecture; update the stack diagram (#195)
- Docs: fix statements the review found stale or wrong (#178)
- Render ganymede-ui's docs under /docs/ganymede-ui/ (#176)
- Write the cookie secret through a temp file without clobbering (#174)
- Remote kernels through a gateway (#168)
- Server: accept an app's kernelspecs, provisioner and transports (#166)
- Kernels without ZeroMQ: provisioner/transport seam, engine restart without zmq (#164)
- Read nbformat 3 notebooks by upgrading them to 4.5 (#163)
- Add ganymede-ffi: run the server in-process, packaged as an XCFramework (#162)
- Embedding prep: optional zmq/subprocess in api, async on_input, signature warning (#161)
- docs: mark ganymede ui as unreleased (HEAD only) (#155)
- Deploy the site from main again; mark unreleased features in the docs (#154)
- Add ganymede ui install and ganymede ui (#149)
- docs: one Install page instead of Install and Install on a workstation (#151)
v0.3.0
- Set _xsrf on pages from a generic --static-dir (#140)
- Bump the npm group across 1 directory with 2 updates (#136)
- Fix the interrupted-prompt kernel test racing ipykernel's abort queue (#138)
- Move frontend/ to tlockney/ganymede-ui (#135)
- Pin cdp-kernel 0.6.0 in CI and docs (#133)
- install.sh: refuse musl and old glibc, survive a failed cdp-kernel install (#131)
- Contents: ETag and If-Match precondition on saves (#75) (#130)
- Docs: link the site title to the home page (#129)
- Bump the cargo group across 2 directories with 9 updates (#119)
- Bump the actions group with 3 updates (#113)
- Presentation: landing page, README, known gaps and changelog pages (#127)
- fix(server): Ctrl-C stops the server with requests still open (#126)
v0.2.0
- Deploy the site from the latest release, not main (#118)
- CLI: completions, attach documented, lab clean/uninstall, extension disable/enable, --json lists (#108)
- Kernel-host test gaps: fake-kernel modes, real-process and real-ZMQ tests (#68) (#110)
- Docs accuracy pass: roadmap, protocol status, language rule, READMEs (#116)
- Add SECURITY.md, a docs security page, and CONTRIBUTING.md (#114)
- Release hardening: provenance attestation, release profile, Rosetta check, recovery doc (#111)
- Default config file, --log-level/--log-file, kernel-id prefix on kernel output (#55) (#102)
- CI hygiene: SHA-pinned actions, least privilege, MSRV, cargo deny, dependabot (#107)
- Keep kernel output across a websocket drop and replay it on reconnect (#53) (#106)
- Startup nudge backs off; cdp-kernel conformance scenarios in kernels.rs (#69) (#105)
- lab install: HTTPS only, host allowlist, timeouts, size caps, yanked releases, version specifiers (#104)
- Contents: rename without the check-then-rename race (#75) (#103)
- Kernels die with the host; a second Ctrl-C stops; replay protection (#70) (#101)
- ganymede info: report Ganymede's own paths and build details (#100)
- Notebook validation message and unknown cell types (#73) (#99)
- Answer 404 for contents paths outside the root, as jupyter_server (#54) (#98)
- Server auth and REST parity fixes: constant-time token, Secure cookie, CORS, Location headers (#96)
- Contents: lock saves per path, first checkpoint, safer trust key (#75) (#94)
- Kernel host: SIGTERM before SIGKILL, cancelled-request cleanup, stop signals in the CLI (#93)
- nbformat: read leniently like Python nbformat; repair cell ids (#90)
- Append chunked uploads instead of keeping the last chunk (#52) (#89)
- Reject unknown config keys; make -q, -v and --startup-timeout work for serve and lab (#91)
- Server: file I/O off the async workers; serialize nbconfig PATCH (#97)
- Resolve --existing in the Jupyter runtime dir; print error chains once (#95)
- Add MIT LICENSE and third-party notices in release archives (#92)
- Confine kernel working directories to the contents root (#88)
- Parse kernelspecs and message headers as leniently as jupyter_client (#87)
- Write notebooks atomically everywhere, through symlinks (#74) (#86)
- Refuse login redirects with control characters in next (#85)
- Create connection files 0600 from the start (#81)
- Validate extension names from wheels and records (#78)
- Dev log: one file per entry in docs/notes/ (#84)
- Free kernel records, report kernel deaths, handle failed restarts (#82)
- Keep floats and big integers exact on save (#79)
- Reject legacy websocket binary frames with no buffers (#80)
- Accept request bodies up to 512 MiB and answer 413 past it (#77)
- Check Host and XSRF when auth is off (#76)
- Build the docs for the custom domain (#40)
- Docs: step-by-step workstation install without Jupyter (#38)
- CI: workstation install with no Python on PATH (#37)
- Add
ganymede lab: start JupyterLab in one command (#33)
v0.1.0
- Release through a PR, tag on merge; fix flaky kernel startup (#24)
- Notebook trust: sign on save, mark cells trusted, share Jupyter's store (#31)
- Add cookie login for browser frontends (#30)
- Add
ganymede lab install: JupyterLab's frontend from PyPI, no Python (#29) - Add a curl install script for release binaries (#28)
- Add a survey of other Jupyter clients to the docs (#27)
- Add a project site and docs, and move the design notes into them (#22)
- Add release tooling, a changelog, and issue-linked PRs (#14)
- Add a release workflow that packages the ganymede binary (#5)
- Add the engine library, the ganymede CLI, and e2e parity with Jupyter (#4)
- Serve JupyterLab and validate against JupyterLab and VS Code (#3)
- Rename crates from jcore- to ganymede- (#2)
- Rename to Ganymede and add CI (#1)