Release notes
SimpleChat release notes index with latest updates and links to archived release pages.
Release notes
For feature-focused and fix-focused drill-downs by version, see Features by Version and Fixes by Version.
This page includes the latest release notes inline. Older release sections are split into smaller pages by minor series.
Version index
Latest release notes
(v0.261.003)
Bug Fixes
- Broken Documentation Links Repaired
- Clicking the upgrade guide, Docker customization, or enterprise networking links from the repository README or the deployer READMEs led to a “page not found”. Those pages were reorganized from
docs/how-to/<snake_case>.mdtodocs/guides/<kebab-case>.md, and the site kept redirects, but redirects do not apply when browsing files on GitHub. No documentation was ever lost, only mislinked. - Repaired 46 broken relative links in total: 12 in the README and deployer READMEs, and 34 in archived per-version engineering notes. Archived links whose target was never migrated now keep the prose without a dead link, rather than pointing at a file that does not exist.
- Also corrected the “Return to Main” link in the Azure CLI and Terraform deployer READMEs, which pointed one directory too shallow.
- (Ref:
README.md,deployers/*/README.md,docs/explanation/features/,docs/explanation/fixes/, #1371)
- Clicking the upgrade guide, Docker customization, or enterprise networking links from the repository README or the deployer READMEs led to a “page not found”. Those pages were reorganized from
- Recovered 27 Release Note Sections Missing From The Source File
docs/explanation/release_notes.mdhad been truncated from 46 version sections to 19, dropping every v0.260 entry along with v0.250.229 through v0.250.231. The published site still showed them, because the pages that render release notes are generated from this file and had not been rebuilt since the truncation.- That left the repository one routine
build_release_notes_pages.pyrun away from erasing roughly 2,400 lines of release history from the site with no obvious cause. The sections have been restored from history and the pages regenerated, so the source and the site agree again. - (Ref:
docs/explanation/release_notes.md,scripts/build_release_notes_pages.py, #1371)
Documentation
- Web Search Documentation Now Describes What Actually Happens
- The web search guide still described the Bing Web Search API integration that was removed back in v0.229.001. Web search has since run through an Azure AI Foundry agent using the Grounding with Bing Search tool, which is why an admin has to configure a Foundry project and agent ID before the Web control appears.
- Added a dedicated What leaves SimpleChat section stating the egress boundary plainly: only the message the user just typed is sent to the external search service. Conversation history, workspace documents, attached file contents, system prompts, agent instructions, and workspace or document names are never included. This behavior was hardened in v0.241.022 but was previously mentioned only in passing.
- Documented the Deep Research nuance: it runs several planned queries instead of one, but every query is still derived from the current message alone, so no conversation history is introduced.
- Added the Grounding with Bing Search compliance-boundary notice to the user-facing guide, replaced the placeholder text in the admin Web Search settings table with real descriptions, and reused the existing web search flow diagram instead of leaving a “recording planned” video card.
- (Ref:
docs/guides/use-web-search.md,docs/admin/knowledge.md,docs/reference/chat-controls.md,build_web_search_query_text, #1371)
- Documentation Link Rot Now Fails A Test
- Added
functional_tests/test_docs_link_integrity.py, which fails when any relative markdown link in the README,docs/, ordeployers/points at a missing file, when a Jekyllrelative_urlpage link does not resolve, or when a media include names an unregistered slot. Outstanding screenshots are reported but never fail the run. - Added
functional_tests/test_docs_web_search_accuracy.py, which ties the published privacy claim to the implementation. If the web search query builder ever starts folding conversation history back into the outbound query, the test fails and forces the documentation to be corrected with it. - (Ref:
test_docs_link_integrity.py,test_docs_web_search_accuracy.py, #1371)
- Added
- First Batch Of Documentation Screenshots
- Filled 54 empty screenshot slots, taking documentation screenshot coverage from 18 of 122 to 72 of 122. The Administration group is now fully illustrated.
- Added the four admin settings overviews (Backup & Recovery, Data Lifecycle, Governance, Workflow), six chat control references (conversation list, conversation header, composer, selectors, grounded search, and advanced conversation search), thirty-three task guide steps, and configuration panes for eleven action types (Azure Maps, Blob Storage, Chart, Cosmos Query, Databricks, Document Search, Log Analytics, MCP, Microsoft Graph, OpenAPI, RocksDB, and SimpleChat).
- The web search screenshot captures the live data notice, so the guide’s claim that only the current message is sent is now visible rather than only asserted.
- Action configuration panes were captured without saving any action, so every credential field shows only its placeholder text and no tenant values were recorded. Where an admin settings pane already held real values, those fields were replaced with example values before capture and the page was reloaded without saving.
- Replaced the generated placeholder alt text on every filled slot with a description of what the reader actually learns from the image.
- (Ref:
docs/images/admin/,docs/images/reference/,docs/images/guides/, #1371)
(v0.261.002)
User Interface Enhancements
- Inbound MCP Enablement Guidance
- Added a visible Inbound MCP tab state for deployments where the preview admin UI is disabled by the missing
ENABLE_MCP_UI=trueApp Service application setting. - The disabled-state card explains how to enable the preview UI while making clear that the inbound MCP runtime remains off until an admin turns on Enable inbound MCP server after authentication, client allowlist, source, and governance prerequisites are ready.
- (Ref:
admin/_panes/inbound-mcp.html,admin_settings_nav.py, #1364)
- Added a visible Inbound MCP tab state for deployments where the preview admin UI is disabled by the missing
Bug Fixes
- Delegated Governance New Policy Modal Opens On Split Governance Tabs
- Fixed the delegated item governance New Policy button so it opens the policy editor after Admin Settings governance was split into Feature Governance, Policies, and MCP Governance tabs.
- Updated governance quick links to target the correct split tab panes instead of the retired aggregate Governance pane.
- (Ref:
admin_governance.js, delegated item policy editor, #1362)
- Large Markdown Files No Longer Fail To Upload
- Uploading a Markdown file could fail with
Failed processing Markdown file ...and take down the whole document, not just the oversized part of it. Long pages with a big section under a single heading, such as a release notes file, were the usual trigger. - Markdown was the only ingestion path with no maximum chunk size. Its splitter divided the file on headings, and the step afterwards only ever merged chunks that were too small — nothing split a chunk that was too large. A heading with no subheading beneath it therefore became one chunk as large as all the text under it, which the embedding model refused.
- Lowering Markdown (words) in Admin Settings did not work around this, because that value was only ever used as a minimum. It is now a real target, so the setting behaves the way its name implies.
- Sections are now split to the configured size, a character limit is applied after merging to catch content such as tables and code blocks that take up more of the model’s budget than their word count suggests, and a final safeguard keeps any remaining outlier inside the limit. That safeguard trims only the text used to build the chunk’s search vector — the chunk itself is still stored in full, so citations and content are unaffected.
- (Ref:
process_md,save_chunks,functions_content.py,functions_documents.py)
- Uploading a Markdown file could fail with
- Chunk Size Limits Now Respect Their Unit
- Chunk sizes are configured per file type in words, characters, or pages, but a single shared limit was applied to all of them. That let a word-based field be set to 16,384 words — far more than can be indexed — while implying the value was valid.
- Word and character fields now have separate limits, both derived from the embedding model’s context window, and the Document Extraction tab shows the current values. A value above its limit is reduced on save and the page names the fields it changed.
- Page and slide counts are left uncapped here, since how much text a page holds is not known until extraction runs. They are bounded when the chunk is indexed instead.
- No shipping default changed. Only custom overrides that could never have been indexed are affected.
- (Ref:
get_chunk_size_cap,get_chunk_size_config, Document Extraction settings,admin_settings.js)