Releases: bpalermo/protoc-gen-clojure
Release list
v0.5.0
Install
protoc discovers plugins as protoc-gen-<name> on PATH, so the file name is
load-bearing — it is what makes --clojure_out work.
curl -fsSLo protoc-gen-clojure \
"https://github.com/bpalermo/protoc-gen-clojure/releases/download/v0.5.0/protoc-gen-clojure_0.5.0_linux_x86_64"
chmod +x protoc-gen-clojure && mv protoc-gen-clojure /usr/local/bin/On macOS, clear the quarantine attribute: xattr -d com.apple.quarantine <path>.
Binaries are unsigned.
Bazel
bazel_dep(name = "protoc_gen_clojure", version = "0.5.0")
plugin = use_extension("@protoc_gen_clojure//clojure:extensions.bzl", "toolchains")
use_repo(plugin, "protoc_gen_clojure_toolchains")
register_toolchains("@protoc_gen_clojure_toolchains//:all")Consumers need no Clojure, no JVM and no GraalVM: the toolchain fetches the
prebuilt binary for the host platform.
What's Changed
- Commit MODULE.bazel.lock by @bpalermo in #50
- interop=true: the typed fast path, semantics preserved by @bpalermo in #51
- Release 0.5.0 by @bpalermo in #52
Full Changelog: v0.4.0...v0.5.0
v0.4.0
Install
protoc discovers plugins as protoc-gen-<name> on PATH, so the file name is
load-bearing — it is what makes --clojure_out work.
curl -fsSLo protoc-gen-clojure \
"https://github.com/bpalermo/protoc-gen-clojure/releases/download/v0.4.0/protoc-gen-clojure_0.4.0_linux_x86_64"
chmod +x protoc-gen-clojure && mv protoc-gen-clojure /usr/local/bin/On macOS, clear the quarantine attribute: xattr -d com.apple.quarantine <path>.
Binaries are unsigned.
Bazel
bazel_dep(name = "protoc_gen_clojure", version = "0.4.0")
plugin = use_extension("@protoc_gen_clojure//clojure:extensions.bzl", "toolchains")
use_repo(plugin, "protoc_gen_clojure_toolchains")
register_toolchains("@protoc_gen_clojure_toolchains//:all")Consumers need no Clojure, no JVM and no GraalVM: the toolchain fetches the
prebuilt binary for the host platform.
What's Changed
Full Changelog: v0.3.1...v0.4.0
v0.3.1
Install
protoc discovers plugins as protoc-gen-<name> on PATH, so the file name is
load-bearing — it is what makes --clojure_out work.
curl -fsSLo protoc-gen-clojure \
"https://github.com/bpalermo/protoc-gen-clojure/releases/download/v0.3.1/protoc-gen-clojure_0.3.1_linux_x86_64"
chmod +x protoc-gen-clojure && mv protoc-gen-clojure /usr/local/bin/On macOS, clear the quarantine attribute: xattr -d com.apple.quarantine <path>.
Binaries are unsigned.
Bazel
bazel_dep(name = "protoc_gen_clojure", version = "0.3.1")
plugin = use_extension("@protoc_gen_clojure//clojure:extensions.bzl", "toolchains")
use_repo(plugin, "protoc_gen_clojure_toolchains")
register_toolchains("@protoc_gen_clojure_toolchains//:all")Consumers need no Clojure, no JVM and no GraalVM: the toolchain fetches the
prebuilt binary for the host platform.
What's Changed
- Drop references to an internal repository by @bpalermo in #45
- Adopt rules_clj by @bpalermo in #46
- Support Bazel 8.x, verified before claimed by @bpalermo in #47
- Release 0.3.1 by @bpalermo in #48
Full Changelog: v0.3.0...v0.3.1
v0.3.0
Install
protoc discovers plugins as protoc-gen-<name> on PATH, so the file name is
load-bearing — it is what makes --clojure_out work.
curl -fsSLo protoc-gen-clojure \
"https://github.com/bpalermo/protoc-gen-clojure/releases/download/v0.3.0/protoc-gen-clojure_0.3.0_linux_x86_64"
chmod +x protoc-gen-clojure && mv protoc-gen-clojure /usr/local/bin/On macOS, clear the quarantine attribute: xattr -d com.apple.quarantine <path>.
Binaries are unsigned.
Bazel
bazel_dep(name = "protoc_gen_clojure", version = "0.3.0")
plugin = use_extension("@protoc_gen_clojure//clojure:extensions.bzl", "toolchains")
use_repo(plugin, "protoc_gen_clojure_toolchains")
register_toolchains("@protoc_gen_clojure_toolchains//:all")Consumers need no Clojure, no JVM and no GraalVM: the toolchain fetches the
prebuilt binary for the host platform.
What's Changed
- feat(release): ship linux_x86_64 fully static by @bpalermo in #41
- fix(emitter): spell a nest_in_file_class message inside the file class by @bpalermo in #43
- release: 0.3.0 by @bpalermo in #44
Full Changelog: v0.2.0...v0.3.0
v0.2.0
Install
protoc discovers plugins as protoc-gen-<name> on PATH, so the file name is
load-bearing — it is what makes --clojure_out work.
curl -fsSLo protoc-gen-clojure \
"https://github.com/bpalermo/protoc-gen-clojure/releases/download/v0.2.0/protoc-gen-clojure_0.2.0_linux_x86_64"
chmod +x protoc-gen-clojure && mv protoc-gen-clojure /usr/local/bin/On macOS, clear the quarantine attribute: xattr -d com.apple.quarantine <path>.
Binaries are unsigned.
Bazel
bazel_dep(name = "protoc_gen_clojure", version = "0.2.0")
plugin = use_extension("@protoc_gen_clojure//clojure:extensions.bzl", "toolchains")
use_repo(plugin, "protoc_gen_clojure_toolchains")
register_toolchains("@protoc_gen_clojure_toolchains//:all")Consumers need no Clojure, no JVM and no GraalVM: the toolchain fetches the
prebuilt binary for the host platform.
What's Changed
- fix(bcr): author the registry entry with the CLA address by @bpalermo in #31
- feat(emitter): hint the generated Java class so the runtime can skip DynamicMessage by @bpalermo in #32
- feat(emitter): generate records for nested messages by @bpalermo in #33
- test: add the nested-message fixture and its golden by @bpalermo in #35
- test: generate the nested golden from one proto, not from all eight by @bpalermo in #36
- test: verify the prebuilt-toolchain path against a published release by @bpalermo in #38
- feat(bazel)!: move the public API to //clojure, and document it by @bpalermo in #39
Full Changelog: v0.1.0...v0.2.0
v0.1.0
Install
protoc discovers plugins as protoc-gen-<name> on PATH, so the file name is
load-bearing — it is what makes --clojure_out work.
curl -fsSLo protoc-gen-clojure \
"https://github.com/bpalermo/protoc-gen-clojure/releases/download/v0.1.0/protoc-gen-clojure_0.1.0_linux_x86_64"
chmod +x protoc-gen-clojure && mv protoc-gen-clojure /usr/local/bin/On macOS, clear the quarantine attribute: xattr -d com.apple.quarantine <path>.
Binaries are unsigned.
Bazel
bazel_dep(name = "protoc_gen_clojure", version = "0.1.0")
plugin = use_extension("@protoc_gen_clojure//bazel:extensions.bzl", "toolchains")
use_repo(plugin, "protoc_gen_clojure_toolchains")
register_toolchains("@protoc_gen_clojure_toolchains//:all")Consumers need no Clojure, no JVM and no GraalVM: the toolchain fetches the
prebuilt binary for the host platform.
What's Changed
- chore(ci): update docker/login-action to v4 by @bpalermo in #29
- fix(bcr): widen presubmit to ubuntu2204 and pin the glibc ceiling to what ships by @bpalermo in #28
- chore(release): declare 0.1.0 by @bpalermo in #30
Full Changelog: v0.1.0-rc1...v0.1.0
v0.1.0-rc1
Install
protoc discovers plugins as protoc-gen-<name> on PATH, so the file name is
load-bearing — it is what makes --clojure_out work.
curl -fsSLo protoc-gen-clojure \
"https://github.com/bpalermo/protoc-gen-clojure/releases/download/v0.1.0-rc1/protoc-gen-clojure_0.1.0-rc1_linux_x86_64"
chmod +x protoc-gen-clojure && mv protoc-gen-clojure /usr/local/bin/On macOS, clear the quarantine attribute: xattr -d com.apple.quarantine <path>.
Binaries are unsigned.
Bazel
bazel_dep(name = "protoc_gen_clojure", version = "0.1.0-rc1")
plugin = use_extension("@protoc_gen_clojure//bazel:extensions.bzl", "toolchains")
use_repo(plugin, "protoc_gen_clojure_toolchains")
register_toolchains("@protoc_gen_clojure_toolchains//:all")Consumers need no Clojure, no JVM and no GraalVM: the toolchain fetches the
prebuilt binary for the host platform.
What's Changed
- protoc-gen-clojure: a protoc/buf plugin that emits Clojure by @bpalermo in #1
- ci: pull requests restore caches but never write them by @bpalermo in #4
- ci: fix retired macos-13 runner, and gate cache saves on the ref by @bpalermo in #5
- ci: gate release cache saves on the ref too by @bpalermo in #6
- release: attested, immutable releases via bazel-contrib workflows by @bpalermo in #7
- release: make a prerelease tag actually work by @bpalermo in #8
- refactor: name the generator after itself, not its runtime by @bpalermo in #9
- feat: make the emitted requires configurable by @bpalermo in #10
- chore: add CODEOWNERS by @bpalermo in #12
- feat: build the plugin container image with rules_img by @bpalermo in #13
- build: assert the glibc floor of the released Linux binaries by @bpalermo in #14
- feat: publish the plugin image to ghcr.io with stamped tags by @bpalermo in #15
- fix(release): correct job ordering and resolve the publish token from an environment by @bpalermo in #19
- fix(release): publish the release last, after every side effect by @bpalermo in #20
- fix(bcr): presubmit only on platforms the binaries can run on by @bpalermo in #21
- chore(release): declare 0.1.0-rc1 and keep prereleases out of BCR by @bpalermo in #22
- fix(release): call publish-to-bcr directly, so the release workflow can start by @bpalermo in #23
- fix(release): find the native binaries where the caller actually extracts them by @bpalermo in #24
- perf(bazel): resolve protoc from the toolchain and prefer the prebuilt binary by @bpalermo in #25
- chore(ci): update actions/download-artifact to v8 by @bpalermo in #26
- fix(release): map publish_token explicitly instead of inheriting it by @bpalermo in #27
New Contributors
Full Changelog: https://github.com/bpalermo/protoc-gen-clojure/commits/v0.1.0-rc1