v0.261.001 Latest Features: user and admin tiers, generated docs catalog, real screenshots - #1351
Merged
Paul Lizer (paullizer) merged 10 commits intoAug 25, 2026
Conversation
…res release Relabels both in-app Latest Features tiers to 0.261.001, adds 10 user-facing cards and 2 admin cards for capabilities shipped after 0.250.001 that never had one, and extends the test contract. Also carries the pending Enhanced Citations blob endpoint SSRF validation.
Adds real 1280x720 captures for the workflow run control, workflow alert rules, Document Access Index and Cosmos Maintenance cards. Matches the existing house screenshot standard.
…blish admin screenshots to docs Promotes the User-Facing Latest Features checklist out of the Support Menu pane into its own Help tab, and renames the admin tab to Admin Latest Features so the two audiences are distinguishable. Form field names are unchanged. Also publishes the 16 admin_release_260 screenshots to the documentation site.
…ted vs retrieved, source continuity, filename search, bulk metadata)
… by, JSON artifact, Tab mention)
…red file approval) - completes all 22 release image slots
…d parity test Adds scripts/build_latest_release_docs.py, which projects the current user and admin Latest Features catalogs from support_menu_config.py onto the docs site so the two surfaces cannot drift. It emits docs/_data/latest_release_features.yml, creates pages for cards that lack one, refreshes generator-authored pages in place, relabels the release tier on hand-authored pages, and publishes catalog screenshots to docs/images/latest-release. Also: renders the new Admin-Managed Latest Features group on the latest-release index; documents the User-Facing Latest Features admin tab and the renamed Admin Latest Features tab in docs/admin/help.md; regenerates the stale app_surface inventory; drops the Screenshot Placeholder sections from the 20 release-260 pages now that every image is a real capture; corrects the formula-extraction guidance, which told users to look for LaTeX in the document details panel when that panel only shows metadata. Adds functional_tests/test_docs_latest_release_catalog_parity.py covering group membership, page and image resolution, front matter parseability, layout coverage, and generator freshness.
…dance The six release-260 pages that have an admin catalog counterpart carried an identical generated paragraph telling readers to ask an admin whether the feature was enabled. Each now describes what an admin actually configures, verified against the settings panes rather than the catalog prose. Notably, release-260-mcp-platform now covers the inbound MCP server: SimpleChat exposing conversations, documents, prompts, tags, and workflow tools to MCP clients from its own Inbound MCP tab, gated on an Entra scope, app and user roles, and optional client and tenant allow-lists, with OAuth protected-resource metadata for discovery. That direction was previously undocumented. Reverts the version to the locked 0.261.001 tier and aligns the parity test floor.
… setting Admin card shortcuts were written against pre-rework tab ids. LEGACY_TAB_REDIRECTS keeps those links working, so nothing appeared broken, but the alias resolves to whichever tab inherited the old id rather than the tab holding the setting. #general landed on Branding while Terms of Use and the Chat AI Notice live on Notices & Agreements; #search-extract landed on Web & Research instead of Document Extraction; #scale landed on Redis & Caching for two cards whose controls are on Cosmos; #governance landed on Feature Governance for block lists that live in Governance Policies and for MCP policy that lives on MCP Governance. The MCP card now also links the dedicated Inbound MCP tab, which governs SimpleChat acting as an MCP server and was previously unreachable from the card. The Safety Violations shortcut now targets /admin/safety_violations, which is a page rather than a settings tab. Azure Blob File Sync no longer lists SAS as a fourth authentication mode: the selectable set is managed identity, client secret, and connection string, and a SAS URL arrives through the connection string and is then reported back with its scope, permissions, and expiry. Adds functional_tests/test_latest_feature_action_targets.py, which resolves every target through the alias table parsed from admin_sidebar_nav.js, checks the alias table itself for dangling and shadowed entries, and requires current-release cards to name their destination directly. Version stays at 0.261.001.
…abel Three tests on this branch were red before today's docs work. The tier relabel and the switch to shipping cards visible landed without updating them, and the docs structure test froze the exact 20-slug current release list, so adding catalog cards broke it. test_support_menu_user_feature and test_latest_features_release_group_integrity now assert the 0.261.001 tier and visible-by-default behaviour, and derive card and image counts instead of hard-coding 20 cards with exactly 3 screenshots each. test_latest_release_docs_structure treats its guide list as a floor rather than an exact roster, since test_docs_latest_release_catalog_parity already pins the full set against the app catalog. Also updates docs/latest-release/index.md, which still advertised v0.260.001, claimed the screenshots were branded placeholders, and pointed admins at a General tab that does not exist. test_admin_send_feedback_tab is left alone: it is equally broken on origin/Development because it expects pre-rework nav markers that exist on neither branch.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
scripts/build_latest_release_docs.py, so the in-app catalog and the public guides cannot drift apart again. A new parity test enforces it.Linked issue
None. This work was not tracked by an issue and none was opened.
Release Notes & Latest Features
Is this visible to end users?
Is this admin-facing (Admin Settings, governance, deployment, config)?
Should this become a Latest Feature card?
Screenshot needed for the card?
Version bump
application/single_app/config.pyVERSIONthird segment bumped —0.260.028->0.261.001deployers/version.txtbumped, or not needed becausedeployers/was not changedWhat changed
App
support_menu_config.py: user catalog 20 -> 30 cards, admin catalog 16 -> 18; release tier relabelled to 0.261.001.Docs
scripts/build_latest_release_docs.pyprojects both current catalogs onto the docs site: it writesdocs/_data/latest_release_features.yml, creates pages for cards that lack one, refreshes generator-authored pages in place, relabels hand-authored pages, and publishes catalog screenshots.## Admin Sideparagraph; each now describes what an admin actually configures, verified against the settings panes.docs/admin/help.mddocuments the new admin tab, keeping app-surface coverage at 100%.Three defects found while doing this
A page was silently dropping out of the Jekyll build. The first version of the generator wrote front matter with f-strings, and one card summary contains
"that XML file"— the embedded quotes produced a YAML Exception and the page vanished from the site. Front matter is now dumped as real YAML and the parity test parses every page.Admin shortcuts landed one tab away from the setting.
admin_sidebar_nav.jshas a deliberateLEGACY_TAB_REDIRECTStable, so these links worked — but an alias resolves to whichever tab inherited the old id:#general#search-extract#scale#governanceThe MCP card now also links the dedicated Inbound MCP tab, which governs SimpleChat acting as an MCP server and was previously unreachable from the card. "Open Safety" now targets
/admin/safety_violations, which is a page rather than a settings tab.Inaccurate published guidance. The formula-extraction steps told users to look for LaTeX in the document details panel; that panel shows metadata only. Azure Blob File Sync listed SAS as a fourth authentication mode, but the selectable set is
managed_identity/client_secret/connection_string— a SAS URL arrives via connection string and is then validated. Both corrected at the source.Tests this branch had left failing
Three tests were already red before this PR's docs work, because earlier commits on the branch relabelled the tier and flipped cards to visible without updating them. Verified against a
git worktreeatf33f9388. All three now derive counts from the catalog instead of hard-coding them:test_support_menu_user_feature— pinned tier0.260.001, exactly 20 cards, exactly 3 screenshots eachtest_latest_features_release_group_integrity— asserted cards ship hiddentest_latest_release_docs_structure— froze the exact 20-slug current release listLeft alone:
test_admin_send_feedback_tabis red, but it is equally red onorigin/Development— it expects pre-rework nav markers (id="send-feedback-tab",data-tab="search-extract") that exist on neither branch. That is long-standing breakage from the information architecture rework, not this PR.Testing / validation
Note:
test_docs_site_qualityand the link checker read the builtdocs/_site. A stale build produced two false failures and 94 phantom broken links before a rebuild — runbundle exec jekyll buildfromdocs/first.New tests added:
functional_tests/test_docs_latest_release_catalog_parity.py— group membership, page and image resolution, front matter parseability, layout coverage, generator freshness.functional_tests/test_latest_feature_action_targets.py— resolves every card target through the alias table parsed fromadmin_sidebar_nav.js, checks that table for dangling and shadowed entries, and requires current-release cards to name their destination directly.Documentation
Release notes were deliberately skipped at the author's direction, and the version is intentionally locked at 0.261.001 rather than bumped further for the late fixes. Flagging it so the reviewer can override.
Security checklist
@swagger_route(security=get_auth_security())— no new routes in this PRsanitize_settings_for_user()— no new frontend routestest_docs_site_quality::test_no_cdn_browser_assetsThe bundled SSRF fix noted at the top applies
validate_azure_blob_endpoint(...)to the enhanced-citations blob endpoint before aBlobServiceClientis constructed.