Skip to content

Tags: tinystruct/tinystruct

Tags

v1.7.16

Toggle v1.7.16's commit message
Release version 1.7.16 of the tinystruct framework

feat: improve session management and refactor MCP implementation

BREAKING CHANGES:
- Renamed MCPServerApplication to MCPServer for consistency
- Made AbstractMCPResource.executeLocally() abstract, requiring implementations
- Removed registerToolMethods() - now integrated into registerTool()

Session Management:
- Add multi-session support with session-specific state tracking
- Implement ThreadLocal-based session ID management
- Add Mcp-session-id header handling for session persistence
- Replace single sessionState with per-session state map
- Properly cleanup session context in finally blocks

Client Improvements:
- Refactor HTTP communication to use URLRequest/URLResponse
- Improve SSE event stream handling with functional approach
- Add session ID capture and reuse across requests
- Better error handling and connection management

Protocol & Standards:
- Update protocol version constant to PROTOCOL_VERSION
- Standardize server name to "tinystruct-mcp"
- Add SESSION_ID constant to Http class
- Use Header enum for standard HTTP headers
- Remove TOKEN_PARAM in favor of Authorization header

Code Quality:
- Add missing executeLocally() implementations in MCPDataResource and MCPTool
- Improve documentation and formatting
- Remove unused mimeType variable in resource discovery
- Better separation of concerns in request handling

Examples & Documentation:
- Update README with new API usage patterns
- Add batch request and error handling examples
- Document session management features
- Update all code examples to use MCPServer
- Add comprehensive usage examples for CLI client

v1.7.15

Toggle v1.7.15's commit message
Release tinystruct 1.7.15

- Fix Action method argument binding for Request/Response
- Correct args[] indexing with context-aware parameters
- Update version numbers across build, scripts, and docs

v1.7.14

Toggle v1.7.14's commit message
Bump tinystruct version to 1.7.14 and improve core modules

- Update README, pom.xml, dispatcher scripts, and ApplicationManager to reflect version 1.7.14
- Refactor AbstractApplication for improved readability and consistent formatting
  - Multi-line ternary and method call formatting
  - Use `config.getOrDefault` for DEFAULT_BASE_URL
  - Switch `actionRegistry.paths().contains` to `validate(path)` for robust path checking
- Enhance ActionRegistry
  - Make `paths` thread-safe
  - Add `validate(path)` method for path checking
  - Minor formatting and method signature adjustments
- Improve ConnectionManager reliability
  - Track dead connections and avoid reusing them
  - Handle EOFException during send and mark connection as dead
  - Update connection validation and expiration checks
- Refactor HttpServer CORS handling
  - Support dynamic allowed origins and credentials
  - Preflight OPTIONS responses now properly closed with 204 status

v1.7.13

Toggle v1.7.13's commit message
Release v1.7.13: CORS implementation, dependency upgrades, and core f…

…ixes

* Versioning: Synchronized version 1.7.13 in pom.xml, ApplicationManager, and CLI tools.
* Web: Added robust CORS handling for OPTIONS requests in HttpServer; made CORS settings configurable via application.properties.
* Dependencies:
    - Upgraded Lettuce, SQLite, and Mockito.
    - Excluded slf4j-api from lettuce-core and pinned lz4-java to 1.8.1 to resolve classpath conflicts.
* Core Improvements:
    - Settings: Switched to InputStreamReader with UTF-8 for property loading and simplified get() logic.
    - Mapping: Updated UUID generation to apply to any type not starting with "int".
    - MCP: Added metadata descriptions to SSE endpoints.

v1.7.12

Toggle v1.7.12's commit message
Update project version to 1.7.12

- Bump tinystruct version in README from 1.7.11 to 1.7.12
- Update displayed CLI version banner
- Update dispatcher (Unix) script VERSION to 1.7.12
- Update dispatcher.cmd (Windows) script VERSION to 1.7.12
- Bump Maven project version in pom.xml to 1.7.12
- Update ApplicationManager.VERSION constant to 1.7.12

v1.7.11

Toggle v1.7.11's commit message
Update the version to be 1.7.11.

v1.7.10

Toggle v1.7.10's commit message
Update the version to be 1.7.10.

v1.7.9

Toggle v1.7.9's commit message
Upgrade sqlite, jupiter, etc.

v1.7.8

Toggle v1.7.8's commit message
Update the version to be 1.7.8

v1.7.7

Toggle v1.7.7's commit message
Update the version to be 1.7.7.