v0.6.5
Changelog
v0.6.5 (2026-07-16)
Fixed bugs:
- describe_app() reports outputs: [] for every DynamicDash app — the #152 output contract skips DynamicDash (reads
outputs\_with\_ids, but DynamicDash stores\_outputs\_with\_ids) #160 - describe_app() still reports tag "Text" for a str-with-list-default dropdown (Select) — #147 fix missed the sibling branch; int/float/bool/Literal/date also report hint-name tags not in list_component_types() #158
Merged pull requests:
v0.6.4 (2026-07-15)
Implemented enhancements:
- Feature: give agents an OUTPUT contract —
describe\_app\(\)reports only inputs, so a headless agent can't discover an app's outputs without side-effectingly callinginvoke\(\)#152
Fixed bugs:
Tuple\[int, str\]/tuple\[int, str\]return hints silently yield ONE output and drop extra return values (only bare-\> \(int, str\)works) #156- All FastDash / @fastdash instances share ONE mutable-default run_kwargs dict — constructing a second app silently rewrites the first's port (and any run_kwargs), so app.run() binds the wrong port #153
- PasswordInput values leak over the no-auth MCP (describe_app / set_input / get_invocation) — the chat surface redacts secrets, the MCP surface does not #151
- MCP value validation is type-blind: a string value slips past a Slider's min/max (bypassing the #120 guard) and scalar int/number/bool inputs accept any type — values the UI can't emit reach the callback #150
- MCP no-auth exposure warning guards the defunct
mcp\_host(a no-op) and is silent on the real bind knobrun\_kwargs\["host"\]=0.0.0.0— false positive + false negative #149 - describe_app() reports tag: "Text" for a ColorInput and a Textarea — a headless agent can't discover a color picker / textarea from the contract (all str widgets collapse to one tag) #147
- DynamicDash agent-built forms (set_form) skip ALL MCP input validation — unknown ids, out-of-options, and out-of-range slider values are silently accepted (static apps reject them) #144
Merged pull requests:
- fix: finish the agent contract's widget discoverability (0.6.4) #161
v0.6.3 (2026-07-13)
Fixed bugs:
- Root CHANGELOG.md is stale at 0.4.1 — missing 0.5.0/0.5.1/0.5.2 (drifted from docs/history.md) #140
Merged pull requests:
- fix: make the agent contract trustworthy (0.6.3) #157
- docs: changelog + docs currency pass through 0.6.2 #155
v0.6.2 (2026-07-12)
Merged pull requests:
- feat(chat): collapsible input accordion for chat sidebars (0.6.2) #154
v0.6.1 (2026-07-07)
Implemented enhancements:
- RFC: one chat= argument — unified agent API, app toolkit (read / drive / layout / content / exec), placement inference, HITL exec #145
Merged pull requests:
- feat: typed agent events by default — langstage extractors + chat renderers (0.6.1) #148
v0.6.0 (2026-07-07)
Merged pull requests:
- feat!: 0.6.0 — one chat= argument, agent app toolkit (layout/content/exec), HITL, sandbox (RFC #145) #146
v0.5.5 (2026-07-05)
Merged pull requests:
- fix(chat): correct sidebar-chat navbar width so output and collapse align (0.5.5) #143
v0.5.4 (2026-07-05)
Merged pull requests:
- feat(chat): chat_agent_position="sidebar" — chat inside the inputs sidebar (0.5.4) #142
v0.5.3 (2026-07-05)
Merged pull requests:
- feat(chat): mode-aware, customizable empty-transcript placeholder (0.5.3) #141
v0.5.2 (2026-07-05)
Fixed bugs:
- Docs: the flagship MCP "drive it" examples don't run as written —
invoke\({...}\)andset\_form\(\[...\]\)omit theinputs=/specs=wrapper the tools require #137 - describe_app() reports default: null for datetime.date / datetime.datetime inputs despite a real default — contract contradicts current_value and the UI #134
- describe_app() reports every Optional[T] input as type:"string" while the UI renders the real typed widget (Optional[int]→NumberInput) — agent↔human parity break #132
- describe_app()
typefield means two different things: JSON type for FastDash, component name for DynamicDash (contract inconsistency) #131
Merged pull requests:
- fix(chat): sidecar run_app renders outputs, not just inputs (0.5.2) #139
v0.5.1 (2026-07-04)
Implemented enhancements:
- RFC: native chat mode — frame-grammar contract, composer UI, managed history (shinychat-class, no lock-in) #133
Merged pull requests:
- fix(mcp): describe_app contract consistency + date defaults (0.5.1) #138
v0.5.0 (2026-07-04)
Fixed bugs:
- describe_app() mis-reports Enum input defaults: plain enum.Enum → default: null; IntEnum default/options are ints but current_value is a string #126
Merged pull requests:
- Fast Dash 0.5.0 — chat mode, agent sidecar, and a UI refresh #136
v0.4.1 (2026-07-01)
Merged pull requests:
- Release 0.4.1 — Enum contract fix (#126) #130
- fix: report Enum input defaults consistently in describe_app (#126) #129
v0.4.0 (2026-06-30)
Fixed bugs:
- describe_app() omits a Slider's min/max/step for static FastDash apps (DynamicDash surfaces them), so an agent can't discover or stay within a slider's range #120
- dict/list-annotated inputs degrade to a Text box under
from \_\_future\_\_ import annotations#119
Merged pull requests:
- Release 0.4.0 — UI/UX modernization + go.Figure render fix #128
- UI/UX modernization + go.Figure render fix (0.4.0) #127
v0.3.5 (2026-06-29)
Fixed bugs:
- describe_app() leaks a raw
depends\_onobject repr as the input default, and never surfaces the dependent dropdown's options #116
Merged pull requests:
- Release 0.3.5 — Slider bounds (#120) + future-annotations inference (#119) #125
- fix: resolve string annotations so PEP 563 doesn't degrade inference (#119) #124
- fix: expose static Slider min/max/step in describe_app + range validation (#120) #123
v0.3.4 (2026-06-28)
Merged pull requests:
- Release 0.3.4 — depends_on/dict contract fix (#116) #118
- fix: clean depends_on/dict contract in describe_app + option validation (#116) #117
- docs: note describe_app reflects an agent-built DynamicDash form (0.3.2) #115
v0.3.3 (2026-06-27)
Fixed bugs:
- MCP: single-select dropdown (
strwith list default) seeds its value as the whole options list —describe\_appself-contradicts (typestring, value a list) andinvoke\(\)passes a list to astrparam (≠ the browser, which is null) #110
Merged pull requests:
- Release 0.3.3 - dropdown seeding fix (#110) #114
- Release prep 0.3.3 (#110 dropdown seeding fix) #113
- Fix #110: dropdown default seeds options as value (MCP mirror) #112
v0.3.2 (2026-06-26)
Fixed bugs:
- describe_app() doesn't reflect a DynamicDash form built by set_form — the agent-generated form is drivable but undiscoverable #106
Merged pull requests:
- Release 0.3.2 - describe_app DynamicDash form (#106) #109
- Release prep 0.3.2 (#106 describe_app DynamicDash form) #108
- Fix #106: describe_app reflects DynamicDash set_form contract #107
v0.3.1 (2026-06-25)
Fixed bugs:
- MCP: agent-facing tool schemas are generic untyped objects — type hints do NOT build the agent schemas, contradicting the docs #102
- MCP: an agent can't read back the inputs it set —
dash://components/get\_dash\_componentnever reflectset\_input, contradicting the docs' "current values" #100 backend="fastapi"never starts a server when launched the documented way (@fastdash/FastDash.run\(\)as a script) #99
Merged pull requests:
- Release 0.3.1 - dogfood fixes (FastAPI backend, describe_app) #105
- Release prep 0.3.1 (dogfood fixes) #104
- Fix dogfood issues #99, #100, #102 (FastAPI backend, MCP read-back, contract) #103
- Promote docs-runner fix to release #98
- ci: fix retired ubuntu-20.04 runner in docs workflow #97
- Promote CNAME-persist CI fix to release #96
- ci: persist docs.fastdash.app CNAME on every docs deploy #95
- Promote 0.3.0 docs (AI agents/MCP + CNAME) to release #94
- docs: AI agents (MCP) guide + docs.fastdash.app CNAME #93
v0.3.0 (2026-06-21)
Merged pull requests:
- Release 0.3.0 - Dash-native MCP app surface #92
- Ship the Dash-native MCP updates as 0.3.0 #91
- Adopt Dash 4.3 native MCP + opt-in FastAPI backend (0.4.0) #90
- Release 0.3.0 - MCP app surface #89
- MCP app surface, DX simplifications, and 0.3.0 prep #88
v0.2.16 (2026-04-20)
Merged pull requests:
- 🚀 Release 0.2.16 #84
- v0.2.16 (in progress): port non-MCP, non-steps work from feature/mcp-support #83
v0.2.15 (2026-04-19)
Merged pull requests:
- Release 0.2.15 #82
v0.2.14 (2025-09-23)
Merged pull requests:
- Fix FastDash input handling: adjust state management for streaming mode #79
v0.2.13 (2025-07-02)
Merged pull requests:
v0.2.12 (2025-06-29)
Merged pull requests:
v0.2.11 (2025-06-27)
Implemented enhancements:
- Support Langchain streaming with the chat component #64
- Option to add a custom loader or disable completely #63
- Add an option to turn off branding #62
Closed issues:
- simple example failed in Thonny IDE #58
Merged pull requests:
- 🚀 Release 0.2.11 #74
- Prepare for release v2.2.11 #72
- Add CLI project creation functionality and register script entry point #71
- Refactor component selection in _get_component_from_input and enhance… #70
- Option to disable branding #69
- Fix/update dependencies #68
- Remove duplicate IDs of inputs and outputs #67
- Streaming with socketio #66
v0.2.10 (2025-02-17)
Merged pull requests:
* This Changelog was automatically generated by github_changelog_generator