Features
- #13601
0ee5cc8- Preserve browser-visible proxy origins for frontend assets and API requests, and retain app-level FastAPI root paths. Thanks @abidlabs! - #13620
5200235- Fix chained events after cancellation and while the browser tab is hidden. Thanks @abidlabs! - #13667
2d753d0- oauth: let API callers supply a token for endpoints that take agr.OAuthToken, viaoauth_tokenon the Python and JS clients — sent only to endpoints that declare they need one. Thanks @abidlabs! - #13329
7ac583a- Make builds go zoom zoom. Thanks @pngwn! - #13650
8bdc643- Fixgradio cc dev,gradio cc build, andgradio cc installto respect a customFRONTEND_DIRset on the component class, instead of assuming the frontend code lives in thefrontenddirectory. Thanks @abidlabs! - #13558
d07af9d- workflow: add model endpoint integration. Thanks @hannahblair! - #13681
eed6ebd- Report why the Node SSR server failed, and serve without SSR on the expected port. Thanks @abidlabs! - #13654
2f6d04a- workflow: improve canvas authoring and examples. Thanks @abidlabs! - #13606
04c5527- Fix spurious separators from empty tokens inHighlightedTextwithcombine_adjacent=True. Thanks @hysts! - #13668
3473879- workflow: add html modality. Thanks @hannahblair! - #13666
d3c70fa- workflow: various UX improvements, including opening the write-access link in a browser tab automatically when agr.Workflowis launched locally, and calling vision-language models through chat completions soimage-text-to-textmodel nodes work. Thanks @abidlabs! - #13590
d5ef897- workflow: fix error banner and textarea visibility. Thanks @hannahblair! - #13616
a2ddecf- workflow: ensure we handle trailing null values. Thanks @hannahblair!
Fixes
- #13627
3b12faa- Keep in-flight events and generators working when an app is hot-reloaded (gradio app.py). Thanks @abidlabs! - #13622
95369a3- Fix Windows filename/path handling (reserved names, node probe, file URLs). Thanks @abidlabs! - #13613
195593e- Rerun HTML mount behavior whengr.renderreplaces an unkeyed component. Thanks @abidlabs! - #13626
7d71469- Reset audio playback position when the file is cleared or a new one is uploaded. Thanks @hysts! - #13662
3aa5d5b- Strip<style>and<link>elements when sanitizing HTML in the frontend. Thanks @hysts! - #13671
b844e74- Fix crash when a streaminggr.ChatInterfacefunction yields nothing. Thanks @hysts! - #13612
0286f2c- workflow: use anyio.to_thread to send sync server functions to thread pool. Thanks @hannahblair! - #13658
bad052c- Fix ColorPicker dispatching blur while the user is still using the picker dialog. Thanks @hysts! - #13676
8c69a96- Stop deep-copying chat messages so components work as chat content again. Thanks @hysts! - #13605
f3889bf- Fixgr.Codenot rendering when it has no initial value. Thanks @hysts! - #13666
d3c70fa- cli: don't delete the installed skill when an agent's skills directory is a symlink to the central location. Thanks @abidlabs! - #13661
8647a06- Keep fullscreen component controls inside the visible viewport when the page has a scrollbar. Thanks @hysts! - #13607
c287b7b- Fixgr.Statepassing its callable default to event handlers instead of the called value. Thanks @hysts! - #13639
1535d69- Fix hidden tab focus and label overflow menu. Thanks @dawoodkhan82! - #13678
46e511b- Only remount a plot when its payload changes. Thanks @hysts! - #13660
80d67ad- Upload recorded audio only once to fix intermittent Content-Length errors when loading recordings. Thanks @hysts!