Releases: wvlet/uni
Releases · wvlet/uni
v2026.1.9
What's Changed
🐛 Bug Fixes
🔗 Dependency Updates
- build(deps): bump pnpm/action-setup from 4 to 6 by @dependabot[bot] in #535
- Update netty-codec-http, netty-handler, ... to 4.2.13.Final by @scala-steward-wvlet[bot] in #539
- Update for group aws-sdk by @scala-steward-wvlet[bot] in #540
🛠 Internal Updates
Full Changelog: v2026.1.8...v2026.1.9
v2026.1.8
What's Changed
🚀 Features
- feature: Add primitive -> RxElement conversions for airframe-rx-html parity (#525) by @xerial in #529
- test: Pin when/unless export reachability for airframe-rx-html migration (#526) by @xerial in #530
- docs: Document styleAttr / titleAttr migration path on
all(#524) by @xerial in #532 - feature: Add RxComponent for content-receiving migration shape (#527) by @xerial in #533
- feature: Add SvgAttrs companion object for partial-import migration (#528) by @xerial in #531
🔗 Dependency Updates
- build(deps): bump jsdom from 29.1.0 to 29.1.1 by @dependabot[bot] in #521
- Update sbt, sbt-dependency-tree, ... to 1.12.11 by @scala-steward-wvlet[bot] in #522
- Update scalajs-env-nodejs to 1.6.0 by @scala-steward-wvlet[bot] in #523
🛠 Internal Updates
- Update langchain4j, langchain4j-bedrock to 1.14.0 by @scala-steward-wvlet[bot] in #520
Full Changelog: v2026.1.7...v2026.1.8
v2026.1.7
What's Changed
🐛 Bug Fixes
- fix: Align scala-native test-interface version with plugin by @xerial in #518
- fix: Avoid POSIX localtime_r in Scala Native log formatter on Windows by @xerial in #519
🔗 Dependency Updates
- Update sbt, sbt-dependency-tree, ... to 1.12.10 by @scala-steward-wvlet[bot] in #514
Full Changelog: v2026.1.6...v2026.1.7
v2026.1.6
v2026.1.5
What's Changed
🐛 Bug Fixes
- fix: Auto-derive Weaver for fields with abstract types via Surface fallback (#511) by @xerial in #513
- fix: Recursively build nested config-class method args (#509) by @xerial in #512
🔗 Dependency Updates
- build(deps): bump dependabot/fetch-metadata from 3.0.0 to 3.1.0 by @dependabot[bot] in #507
- build(deps): bump jsdom from 29.0.2 to 29.1.0 by @dependabot[bot] in #508
Full Changelog: v2026.1.4...v2026.1.5
v2026.1.4
What's Changed
🚀 Features
- feature: Fill wvlet-lang migration gaps 1 and 2 from #498 by @xerial in #499
- feature: Port portable-scala-reflect into wvlet.uni.reflect (#498 Gap 3) by @xerial in #500
- feature: Add @rpc, RxRouter, and RxRouterProvider (#498 Gap 4 Part 1) by @xerial in #501
- feature: Add @rpc scripted test + extend Object filter (#498 Gap 4 Part 2) by @xerial in #503
- feature: Add UniTest lifecycle hooks (#498 Gap 5) by @xerial in #504
- breaking: Drop @rpc annotation, use RxRouter.of[T].withPathPrefix(...) by @xerial in #506
🐛 Bug Fixes
- fix: Filter Object methods and prefix StemNode names (#501 follow-up) by @xerial in #502
- fix: Surface UniTest lifecycle errors in summary + log (#504 follow-up) by @xerial in #505
Full Changelog: v2026.1.3...v2026.1.4
v2026.1.3
What's Changed
🔗 Dependency Updates
- Update for group aws-sdk by @scala-steward-wvlet[bot] in #496
🛠 Internal Updates
- Update langchain4j, langchain4j-bedrock to 1.13.1 by @scala-steward-wvlet[bot] in #497
📚 Docs
Full Changelog: v2026.1.2...v2026.1.3
v2026.1.2
What's Changed
🐛 Bug Fixes
- fix: Validate version input in release.sh to prevent typo-tags by @xerial in #492
- fix: Run sbt-uni publishSigned and sonaRelease in one sbt session by @xerial in #493
🔗 Dependency Updates
- build(deps): bump actions/upload-pages-artifact from 4 to 5 by @dependabot[bot] in #494
Full Changelog: v2026.1.1...v2026.1.2
v2026.1.1
What's Changed
🚀 Features
- feature: Add subprocess execution APIs (run/call/spawn) to IO by @xerial in #454
- feature: Add FileSystem operations to IO facade by @xerial in #455
- feature: Add streaming I/O methods to FileSystem by @xerial in #458
- feature: Add symlink create/read operations to wvlet.uni.io by @xerial in #461
- feature: Add Base62 URL encoding for UUIDv7 and NanoId generator by @xerial in #464
- feature: Add RPC client code generation with sbt 2 plugin by @xerial in #462
- feature: Add JSONC support to JSON parser by @xerial in #471
- feature: Add zip archive support (create/extract/list) to wvlet.uni.io by @xerial in #476
- feature: Add cross-platform filesystem watcher (IOWatch) by @xerial in #475
- feature: Add Element Transitions and Click Outside detection to uni-dom by @xerial in #410
- feature: Add multipart/form-data upload support to HTTP client by @xerial in #484
- feature: Add text parser toolkit (Span, Scanner) to uni-core by @xerial in #488
- feature: Publish sbt-uni plugin via Sonatype release pipeline by @xerial in #491
- feature: Add a standard Result[A] type for exception-aware composition by @xerial in #489
- feature: Port property-based testing into UniTest, drop ScalaCheck dependency by @xerial in #490
🐛 Bug Fixes
- fix: Update vite to 7.3.2 to address security vulnerabilities by @xerial in #472
- fix: Use autolabeler sub-action to fix PR label workflow by @xerial in #474
🔗 Dependency Updates
- build(deps-dev): bump picomatch from 4.0.3 to 4.0.4 by @dependabot[bot] in #456
- Update for group aws-sdk by @scala-steward-wvlet[bot] in #457
- build(deps): bump actions/deploy-pages from 4 to 5 by @dependabot[bot] in #453
- build(deps): bump dependabot/fetch-metadata from 2.5.0 to 3.0.0 by @dependabot[bot] in #452
- Update scala3-library, ... to 3.8.3 by @scala-steward-wvlet[bot] in #459
- Update sbt-scalajs, scalajs-library_2.13, ... to 1.21.0 by @scala-steward-wvlet[bot] in #460
- Update auxlib, clib, javalib, nativelib, ... to 0.5.11 by @scala-steward-wvlet[bot] in #465
- Update sbt, sbt-dependency-tree, ... to 1.12.9 by @scala-steward-wvlet[bot] in #466
- Update for group aws-sdk by @scala-steward-wvlet[bot] in #467
- build(deps): bump jsdom from 29.0.1 to 29.0.2 by @dependabot[bot] in #468
- Update airframe, airframe-codec to 2026.1.5 by @scala-steward-wvlet[bot] in #469
- build(deps): bump release-drafter/release-drafter from 6 to 7 by @dependabot[bot] in #432
- Update scalafmt-core to 3.11.0 by @scala-steward-wvlet[bot] in #477
- build(deps): bump actions/labeler from 5 to 6 by @dependabot[bot] in #478
- Update for group aws-sdk by @scala-steward-wvlet[bot] in #480
- Update airframe, airframe-codec to 2026.1.6 by @scala-steward-wvlet[bot] in #481
🛠 Internal Updates
- Update langchain4j, langchain4j-bedrock to 1.13.0 by @scala-steward-wvlet[bot] in #470
- Update sbt-scalafmt to 2.6.0 by @scala-steward-wvlet[bot] in #479
- chore: Ignore .claude/settings.local.json and include plan drafts by @xerial in #482
📚 Docs
- docs: Add documentation for undocumented modules by @xerial in #451
- docs: Dynamically render latest release version in libraryDependencies examples by @xerial in #483
- docs: Add Book section with Rust-book style narrative guide by @xerial in #485
- feature: Surface FileSystem and make IO the single entry point by @xerial in #486
- docs: Document the RateLimiter utility by @xerial in #487
Other Changes
Full Changelog: v2026.1.0...v2026.1.1
v2026.1.0
What's Changed
🔥 Breaking Changes
🚀 Features
- feature: Add chat model interfaces by @xerial in #2
- feature: Chat Model Interfaces and Response Types Implementation by @xerial in #3
- feature: Refactor ModelConfig and add reasoning configuration by @xerial in #6
- feature: Introduce LLM and LLMAgent classes by @xerial in #12
- feature: Enhance LLM integration with BedrockChat and AgentRunner by @xerial in #16
- feature: Support Bedrock tool configuration by @xerial in #18
- feature: Extract Bedrock chat messages by @xerial in #20
- feature: Add Bedrock chat stream handler by @xerial in #22
- feature: Introduce BedrockConfig for chat settings by @xerial in #23
- feature: Add pull request template for contributions by @xerial in #24
- feature: Enhance Bedrock chat handling with new message types by @xerial in #25
- feature: Enhance chat handling with partial response events in Bedrock by @xerial in #26
- feature: Improve Bedrock chat handling with optional reasoning and enhanced logging by @xerial in #27
- feature: Add reasoning support to Bedrock chat responses by @xerial in #28
- feature: Add support for AI reasoning messages in Bedrock chat handling by @xerial in #29
- feature: Introduce chat session management and improve responses by @xerial in #30
- feature: Add withXXX methods and tests for LLMAgent configuration by @xerial in #32
- feature: Enhance ChatMessage and ChatSession with new message handling by @xerial in #33
- feature: Update Scala version to 3.7.0 by @xerial in #38
- feature: Refactor package structure and update AI component imports by @xerial in #39
- feature: Add wvlet.ai.log for logging utilities by @xerial in #40
- feature: Refactor LogLevel to use Scala 3 enum for improved type safety by @xerial in #41
- feature: Add ULID implementations by @xerial in #49
- feature: Port Surface from airframe by @xerial in #50
- feature: Introduce SourceCode utility for enhanced logging context by @xerial in #51
- feature: Port Airframe DI as wvlet.ai.design by @xerial in #55
- feature: Use Scala-3 friendly design binding methods by @xerial in #61
- feature: AirframeException -> DesignException by @xerial in #63
- feature: Support parsing lowercase representation of ULID by @xerial in #69
- feature: Move modules to
wvlet.ai.coreby @xerial in #70 - feature: Implement JSON parsing and formatting functionality by @xerial in #71
- feature: Add MessagePack packer/unpacker to wvlet.ai.core.msgpack by @xerial in #72
- feature: Add Rx module to wvlet.ai.core by @xerial in #73
- feature: Add Count and ElapsedTime utilities by @xerial in #74
- feature: Add wvlet.ai.core.control module by @xerial in #75
- feature: Introduce ObjectWeaver and WeaverContext for MessagePack serialization by @xerial in #76
- feature: Add JSONWeaver and PrimitiveWeaver for JSON serialization by @xerial in #77
- feature: Add Claude 4 models: Sonnet 4/Opus 4 by @xerial in #87
- feature: Use consistent model names by @xerial in #88
- feature: Refactor ThreadUtil and SecureRandom into util package by @xerial in #94
- feature: Move ULID-related classes to util package by @xerial in #95
- feature: Add UUIDv7 by @xerial in #96
- Support schema-on-read for PrimitiveWeaver.intWeaver by @Copilot in #106
- feature: Add conversation history support to ChatSession by @Copilot in #111
- feature: Add CLAUDE.md for project guidance and development instructions by @xerial in #115
- Add String type support to ObjectWeaver by @xerial in #117
- Add tool_choice support for AWS Bedrock by @xerial in #119
- Support more primitive types in ObjectWeaver by @xerial in #125
- feature: Add List type support to ObjectWeaver by @xerial in #128
- feature: Add Map type support to ObjectWeaver by @xerial in #130
- feature: Add Seq, IndexedSeq, and java.util.List support to ObjectWeaver by @xerial in #131
- feature: Add ListMap support to ObjectWeaver by @xerial in #133
- Add tool execution layer foundation (Phase 1 of MCP support) by @xerial in #160
- feature: Add wvlet.uni.cli package with Chalk, Spinner, and ProgressBar by @xerial in #297
- feature: Add uni-test module - lightweight testing framework with AirSpec syntax by @xerial in #298
- feature: Add missing assertions to match AirSpec syntax by @xerial in #301
- feature: Migrate test framework from airspec to uni-test by @xerial in #302
- feature: Extract uni-log as independent module by @xerial in #305
- feature: Add JUnit 5 Platform integration for IntelliJ IDE support by @xerial in #309
- feature: Support single test selection in IntelliJ by @xerial in #310
- feature: Use lowercase letters by default in ULID output by @xerial in #316
- feature: Add Scala annotation support embedded in Surface by @xerial in #314
- feature: Add cats-effect-like concurrency primitives to uni-rx by @xerial in #317
- feature: Add ANSI color output to uni-test results by @xerial in #315
- feature: Extract Rx core into uni-core module for async test support by @xerial in #319
- feature: Add ObjectWeaver auto-derivation for case classes by @xerial in #320
- feature: Remove logback dependency by implementing native log rotation by @xerial in #321
- feature: Add cross-platform file system abstraction in wvlet.uni.io by @xerial in #322
- feature: Design HTTP module with cross-platform abstractions by @xerial in #326
- feature: Refine HttpStatus and HttpContent with additional utility methods by @xerial in #329
- feature: Add comprehensive HTTP exception classification for retry logic by @xerial in #330
- feature: Add cross-platform CLI launcher library by @xerial in #331
- feature: Add Server-Sent Events (SSE) support for HTTP clients by @xerial in #332
- feature: Show source code snippets on test assertion failures by @xerial in #333
- feature: Rename Chalk to Tint and move to uni-core by @xerial in #341
- feature: Add platform-specific HTTP channel implementations by @xerial in #352
- feature: Add uni-netty module for Netty-based HTTP server by @xerial in #353
- feature: Add REST Router Framework for uni-netty by @xerial in #357
- docs: Feature UniTest on landing page instead of LLM Agent Framework by @xerial in #363
- feature: Add sealed trait support for ObjectWeaver by @xerial in #365
- feature: Rename ObjectWeaver to Weaver for brevity by @xerial in #366
- feature: Add Weaver[Any] support for Map[String, Any] serialization by @xerial in #368
- feature: Add RPC framework with status codes and exception handling by @xerial in #367
- feature: Add Weaver.of[X] syntax for consistent factory method naming by @xerial in #370
- Add Scala 3 enum support to Weaver by @xerial in #377
- Add additional type support to Weaver by @xerial in #378
- Add more type support to Weaver by @xerial in #379
- Add Java interop types, Path, and Tuple support to Weaver by @xerial in #380
- feature: Add RPC server-side implementation (Phase 2) by @xerial in #382
*...