Conversation
…erge validation ci.yml and deploy-snapshot.yml both triggered on push to main and both called test.yml — running the full Java matrix (17/21/25 × 22 modules) twice in parallel for every merge. Removes ci.yml's push trigger so: - ci.yml validates PRs to main and develop (gate before merge) - deploy-snapshot.yml validates the merged state on main + publishes snapshot Same test coverage, half the CI minutes per merge. Direct pushes to main (bypassing PR) are still test-covered via deploy-snapshot.yml's preflight -> test chain.
Adds three SVG variants under assets/logo/: - ark-icon.svg: 128×128 square tile, ark silhouette on teal gradient (peaked roof + trapezoidal hull + waves) — for favicons and avatars - ark-logo.svg: 420×128 icon + wordmark for light theme (slate-900) - ark-logo-dark.svg: same with near-white wordmark for dark theme README header replaces the plain '# Ark 🛳' with a centered <h1> wrapping a <picture> element that swaps between light and dark logo variants based on the viewer's color-scheme preference. Tagline and badges are now also centered for a cohesive header.
The 420×128 viewBox left ~150 units of empty space to the right of the wordmark — when centered in the README, the bounding box was centered but the visible content appeared off-center to the left. Tightens viewBox to 280×128 so it matches the actual content bounds: icon ends at x=120, wordmark ends near x=265. Centering now reflects the visible content.
…sition After iterating on wave placement and ark vertical centering, reverts to the original design with two short side waves at y=96 and the ark sitting at y=74-102. Cleaner visual composition — waves visible to both sides of the hull, ark anchored in the lower portion of the tile.
… architecture Restructures README.md following a flagship-OSS layout: - Centered logo (picture element, light/dark variants) + tagline + badges - 'What is Ark?' with emoji-prefixed core capabilities - Quick Start (declarative + fluent), with explicit Ark/ArkClient.Builder injection - Frameworks collapsibles (Spring sync, Spring WebFlux, Quarkus, standalone) - Execution Models table with the 5 supported return-type families - 'How it compares' table vs Apache HC5, OkHttp, Spring RestClient, OpenFeign - Architecture mermaid diagram (API surface -> core pipeline -> transport) - Documentation index, Roadmap with delivered vs upcoming items, License Notable accuracy fix in the comparison table: Spring RestClient is marked as supporting declarative interfaces (via @HttpExchange) — present since Spring Framework 6 / Boot 3.x.
…ving to new add-on The Vert.x Mutiny transport + Vertx TLS resolver + Mutiny CDI producers are moved out of ark-quarkus-jackson into a new add-on module (ark-quarkus-jackson-vertx, added in the next commit). The slim extension now depends on JDK transport only — no quarkus-vertx, no ark-mutiny, no ark-transport-vertx-mutiny. The recorder switches from ArkJaxRsProxy.create to ArkProxy.create so proxy-provider/execution-model resolution stays Class.forName-based and does not require MutinyArk on the compile-time classpath. Users who need the Mutiny/Vertx transport must switch to ark-quarkus-jackson-vertx (breaking change). The slim recorder throws a clear IllegalStateException when it encounters a Uni/Multi return type without the vertx add-on. Rest of the extension (JDK sync/async, Jackson serializer, @RegisterArkClient proxy generation, native image support) is unchanged.
… Mutiny transport
Introduces a new Quarkus extension that layers the Vert.x Mutiny transport
on top of the slim ark-quarkus-jackson (JDK-only) extension.
Composition:
- Runtime module (ark-quarkus-jackson-vertx) depends on ark-quarkus-jackson
+ quarkus-vertx + ark-mutiny + ark-transport-vertx-mutiny
- Adds ArkVertxProducer (MutinyHttpTransport + MutinyArkClient.Builder
CDI producers), ArkVertxRecorder (Mutiny client factory), and
VertxTlsResolver / QuarkusVertxTlsResolver (moved from the slim
extension, now under xyz.juandiii.ark.quarkus.vertx.*)
- Deployment module (ark-quarkus-jackson-vertx-deployment) registers the
Vertx-specific beans, native image proxy hints, and vertx-version.txt
resources — mirrors the slim ArkProcessor pattern with vertx-only
content
Interface partitioning strategy: to avoid duplicate synthetic bean
registrations, the slim ArkProcessor skips @RegisterArkClient interfaces
with Uni/Multi return types (detected via Jandex), and the vertx
processor registers only those. Non-reactive interfaces stay with the
slim extension.
Users who need the Mutiny transport switch from:
<artifactId>ark-quarkus-jackson</artifactId>
to:
<artifactId>ark-quarkus-jackson-vertx</artifactId>
The slim extension continues to work as before for JDK-only usage.
…aking change)
- docs/quarkus-jackson.md: adds 'Which extension?' section explaining the
two artifacts and when to pick each, and splits the CDI bean table
between slim-only and vertx-add-on beans
- README.md: Quarkus collapsible now shows both artifact IDs
- CHANGELOG.md: [Unreleased] Breaking section documents:
- Split of ark-quarkus-jackson into slim + -vertx add-on
- Package move for VertxTlsResolver/QuarkusVertxTlsResolver from
xyz.juandiii.ark.quarkus.* to xyz.juandiii.ark.quarkus.vertx.*
- Slim extension no longer transitively pulls Vert.x deps
…slim deployment pom Follow-up to plan 026 split. After the slim ArkProcessor stopped referencing any Vert.x classes (QuarkusVertxTlsResolver moved to the vertx add-on, Mutiny proxy provider reflection entries moved, Vert.x native resources moved), the quarkus-vertx-deployment dep in the slim deployment module is dead weight. Removing it keeps the slim extension's dep graph consistent with its 'JDK-only' promise.
Follow-up to plan 026 split. Adds two entries to ark-bom so users importing the BOM can pull the vertx add-on without specifying a version explicitly: - xyz.juandiii:ark-quarkus-jackson-vertx (runtime) - xyz.juandiii:ark-quarkus-jackson-vertx-deployment (deployment) Matches the existing pattern used for ark-quarkus-jackson + -deployment.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.