[redacted] Secrets, Explorable DataFrames, Navigable Tracebacks
The nteract 2.5 release invites you to stop leaking credentials in notebooks, emit Arrow for rich data exploration, and jump from tracebacks to the cell that raised.
- Python errors render as navigable, structured tracebacks
- Explorable DataFrames with interactive crossfiltering
- Outputs scrub secret-looking environment values to [redacted env]
![[redacted] Secrets, Explorable DataFrames, Navigable Tracebacks](https://img.runt.run/2026/06/08/2d83a12fc8c7.png)
2.5 brings rich context tracebacks, less leaky env vars, and a crossfiltering data explorer built on pretext and Apache Arrow to every dataframe in Python: pandas, polars, datasets, narwhals, duckdb; wherever __arrow_c_stream__ can be found.
I've always wanted an Arrow-native notebook for data work. Here it is.
Navigable tracebacks
Python errors now render as structured, navigable tracebacks. Click the cell target and get warped to the offending cell.
Explorable DataFrames
Return (or display!) a DataFrame and it renders in Sift, an interactive data explorer. The sparklines and category bars in the column headings allow you to brush filter across columns with smooth interactions thanks to Arrow IPC and WASM.
Secrets stay out of outputs
Ever leak an environment variable that had a secret inside a notebook? Now that agents are reading outputs into chat logs, that problem can compound.
nteract 2.5 brings your login shell env into kernels. You get your PATH and API keys and those values are scrubbed from outputs before they hit disk or an agent's context window. Your shell's secrets are available to your code, but they don't leak into a shared notebook or agent's view.
Note: this feature can be disabled in settings.
Full technical changelog
All 232 changes across 2.5.0 and 2.5.1
2.5.1 - May 26, 2026
Bug Fixes
- avoid framed output shell (#3013) (mcp-app)(261953e)
2.5.0 - May 26, 2026
Features
- redact environment values from outputs (#2610) (runtime)(c7bf704)
- import login-shell env into kernels via per-launch env_vars (#2767) (runtimed)(e73be9d)
- make runtime state execution id only (#2773) (runtime)(811dbcf)
- materialize execution view in wasm (#2774) (runtime)(c53819c)
- route interaction_state over JSON-RPC (#2783) (isolated)(792b683)
- expose execution view snapshots (#2782) (runtimed-node)(6536a19)
- add embed host context bridge (#2790) (isolated)(798ea01)
- add embeddable output surface (#2796) (isolated)(a30a18d)
- add output embed deck harness (#2797) (slidev)(7288868)
- add nteract identity crate (#2803) (identity)(f953446)
- expose frame size limits (#2805) (runtimed)(c6f91a7)
- share blob resolvers (#2807) (runtimed)(1c04419)
- expose presence cbor helpers (#2806) (wasm)(87728d1)
- load notebook snapshot pairs (#2808) (wasm)(25e14bf)
- materialize hosted snapshot pairs (#2809) (notebook-cloud)(0cd8f19)
- render published outputs through shared iframe (#2810) (notebook-cloud)(11f2e3b)
- configure plugin asset base (#2812) (renderer)(0440483)
- use shared notebook viewer surface (#2815) (notebook-cloud)(fbdf74b)
- default nteract launcher (#2821) (settings)(d8d6130)
- use read-only CodeMirror source (#2824) (notebook-cloud)(521a9f9)
- stream blob HTTP reads from disk [stack 6/6] (#2823) (runtimed)(c346ca2)
- publish live snapshot pairs (#2825) (notebook-cloud)(5bc09ca)
- split renderer asset origin (#2827) (notebook-cloud)(656837f)
- share read-only notebook cells (#2833) (notebook-cloud)(7389efa)
- share read-only notebook view (#2840) (notebook-cloud)(eddab85)
- attach cell provenance to rich errors (tracebacks)(b3bc84b)
- attach execution provenance to rich errors (#2843) (tracebacks)(7f42d6b)
- add report viewer mode (#2844) (notebook-cloud)(80609cb)
- show viewer presence status (#2848) (notebook-cloud)(0c31f09)
- link frames to notebook cells (#2847) (traceback)(54e6e2b)
- segment mixed output rendering (#2853) (traceback)(f2e8119)
- gate rooms with ACL authorization (#2867) (notebook-cloud)(bda65c5)
- materialize room sync in durable objects (#2868) (notebook-cloud)(abf3972)
- authenticate Cloudflare Access JWTs (#2869) (notebook-cloud)(bc36013)
- limit editor room edits to markdown (#2870) (notebook-cloud)(a62e52b)
- add runtime peer ingress handle (#2871) (notebook-cloud)(c60bbe7)
- wire live markdown collaboration (#2873) (notebook-cloud)(9d214fb)
- add owner ACL management routes (#2872) (notebook-cloud)(52cc059)
- expose hosted session metadata (#2891) (notebook-cloud)(28b3ef5)
- add Access demo ops runbook (#2890) (notebook-cloud)(c98bf5b)
- replace table data in place (#2903) (sift)(b75ed0e)
- add sharing invite storage (#2939) (notebook-cloud)(b9676f8)
- support hosted output document URLs (#2942) (notebook-cloud)(a65d124)
- resolve Access invites on login (#2944) (notebook-cloud)(bdd5cd7)
- add owner invite routes (#2945) (notebook-cloud)(0b6532c)
- adapt structured output for shared renderer (#2958) (mcp-app)(7424ffd)
- isolate output document origin (#2959) (notebook-cloud)(384ca6f)
- render through shared output frame (#2960) (mcp-app)(ed73a13)
- expose notebook cell resources (mcp)(929caa0)
- annotate notebook resources (#2972) (mcp)(c9e9483)
Bug Fixes
- source shell startup env for kernels (#2770) (runtime)(124dae7)
- surface notebook execution and output summaries (#2769) (runt-mcp)(daaf0b0)
- append source cells by default (#2772) (runtimed-node)(4182e89)
- support inline uv python override (#2777) (notebook)(692093f)
- avoid false execution pointer clears (#2778) (runtime)(205a3a2)
- restore rich iframe rendering (#2784) (isolated)(975126c)
- deliver renderer bundle after iframe bootstrap (#2788) (isolated)(7d87ade)
- harden iframe renderer diagnostics (#2789) (isolated)(bd293b1)
- tighten host context cleanup (#2791) (isolated)(d1ec68d)
- coordinate relay bootstrap readiness (#2795) (notebook)(af877c7)
- align presence cap to 4 KiB [stack 2/6] (#2817) (notebook-wire)(bb1ae56)
- derive execution counts from outputs (notebook-cloud)(ee29406)
- reject renders with missing blobs (#2829) (notebook-cloud)(1f58df8)
- validate snapshot publishes (#2830) (notebook-cloud)(4022daf)
- restrict output count fallback (notebook-cloud)(3a9ac54)
- derive counts from runtime outputs (#2826) (notebook-cloud)(a64e4dd)
- guard renderer asset paths (notebook-cloud)(f320fc1)
- bound render blob validation (notebook-cloud)(694d3dc)
- align read-only markdown source (notebook-cloud)(c45abd6)
- keep execution state notebook agnostic (tracebacks)(7e165c3)
- normalize notebook execution sources (tracebacks)(0253962)
- sanitize notebook traceback text (tracebacks)(6464470)
- align standalone vite dev port (#2845) (xtask)(47142c2)
- gate room events to owners (notebook-cloud)(6a1dc4b)
- remove prototype room events api (#2846) (notebook-cloud)(6caa6d0)
- harden hosted viewer shell (#2851) (notebook-cloud)(f68501f)
- send host-facing renderer logs (#2852) (mcp-app)(08935e9)
- keep dev auth tokens out of deployed URLs (#2854) (notebook-cloud)(2e9688c)
- resolve dataframe blobs through host URLs (#2855) (outputs)(03d624c)
- verify runtime blob uploads (#2859) (notebook-cloud)(53f5468)
- derive render caches from snapshots (#2860) (notebook-cloud)(e1fc042)
- harden hosted asset routes (#2862) (notebook-cloud)(a244ca5)
- require loopback for untokened dev auth (#2863) (notebook-cloud)(7bfb23b)
- resolve OutputWidget images as blobs (#2861) (outputs)(46932ae)
- link traceback cells in cloud viewer (#2865) (notebook-cloud)(e56ad55)
- keep cell targets identity-only (traceback)(8c75ce9)
- keep mixed isolated renders unsplit (#2864) (outputs)(971b9b9)
- harden Access auth fallback and key rotation (notebook-cloud)(3a8bc2c)
- load runtime wasm from asset origin (notebook-cloud)(9f1fa0c)
- clean up failed live sync init (notebook-cloud)(201d8c6)
- bound live sync startup (notebook-cloud)(c7a225c)
- preserve ACL owners atomically (notebook-cloud)(2631448)
- report guarded ACL delete conflicts (notebook-cloud)(65f1907)
- abbreviate traceback package paths with ellipsis (#2874) (notebook)(2bcf568)
- fit sift output within iframe cap (#2876) (notebook-cloud)(54a084d)
- bootstrap live markdown sync (#2875) (notebook-cloud)(e64de8b)
- stream live updates to viewers (notebook-cloud)(9b1fc09)
- add collaboration observability (notebook-cloud)(cf68dcf)
- disable cloud pool sync (notebook-cloud)(497d0ce)
- add collaborator auth diagnostics (#2878) (notebook-cloud)(8a0ff75)
- support local browser collab smoke (notebook-cloud)(7e73b9a)
- recover cloud editor sync (notebook-cloud)(30000cb)
- reconnect on send-side socket failure (#2881) (notebook-cloud)(0c3dd03)
- support chunked arrow streams in dx (outputs)(f82474d)
- use crdt bridge for live markdown (#2883) (notebook-cloud)(bd74c90)
- apply remote text attribution patches (notebook-cloud)(b649cf0)
- surface collaborator auth diagnostics (#2884) (notebook-cloud)(ab27ffc)
- skip storing read-only sync no-ops (#2885) (notebook-cloud)(1c8e37e)
- harden credential transport (#2889) (notebook-cloud)(eeaa4c8)
- seed ACL-backed smoke rooms (#2893) (notebook-cloud)(da98c05)
- harden Access smoke credentials (notebook-cloud)(ec61624)
- accept Access token headers (#2894) (notebook-cloud)(32b0909)
- harden Access auth edges (#2898) (notebook-cloud)(033b670)
- settle terminal stream outputs (#2899) (notebook-sync)(72d1c98)
- redact output text before send (#2896) (kernel-launcher)(0afcfed)
- vendor output redaction modules (kernel-launcher)(e5aecbb)
- harden opencode runner (pr-reviewer)(02adb1b)
- preserve malformed reviewer output (pr-reviewer)(000f56d)
- parse final opencode review json (pr-reviewer)(535759c)
- bound opencode review runs (pr-reviewer)(401c266)
- enforce inline opencode permissions (pr-reviewer)(a3bcb80)
- dispose wasm table data (#2901) (sift)(4b33a3b)
- reuse plotly display updates (#2911) (renderer)(9372ffd)
- allow Access token preflights (#2912) (notebook-cloud)(a45afbc)
- gate editor runtime state writes (#2916) (notebook-cloud)(6cded37)
- reuse vega display updates (#2913) (renderer)(145f722)
- reuse leaflet display updates (#2918) (renderer)(9ead10a)
- gate artifact mutations by origin (#2921) (notebook-cloud)(2d869cf)
- require explicit output identity (#2922) (renderer)(186c65c)
- prefer Access assertions at origin (#2924) (notebook-cloud)(3747692)
- restrict blob uploads to runtime scopes (#2925) (notebook-cloud)(6c1e279)
- require Origin for Access assertions (#2931) (notebook-cloud)(f292d18)
- fail closed on live sync decode errors (#2932) (notebook-cloud)(09ab5ea)
- preserve polars object date columns (#2935) (kernel-launcher)(94741b4)
- avoid eager polars imports (kernel-launcher)(4f4504a)
- refine polars date normalization (kernel-launcher)(e5cb7c3)
- tighten invite resolution storage (notebook-cloud)(827fcda)
- stabilize sharing invite storage (notebook-cloud)(aa9f96e)
- recover duplicate invite races (notebook-cloud)(530a2f4)
- gate invite acl grants on accepted rows (notebook-cloud)(4cbab1c)
- isolate stale invite parents (notebook-cloud)(3e524f5)
- narrow duplicate invite constraint handling (notebook-cloud)(4d9fd4c)
- skip invite writes when none are pending (notebook-cloud)(0d95b8a)
- narrow invite list rows (notebook-cloud)(f9de405)
- validate invite inputs before storage (notebook-cloud)(b5c4532)
- harden invite route edge cases (notebook-cloud)(eba8da1)
- fill raster image outputs (#2950) (mcp-app)(7e6c195)
- autosize HTML outputs (#2952) (mcp-app)(098ff66)
- harden Access edge cases (#2951) (notebook-cloud)(997116f)
- keep report iframes scrollable (#2953) (notebook-cloud)(a48d075)
- prefer Vega outputs over HTML fallbacks (#2954) (mcp-app)(a7f503c)
- log host container dimensions (#2955) (mcp-app)(6f36a5b)
- reduce host log noise (#2956) (mcp-app)(373b835)
- dedupe shared renderer plugin installs (#2961) (mcp-app)(2b5c5f0)
- expose output resource ui metadata (#2962) (mcp-app)(0ed3b78)
- align shared output frame sizing (#2963) (mcp-app)(b3e3958)
- queue cells while kernel launch resolves (#2965) (runtimed)(e396bdd)
- attribute queued executions to submitter (#2969) (runtimed)(802dbe9)
- align rich output expansion with renderer (#2976) (mcp-app)(3f196d9)
- sync viewer output themes (#2983) (notebook-cloud)(06533fd)
- avoid formatting large binary cells (#2986) (sift)(a38f725)
- anchor cell moves by cell id (#2990) (mcp)(7698a6d)
- remove cell positions from summaries (#2991) (mcp)(c7e41d9)
- route isolated diagnostics through host logging (#2992) (renderer)(d8c98ae)
- use object init for bindgen modules (#2993) (wasm)(438a126)
- use shared full-height output sizing (#2985) (mcp-app)(90a02b2)
- include cell ids in notebook frames (#2995) (traceback)(abb0ee8)
- align hosted viewer theming (#2996) (notebook-cloud)(583f33a)
- suppress KaTeX newline warnings (#2997) (renderer)(481836b)
- declare display capabilities (#3003) (mcp-app)(d62ce68)
- preview blob output summaries (#2998) (mcp-app)(c844ee9)
- preserve MCP size dimensions (#3000) (renderer)(3f83276)
- segment mixed output frames (#3001) (renderer)(6276bb2)
- clarify output summary reads (#3002) (mcp)(06a2547)
- restore synced pool targets on startup (#3009) (runtimed)(a44cb21)
- seed viewer theme before stylesheet (#3007) (notebook-cloud)(faf5fd2)
- apply host container dimensions (#3008) (mcp-app)(c8084db)
- keep LLM previews out of MIME selection (#3011) (renderer)(5b85903)
- respect host frame CSP (#3012) (mcp-app)(e47811e)
Performance
- defer optional renderer imports (#2887) (kernel-launcher)(6c2090e)
- optimize output redaction matching (runtime)(54020a4)
- cache output redaction candidates (kernel-launcher)(f037695)
- cache output widget replay resolution (runtimed)(c2299c6)
- type inbound comm messages (protocol)(054fd06)
- externalize inbound comm buffers (protocol)(c453b56)
- queue ordinary output commits (runtimed)(ba89ba3)
- batch display output commits (runtimed)(b816c43)
- optimize display update output lookup (runtime)(a2bfef0)
- cache output order metadata (#2967) (runtime-doc)(7f3503a)
- avoid full state reads in agent sync (#2973) (runtime)(614ec94)
- remove dormant display update overlay (#2980) (notebook)(3c18ce8)
- update output id diff snapshot in place (#2979) (wasm)(038caec)
- split structural output updates (#2984) (notebook)(64247dd)
- reduce streaming table rerenders (#2988) (frontend)(730b522)
Documentation
- explain why daemon.json fallback stays (#2775) (runtimed-client)(ea708db)
- update execution-id runtime-state plan (#2800) (runtime)(6435f32)
- identity and trust for notebook rooms (#2801) (architecture)(b2cf3c8)
- refine automerge fork patch plan (#2802) (architecture)(b948a25)
- four desktop ADRs + cleanup punchlist (#2813) (architecture)(4c99876)
- inline cleanup pass [stack 1/6] (#2816) (architecture)(2b38fea)
- four desktop ADRs + execution-liveness memo [stack 4/6] (#2819) (architecture)(aaca969)
- punchlist WP-12 — replace hand-mirrored TS table with Rust source of truth (architecture)(14d6f2a)
- punchlist WP-12 — single-source the TS frame-size table (#2841) (architecture)(a213859)
- define hosted room authorization (#2866) (notebook-cloud)(c8a95d8)
- add hosted credential transport ADR (#2886) (auth)(5f98689)
- address hosted credential review (auth)(a7d800a)
- clarify websocket credential risks (auth)(2b8d18b)
- tighten ticket and subprotocol guidance (auth)(6cb0c64)
- require single credential source (auth)(a1110b1)
- add output protocol ADRs (#2892) (protocol)(225d709)
- tighten output ADR wording (#2895) (protocol)(71fbb15)
- align Access trial runbook (#2900) (notebook-cloud)(a4425e3)
- list Access trial blockers (notebook-cloud)(dfcf636)
- define hosted deployment topology (#2904) (architecture)(22f2fbf)
- address topology review (architecture)(99e89ea)
- clarify runtime topology (architecture)(1ebd732)
- design runtime redaction refresh (runtime)(3669348)
- clarify redaction refresh model (runtime)(e527ff3)
- audit runtime peer and blob authority (#2909) (architecture)(3e78d42)
- update redaction boundary ADR (architecture)(64bf25a)
- clarify python redaction scope (architecture)(0e7cb07)
- clarify room authority boundaries (#2915) (architecture)(7d613d0)
- define captured env lifecycle (architecture)(ad359ba)
- clarify conda captured env hash inputs (architecture)(29ba8be)
- clarify captured env fallback tradeoffs (architecture)(1f41a47)
- define captured environment lifecycle (#2914) (architecture)(dc1d8d4)
- define hosted output origin isolation (#2941) (notebook-cloud)(356efcb)
- clarify output isolation prior art (notebook-cloud)(837fa1b)
- address hosted output review notes (notebook-cloud)(035abf6)
- clarify Access workers.dev setup (#2947) (notebook-cloud)(1c96ffe)
- define resource addressing (mcp)(b03ff83)
- arrow
- pretext
- polars
- pandas



