Skip to content

Releases: wvlet/uni

v2026.1.9

06 May 00:21
e9600f1

Choose a tag to compare

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

03 May 19:52
95be8f6

Choose a tag to compare

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

29 Apr 22:48
c6b30ef

Choose a tag to compare

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

28 Apr 20:58
450d0e7

Choose a tag to compare

What's Changed

🐛 Bug Fixes

  • fix: Support self-recursive types in Weaver.fromSurface (#515) by @xerial in #517

🔗 Dependency Updates

  • Update for group aws-sdk by @scala-steward-wvlet[bot] in #516

Full Changelog: v2026.1.5...v2026.1.6

v2026.1.5

28 Apr 06:03
ebe17f6

Choose a tag to compare

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

26 Apr 19:04
bb2cfb6

Choose a tag to compare

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

22 Apr 18:22
6b851fc

Choose a tag to compare

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

  • docs: Focus README on uni and uni-test, add Maven Central badge by @xerial in #495

Full Changelog: v2026.1.2...v2026.1.3

v2026.1.2

22 Apr 18:22
7ca39c1

Choose a tag to compare

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

19 Apr 23:36
984fa41

Choose a tag to compare

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

  • feature: Add PermSet type and POSIX file permission support by @xerial in #473

Full Changelog: v2026.1.0...v2026.1.1

v2026.1.0

29 Mar 06:05
f36ecac

Choose a tag to compare

What's Changed

🔥 Breaking Changes

  • fix: Resolve duplicate sources jar entry breaking release by @xerial in #449

🚀 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.core by @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
    *...
Read more