Tags: protojure/lib
Tags
feat: upgrade shaded Jetty from 11.0.26 to 12.1.8
Jetty 12 is a major release with a minimum Java 17 requirement and
several HTTP/2 client API breaking changes. This commit migrates to
the new API while preserving all 80 existing tests (0 failures,
83.99% coverage, above the 81% threshold).
Changes:
- modules/jetty-shaded/pom.xml: rename artifact http2-client →
jetty-http2-client and align both deps to 12.1.8
- project.clj: javac-options -source/-target 11 → --release 17
- jetty.clj: migrate six breaking API changes:
* MetaData.getFields() → getHttpFields()
* DataFrame.getData() → getByteBuffer()
* Stream.Listener.onData push-model → onDataAvailable pull-model
(stream.readData() + stream.demand() + data.release())
* onReset and onIdleTimeout new signatures
* Session.Listener.Adapter removed; replaced with proxy implementing
all nine Session.Listener methods explicitly (proxy required over
reify due to cloverage instrumentation limitations with default
interface methods)
Signed-off-by: Greg Haskins <greg@manetu.com>
feat: migrate to Pedestal 0.8.x connector API
Replace the legacy io.pedestal.http service map pattern (provider/config)
with the Pedestal 0.8.x PedestalConnector protocol. create-connector now
returns an UndertowConnector record managed via conn/start! and conn/stop!.
- Upgrade pedestal.{log,service,error} 0.7.2 → 0.8.1
- Replace provider/config with create-connector returning UndertowConnector
- Update all tests to use conn/start!, conn/stop!, conn.test/response-for
- Add cheshire 5.13.0 to test dependencies
- Name error-interceptor for better diagnostics
N.B. This is a breaking change! We will be releasing this under v3.x and posting
a migration guide.
Signed-off-by: Greg Haskins <greg@manetu.com>
fix: fix Maven Clojars credentials and add jetty-shaded badge
jetty-shaded-deploy now generates a temporary settings.xml referencing
${env.CLOJARS_USERNAME} and ${env.CLOJARS_PASSWORD} (credential values
never touch disk), so make deploy works identically locally and in CI
using a single credential pair. Remove the now-redundant MAVEN_* env
vars and server-id config from release.yml. Add a Clojars badge for
jetty-shaded to README.
Signed-off-by: Greg Haskins <greg@manetu.com>
ci: migrate to GitHub Actions and add tag-driven Clojars publishing Replace CircleCI with GitHub Actions for CI builds and releases. A new deploy workflow fires on v* tags, stamps the release version ephemerally from the tag, and publishes all five artifacts to Clojars (jetty-shaded via mvn deploy, lein modules via lein sub deploy clojars). - Makefile: add deploy target; fix set-version sed for Linux (sed -i.bak) - project.clj: add :deploy-repositories with CLOJARS_* env var substitution inherited by all four lein modules via lein-parent - All modules: sentinel version 0.0.0-SNAPSHOT (tag alone marks releases) - README: swap CircleCI badge for GitHub Actions badge Signed-off-by: Greg Haskins <greg@manetu.com>
PreviousNext