Skip to content

Releases: microsoft/simplechat

v0.235.012

15 Jan 17:31
c0926ae

Choose a tag to compare

(v0.235.012)

Bug Fixes

  • Control Center Access Control Logic Fix

    • Fixed access control discrepancy where users with ControlCenterAdmin role were incorrectly granted access when the role requirement setting was disabled.
    • Correct Behavior: When require_member_of_control_center_admin is DISABLED (default), only the regular Admin role grants access. The ControlCenterAdmin role is only checked when the setting is ENABLED.
    • Files Modified: functions_authentication.py (decorator logic), route_frontend_control_center.py (frontend access computation), _sidebar_nav.html and _top_nav.html (menu visibility).
    • (Ref: control_center_required decorator, role-based access control)
  • Disable Group Creation Setting Fix

    • Fixed issue where "Disable Group Creation" setting was not being saved from Admin Settings or Control Center pages.
    • Root Cause 1: Form field name mismatch - HTML used disable_group_creation but backend expected enable_group_creation.
    • Root Cause 2: Missing onclick handler on Control Center's "Save Settings" button.
    • Files Modified: route_frontend_admin_settings.py (form field reading), control_center.html (button handler).
    • (Ref: group creation permissions, admin settings form handling)

v0.235.003

13 Jan 20:39
df8b8f2

Choose a tag to compare

(v0.235.003)

New Features

  • Approval Workflow System

    • Comprehensive approval process for sensitive Control Center operations requiring review and approval before execution.
    • Protected Operations: Take ownership, transfer ownership, delete documents, and delete group operations now require approval.
    • Approval Features: Documented justification, review process by group owners/admins, complete audit trail, auto-expiration after 3 days, notification integration.
    • Database: New approvals container with TTL-based expiration.
    • (Ref: route_backend_control_center.py, route_frontend_control_center.py, control_center.html, approval workflow UI)
  • Agent Streaming Support

    • Real-time streaming support for Semantic Kernel agents with incremental response display.
    • Features: Agent responses stream word-by-word, plugin citation capture during streaming, async generator pattern for efficient streaming, proper async/await handling.
    • User Experience: Matches existing chat streaming experience, see agent thinking in real-time, immediate visual feedback.
    • (Ref: route_backend_chats.py, agent streaming implementation, Semantic Kernel integration)
  • Control Center

    • Comprehensive administrative interface for data and workspace management.
    • User Management: View all users with search/filtering, grant/deny access with time-based restrictions, manage file upload permissions, monitor user engagement and storage.
    • Activity Trends: Visual analytics with Chart.js showing daily activity metrics (chats, uploads, logins, document actions) across 7/30/90-day periods.
    • Group Management: Approval workflow integration, group status management, member activity monitoring.
    • Dashboard: Real-time statistics, key alerts, activity insights.
    • (Ref: route_frontend_control_center.py, route_backend_control_center.py, control_center.html)
  • Message Threading System

    • Linked-list threading system establishing proper message relationships throughout conversations.
    • Thread Fields: thread_id (unique identifier), previous_thread_id (links to previous message), active_thread (thread active status), thread_attempt (retry tracking).
    • Benefits: Proper message ordering, file upload tracking, image generation association, legacy message support.
    • Message Flow: Links user messages to AI responses, system augmentations, file uploads, and image generations.
    • (Ref: route_backend_chats.py, message schema updates, thread chain implementation)
  • User Profile Dashboard

    • Complete redesign into modern dashboard with personalized analytics and visualizations.
    • Metrics Display: Login statistics, chat activity, document usage, storage consumption, token tracking.
    • Visualizations: Chart.js-powered activity trends, 30-day time-series data, interactive charts.
    • Features: Cached metrics for performance, real-time data aggregation, responsive design.
    • (Ref: route_frontend_profile.py, profile.html, Chart.js integration)
  • Speech-to-Text Chat Input

    • Voice recording up to 90 seconds directly in chat interface with Azure Speech Service transcription.
    • Features: Visual waveform display during recording, 90-second countdown timer, review before send, cancel anytime, responsive design.
    • Browser Support: Chrome 49+, Edge 79+, Firefox 25+, Safari 14.1+.
    • Integration: Uses existing Azure Speech Service configuration, MediaRecorder API, Web Audio API.
    • (Ref: route_backend_settings.py, chat-speech-to-text.js, Speech Service integration)
  • Text-to-Speech AI Responses

    • AI messages read aloud using Azure Speech Service with high-quality DragonHD voices.
    • Features: 27 DragonHD Latest Neural Voices across languages, voice preview in profile, customizable speech speed (0.5x-2.0x), play/pause/stop controls.
    • Playback: Inline "Listen" button per message, visual feedback during playback, auto-play mode option, prevents multiple simultaneous playbacks.
    • Integration: Automatically disables streaming when auto-play enabled, per-user profile settings.
    • (Ref: route_backend_tts.py, chat-tts.js, Azure Speech Service)
  • Message Edit Functionality

    • Comprehensive message editing system allowing users to modify their sent messages and regenerate AI responses.
    • Features: Modal interface for editing message text, preserves conversation context and settings, automatically regenerates AI response with edited content, maintains message metadata and threading.
    • User Experience: Edit button on user messages, inline editing workflow, real-time validation, preserves agent/model selection.
    • Integration: Works with /api/message/<id>/edit endpoint, updates conversation history, maintains thread relationships.
    • (Ref: chat-edit.js, route_backend_chats.py, message edit modal)
  • Message Delete Capability

    • One-click message deletion with proper conversation thread cleanup and metadata updates.
    • Features: Delete button on user messages, ownership validation (author-only), updates message threading chains, removes associated metadata.
    • Safety: Confirmation prompt, author verification, cascading thread updates, preserves conversation integrity.
    • Integration: API endpoint for message deletion, updates conversation message count, maintains thread consistency.
    • (Ref: chat-messages.js, message deletion handlers, thread management)
  • Message Retry/Regenerate System

    • Powerful message regeneration system allowing users to retry AI responses with different models, agents, or settings.
    • Features: Modal interface with agent/model selection, adjustable reasoning effort for o-series models, preserves original user message, generates new AI response with selected configuration.
    • Configuration Options: Switch between agents, change model deployments, adjust reasoning effort (low/medium/high), modify generation parameters.
    • User Experience: Retry button on AI messages, dropdown selection for agents/models, real-time configuration updates.
    • (Ref: chat-retry.js, retry modal interface, agent/model switching)
  • Message Masking System

    • Privacy-focused message masking capability for hiding sensitive information with visual overlays and PII protection.
    • Features: Visual mask overlay on message content, masked_ranges metadata tracking character positions, mask/unmask toggle buttons, preserves original content while displaying masked state.
    • Privacy Protection: Masks sensitive data in UI, tracks masked regions in database, supports partial message masking, reversible masking for authorized users.
    • Integration: /api/message/<id>/mask endpoint, masked and masked_ranges metadata fields, visual indicators (bi-front/bi-back icons).
    • User Experience: Mask button on messages, visual overlay showing masked content, toggle between masked and unmasked states.
    • (Ref: chat-messages.js, route_backend_chats.py, masked content handling, applyMaskedState() function)
  • Conversation Pinning

    • Pin important conversations to the top of the conversation list for quick access and improved organization.
    • Features: Single conversation pinning, bulk pin operations for multiple conversations, persistent pin state in database, visual pin indicators in sidebar.
    • Operations: Pin/unpin toggle, bulk selection interface, priority sorting (pinned conversations appear first), is_pinned metadata field.
    • API Endpoints: /api/conversations/<id>/pin (POST), /api/conversations/bulk-pin (POST).
    • User Experience: Pin icon in conversation list, bulk selection checkboxes, immediate visual feedback.
    • (Ref: chat-conversations.js, toggleConversationPin(), bulkPinConversations(), conversation state management)
  • Conversation Hiding

    • Hide conversations from the main list to declutter the sidebar without permanent deletion.
    • Features: Single conversation hiding, bulk hide operations, toggle visibility without data loss, is_hidden metadata field for state persistence.
    • Benefits: Declutter conversation list, temporary archiving without deletion, reversible operation, maintains conversation data.
    • API Endpoints: /api/conversations/<id>/hide (POST), /api/conversations/bulk-hide (POST).
    • User Experience: Hide button in conversation list, bulk selection interface, show hidden conversations toggle.
    • (Ref: chat-conversations.js, toggleConversationHide(), bulkHideConversations(), visibility management)
  • Quick Search for Conversations

    • Real-time client-side conversation filtering for instant search results without server roundtrips.
    • Features: Real-time text filtering, searches conversation titles, client-side performance, keyboard shortcut support (Ctrl+K).
    • Search Scope: Filters visible conversations in current workspace, highlights matching conversations, instant results as you type.
    • User Experience: Search input in sidebar header, keyboard shortcut, clear button, responsive filtering.
    • (Ref: chat-conversations.js, toggleQuickSearch(), client-side filtering)
  • Advanced Search Modal

    • Comprehensive search functionality with filters, pagination, and search history for finding conversations across all workspaces.
    • Features: Full-text search across conversation content, classification filters, date range selection,...
Read more

v0.229.098

21 Nov 16:34
5546e5a

Choose a tag to compare

Out of cycle release today for Simple Chat

🐛 Fixes

  • Scoping issue when selecting All in chat - Search included personal and public documents but was missing groups
  • Video indexer logic improvements
    • #527
    • The API key did not work with paid service, only works with trial
    • Removed API key authentication
    • Updated config guidance to show how to setup managed identity permissions of the app service to the video indexer service

✨ Adds

New File Type Support

Added support for .xml, .yaml/.yml, .doc, .docm, and .log file types

Multi-Modal Vision Analysis for Images

Implemented comprehensive image upload support with AI-powered analysis:

Features:

  • Base64 Conversion & Inline Display: Uploaded images are converted to base64 and displayed inline in the chat (like AI-generated images) instead of as file links
  • Automatic Chunking: Large images (>1.5MB) are automatically split across multiple Cosmos DB documents to avoid the 2MB document limit, then seamlessly reassembled on retrieval
  • Dual Text Extraction:
    • Document Intelligence OCR: Extracts all visible text from the image
    • GPT-4o Vision Analysis: Provides AI-generated description, object detection, contextual analysis, and text interpretation
  • Info Button: User-uploaded images display an info button that reveals extracted text and vision analysis in a formatted, scrollable drawer
  • Token-Efficient Chat History: Image context (OCR + Vision analysis) is included in the chat history as system messages so the AI can answer questions about uploaded images, but base64 image data is explicitly excluded to prevent token waste
    • OCR + Vision analysis: ~625 tokens per image ✅
    • Full base64 data: ~350K tokens per 1MB image ❌ (prevented)
  • Settings Control: Multi-modal vision can be enabled/disabled in admin settings with model selection (GPT-4o, GPT-4o-mini, o-series, GPT-5, etc.)

Technical Implementation:

  • Images stored with role: 'image' and metadata.is_user_upload: true flag
  • Stores extracted_text (OCR), vision_analysis (AI insights), and filename metadata
  • Backend automatically includes image context in conversation history for AI reasoning
  • Runtime safety checks prevent base64 data leakage into chat history
  • Debug logging tracks image context addition and character counts

User Experience:

  • Upload an image → Displays as thumbnail in chat
  • Click info button → View formatted OCR text and AI vision analysis
  • Ask questions about the image → AI uses extracted context to respond accurately

📦 Chunking Strategy for New File Types

Update README with chunking strategy · Issue #98 · microsoft/simplechat

DOC / DOCM

  • Processed with Python package docx2txt
  • Chunked by ~400 words, approximating an A4 page

XML

  • Uses RecursiveCharacterTextSplitter with XML-aware separators
  • Structure-preserving chunking:
    • Separators prioritized: \n\n\n> (end of XML tags) → space → character
    • Splits at logical boundaries to maintain tag integrity
  • Chunked by 4000 characters
  • Goal: Preserve XML structure by splitting at tag boundaries rather than mid-element, ensuring chunks are more semantically meaningful for LLM processing
  • See process_xml

YAML / YML

  • Uses RecursiveCharacterTextSplitter with YAML-aware separators
  • Structure-preserving chunking:
    • Separators prioritized: \n\n\n- (YAML list items) → space → character
    • Splits at logical boundaries to maintain YAML structure
  • Chunked by 4000 characters
  • Goal: Preserve YAML hierarchy and list structures by splitting at section boundaries and list items rather than mid-key or mid-value
  • See process_yaml

LOG

  • Processed using line-based chunking to maintain log record integrity
  • Never splits mid-line to preserve complete log entries
  • Line-Level Chunking:
    1. Split file by lines using splitlines(keepends=True) to preserve line endings
    2. Accumulate complete lines until reaching target word count ≈1000 words
    3. When adding next line would exceed target AND chunk already has content:
      • Finalize current chunk
      • Start new chunk with current line
    4. If single line exceeds target, it gets its own chunk to prevent infinite loops
    5. Emit chunks with complete log records
  • Goal: Provide substantial log context (1000 words) while ensuring no log entry is split across chunks
  • See process_log

📝 Version Updates

  • Incremented version to 0.229.098

v0.229.063

04 Oct 02:50
33383f9

Choose a tag to compare

Bug Fixes

  • Admin Plugins Modal Load Fix
    • Fixed issue where Admin Plugins modal would fail to load when using sidenav navigation.
    • Root Cause: JavaScript code attempted to access DOM elements that didn't exist in sidenav navigation.
    • Solution: Corrected DOM element checks to ensure compatibility with both top-nav and sidenav layouts.
    • User Experience: Admins can now access the Plugins modal reglardless of navigation style.
    • (Ref: admin_plugins.js, DOM existence checks)

v0.229.062

26 Sep 19:50
0a632e0

Choose a tag to compare

Bug Fixes

  • Enhanced Citations CSP Fix
    • Fixed Content Security Policy (CSP) violation that prevented enhanced citations PDF documents from being displayed in iframe modals.
    • Issue: CSP directive frame-ancestors 'none' blocked PDF endpoints from being embedded in iframes, causing console errors: "Refused to frame '...' because an ancestor violates the following Content Security Policy directive: 'frame-ancestors 'none''".
    • Root Cause: Enhanced citations use iframes to display PDF documents via /api/enhanced_citations/pdf endpoint, but the restrictive CSP policy prevented same-origin iframe embedding.
    • Solution: Changed CSP configuration from frame-ancestors 'none' to frame-ancestors 'self', allowing same-origin framing while maintaining security against external clickjacking attacks.
    • Security Impact: No reduction in security posture - external websites still cannot embed application content, only same-origin framing is now allowed.
    • Benefits: Enhanced citations PDF modals now display correctly without CSP violations, improved user experience for document viewing.
    • (Ref: config.py SECURITY_HEADERS, test_enhanced_citations_csp_fix.py, CSP policy update)

v0.229.061

18 Sep 18:59

Choose a tag to compare

Bug Fixes

  • Chat Page Top Navigation Left Sidebar Fix
    • Fixed positioning and layout issues when using top navigation mode where the chat page left-hand menu was overlapping with the top navigation bar.
    • Created a new short sidebar template (_sidebar_short_nav.html) optimized for top navigation layout without brand/logo area.
    • Modified chat page layout to hide built-in left pane when top nav is enabled, preventing redundant navigation elements.
    • Implemented proper positioning calculations to account for top navigation bar height with and without classification banner.
    • (Ref: _sidebar_short_nav.html, base.html, chats.html, conditional template inclusion, layout positioning fixes) s

v0.229.058

18 Sep 18:51
a888cf9

Choose a tag to compare

New Features

  • Admin Left-Hand Navigation Enhancement

    • Introduced an innovative dual-navigation approach for admin settings, providing both traditional top-nav tabs and a modern left-hand hierarchical navigation system.
    • Key Features: Conditional navigation that automatically detects layout preference, hierarchical structure with two-level navigation (tabs → sections), smart state management for active states and submenus.
    • Comprehensive Organization: All admin tabs now include organized sub-sections with proper section targeting for enhanced navigation.
    • Benefits: Matches conversation navigation patterns users already know, provides better organization for complex admin settings, enables bookmarkable deep links to specific sections.
    • (Ref: admin_settings.html, _sidebar_nav.html, admin_sidebar_nav.js)
  • Time-Based Logging Turnoff Feature

    • Provides administrators with automatic turnoff capabilities for debug logging and file process logging to manage costs and security risks.
    • Cost Management: Prevents excessive logging costs by automatically disabling logging after specified time periods (minutes to weeks).
    • Risk Mitigation: Reduces security risks by ensuring debug logging doesn't remain enabled indefinitely.
    • Configuration Options: Supports time ranges from 1-120 minutes, 1-24 hours, 1-7 days, and 1-52 weeks for both debug logging and file processing logs.
    • Background Monitoring: Daemon thread monitors and enforces timer expiration automatically.
    • (Ref: admin_settings.html, route_frontend_admin_settings.py, app.py)
  • Comprehensive Table Support Enhancement

    • Enhanced table rendering to support multiple input formats ensuring tables from AI agents or users are properly displayed as styled HTML tables.
    • Format Support: Unicode box-drawing tables (┌─┬─┐ style), markdown tables wrapped in code blocks, pipe-separated values (PSV) in code blocks, standard markdown tables.
    • Processing Pipeline: Implements preprocessing pipeline that detects and converts various table formats to standard markdown before parsing.
    • Bootstrap Integration: All generated tables automatically receive Bootstrap styling with striped rows and responsive design.
    • (Ref: chat-messages.js, table conversion functions, functional tests)
  • Public Workspace Management Enhancement

    • Added "Go to Public Workspace" button to Public Workspace Management page for quick navigation from management to workspace usage.
    • User Experience: One-click navigation from management page to public workspace, automatically sets workspace as active for the user.
    • Consistency: Aligns with existing Group Workspace management functionality, provides consistent workflow between management and usage.
    • (Ref: manage_public_workspace.html, route_frontend_public_workspaces.py)
  • Multimedia Support Reorganization

    • Reorganized Multimedia Support section from "Other" tab to "Search and Extract" tab with comprehensive Azure AI Video Indexer configuration guide.
    • Enhanced Configuration: Added detailed setup instructions modal with step-by-step account creation, API key acquisition guidelines, and troubleshooting section.
    • Improved Organization: Groups related search and extraction capabilities together, maintains all existing multimedia settings and functionality.
    • (Ref: admin_settings.html, _video_indexer_info.html)

Bug Fixes

  • Admin Configuration Improvements

    • Addressed user feedback about admin settings organization and implemented critical improvements to reduce confusion and provide better guidance.
    • Duplicate Health Check Fix: Consolidated health check configuration in General tab, removed duplicate from Other tab, added missing form field processing.
    • Tab Organization: Reorganized tabs into logical groups (Core Settings, AI Models Group, Content Processing Group, Security, User Features, System Administration).
    • Workspace Dependency Validation: Implemented real-time JavaScript validation to guide users when workspaces are enabled without required services (Azure AI Search, Document Intelligence, Embeddings).
    • (Ref: admin_settings.html, admin_settings.js, route_frontend_admin_settings.py, route_external_health.py)
  • Admin Settings Tab Preservation Fix

    • Fixed issue where admin settings page would redirect to "General" tab after saving, rather than preserving the active tab.
    • Root Cause: Server-side redirects lose hash fragments, and tab activation only checked URL hash on page load without restoration mechanism.
    • Solution: Implemented client-side tab preservation using sessionStorage, enhanced with dual navigation interface support (traditional tabs and sidebar navigation).
    • User Experience: Users can now save settings and remain in their current tab, reducing frustration and improving workflow efficiency.
    • (Ref: admin_settings.js, tab restoration logic, session storage implementation)
  • Workspace Scope Prompts Fix

    • Fixed workspace scope selector to affect both document filtering and prompt filtering consistently.
    • Issue: Workspace scope selection only affected documents but not prompts, creating inconsistent user experience.
    • Solution: Integrated prompt loading with workspace scope selector, implemented scope-aware filtering logic (All, Personal, Group, Public), added event listeners for scope changes.
    • Impact: Consistent behavior between document and prompt filtering, improved workflow efficiency for users working within specific workspace contexts.
    • (Ref: chat-prompts.js, chat-global.js, scope filtering implementation)
  • External Links New Window Fix

    • Fixed web links in AI responses and user messages to open in new windows/tabs instead of replacing current chat session.
    • Root Cause: External links in markdown content didn't include target="_blank" attribute after DOMPurify sanitization.
    • Solution: Created addTargetBlankToExternalLinks() utility function that identifies external links and adds proper attributes including security measures.
    • Security Enhancement: Added rel="noopener noreferrer" for enhanced security, maintains DOMPurify sanitization.
    • (Ref: chat-utils.js, chat-messages.js, external link processing)
  • Video Indexer Debug Logging Enhancement

    • Enhanced Video Indexer functionality with comprehensive debug logging to help diagnose API call failures and configuration issues.
    • Comprehensive Logging: Added detailed logging for authentication, upload process, processing polling, insights extraction, chunk processing, and video deletion.
    • Troubleshooting Support: Provides detailed error information, request/response data, and step-by-step processing details for customer support.
    • Integration: Uses existing debug_print function with enable_debug_logging setting for controlled debugging without performance impact.
    • (Ref: functions_authentication.py, functions_documents.py, Video Indexer workflow logging)

v0.229.014

16 Sep 02:06
d0d5e60

Choose a tag to compare

Bug Fixes

Public Workspace Management Fixes
  • Public Workspace Management Permission Fix

    • Fixed incorrect permission checking for public workspace management operations when "Require Membership to Create Public Workspaces" setting was enabled.
    • Issue: Users with legitimate access to manage workspaces (Owner/Admin/DocumentManager) were incorrectly shown "Forbidden" errors when accessing management functionality.
    • Root Cause: The manage_public_workspace route was incorrectly decorated with @create_public_workspace_role_required, conflating creation permissions with management permissions.
    • Solution: Removed the incorrect permission decorator from the management route, allowing workspace-specific membership roles to properly control access.
    • (Ref: route_frontend_public_workspaces.py, workspace permission logic)
  • Public Workspace Scope Display Enhancement

    • Enhanced the Public Workspace scope selector in chat interface to show specific workspace names instead of generic "Public" label.
    • Display Logic:
      • No visible workspaces: "Public"
      • 1 visible workspace: "Public: [Workspace Name]"
      • 2-3 visible workspaces: "Public: [Name1], [Name2], [Name3]"
      • More than 3 workspaces: "Public: [Name1], [Name2], [Name3], 3+"
    • Benefits: Improved workspace identification, consistent with Group scope naming pattern, better navigation between workspace scopes.
    • (Ref: chat-documents.js, scope label updates, dynamic workspace display)
User Interface and Content Rendering Fixes
  • Unicode Table Rendering Fix
    • Fixed issue where AI-generated tables using Unicode box-drawing characters were not rendering as proper HTML tables in the chat interface.
    • Problem: AI agents (particularly ESAM Agent) generated Unicode tables that appeared as plain text instead of formatted tables.
    • Solution:
      • Added convertUnicodeTableToMarkdown() function to detect and convert Unicode table patterns to markdown format
      • Enhanced message processing pipeline to handle table preprocessing before markdown parsing
      • Improved unwrapTablesFromCodeBlocks() function to detect tables mistakenly wrapped in code blocks
    • Impact: Tables now render properly as HTML, improving readability and data presentation in chat responses.
    • (Ref: chat-messages.js, Unicode table conversion, markdown processing pipeline)

v0.229.002

12 Sep 19:11
b381f82

Choose a tag to compare

New Features

  • GPT-5 Support

    • Added support for the GPT-5 family across Azure deployments: gpt-5-nano, gpt-5-mini, gpt-5-chat, and gpt-5.
  • Image generation: gpt-image-1 Support

    • Added support for the gpt-image-1 image-generation model. Offers improved image fidelity, dramatic improvement of word and text in the image, and stronger prompt adherence compared to DALL·E 3.
  • Public Workspaces

    • Introduced organization-wide document repositories accessible to all users, enabling shared knowledge repositories and improved organization-wide knowledge discovery.
    • Features include: centralized document management, seamless workspace scope switching, and organization-wide read access with admin-controlled write permissions.
    • (Ref: public_documents_container, Azure AI Search integration, workspace scope UI)
  • Enhanced Plugin System with Action Logging and Citations

    • Comprehensive logging system for all Semantic Kernel actions/plugin invocations, capturing function calls, parameters, results, and execution times.
    • Features include: automatic logging, user tracking, Azure Application Insights integration, RESTful API endpoints for accessing logs and statistics.
    • (Ref: plugin_invocation_logger.py, logged_plugin_loader.py, route_plugin_logging.py)
  • SQL Actions/Plugins for Database Integration

    • Complete SQL plugin system enabling AI agents to interact with SQL databases effectively across multiple platforms (SQL Server, PostgreSQL, MySQL, SQLite).
    • Features include: schema extraction, query execution with safety features, multi-database support, SQL injection protection, and read-only mode enforcement.
    • (Ref: sql_schema_plugin.py, sql_query_plugin.py)
  • Configurable OpenAPI Actions/Plugins

    • Flexible OpenAPI plugin system allowing users to expose any OpenAPI-compliant API as Semantic Kernel plugin functions.
    • Features include: user-configurable specs, flexible authentication, secure file uploads, web UI integration, and support for both YAML and JSON formats.
    • (Ref: OpenAPI plugin factory, security validation, modal interface configuration)
  • Left-Hand Navigation Menu

    • Complete redesign of navigation paradigm with persistent sidebar interface providing access to conversations, workspaces, and key features.
    • Features include: responsive collapsible design, state management, dynamic loading, and full keyboard accessibility support.
    • (Ref: Sidebar CSS framework, JavaScript components, conversation lists)
  • Consolidated Account Menu

    • Unified dropdown-based navigation system consolidating all user account-related functions into a single, intuitive interface.
    • Features include: single-point access to account functions, streamlined navigation, responsive design, and dynamic content based on user permissions.
    • (Ref: Bootstrap dropdown component, state management, role-based menu items)
  • Dark Mode and Light Mode Logo Support

    • Intelligent logo management that automatically switches between different logo variants based on the user's selected theme.
    • Features include: dual logo storage, automatic theme detection, CSS-based logo switching, and admin configuration for both variants.
    • (Ref: Theme detection, database schema for logo variants, admin upload interface)
  • Message Metadata Display

    • Comprehensive tracking and display of detailed information about each message including timestamps, token usage, model information, and processing times.
    • Features include: real-time metadata collection, structured storage in Cosmos DB, expandable UI display, and performance tracking.
    • (Ref: Message metadata schema, UI integration, token usage monitoring)
  • Copy Text Message Feature

    • Convenient one-click copying of message content with support for various content types including plain text, formatted content, and code blocks.
    • Features include: universal copy support, format preservation, smart content detection, and modern clipboard API integration.
    • (Ref: MessageCopyManager, clipboard API, content type detection)
  • External Links Configuration

    • Administrative ability to configure and display custom navigation links to external resources and services within the SimpleChat interface.
    • Features include: admin configuration, database storage, URL validation, responsive design, and role-based link visibility.
    • (Ref: External links schema, admin interface, security validation)
  • Enhanced Citations Managed Identity Authentication

    • Added Managed Identity authentication option to Enhanced Citations Storage Account configuration, eliminating need for stored connection strings.
    • Features include: dropdown selection for authentication method, dynamic form fields, validation logic, and Azure RBAC support for fine-grained access control.
    • Benefits include: enhanced security posture, elimination of stored secrets, and support for enterprise security policies.
    • (Ref: enhanced_citations_storage_authentication_type, storage client initialization, RBAC documentation)

User Interface Enhancements

  • Comprehensive UI Performance Enhancements

    • Multiple interconnected improvements including group name display in workspace scope selection, personal and group workspace UI improvements, and enhanced file upload performance.
    • Improvements include: 50x tabular data performance improvement, smart HTTP plugin with PDF support, user-friendly feedback displays, and improved group management UI.
    • (Ref: WorkspaceScopeManager, performance optimizations, UI component updates)
  • Improved Chat UI Input Layout

    • Comprehensive redesign of chat interface's input and button layout creating more space for typing and streamlined user experience.
    • Features include: responsive grid system, component-based design, CSS Grid and Flexbox layout, and touch-optimized controls.
    • (Ref: Chat input container, responsive layout, mobile optimization)
  • Double-Click Conversation Title Editing

    • Intuitive conversation renaming through double-click gesture directly within the chat interface, eliminating need for separate edit dialogs.
    • Features include: inline editing, event handling with debouncing, auto-save functionality, and keyboard support (Enter to save, Escape to cancel).
    • (Ref: ConversationTitleEditor, inline editing, event handling)
  • Conversation Metadata Modal Width Enhancement

    • Enhanced conversation metadata modal to be wider so conversation IDs and long text content display properly without wrapping.
    • Changes include: increased modal width from modal-lg to modal-xl, updated CSS for 1200px max-width, and enhanced code element styling.
    • (Ref: templates/chats.html, modal width enhancements, readability improvements)
  • Comprehensive File Content Inclusion Enhancement

    • Unified content limits for all file types, increasing from 1KB to 50KB for non-tabular files to match tabular file limits.
    • Benefits include: consistent LLM performance regardless of file type, complete document analysis, enhanced code review capabilities, and simplified logic.
    • (Ref: route_backend_chats.py, unified content limits, LLM context enhancement)

Bug Fixes

Agent and Plugin System Fixes
  • Agent Citations Cross-Conversation Contamination Fix

    • Fixed critical bug where agent citations leaked between different conversations due to global singleton logger returning all invocations without filtering.
    • (Ref: route_backend_chats.py, plugin invocation logger filtering)
  • Agent Citations Per-Message Isolation Fix

    • Resolved issue where agent citations accumulated across messages within the same conversation instead of being specific to each user interaction.
    • (Ref: message-specific citation tracking, plugin logger timestamp filtering)
  • Agents/Plugins Blueprint Registration Fix

    • Fixed registration issues with agent and plugin blueprints preventing proper initialization and route handling.
    • (Ref: blueprint registration order, route conflicts resolution)
  • Agent JavaScript Loading Error Fix

    • Resolved JavaScript loading errors in agent configuration interface that prevented proper agent management.
    • (Ref: agent settings UI, JavaScript dependency loading)
  • Agent Model Display Fixes

    • Fixed display issues with agent model selection and configuration in the admin interface.
    • (Ref: model dropdown rendering, agent configuration UI)
  • Plugin Duplication Bug Fix

    • Eliminated duplicate plugin registrations that caused conflicts and unexpected behavior in plugin execution.
    • (Ref: plugin loader deduplication, registration tracking)
  • Smart HTTP Plugin Citations Integration Fix

    • Added missing citation support for Smart HTTP Plugin calls to ensure consistent citation display across all plugin types.
    • (Ref: @plugin_function_logger decorator integration, citation system uniformity)
  • Smart HTTP Plugin Content Management Fix

    • Improved content handling and processing for Smart HTTP Plugin responses and data management.
    • (Ref: HTTP response processing, content formatting)
  • SQL Plugin Validation Fix

    • Enhanced SQL plugin input validation and error handling for safer database interactions.
    • (Ref: SQL injection protection, query validation)
File Processing and Data Handling Fixes
  • Tabular Data CSV Storage Optimization Fix
    • Replaced inefficient HTML table storage format with clean C...
Read more

v0.215.38

25 Jul 18:06
e740dbc

Choose a tag to compare

Release v0.215.38

Bug Fix

  • Tactical fix applied to enable the ChainGuard container to start correctly.

  • The Flask app is now explicitly bound to all interfaces and uses a fixed port:

    app.run(host="0.0.0.0", port=5000, debug=False)

This resolves startup failures caused by the container defaulting to localhost.