2.11.0

jo-inc/camofox-browser2.11.0Apr 7, 2026by hayescode

AI Summary

This release introduces AI-assisted development capabilities, fixes various UI and backend stability issues, and adds new features such as an improved PDF viewer, Portuguese translation support, and Polars compatibility for dataframe elements.

Key Highlights

  • AI-assisted development integration
  • Improved PDF viewer
  • Polars support for dataframe elements
  • Portuguese (pt-PT) translation

Breaking Changes

  • Empty custom_fonts array now removes default fonts instead of keeping them
  • send_toast function is now async

New Features

  • AI-assisted development integration
  • AzureAD OAuth scopes configurable via environment variables
  • Lucid icon support in Steps
  • Respect explicit figure height in Plotly elements
  • Improved PDF viewer
  • Portuguese (pt-PT) translation
  • Customizable stop icon and loading cursor via CSS variables
  • Copilot sidebar mode with drag-to-resize
  • Polars support for dataframe elements

Full Release Notes

## What's Changed
* chore: introduce AI-assisted development to the project by @asvishnyakov in https://github.com/Chainlit/chainlit/pull/2864
* fix: prevent NOT NULL violation in update_thread when metadata is None by @mgquach in https://github.com/Chainlit/chainlit/pull/2855
* fix: use correct logging format specifier in OAuth state validation by @mgquach in https://github.com/Chainlit/chainlit/pull/2841
* fix: Issue with accordion requiring two clicks to close by @Allaoua9 in https://github.com/Chainlit/chainlit/pull/2834
* fix: Removing a favorite overwrites live message state with stale snapshot by @Allaoua9 in https://github.com/Chainlit/chainlit/pull/2837
* fix: Enter key sends message when slash input matches no registered command by @nzjrs in https://github.com/Chainlit/chainlit/pull/2867
* Fix/settings edit hook issues by @Allaoua9 in https://github.com/Chainlit/chainlit/pull/2860
* fix: widget disable option is not supported on Multiselect, Tags, Datepicker and RadioButton by @Allaoua9 in https://github.com/Chainlit/chainlit/pull/2846
* feat: make AzureAD OAuth scopes configurable via env vars by @Br1an67 in https://github.com/Chainlit/chainlit/pull/2811
* fix: make send_toast an async function by @Br1an67 in https://github.com/Chainlit/chainlit/pull/2809
* Added ability to display a Lucid icon in the Step, instead of the default avatar by @Allaoua9 in https://github.com/Chainlit/chainlit/pull/2561
* fix: harden MCP exit stack cleanup to prevent cross-task cancel-scope errors by @GhimBoon in https://github.com/Chainlit/chainlit/pull/2805
* fix: treat empty custom_fonts array as intent to remove default fonts by @Br1an67 in https://github.com/Chainlit/chainlit/pull/2808
* feat: respect explicit figure height in Plotly elements by @nzjrs in https://github.com/Chainlit/chainlit/pull/2861
* fix: show error toast when streamable-http MCP connection fails by @MaxwellCalkin in https://github.com/Chainlit/chainlit/pull/2831
* feat: added improved pdf viewer by @JonasKenke in https://github.com/Chainlit/chainlit/pull/2833
* fix: handle Slack workflow/bot messages in app_mention events by @sefadegirmenci in https://github.com/Chainlit/chainlit/pull/2844
* feat(i18n): add Portuguese (pt-PT) translation by @scafer in https://github.com/Chainlit/chainlit/pull/2840
* feat: make stop icon and loading cursor customizable via CSS variables by @nzjrs in https://github.com/Chainlit/chainlit/pull/2866
* fix: clear attachments when switching chat profiles by @Chukwuebuka-2003 in https://github.com/Chainlit/chainlit/pull/2858
* feat: Add copilot sidebar mode with drag-to-resize by @EyalAmitay in https://github.com/Chainlit/chainlit/pull/2785
* chore(ai): sync agent/editor settings and Context7 library IDs by @asvishnyakov in https://github.com/Chainlit/chainlit/pull/2874
* docs(ai): upload research & AI docs updates by @asvishnyakov in https://github.com/Chainlit/chainlit/pull/2875
* chore(frontend): declare pdfjs-dist as explicit frontend dependency by @asvishnyakov in https://github.com/Chainlit/chainlit/pull/2876
* test(cypress): stabilize, lint & format all tests to prepare for #2573 by @asvishnyakov in https://github.com/Chainlit/chainlit/pull/2877
* feat(elements): add polars support for dataframe elements by @tristan-ranff in https://github.com/Chainlit/chainlit/pull/2879
* Fix sort thread list categories by date by @smilaid in https://github.com/Chainlit/chainlit/pull/2872
* chore: upgrade eslint to v10 by @asvishnyakov in https://github.com/Chainlit/chainlit/pull/2880
* chore: bump Dependencies by @hayescode in https://github.com/Chainlit/chainlit/pull/2881
* chore: release by @hayescode in https://github.com/Chainlit/chainlit/pull/2883

## New Contributors
* @nzjrs made their first contribution in https://github.com/Chainlit/chainlit/pull/2867
* @MaxwellCalkin made their first contribution in https://github.com/Chainlit/chainlit/pull/2831
* @JonasKenke made their first contribution in https://github.com/Chainlit/chainlit/pull/2833
* @scafer made their first contribution in https://github.com/Chainlit/chainlit/pull/2840
* @Chukwuebuka-2003 made their first contribution in https://github.com/Chainlit/chainlit/pull/2858
* @tristan-ranff made their first contribution in https://github.com/Chainlit/chainlit/pull/2879
* @smilaid made their first contribution in https://github.com/Chainlit/chainlit/pull/2872

**Full Changelog**: https://github.com/Chainlit/chainlit/compare/2.10.1...2.11.0