release: v0.2.31 - #1023
Merged
Merged
Conversation
…ttachment handling - Added attachmentStore dependency to TurnService for managing attachments. - Implemented binding of attachments to specific threads in TurnService. - Updated tests for AttachmentStore to cover new binding functionality and authorization checks. - Introduced JSON file preview capabilities in WorkspaceFilePreviewPanel, allowing for editing and saving JSON content. - Enhanced McpServersEditor to include plan-mode read-only tools configuration. - Updated various components and tests to ensure compatibility with new features and maintain functionality.
…sibility and step count display
- Refactor context capacity model to utilize RequestContextSnapshot for improved accuracy. - Introduce new runtime attachment upload functionality to handle various document formats. - Update context capacity UI messages for clarity on estimation sources. - Implement context snapshot storage for active threads to optimize context management. - Add tests for context snapshot handling and queued message guidance. - Introduce support for local office document reading and associated types. - Update runtime image attachment metadata to include document format and visual preview.
…acity handling - Implemented mapping for delegated runtime capabilities, including state management for active threads. - Enhanced context snapshot handling to preserve SDK-managed native history without inventing occupancy. - Updated context capacity calculations to reflect SDK-managed history and added relevant UI updates. - Modified tests to cover new functionality for delegated runtime and context capacity. - Improved localization for new context capacity messages and initial setup dialog options.
…and capabilities - Added tests to validate preservation of delegated SDK continuity metadata on projected requests. - Updated event projection logic to include tool results and delegated metadata. - Enhanced model request trace handling to support delegated capabilities and context management. - Improved UI components to display delegated SDK execution details, including continuity and capability limits. - Added localization strings for new features in multiple languages.
- Added migration for context compaction defaults in app settings. - Introduced initialSetupCompleted flag to track onboarding completion status. - Updated tests to validate initial setup completion behavior for various configurations. - Implemented Claude subscription token validation logic. - Enhanced model provider presets to support new Gemini CLI subscription. - Added workspace file API enhancements for preview leases and file operations. - Updated speech-to-text protocols to include new options for Gemini and XAI.
…elated components
…ictation handling
Update DelegationRuntime tests to reflect changes in profile modes and error handling Enhance HybridThreadStore tests with mock attachmentStore Add mcp_read_only_call tool to MCP tool provider tests Upgrade electron-updater to version 6.8.9 in package.json and package-lock.json Implement ANSI escape sequence redaction in Claude subscription auth Add test for scoped model profiles in runtime config Refactor kun-runtime-config-service to resolve model profiles correctly Update model provider settings to ensure profiles are scoped to providers Enhance upstream model fetching to support default model selection Improve chat message timeline bubble component with memoization Add read-only tools configuration to settings localization files Enhance chat store app actions to handle default model selection from multiple providers Refactor composer model selection logic to include provider context Update app settings normalization to handle keyless subscription providers Refactor kun-gui-api types to include default model selection structure
…e user input handling
…tcuts - Implemented input history functionality in FloatingComposer using localStorage. - Added keyboard navigation for input history with ArrowUp and ArrowDown keys. - Updated FloatingComposer to display shortcut hints for Enter and Shift+Enter. - Refactored tests to cover new input history features and keyboard interactions. - Updated localization files to reflect changes in shortcut hints across multiple languages.
…e service with user input handling
- Introduced `createEnabled` option for Git checkpoint creation to allow users to opt-in for creating checkpoints when sending messages, preventing unbounded disk growth. - Updated `checkpointCleanup` settings to include `lastAppVersion` tracking for cleanup passes after upgrades. - Enhanced cleanup logic to consider checkpoint creation dates and added `maxAgeDays` parameter for better retention management. - Modified related tests and settings to accommodate new `createEnabled` functionality and ensure backward compatibility. - Updated localization files to reflect changes in checkpoint management settings.
- Add tests to reject empty user input calls and questions without text in local tool host. - Update user input tool description to clarify requirements for prompts and questions. - Implement validation to ensure user input requires non-empty prompts or questions. - Modify cleanup logic to enforce maximum checkpoints per thread during cleanup. - Introduce new functions to prune checkpoints based on thread ownership. - Update settings descriptions for checkpoint management to clarify behavior on startup and upgrades. - Refactor rendering logic to ensure live reasoning and assistant content are handled correctly in the UI. - Enhance chat projection reducer to ignore user input requests lacking question text.
…ItemJson and CoreRuntimeEventJson
| } | ||
|
|
||
| function sha256(value: string): string { | ||
| return createHash('sha256').update(value).digest('hex') |
| expect(headers.originator).toBe('codex_cli_rs') | ||
| expect(headers['User-Agent']).toBe(codexUserAgent()) | ||
| expect(headers['User-Agent']).toMatch( | ||
| new RegExp(`^codex_cli_rs\\/${CODEX_CLI_VERSION.replace(/\./g, '\\.')} \\(.+; .+\\)$`) |
| } | ||
|
|
||
| export function sanitizeStaticHtml(html: string): string { | ||
| const withoutScripts = html.replace(/<script\b[^>]*>[\s\S]*?<\/script\s*>/gi, '') |
| } | ||
|
|
||
| export function sanitizeStaticHtml(html: string): string { | ||
| const withoutScripts = html.replace(/<script\b[^>]*>[\s\S]*?<\/script\s*>/gi, '') |
Comment on lines
+298
to
+299
| return withoutScripts | ||
| .replace(/\son[a-z]+\s*=\s*(?:"[^"]*"|'[^']*'|[^\s>]+)/gi, '') |
XingYu-Zhong
marked this pull request as ready for review
July 25, 2026 13:26
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
Prepare Kun v0.2.31 for release from develop to master.
Changes
Tests
Release notes
See release/release-v0.2.31.md.