Skip to content

Upgrade core dependencies to current stable versions - #12

Merged
chadhs merged 2 commits into
masterfrom
cursor/dependency-upgrades-6ce2
Jul 31, 2026
Merged

chadhs merged 2 commits into
masterfrom
cursor/dependency-upgrades-6ce2

Conversation

@chadhs

@chadhs chadhs commented Jul 30, 2026

Copy link
Copy Markdown
Owner

Summary

Upgrades the Leiningen dependency stack from ~2019 pins to current stable releases, with compatibility fixes for Migratus/next.jdbc, Ring cookie keys, and Timbre’s Sentry appender. Also refreshes the README for local Java 17+ / Postgres setup.

Dependency upgrades

Area From To
Clojure 1.10.0 1.12.5
Ring 1.7.1 1.15.5
Compojure 1.6.1 1.7.2
ring-defaults 0.3.2 0.7.1
tools.cli 0.4.2 1.1.230
HugSQL 0.4.9 0.5.3
PostgreSQL JDBC 42.2.5 42.7.7
Migratus 1.2.3 1.6.7
Timbre 4.10.0 6.8.0
raven-clj 1.5.2 1.7.0
buddy-core 1.6.0 1.12.0-430
Hiccup 1.0.5 2.0.0
Garden 1.3.9 1.3.10
Cheshire 5.8.1 5.13.0
ring-webjars 0.2.0 0.3.1
Font Awesome 5.8.2 6.7.2

Compatibility / docs fixes

  • Migratus uses {:jdbcUrl ...} for next.jdbc
  • lein migrate runs the app --migrate CLI (works with -dev-main)
  • Session cookie key converted to a 16-byte array
  • Sentry appender loaded lazily from Timbre community namespace
  • README: Java 17+, role-matched Postgres setup, local secrets, clearer run/test path

Test plan

  • lein migrate exits cleanly
  • lein with-profile test test — 28 assertions, 0 failures
  • lein uberjar + jar --migrate / --help
  • GitHub Actions CI green

Runtime note: Java 17+ required (Ring 1.14+/Jetty 12). CI uses Java 21.

Open in Web Open in Cursor 

Move the stack onto Clojure 1.12, Ring 1.15, and current database,
logging, and security libraries. Adapt Migratus to next.jdbc, keep
session cookie keys as byte arrays, lazily load the Timbre Sentry
appender, and route `lein migrate` through the app CLI so it works
under the default -dev-main entrypoint.

Co-authored-by: Chad Stovern <chadhs@users.noreply.github.com>
@cursor
cursor Bot marked this pull request as ready for review July 30, 2026 23:54
Document the Java/Leiningen/Postgres prerequisites, local secrets from
profiles_example, role-matched database setup, and a clearer run/test
path after the dependency upgrades.

Co-authored-by: Chad Stovern <chadhs@users.noreply.github.com>
@chadhs
chadhs merged commit abc32e2 into master Jul 31, 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