Skip to content

Add jar publishing, README, controller-layer curl logging, and Gradle 9/Java 25/Micronaut 4 upgrade - #1

Merged
CodeYogiCo merged 2 commits into
mainfrom
claude/repository-changes-qao4r0
Jul 8, 2026
Merged

Add jar publishing, README, controller-layer curl logging, and Gradle 9/Java 25/Micronaut 4 upgrade#1
CodeYogiCo merged 2 commits into
mainfrom
claude/repository-changes-qao4r0

Conversation

@CodeYogiCo

Copy link
Copy Markdown
Owner

Summary

  • Add GitHub Actions workflows: CI build/test on push/PR, and publish-to-GitHub-Packages on release (maven-publish config added to build.gradle.kts)
  • Add README.md documenting the library, installation, and configuration
  • Add CurlServerRequestFilter to log curl commands for inbound @Controller requests (previously only outgoing @Client requests were covered by CurlRequestFilter). Both filters are independently toggleable via curl-logger.client.enabled / curl-logger.server.enabled (default true), and share curl-building logic via a new CurlCommandBuilder
  • Fix a bug where the request body's Optional wrapper was being JSON-serialized instead of its actual contents
  • Upgrade Gradle wrapper to 9.6.1, Kotlin to 2.3.0, target bytecode/toolchain to Java 25, and Micronaut to 4.10.16 (BOM moved to io.micronaut.platform:micronaut-platform, micronaut-validation coordinate moved to the io.micronaut.validation group, and micronaut-jackson-databind added explicitly since Micronaut 4 no longer pulls Jackson in transitively)

Test plan

  • gradle compileKotlin / gradle build verified locally (Micronaut 4 + dependency graph validated by temporarily building under JDK 21, the only JDK available in the sandbox, before restoring the committed targetJvm=25 config)
  • CI workflow (ci.yml) passes on GitHub Actions with real JDK 25

Generated by Claude Code

claude added 2 commits July 8, 2026 10:34
… 9/Java 25 upgrade

- Add GitHub Actions workflows: CI build/test and publish-to-GitHub-Packages on release
- Add group/version/maven-publish config to build.gradle.kts for the GitHub Packages target
- Add README documenting the library, installation, and configuration
- Extract curl-building logic into a shared CurlCommandBuilder, fixing a bug where the
  request body's Optional wrapper was serialized instead of its contents
- Add CurlServerRequestFilter to log curl commands for inbound @controller requests,
  independently toggleable from the existing @client filter via curl-logger.client.enabled
  and curl-logger.server.enabled
- Upgrade Gradle wrapper to 9.6.1, Kotlin to 2.4.0, and target bytecode/toolchain to Java 25
- Kotlin 2.3.0 (still supports JVM target 25, confirmed by compilation)
- Micronaut BOM moved to io.micronaut.platform:micronaut-platform 4.10.16
- micronaut-validation coordinate moved to the io.micronaut.validation group
- Add micronaut-jackson-databind explicitly: Micronaut 4 no longer pulls Jackson
  in transitively via micronaut-http-server-netty (decoupled for pluggable serde),
  so CurlCommandBuilder's ObjectMapper usage needs it declared directly

Verified by temporarily compiling with targetJvm=21 (only JDK available in this
sandbox) against the new BOM before restoring targetJvm=25 for the committed config.
@CodeYogiCo
CodeYogiCo merged commit e2e3adf into main Jul 8, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants