1.0.0-beta-2 advertised a first-run flow that did not work on a machine with
nothing installed. This release fixes that. Every failure below was measured in
a clean ubuntu:24.04 container, not inferred.
If you tried Wagoe in the last week and gave up somewhere between the install one-liner and a running app, this is the release to try again with.
Fixed: install.sh failed three ways on clean Linux
Three separate bugs (BOU-226), each of which alone was enough to stop a new user:
-
No prerequisite check. A bare image died after about a second on sdkman’s own "Please install unzip" — an error about a tool the user never asked for, printed under a screenful of sdkman ASCII art, never once naming Wagoe. The installer now checks
curl,git,unzipandzipup front and prints the exact install command for the detected OS. -
sdkman aborted right after saying "All done!". Sourcing its init script under
set -euo pipefailfailed onSDKMAN_CANDIDATES_API: unbound variable. The source and the subsequentsdk installnow run underset +u. -
sudowas assumed to exist, which it does not in containers or minimal images. Worse, the steps were writtensudo ./installer && rm installer, andset -eexempts every command in an&&list except the last — so a failed install fell straight through and printed✓ Clojure CLI installedhaving installed nothing at all. There is now anas_root()helper and reachable|| failhandling.
Fixed: a new project could not complete its own quickstart
The setup wizard listed PostgreSQL first and defaulted to it (BOU-228). Both a
non-interactive run and a user simply pressing Enter therefore selected a
database server that was not installed and whose driver was not on the
classpath. Migration died on ClassNotFoundException: org.postgresql.Driver,
and nothing ever served.
The generated config also used :database-path where the platform’s config
reader looks for :db, producing database-path nil and a Malli validation
abort at migration time.
Changed: new projects default to SQLite
Previously H2. SQLite needs no server and, unlike in-memory H2, the data
survives a restart. org.xerial/sqlite-jdbc now ships in a generated project’s
deps.edn, and the generated config reader gained the :wagoe/sqlite branch it
had been missing.
bb setup defaults to SQLite on all three entry points — the interactive menu,
bb setup ai, and flag invocations such as bb setup --payment mock.
Changed: quickstart tells the truth
bb quickstart no longer runs the configuration wizard over a config that
wagoe new has just written. Pass --preset <name> when you want to
reconfigure deliberately.
Its banner now says it will verify rather than start. It never started the app, and claiming otherwise sent people hunting for a failure that had not happened.
Known gaps
Two things a new project still cannot do. Both are tracked and neither is fixed here:
-
/adminreturns 404.com.wagoe/wagoe-adminships indeps.edn, but:wagoe/adminis not wired into the generated config (BOU-229). -
There is no
:runalias, no-mainand no:buildalias, so a generated app can only be started from a REPL via(go)(BOU-254).
Version alignment
All 29 published artifacts are at v1.0.0-beta-3 under the com.wagoe group,
maintaining lockstep versioning.
Upgrade
Re-run the installer to pick up the latest release:
curl -fsSL https://get.wagoe.org | bash
No API changes. If you generated a project on beta-2 and hit the PostgreSQL
default, the quickest path is to regenerate it with wagoe new on beta-3 rather
than patch the config by hand.