Repository navigation
Releases: callibrity/chat-journal
Releases · callibrity/chat-journal
Release list
0.0.6 - Improved Test Coverage and Code Quality
What's Changed
Test Coverage Improvements
- ChatConfiguration: Increased coverage from 0% to 100% with new test for streamingChatClient bean
- StreamingRequestBuilder: Increased coverage from 32.3% to 90.4% with comprehensive execute() method tests
- ChatCompletionEmitter: Added callback registration tests and static factory method tests
- Total test count increased from 56 to 70 tests
Code Quality Fixes
- Fixed all 19+ SonarQube code quality issues:
- Removed unused variables and imports
- Replaced lambdas with method references where appropriate
- Changed
ThrowabletoExceptionin catch blocks - Removed
Thread.sleep()from concurrent tests - Chained assertions for better readability
- Consolidated duplicate tests properly
New Features
- Prompt History Navigation in demo UI with up/down arrow keys
- StreamingChatClient: New high-level abstraction for SSE streaming with fluent builder API
- Handler-based API with
onStart(),onChunk(), andonComplete()callbacks - Support for both static and dynamic system prompts
- Auto-generated conversation IDs when null/empty/whitespace
- Easy SSE timeout configuration
Architecture Improvements
- Refactored
StreamingRequestBuilder.execute()to reduce cognitive complexity with 6 helper methods - Simplified
ChatControllerfrom 14 lines to 7 lines using new streaming client - Removed
UncheckedSseEmitterin favor of enhancedChatCompletionEmitter - Improved conversation ID validation with idiomatic Java 11+ Optional pattern
Full Changelog
Commits:
- 492246f Add prompt history navigation with up/down arrows in demo UI
- 9d4ab7a Add comprehensive unit tests for ChatCompletionEmitter and remove UncheckedSseEmitter
- dc5f8f3 Add StreamingChatClient wrapper for simplified SSE streaming
- c24b033 Handle empty/whitespace conversation IDs by generating UUIDs
- 2409d39 Refactor conversation ID validation to use ensureConversationId method
- 52ba0fb Improve test coverage and code quality
- 109af3b Add comprehensive tests for ChatCompletionEmitter callbacks
- 37804b1 Fix all SonarQube code quality issues
- 7545786 Fix: Replace fake parameterized test with single test
Full Diff: 0.0.5...0.0.6
0.0.5 - Documentation & Cleanup
Release 0.0.5
Documentation
- Add Conversation History section to README documenting
ChatJournalEntryRepositoryfor querying full conversation history - Document pagination support and available repository methods
Improvements
- Simplify
ChatJournalEntryMapperto only handle USER and ASSISTANT messages - Remove ObjectMapper dependency from mapper (no longer needed without TOOL message serialization)
- Reduce code complexity by removing unused message type handling
Internal
- Improve release command with build verification step and javadoc goal
- Add tag existence check to prevent duplicate releases
0.0.4 - Persistent Chat History
Release 0.0.4
New Features
- Conversation Persistence in Example App: Conversations now persist across page refreshes using localStorage
- Infinite Scroll: Load older messages automatically when scrolling up in the chat UI
- History API Endpoint: New
GET /chat/historyendpoint for paginated message retrieval - Scroll-to-Bottom Button: Floating button appears when scrolled up for quick navigation back to latest messages
Improvements
- Repository Layer Refactoring: Separated
ChatJournalEntryRepository(general-purpose) fromChatJournalCheckpointRepository(ChatMemory-specific) - New Components:
ChatJournalEntryMapperfor bidirectional Message ↔ Entry conversionChatJournalCheckpointFactoryfor creating checkpoint summaries
- Simplified Checkpointer:
ChatJournalCheckpointernow exposes cleanerrequiresCheckpoint()andcheckpoint()methods - Better Exception Handling: Added
ConversationLimitExceededExceptionwith detailed context - Naming Clarity: Renamed
maxEntriestomaxConversationLength - JDBC Improvements: Added column name constants and extracted
mapRowhelper methods - TaskExecutor: Now uses Spring Boot's default TaskExecutor
Testing
- Added comprehensive tests for
ChatJournalCheckpointFactoryandChatJournalCheckpointer - Added tests for history endpoint in
ChatController - Fixed duplicate test implementation
Documentation
- Updated README with complete configuration reference and table documentation
0.0.3
Add syntax highlighting and copy buttons to chat UI - Replace marked.js with markdown-it for better markdown parsing - Add highlight.js with GitHub theme for syntax highlighting - Add Font Awesome for icons - Add copy buttons to code blocks and blockquotes - Style blockquotes with GitHub-like appearance (gray background, left border) - Style code blocks with GitHub-like appearance 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
0.0.2
Add validation to JDBC repository, JTokkit calculator, and properties - JdbcChatJournalEntryRepository: validate conversationId (not null/empty), entries not null, and summaryEntry not null in all methods - JTokkitTokenUsageCalculator: validate encoding and encodingType not null - ChatJournalProperties: add @Validated with @Positive and @NotNull annotations - Add hibernate-validator test dependency for Bean Validation support 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>