Releases: muthuishere/cljgo
Release list
cljgo 0.8.9
Changelog
- a1946df: fix(version,deps): a dev build claimed to be a release — #189, #180, POM charset (@muthuishere)
- ebd91ae: release: prepare v0.8.9 (@muthuishere)
Install
go install github.com/muthuishere/cljgo/cmd/cljgo@v0.8.9Or download a binary above and put it on your PATH.
cljgo repl, cljgo run and Go interop work from the binary alone, with
no Go toolchain installed. cljgo build additionally needs the Go
toolchain — it emits Go and calls go build. It does NOT need a checkout
of this repo: a release binary pins the published module in the generated
go.mod and never writes a replace (ADR 0028), so binary + Go toolchain
is the whole story.
CLJGO_SRC is now only for pointing a build at a LOCAL cljgo tree on
purpose — developing cljgo itself, or testing an unreleased change.
Note for anything before v0.8.5: a binary from go install …@vX.Y.Z was
not recognised as a release and demanded a source tree anyway. That was
#177, fixed in v0.8.5 by ADR 0116.
cljgo's own code is MIT. The vendored runtime under pkg/lang/ is
EPL-1.0, from Glojure — see
NOTICE.
cljgo 0.8.8
Changelog
- 3a924a3: fix(deps): Maven Central before Clojars, matching tools.deps — #187 (@muthuishere)
- 25eee37: release: prepare v0.8.8 (@muthuishere)
Install
go install github.com/muthuishere/cljgo/cmd/cljgo@v0.8.8Or download a binary above and put it on your PATH.
cljgo repl, cljgo run and Go interop work from the binary alone, with
no Go toolchain installed. cljgo build additionally needs the Go
toolchain — it emits Go and calls go build. It does NOT need a checkout
of this repo: a release binary pins the published module in the generated
go.mod and never writes a replace (ADR 0028), so binary + Go toolchain
is the whole story.
CLJGO_SRC is now only for pointing a build at a LOCAL cljgo tree on
purpose — developing cljgo itself, or testing an unreleased change.
Note for anything before v0.8.5: a binary from go install …@vX.Y.Z was
not recognised as a release and demanded a source tree anyway. That was
#177, fixed in v0.8.5 by ADR 0116.
cljgo's own code is MIT. The vendored runtime under pkg/lang/ is
EPL-1.0, from Glojure — see
NOTICE.
cljgo 0.8.7
Changelog
- 78c1d66: docs(site): a guide for dual-host .cljc projects (@muthuishere)
- c2bfa04: feat(deps): read :paths from deps.edn when a project has no build file — ADR 0119 (@muthuishere)
- 8f3fd4f: fix(nrepl): the same project-resolution gap as the REPL — #185 (@muthuishere)
- 237f0b1: fix(repl): cljgo repl resolved nothing from the project — #185 (@muthuishere)
- 4128db9: readme: AgentNexus community link (Discord) (@muthuishere)
- 92fb2f5: refactor(cli): one project resolution, before dispatch — ADR 0118 (@muthuishere)
- 95685ee: release: prepare v0.8.7 (@muthuishere)
- 48982a0: test(conformance): agent-lifecycle was racy by construction, not flaky (@muthuishere)
Install
go install github.com/muthuishere/cljgo/cmd/cljgo@v0.8.7Or download a binary above and put it on your PATH.
cljgo repl, cljgo run and Go interop work from the binary alone, with
no Go toolchain installed. cljgo build additionally needs the Go
toolchain — it emits Go and calls go build. It does NOT need a checkout
of this repo: a release binary pins the published module in the generated
go.mod and never writes a replace (ADR 0028), so binary + Go toolchain
is the whole story.
CLJGO_SRC is now only for pointing a build at a LOCAL cljgo tree on
purpose — developing cljgo itself, or testing an unreleased change.
Note for anything before v0.8.5: a binary from go install …@vX.Y.Z was
not recognised as a release and demanded a source tree anyway. That was
#177, fixed in v0.8.5 by ADR 0116.
cljgo's own code is MIT. The vendored runtime under pkg/lang/ is
EPL-1.0, from Glojure — see
NOTICE.
cljgo 0.8.6
Changelog
- ff6a80e: fix(process,require): the exit-code idiom cljgo recommended was unsafe (@muthuishere)
- 40ce86e: fix(release): the release notes told consumers the opposite of the fix (@muthuishere)
- 2afcf83: fix(test): --compiled could not run a .cljc suite — #182 (@muthuishere)
- 1100bba: release: prepare v0.8.6 (@muthuishere)
Install
go install github.com/muthuishere/cljgo/cmd/cljgo@v0.8.6Or download a binary above and put it on your PATH.
cljgo repl, cljgo run and Go interop work from the binary alone, with
no Go toolchain installed. cljgo build additionally needs the Go
toolchain — it emits Go and calls go build. It does NOT need a checkout
of this repo: a release binary pins the published module in the generated
go.mod and never writes a replace (ADR 0028), so binary + Go toolchain
is the whole story.
CLJGO_SRC is now only for pointing a build at a LOCAL cljgo tree on
purpose — developing cljgo itself, or testing an unreleased change.
Note for anything before v0.8.5: a binary from go install …@vX.Y.Z was
not recognised as a release and demanded a source tree anyway. That was
#177, fixed in v0.8.5 by ADR 0116.
cljgo's own code is MIT. The vendored runtime under pkg/lang/ is
EPL-1.0, from Glojure — see
NOTICE.
cljgo 0.8.5
Changelog
- cfb9ddf: feat(cljg.process): :exit-code — the half of #173 that shipping :alive? left open (@muthuishere)
- a186f25: fix(build):
build.cljbelongs to tools.build, not to cljgo — ADR 0117, #176 (@muthuishere) - 146a07c: fix(build): name the build file when it defines no build fn — G5025, #178 (@muthuishere)
- 56da5a3: fix(corelib): defPrivate was a lie — it aliased the public definer, and had to (@muthuishere)
- 873a344: fix(version): a
go install …@vX.Y.Zbinary is a release — ADR 0116 (@muthuishere) - 450c961: release: prepare v0.8.5 (@muthuishere)
- 828c212: test(bri): assert subprocess output arrives complete and promptly (@muthuishere)
Install
go install github.com/muthuishere/cljgo/cmd/cljgo@v0.8.5Or download a binary above and put it on your PATH.
cljgo repl, cljgo run and Go interop work from the binary alone, with
no Go toolchain installed. cljgo build additionally needs the Go
toolchain — it emits Go and calls go build. It does NOT need a checkout
of this repo: a release binary pins the published module in the generated
go.mod and never writes a replace (ADR 0028), so binary + Go toolchain
is the whole story.
CLJGO_SRC is now only for pointing a build at a LOCAL cljgo tree on
purpose — developing cljgo itself, or testing an unreleased change.
Correction, added after publishing. The paragraph above originally said
cljgo buildneeds a checkout of this repo andCLJGO_SRC. That was
boilerplate injected into every release body from.goreleaser.yaml, and on
THIS release it stated the exact opposite of the headline fix — v0.8.5 is
the release that makes ago installed binary work standalone (#177,
ADR 0116). Caught by the toolnexus Clojure port, which read the notes,
found them contradicting the changelog, and asked before testing rather
than assuming. Verified against the published tag:
go install …/cmd/cljgo@v0.8.5thencljgo new -template cli demoappand
cljgo build, outside any repo withCLJGO_SRCunset — builds and runs.
The source of the boilerplate is fixed so no future release repeats it.
cljgo's own code is MIT. The vendored runtime under pkg/lang/ is
EPL-1.0, from Glojure — see
NOTICE.
cljgo 0.8.4
Changelog
- e706c85: ci: Windows moves to a weekly schedule, ubuntu + macos stay per-push (@muthuishere)
- b755df7: feat(errors): cljg.io errors read as Clojure, Go detail moves to ex-data (ADR 0114, closes #174) (@muthuishere)
- f08461f: fix(cljg.io): add real-path — resolve symlinks (#172) (@muthuishere)
- 6be6bbf: fix(cljg.io): exec owns its own pipes too — the same Wait/read race as spawn (@muthuishere)
- c62f4b9: fix(cljg.io): exec's :timeout-ms now bounds the CALL, not just the process (#175) (@muthuishere)
- e3c9c26: fix(cljg.process): add :alive? — non-blocking liveness check (#173) (@muthuishere)
- 5e6add1: fix(cljg.process): spawn owns its own pipes — Wait was closing them under the reader (@muthuishere)
- c5610a1: fix(core): #171 fallout - bri.web.http and cljg.data.cast used bare ok/err/unwrap (@muthuishere)
- fabe3cd: fix(core): load-file implemented (#167); Result/Option moves out of clojure.core to cljx.meta (#171, ADR 0115) (@muthuishere)
- ebc3be5: fix(diag): name the missing-lock cause for a fresh-clone
cljgo run(#168) (@muthuishere) - 72fe5ac: fix(diag): renumber real-path's code to G5024 — two agents both claimed G5023 (@muthuishere)
- f188bae: fix(lang): directory-not-empty is now portable; test path uses the repo's ToSlash convention (@muthuishere)
- 0a2d4f0: fix(version): identify non-release builds via runtime/debug.ReadBuildInfo (#170) (@muthuishere)
- 7a008ea: release: prepare v0.8.4 — bump the pinned templates, add the release notes (@muthuishere)
- 1c71d96: test(core): clojure.core parity with the JVM, as a ratchet — and drop the nan? alias (@muthuishere)
- f5e77d6: test(core): lock in the parity improvement from #171 (@muthuishere)
Install
go install github.com/muthuishere/cljgo/cmd/cljgo@v0.8.4Or download a binary above and put it on your PATH.
cljgo repl, cljgo run and Go interop work from the binary alone, with
no Go toolchain installed. cljgo build additionally needs the Go
toolchain and a checkout of this repo — the generated module replaces
the runtime to a local source tree, so set CLJGO_SRC to your clone or run
inside it. Known v0 limitation (ADR 0013); publishing the runtime as a real
Go module retires it.
cljgo's own code is MIT. The vendored runtime under pkg/lang/ is
EPL-1.0, from Glojure — see
NOTICE.
cljgo 0.8.3
Changelog
- 70f0acd: bench(web): re-measure after s73/s75/s77 — the request path was not the bottleneck (@muthuishere)
- f2926b9: docs(benchmarks): the published bri web row does not reproduce — say so (@muthuishere)
- 0b230f2: feat(core): (deref ref timeout-ms timeout-val), the 3-arity clojure.core form (@muthuishere)
- 700532e: fix(bri): serve diagnostics go to stderr, never the program's stdout (@muthuishere)
- 685a30c: fix(build): project source roots, and two exe artifacts no longer corrupt the second binary (@muthuishere)
- 2c7261d: perf(lang): hash-map reads no longer allocate; scaling benchmarks for s72/s73 (@muthuishere)
- 9ef03d6: perf(lang,bri): adopt s73/s75/s77; reject s74/s76's shape changes (@muthuishere)
- d9e5ef7: perf(lang,bri): cache keyword hasheq; trim the request path; promote the web benchmark (@muthuishere)
- a5de9ce: release: prepare v0.8.3 — bump the pinned templates, add the release notes (@muthuishere)
Install
go install github.com/muthuishere/cljgo/cmd/cljgo@v0.8.3Or download a binary above and put it on your PATH.
cljgo repl, cljgo run and Go interop work from the binary alone, with
no Go toolchain installed. cljgo build additionally needs the Go
toolchain and a checkout of this repo — the generated module replaces
the runtime to a local source tree, so set CLJGO_SRC to your clone or run
inside it. Known v0 limitation (ADR 0013); publishing the runtime as a real
Go module retires it.
cljgo's own code is MIT. The vendored runtime under pkg/lang/ is
EPL-1.0, from Glojure — see
NOTICE.
cljgo 0.8.2
Changelog
- b295a51: docs(claude): a Releasing section, and correct the Gates and Layout ones (@muthuishere)
- e5c7690: docs(site): a Releases & changelog page, and honest per-table benchmark dating (@muthuishere)
- 874355b: docs(site): publish the 15 undocumented error codes, and a test so they cannot drift again (@muthuishere)
- e09632c: feat(cljg.date): ADR 0113 — java.time patterns, compiled to ops not to a Go layout (@muthuishere)
- acadd13: feat(deps): ADR 0112 — the lock refreshes itself, minimally, unless frozen (@muthuishere)
- eac9a18: fix: cljgo test skipped .cljc, and provenance comments split multi-byte runes (@muthuishere)
- 8386fb3: release: prepare v0.8.2 — bump the pinned templates, re-measure the AOT table (@muthuishere)
- ac16deb: spike(s70,s71): scale + performance results for the lock policy and cljg.date patterns (@muthuishere)
- f9bbdd2: stress test s70 and s71 — s71's design does not survive, s70's does (@muthuishere)
Install
go install github.com/muthuishere/cljgo/cmd/cljgo@v0.8.2Or download a binary above and put it on your PATH.
cljgo repl, cljgo run and Go interop work from the binary alone, with
no Go toolchain installed. cljgo build additionally needs the Go
toolchain and a checkout of this repo — the generated module replaces
the runtime to a local source tree, so set CLJGO_SRC to your clone or run
inside it. Known v0 limitation (ADR 0013); publishing the runtime as a real
Go module retires it.
cljgo's own code is MIT. The vendored runtime under pkg/lang/ is
EPL-1.0, from Glojure — see
NOTICE.
cljgo 0.8.1
Changelog
- 4e70c9a: build: write build.lock.edn the moment the graph resolves, + no-network lock regression tests (@muthuishere)
- e66ecfc: close the three parked items: Clojars integration test, defexpand size number, benchmark re-measure (@muthuishere)
- 5df9c82: fix(core): defn/defmacro accept doc-string? attr-map? and a trailing attr-map (@muthuishere)
- a4585cc: fix(deps): stop the resolve report claiming "N usable" it never measured (@muthuishere)
- a314209: fix(diag): composed diagnostics render as ONE coherent error (ADR 0111) (@muthuishere)
- 8c13606: fix(protocols): keep the ctor named while fixing its namespace (@muthuishere)
- 760d3b9: fix(protocols): name deftype/defrecord types for their DEFINING namespace (@muthuishere)
- 0f0b5c5: fix(reader): R1012 catches a starved reader conditional nested in a list (@muthuishere)
- 8feaacb: merge(fix/build-lock-write) (@muthuishere)
- 8f1e354: merge(fix/defrecord-ns-naming) (@muthuishere)
- 3bbc93d: merge(fix/deps-usable-honesty) (@muthuishere)
- 8671a7a: merge(fix/diag-wrap-dedup) (@muthuishere)
- 742f91f: merge(fix/r1012-nested-starved) (@muthuishere)
- 104e780: release: prepare v0.8.1 — Clojars consumption actually works now (@muthuishere)
Install
go install github.com/muthuishere/cljgo/cmd/cljgo@v0.8.1Or download a binary above and put it on your PATH.
cljgo repl, cljgo run and Go interop work from the binary alone, with
no Go toolchain installed. cljgo build additionally needs the Go
toolchain and a checkout of this repo — the generated module replaces
the runtime to a local source tree, so set CLJGO_SRC to your clone or run
inside it. Known v0 limitation (ADR 0013); publishing the runtime as a real
Go module retires it.
cljgo's own code is MIT. The vendored runtime under pkg/lang/ is
EPL-1.0, from Glojure — see
NOTICE.
cljgo 0.8.0
Changelog
- dd0c314: docs(adr): 0096 — record every issue found porting koine, plus effort (@muthuishere)
- abb8d2b: docs(adr): 0096 — require-go reaches the Go standard library (@muthuishere)
- feed6ab: docs(adr): 0096 — retract the divergence claim, it was a misreading (@muthuishere)
- f9044d1: docs(adr): renumber go-stdlib-interop 0104 -> 0109, the number was already taken (@muthuishere)
- d885471: docs(benchmarks): drop the +-3% development observation from the caution (@muthuishere)
- 67c3195: docs(book): deciders — how cljgo is organised, http, secrets, state (@muthuishere)
- 4da841b: docs(book): lang-1 — collections, functions, sequences & laziness, flow of control (@muthuishere)
- f5ce942: docs(book): lang-2 — errors, concurrency, pattern matching, talking to Go (@muthuishere)
- 50607ea: docs(book): onramps — Coming from Go, Java, Python, C (@muthuishere)
- ca00df7: docs(book): use Sreyash / Vidya / Harsh / Shaama / Prabagar / Suren in examples (@muthuishere)
- b09a060: docs(openspec): propose adr-0095 clojars consume — coordinate deps, per-ns Java gate, reader-conditional corpus (@muthuishere)
- 053ff44: docs(site): honest benchmark provenance for v0.7.0 + one benchmark block on the landing (@muthuishere)
- 28e84e7: docs(site): wire Coming-from / By-example / Choosing sidebar groups (ADR 0104) (@muthuishere)
- dd3673b: feat(cljg): byte-level file I/O, ISO-8601 dates, and base64 over bytes (ADR 0110 asks 1/4/5) (@muthuishere)
- 3f7f953: feat(deps): consume pure-Clojure libraries from Clojars by Maven coordinate (ADR 0095) (@muthuishere)
- 4423d12: feat(interop): require-go reaches the Go stdlib — ADR 0104, all four koine blockers closed (@muthuishere)
- f6d4228: fix(cljg): ONE signed byte representation, and byte producers that compose (@muthuishere)
- 13cf9ce: fix(core): UUID str is bare, str/replace takes a fn — ADR 0110 asks 2+3 (@muthuishere)
- c22e52f: fix(deps): close the six defects the adversarial verifier found against real Clojars (@muthuishere)
- be2eadb: fix(deps): close two declared-version holes the verifier found (@muthuishere)
- e073f67: fix(deps): jar build files are not namespaces; fix the plural verb (@muthuishere)
- 9f0538b: fix(security): the 0600 keystore assertion is not portable to Windows (@muthuishere)
- 5077fd1: fix(stream): a drained stream releases its file handle — windows-only leak (@muthuishere)
- fda41db: fix(stream): close on the LINE path too; conformance must with-open what it abandons (@muthuishere)
- 10a7636: fix(stream): release the handle at EOF even when the stream is never drained (@muthuishere)
- beecf55: fix(string): replace matches the whole string, so ^ and \b anchor once (@muthuishere)
- 8f92c1a: merge main (@muthuishere)
- 8b32e3c: merge main (@muthuishere)
- e07c299: merge main (clojars consume) (@muthuishere)
- dcc915a: merge main (docs + benchmark provenance) (@muthuishere)
- e0bbedb: merge main (parallel stream-handle fix) (@muthuishere)
- 188d369: merge main (v0.7.0) into docs/book-and-packs (@muthuishere)
- 581290e: merge main + renumber my diag codes G5016/G5017 -> G5018/G5019 (@muthuishere)
- 4c1f447: merge main into adr-0096-go-stdlib-interop (@muthuishere)
- 6f2e8e4: merge main into clojars-consume (@muthuishere)
- 7f287e9: merge main into contrib-tier1 (@muthuishere)
- a298427: merge(clojars-consume): consume pure-Clojure libraries from Clojars/Maven (ADR 0095) (@muthuishere)
- b8b7718: merge(fix/bytes-compose): byte-route sign parity + compose across producers/consumers (@muthuishere)
- 71677a4: merge(fix/replace-anchors): str/replace anchors + zero-width parity (@muthuishere)
- 5d6f622: release: prepare v0.8.0 — ADR 0110 accepted, bump pinned refs (@muthuishere)
Install
go install github.com/muthuishere/cljgo/cmd/cljgo@v0.8.0Or download a binary above and put it on your PATH.
cljgo repl, cljgo run and Go interop work from the binary alone, with
no Go toolchain installed. cljgo build additionally needs the Go
toolchain and a checkout of this repo — the generated module replaces
the runtime to a local source tree, so set CLJGO_SRC to your clone or run
inside it. Known v0 limitation (ADR 0013); publishing the runtime as a real
Go module retires it.
cljgo's own code is MIT. The vendored runtime under pkg/lang/ is
EPL-1.0, from Glojure — see
NOTICE.