Skip to content

Releases: tlockney/ganymede

v0.4.0

Choose a tag to compare

@github-actions github-actions released this 20 Oct 16:50
9885a94
  • 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

Choose a tag to compare

@github-actions github-actions released this 18 Oct 22:24
e16dfd7
  • 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

Choose a tag to compare

@github-actions github-actions released this 18 Oct 04:14
a536816
  • 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

Choose a tag to compare

@github-actions github-actions released this 17 Oct 22:56
f7a12d4
  • 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)