# avaje-http

> Controller generation for Javalin, Helidon SE.

- **URL**: https://www.freshcrate.ai/projects/avaje-http
- **Author**: avaje
- **Category**: Infrastructure
- **Latest version**: `3.9` (2026-06-02)
- **License**: Apache-2.0
- **Source**: https://github.com/avaje/avaje-http
- **Homepage**: https://avaje.io/http/
- **Language**: Java
- **GitHub**: 93 stars, 19 forks
- **Registry**: github
- **Tags**: `annotation-processor`, `avaje`, `code-generation`, `controllers`, `helidon`, `http-client`, `http-server`, `java`

## Description

Controller generation for Javalin, Helidon SE.

## Recent releases

| Version | Date | Urgency | Changes |
| --- | --- | --- | --- |
| `3.9` | 2026-06-02 | High | ## What's Changed  * [Client] Fix Async Headers by @SentryMan in https://github.com/avaje/avaje-http/pull/757 * Add `@Body` to resolve ambiguous scalar/collection parameter inferenc… by @rbygrave in https://github.com/avaje/avaje-http/pull/762 * Generate $RequestFactory in avaje-http for request-scoped controllers by @rbygrave in https://github.com/avaje/avaje-http/pull/763 * Make an enum object part of the component schema so it can be reused across different endpoints. by @Tijs-2 in https |
| `3.8` | 2026-04-01 | Medium | ## New Server Added  Avaje Http now supports generating Vertx adapters.   ## What's Changed  * Tag fix by @SentryMan in https://github.com/avaje/avaje-http/pull/720 * [Helidon] Support 204 NO_CONTENT response (with needing ServerResponse) by @rbygrave in https://github.com/avaje/avaje-http/pull/721 * Merge multiple OpenAPI definitions by @cbarlin in https://github.com/avaje/avaje-http/pull/708 * Add OpenAPI Optional, Stream support by @cbarlin in https://github.com/avaje/avaje-http/pull |
| `3.7` | 2026-01-17 | Low | ## What's Changed  * Minimise types registered with avaje-inject for generated Routers by @rbygrave in https://github.com/avaje/avaje-http/pull/690 * Conditionally add BeanTypes annotation in ControllerWriter by @SentryMan in https://github.com/avaje/avaje-http/pull/691 * Jackson 3 by @SentryMan in https://github.com/avaje/avaje-http/pull/695 * Mark the plugin as thread-safe by @cbarlin in https://github.com/avaje/avaje-http/pull/700 * Fix controller level duplicate tags by @SentryMan in h |
| `3.6` | 2025-12-09 | Low | ## What's Changed * Throw an exception if trying to send a request on a closed client by @SentryMan in https://github.com/avaje/avaje-http/pull/656 * Bump the dependencies group with 12 updates by @dependabot[bot] in https://github.com/avaje/avaje-http/pull/657 * Bump the dependencies group with 5 updates by @dependabot[bot] in https://github.com/avaje/avaje-http/pull/658 * Fix the version property name by @andponlin in https://github.com/avaje/avaje-http/pull/659 * Bump ch.qos.logback:logb |
| `3.5` | 2025-10-21 | Low | ## What's Changed * Support Jex Request Scope controllers by @SentryMan in https://github.com/avaje/avaje-http/pull/631 * [Client] Fix Nested Map Generation by @SentryMan in https://github.com/avaje/avaje-http/pull/635 * [client] Add SuppressLogging Annotation by @SentryMan in https://github.com/avaje/avaje-http/pull/637 * Fix SuppressLogging Typo by @SentryMan in https://github.com/avaje/avaje-http/pull/638 * [client] Update Javadocs by @SentryMan in https://github.com/avaje/avaje-http/pul |
| `3.4` | 2025-07-24 | Low | ## What's Changed * [client] support custom classloader by @rbygrave in https://github.com/avaje/avaje-http/pull/607 * [client] add descriptive error msg by @SentryMan in https://github.com/avaje/avaje-http/pull/609 * [helidon] Bug fix for list of query parameters or form parameters when parameters is empty by @rbygrave in https://github.com/avaje/avaje-http/pull/610 * [http-client] combine generated consecutive path literals by @SentryMan in https://github.com/avaje/avaje-http/pull/617 * [ |
| `3.3` | 2025-04-29 | Low | ## What's Changed  * Support background token refresh when using AuthTokenProvider by @rbygrave in https://github.com/avaje/avaje-http/pull/592 * Fix error handler controllers failing test-compilation by @SentryMan in https://github.com/avaje/avaje-http/pull/593 * Fix Helidon path openapi generation by @SentryMan in https://github.com/avaje/avaje-http/pull/596 * Fix generated openapi.json parameter names by @rbygrave in https://github.com/avaje/avaje-http/pull/600   **Full Changelog**: h |
| `3.2` | 2025-03-30 | Low | ## What's Changed * Add compiler error for GET json bodies by @SentryMan in https://github.com/avaje/avaje-http/pull/581 * Improve the compile error message when we think @BeanParam is needed by @rbygrave in https://github.com/avaje/avaje-http/pull/582 * Bump the dependencies group with 9 updates by @dependabot in https://github.com/avaje/avaje-http/pull/583 * Generate Test Clients during test compilation  by @SentryMan in https://github.com/avaje/avaje-http/pull/585 * [jex generation] Root |
| `3.1` | 2025-03-18 | Low | ## What's Changed * Add Native JStachio support by @SentryMan in https://github.com/avaje/avaje-http/pull/567 * [Jex Generator] Use optimized Jex jsonb method by @SentryMan in https://github.com/avaje/avaje-http/pull/568 * [generators] Remove jsonb generation if no jsontypes available by @SentryMan in https://github.com/avaje/avaje-http/pull/569 * [sigma-generator] add jstachio support by @SentryMan in https://github.com/avaje/avaje-http/pull/571 * openapi.json - add reading operationId fro |
| `3.0` | 2025-02-10 | Low | ## Breaking changes  * [Http-Client] now uses virtual thread executor by default when using JDK 21+ * [Http-Client] Rename @Client.Import(types=...) to @Client.Import(value=...) * Jsonb controller generation updated for Jsonb 3.0 * Jex Generation overhauled for jex 3.0   ## What's Changed * Generated $Route classes as final by @rbygrave in https://github.com/avaje/avaje-http/pull/524 * [Sigma-Generator] Filter Chain by @SentryMan in https://github.com/avaje/avaje-http/pull/526 * [heli |

## Dependency audit

- **Score**: 100/100
- **Total deps**: 0
- **Resolved**: 0
- **Unresolved**: 0
- **License conflicts**: 0
- **Warnings**: 0
- **Scanned**: 2026-05-25

## Citation

- HTML: https://www.freshcrate.ai/projects/avaje-http
- Markdown: https://www.freshcrate.ai/projects/avaje-http.md
- Dependencies JSON: https://www.freshcrate.ai/api/projects/avaje-http/deps

_Generated by freshcrate.ai. Indexes github releases for AI-agent ecosystem packages._
