Fixed publishing with GitHub immutable releases by updating the shared Bazel release workflow and publishing release assets before the release becomes immutable. Version 1.2.3 remains an unusable, permanently reserved release tag after the legacy workflow created an immutable release before uploading its archive.
1.2.3
Run production coverage with the same hermetic LLVM/Clang 22.1.8 toolchain as clang-tidy, using Bazel's LLVM coverage-map and LCOV generation path with stable workspace-relative source paths. Retain the 90% line/function health targets while calibrating the enforced Clang floors to 70% lines and 75% functions; patch thresholds remain unchanged.
Reduced required CI from 36 to 12 jobs using pairwise GCC 14, LLVM/Clang 22.1.8, Bazel 8/9, sanitizer, C++23, macOS, and protobuf endpoint coverage.
Moved the complete protobuf 32/33/34/35 compatibility ladder to a weekly and manually dispatchable workflow.
Updated the default development toolchain to LLVM/Clang 22.1.8 and Bazel 9.2.0.
1.2.2
Renamed the Bazel module from helly25_proto to mboworks_proto for publication under MBO Works.
Updated bazel-skylib to 1.9.2 and the compile-commands extractor pin to its latest verified fork commit.
Made the release archive independent of development-only compile-command tooling.
Force a Bazel-9-compatible rules_android (0.7.2) via MVS, so downstream consumers (and the BCR presubmit) don't hit protobuf's transitive rules_android 0.6.4 failing to load on Bazel 9.
1.2.1
Require Bazel 8 or newer and bzlmod; dropped WORKSPACE support.
Switched to a hermetic LLVM/clang toolchain (toolchains_llvm 1.8.0, LLVM 20.1.8).
Bumped the default protobuf to 34.1; CI now tests protobuf versions [32, 33, 34, 35].
Migrated SilentErrorCollector to protobuf's RecordError/RecordWarning API so it builds against protobuf 35 (which removed the deprecated AddError/AddWarning).
1.2.0
Added std::optional variants for file reading.
Added HasBinaryProtoExtension and HasTextProtoExtension.
Changed to empty root BUILD file for release packages.
Cut and packaged version 1.0.0 (no functionality changes compared to 0.6.4).
0.6.4
Added LLVM-20.1.0 config for Linux-Arm64 and MacOs-Arm64 platforms.
0.6.3
Made macro PARSE_TEXT_PROTO issue a deprecation warning.
Raised minimum zlib version when built with proto version 27.0 for MacOS.
Enabled Bazel layering_check.
0.6.2
Updated protobuf dev dependency to v30.0 to ensure compatibility.
Updated CI matrix to cover more combinations.
Implemented (again) the elusive PARSE_TEXT_PROTO from 2010 as referenced by clang-tidy's documentation.
0.6.1
Updated license/copyright to add SPDX headers.
Updated internal tooling.
Released to baze-central-registry for the first time.
0.6.0
Added Bazel module support.
Added new modern SilentErrorCollector.
Updated Clang to 19.1.6.
Verified and updated protobuf to v30-rc.2. Note that at least v28.3 ... v29.3 are affected by protocolbuffers/protobuf#19364 which is fixed in v30-rc.2 Note that the affected versions work fine with Clang 19.1.6.
Added a patch for MODULE.bazel to be set to protobuf version 28, in order to reduce requirements on complex projects.
Added a build matrix merge check to guarantee various combinations work.
Pinned bazel version to 7.2.1.
Updated other dependencies to latest.
0.5
Added support for com_google_protobuf >= Protocol Buffers v26.
Moved ParseTextProtoHelper into namespace mbo::proto::proto_internal.
Changed ParseTextProtoHelper to only accept derived proto messages on operator access.
Changed ParseTextProtoHelper to die on parsing failure.
Added ParseText<T>() -> absl::StatusOr<T>.
Improved error message detail for all parsing functions.