Skip to content

Conversation

@paullizer
Copy link
Contributor

(v0.236.011)

New Features

  • Retention Policy Defaults

    • Admin-configurable organization-wide default retention policies for conversations and documents across all workspace types.
    • Organization Defaults: Set default retention periods (1 day to 10 years, or "Don't delete") separately for personal, group, and public workspaces.
    • User Choice: Users see "Using organization default (X days)" option and can override with custom settings or revert to org default.
    • Conditional Display: Default retention settings only appear in Admin Settings when the corresponding workspace type is enabled.
    • Force Push Feature: Administrators can push organization defaults to all workspaces, overriding any custom retention policies users have set.
    • Settings Auto-Save: Force push automatically saves pending settings changes before executing to ensure current values are pushed.
    • Activity Logging: Force push actions are logged to activity_logs container for audit purposes with admin info, affected scopes, and results summary.
    • API Endpoints: New /api/retention-policy/defaults/<workspace_type> (GET) and /api/admin/retention-policy/force-push (POST) endpoints.
    • Files Modified: functions_settings.py, admin_settings.html, route_frontend_admin_settings.py, route_backend_retention_policy.py, functions_retention_policy.py, functions_activity_logging.py, profile.html, control_center.html, workspace-manager.js.
    • (Ref: Default retention settings, Force Push modal, activity logging, retention policy execution)
  • Private Networking Support

    • Comprehensive private networking support for SimpleChat deployments via Azure Developer CLI (AZD) and Bicep infrastructure-as-code.
    • Network Isolation: Private endpoints for all Azure PaaS services (Cosmos DB, Azure OpenAI, AI Search, Storage, Key Vault, Document Intelligence).
    • VNet Integration: Full virtual network integration for App Service and dependent resources with automated Private DNS zone configuration.
    • AZD Integration: Seamless deployment via azd up with ENABLE_PRIVATE_NETWORKING=true environment variable.
    • Post-Deployment Security: New postup hook automatically disables public network access when private networking is enabled.
    • Enhanced Deployment Hooks: Refactored all deployment hooks in azure.yaml with stepwise logging, explicit error handling, and clearer output for troubleshooting.
    • Documentation Updates: Expanded Bicep README with prerequisites, Azure Government (USGov) considerations, and post-deployment validation steps.
    • (Ref: deployers/azure.yaml, deployers/bicep/, private endpoint configuration, VNet integration)
  • User Agreement for File Uploads

    • Global admin-configurable agreement that users must accept before uploading files to workspaces.
    • Configuration Options: Enable/disable toggle, workspace type selection (Personal, Group, Public, Chat), Markdown-formatted agreement text (200-word limit), optional daily acceptance mode.
    • User Experience: Modal prompt before file uploads with agreement text, "Accept & Upload" or "Cancel" options, daily acceptance tracking to reduce repeat prompts.
    • Activity Logging: All acceptances logged to activity logs for compliance tracking with timestamp, user, workspace type, and action context.
    • Admin Access: Settings accessible via Admin Settings → Workspaces tab → User Agreement section, with sidebar navigation link.
    • Files Added: user-agreement.js (frontend module), route_backend_user_agreement.py (API endpoints).
    • Files Modified: admin_settings.html, route_frontend_admin_settings.py, base.html, _sidebar_nav.html, functions_activity_logging.py, workspace-documents.js, group_workspaces.html, public_workspace.js, chat-input-actions.js.
    • (Ref: User Agreement modal, file upload workflows, activity logging, admin configuration)
  • Web Search via Azure AI Foundry Agents

    • Web search capability through Azure AI Foundry agents using Grounding with Bing Search service.
    • Pricing: $14 per 1,000 transactions (150 transactions/second, 1M transactions/day limit).
    • Admin Consent Flow: Requires explicit administrator consent before enabling due to data processing considerations outside Azure compliance boundary.
    • Consent Logging: All consent acceptances are logged to activity logs for compliance and audit purposes.
    • Setup Guide Modal: Comprehensive in-app configuration guide with step-by-step instructions for creating the agent, configuring Bing grounding, setting result count to 10, and recommended agent instructions.
    • User Data Notice: Admin-configurable notification banner that appears when users activate web search, informing them that their message will be sent to Microsoft Bing. Customizable notice text, dismissible per session.
    • Graceful Error Handling: When web search fails, the system informs users rather than answering from outdated training data.
    • Seamless Integration: Web search results automatically integrated into AI responses when enabled.
    • Settings: enable_web_search toggle, web_search_consent_accepted tracking, enable_web_search_user_notice toggle, and web_search_user_notice_text customization in admin settings.
    • Files Added: _web_search_foundry_info.html (setup guide modal).
    • Files Modified: route_frontend_admin_settings.py, route_backend_chats.py, functions_activity_logging.py, admin_settings.html, chats.html, chat-input-actions.js, functions_settings.py.
    • (Ref: Grounding with Bing Search, Azure AI Foundry, consent workflow, activity logging, pricing, user transparency)
  • Conversation Deep Linking

    • Direct URL links to specific conversations via query parameters for sharing and bookmarking.
    • URL Parameters: Supports both conversationId and conversation_id query parameters.
    • Automatic URL Updates: Current conversation ID automatically added to URL when selecting conversations.
    • Browser Integration: Uses history.replaceState() for seamless URL updates without new history entries.
    • Error Handling: Graceful handling of invalid or inaccessible conversation IDs with toast notifications.
    • Files Modified: chat-onload.js, chat-conversations.js.
    • (Ref: deep linking, URL parameters, conversation navigation, shareability)
  • Plugin Authentication Type Constraints

    • Per-plugin-type authentication method restrictions for better security and API compatibility.
    • Schema-Based Defaults: Falls back to global AuthType enum from plugin.schema.json.
    • Definition File Overrides: Plugin-specific .definition.json files can restrict available auth types.
    • API Endpoint: New /api/plugins/<plugin_type>/auth-types endpoint returns allowed auth types and source.
    • Frontend Integration: UI can query allowed auth types to display only valid options.
    • Files Modified: route_backend_plugins.py.
    • (Ref: plugin authentication, auth type constraints, OpenAPI plugins, security)

Bug Fixes

  • Control Center Chart Date Labels Fix

    • Fixed activity trends chart date labels to parse dates in local time instead of UTC.
    • Root Cause: JavaScript new Date() was parsing date strings as UTC, causing labels to display previous day in western timezones.
    • Solution: Parse date components explicitly and construct Date objects in local timezone.
    • Impact: Chart x-axis labels now correctly show the intended dates regardless of user timezone.
    • Files Modified: control_center.html (Chart.js date parsing logic).
    • (Ref: Chart.js, date parsing, timezone handling, activity trends)
  • Sovereign Cloud Cognitive Services Scope Fix

    • Fixed hardcoded commercial Azure cognitive services scope references that prevented authentication in Azure Government (MAG) and custom cloud environments.
    • Root Cause: chat_stream_api and smart_http_plugin used hardcoded commercial cognitive services scope URL instead of configurable value from config.py.
    • Solution: Replaced hardcoded scope with AZURE_OPENAI_TOKEN_SCOPE environment variable, dynamically resolved based on cloud environment.
    • Impact: Streaming chat and Smart HTTP Plugin now work correctly in Azure Government, China, and custom cloud deployments.
    • Related Issue: #616
    • (Ref: chat_stream_api, smart_http_plugin, sovereign cloud authentication, MAG support)
  • User Search Toast and Inline Messages Fix

    • Updated searchUsers() function to use inline and toast messages instead of browser alert pop-ups.
    • Improvement: Search feedback (empty search, no users found, errors) now displays as inline messages in the search results area.
    • Error Handling: Errors display both inline message and toast notification for visibility.
    • Benefits: Non-disruptive UX, contextual feedback, consistency with application patterns.
    • Related PR: #608
    • (Ref: group management, user search, toast notifications, UX improvement)

paullizer and others added 30 commits September 22, 2025 20:20
* Development (#467)

* upgrade to v0.229.060 (#459)

* Update release notes to show support for GPT-5

* Documented support for gpt-image-1

* Update config.py

* remove documentation folder

* Documentation and message table support (#444)

* Develop demo docs and import markdown table support

* fixed enhanced citations for groups and public workspaces

* Updated to support showing public workspaces in scope

* Update config.py

* fix docs

* Updated RELEASE_NOTES

* docs demos for public workspaces

* V0.229 bug fixes (v0.229.019) (#448)

* Development (#445)

* Update release notes to show support for GPT-5

* Documented support for gpt-image-1

* Update config.py

* remove documentation folder

* Documentation and message table support (#444)

* Develop demo docs and import markdown table support

* fixed enhanced citations for groups and public workspaces

* Updated to support showing public workspaces in scope

* Update config.py

* fix docs

* Updated RELEASE_NOTES

* video indexer config details, doc intel test button fix, move multimedia configs to search and extract

* improved header security

* updated versions

* moved

* Update EXTERNAL_HEALTH_CHECK_DUPLICATION_FIX.md

* added pdfs

* v0.229.019 bug fixes upgrade to v0.229.058 (#452)

* all urls in chat open in new tabs

* consolidated admin settings for improved navigation

* added left hand nav admin settings menus

* added left hand menu options for workspaces

* Added debug logging to video indexer processes

* readme and functional test

* Workspace Scope in Chat affects Prompts

* Create WORKSPACE_SCOPE_PROMPTS_FIX.md

* time based turn off for debug and file process logging

* improve saving in admin settings

* update to v0.229.058

* Update RELEASE_NOTES.md

* Update RELEASE_NOTES.md

* Popup modal for Health Check config

* Added Health Check config guide

* Chat page top nav bug (#458)

* initial fix

* fixed top nav chat up bug

* notes for v0.229.060

* file location fix

* Update config.py

* Update RELEASE_NOTES.md

* moved to correct location

* Fixed enhanced citations CSP bug

Simple Chat implemented improved security which negatively impacted enhanced citations.

* Updated release notes

* updated version and tests

* swagger support for all endpoints and added swagger search

* added wide screen support for chats when collapsing side bar

* v0.230.001 features
Updated else if for AUTHORITY
* setup folders and base files

* setting up files

* architecture diagrams

* updated to libdoc

* libdoc updates

* updating side bar

* removed loops

* editing side bar

* Created Simple Chat Jekyll theme

* Update config.py (#477) (#478)

Updated else if for AUTHORITY

Co-authored-by: Patrick C Davis <82388365+Patrick-Davis-MSFT@users.noreply.github.com>

* Updating architectures

* Update README.md

---------

Co-authored-by: Patrick C Davis <82388365+Patrick-Davis-MSFT@users.noreply.github.com>
paullizer and others added 27 commits January 15, 2026 11:06
…l, group member role update, and approve/reject request
* retention execution logging bug fix

* debug timer reset with admin save bug fix

* Create test_debug_logging_timer_preservation.py

* fixed file processing logic prevent runtime execution

* fixed bug processing execution against personal documents

* removed test logging

* Retention Policy Document Deletion Fix

* Improve execution logic for rentention policy

Now uses retention_policy_next_run timestamp - Compares current time against the stored next scheduled time. If current time >= next scheduled time, it runs.

Reduced check interval from 1 hour to 5 minutes - More responsive scheduling, ensures it catches the scheduled time promptly.

Better fallback logic - If next_run can't be parsed, falls back to checking last_run (23-hour threshold).

Runs immediately if never run before - If there's no last_run or next_run, it will execute on the first check.
Bug fix - fixed group member management errors with selecting new users, removing them, and updating the roles
…s scope in the chat_stream_api and smart_http_plugin and replaced with variable from config.py so they work in MAG and custom clouds (#618)
* initial structure for private networking

* Update to support private networking for core services

* refactor of private networking

* reformat content for ease of reading / maintenance

* found redis configs were missing

* updates to add in missing configurations for redis cache

* handle zone names for gov cloud.  Externalize zone names

* fix: rename module for storing Cosmos DB secrets to improve clarity

* fix: update OpenID issuer for Azure US Government environment

* fix: remove deprecated Bicep parameter file

* feat: add roles for Control Center administration and dashboard access

* refactor: enhance post-provisioning and pre-deployment scripts with detailed logging and error handling

* removed models that may cause issues in usgov, removed ipaddress from cosmos fw script, minor cleanup of unused values

* fix: update condition for storing search service keys in key vault

* feat: add environment and application permission parameters to deployment configuration

* update to oneclickdeploy.md to correct for updated bicep structures.

* fix: correct links and typos in README.md for improved clarity and navigation

* fix incorrect postup step numbering.  Fix disabling public network access for webapp if private network is enabled

* Fix to support prompting of allowedIPaddresses and enable setting allowed IP addresses for ACR.
…les (#620)

* Configure a user agreement that users must accept before uploading files

* added log_event to exceptions
* Added default retention policy

* Added logging and admin ui

* Updated release notes

* added log_event

* Removed potential to expose error info directly to front end.
* add limition to py

* rmv mjs node

* add agent templating poc

* upd pipeline

* add agent template gallery and start of ai foundry agents

* push for paul

* add conversationid query param

* move abp docs

* add plugin/tool auth definitions

* upd lang instructions + fix

* adad web search--upd/fixes for control center

* upd pipelines

* add swagger

* upd to pipelines

* add max lengths checks for payload and templates

* fix missing swagger import

* add code doc for behavior

* add submittedAt back

---------

Co-authored-by: Bionic711 <nadoyle@microsoft.com>
Co-authored-by: Paul Lizer <paullizer@microsoft.com>
@paullizer paullizer requested a review from Bionic711 January 23, 2026 18:38
Copy link
Collaborator

@Bionic711 Bionic711 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Staging woo!

@Bionic711 Bionic711 merged commit 258cd16 into Staging Jan 23, 2026
3 of 4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants