v0.237.001
(v0.237.001)
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_logscontainer 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 upwithENABLE_PRIVATE_NETWORKING=trueenvironment variable. - Post-Deployment Security: New
postuphook automatically disables public network access when private networking is enabled. - Enhanced Deployment Hooks: Refactored all deployment hooks in
azure.yamlwith 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.
- 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_searchtoggle,web_search_consent_acceptedtracking,enable_web_search_user_noticetoggle, andweb_search_user_notice_textcustomization 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
conversationIdandconversation_idquery 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
AuthTypeenum fromplugin.schema.json. - Definition File Overrides: Plugin-specific
.definition.jsonfiles can restrict available auth types. - API Endpoint: New
/api/plugins/<plugin_type>/auth-typesendpoint 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_apiandsmart_http_pluginused hardcoded commercial cognitive services scope URL instead of configurable value fromconfig.py. - Solution: Replaced hardcoded scope with
AZURE_OPENAI_TOKEN_SCOPEenvironment 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)
- Updated