Skip to content

Commit 146ac09

Browse files
committed
docs: add detailed changelog for version 1.0.7
1 parent 8d2b808 commit 146ac09

2 files changed

Lines changed: 111 additions & 0 deletions

File tree

‎.github/release.yml‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
# https://docs.github.com/en/repositories/releasing-projects-on-github/automatically-generated-release-notes
33

44
changelog:
5+
header: |
6+
📋 **Full Changelog**: See [CHANGELOG.md](https://github.com/copilot-community-sdk/copilot-sdk-java/blob/main/CHANGELOG.md) for detailed release notes.
57
exclude:
68
labels:
79
- ignore-for-release

‎CHANGELOG.md‎

Lines changed: 109 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,109 @@
1+
# Changelog
2+
3+
All notable changes to the Copilot SDK for Java will be documented in this file.
4+
5+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7+
8+
## [1.0.7] - 2026-02-05
9+
10+
### Added
11+
12+
#### Session Lifecycle Hooks
13+
Extended the hooks system with three new hook types for session lifecycle control:
14+
- **`onSessionStart`** - Called when a session starts (new or resumed)
15+
- **`onSessionEnd`** - Called when a session ends
16+
- **`onUserPromptSubmitted`** - Called when the user submits a prompt
17+
18+
New types:
19+
- `SessionStartHandler`, `SessionStartHookInput`, `SessionStartHookOutput`
20+
- `SessionEndHandler`, `SessionEndHookInput`, `SessionEndHookOutput`
21+
- `UserPromptSubmittedHandler`, `UserPromptSubmittedHookInput`, `UserPromptSubmittedHookOutput`
22+
23+
#### Session Lifecycle Events (Client-Level)
24+
Added client-level lifecycle event subscriptions:
25+
- `client.onLifecycle(handler)` - Subscribe to all session lifecycle events
26+
- `client.onLifecycle(eventType, handler)` - Subscribe to specific event types
27+
- `SessionLifecycleEventTypes.CREATED`, `DELETED`, `UPDATED`, `FOREGROUND`, `BACKGROUND`
28+
29+
New types: `SessionLifecycleEvent`, `SessionLifecycleEventMetadata`, `SessionLifecycleHandler`
30+
31+
#### Foreground Session Control (TUI+Server Mode)
32+
For servers running with `--ui-server`:
33+
- `client.getForegroundSessionId()` - Get the session displayed in TUI
34+
- `client.setForegroundSessionId(sessionId)` - Switch TUI display to a session
35+
36+
New types: `GetForegroundSessionResponse`, `SetForegroundSessionResponse`
37+
38+
#### New Event Types
39+
- **`SessionShutdownEvent`** - Emitted when session is shutting down, includes reason and exit code
40+
- **`SkillInvokedEvent`** - Emitted when a skill is invoked, includes skill name and context
41+
42+
#### Extended Event Data
43+
- `AssistantMessageEvent.Data` - Added `id`, `isLastReply`, `thinkingContent` fields
44+
- `AssistantUsageEvent.Data` - Added `outputReasoningTokens` field
45+
- `SessionCompactionCompleteEvent.Data` - Added `success`, `messagesRemoved`, `tokensRemoved` fields
46+
- `SessionErrorEvent.Data` - Extended with additional error context
47+
48+
#### Documentation
49+
- New **[hooks.md](src/site/markdown/hooks.md)** - Comprehensive guide covering all 5 session hooks with examples for security gates, logging, result enrichment, and lifecycle management
50+
- Expanded **[documentation.md](src/site/markdown/documentation.md)** with all 33 event types, `getMessages()`, `abort()`, and custom timeout examples
51+
- Enhanced **[advanced.md](src/site/markdown/advanced.md)** with session hooks, lifecycle events, and foreground session control
52+
- Added **[.github/copilot-instructions.md](.github/copilot-instructions.md)** for AI assistants
53+
54+
#### Testing
55+
- `SessionEventParserTest` - 850+ lines of unit tests for JSON event deserialization
56+
- `SessionEventsE2ETest` - End-to-end tests for session event lifecycle
57+
- `ErrorHandlingTest` - Tests for error handling scenarios
58+
- Enhanced `E2ETestContext` with snapshot validation and expected prompt logging
59+
- Added logging configuration (`logging.properties`)
60+
61+
#### Build & CI
62+
- JaCoCo 0.8.14 for test coverage reporting
63+
- Coverage reports generated at `target/site/jacoco-coverage/`
64+
- New test report action at `.github/actions/test-report/`
65+
- JaCoCo coverage summary in workflow summary
66+
- Coverage report artifact upload
67+
68+
### Changed
69+
70+
- **Copilot CLI**: Minimum version updated from 0.0.400 to **0.0.404**
71+
- Refactored `ProcessInfo` and `Connection` to use records
72+
- Extended `SessionHooks` to support 5 hook types (was 2)
73+
- Renamed test methods to match snapshot naming conventions with Javadoc
74+
75+
### Fixed
76+
77+
- Improved timeout exception handling with detailed logging
78+
- Test infrastructure improvements for proxy resilience
79+
80+
## [1.0.6] - 2026-01-28
81+
82+
### Added
83+
84+
- Initial public release of the Copilot SDK for Java
85+
- Core classes: `CopilotClient`, `CopilotSession`, `JsonRpcClient`
86+
- Session configuration with `SessionConfig`, `ResumeSessionConfig`
87+
- Custom tools with `ToolDefinition` and `ToolHandler`
88+
- Event system with 30+ event types extending `AbstractSessionEvent`
89+
- Pre-tool and post-tool hooks with `SessionHooks`
90+
- Permission handling with `PermissionHandler`
91+
- User input handling with `UserInputHandler`
92+
- BYOK (Bring Your Own Key) support with `ProviderConfig`
93+
- MCP server integration
94+
- Infinite sessions with `InfiniteSessionConfig`
95+
- Skills configuration with `skillDirectories` and `disabledSkills`
96+
- System message customization with `SystemMessageConfig`
97+
- File attachments support
98+
- Streaming responses with delta events
99+
100+
### Documentation
101+
102+
- Getting started guide
103+
- Basic usage documentation
104+
- Advanced usage guide
105+
- MCP servers guide
106+
- Generated Javadoc
107+
108+
[1.0.7]: https://github.com/copilot-community-sdk/copilot-sdk-java/compare/v1.0.6...v1.0.7
109+
[1.0.6]: https://github.com/copilot-community-sdk/copilot-sdk-java/releases/tag/v1.0.6

0 commit comments

Comments
 (0)