Repository navigation
Nothing that passed in 0.22.0 fails in 0.22.1, and no answer changes. What moves is the buf module gen writes beside the Connect service.
Fixed
- A contract that imports a file from a BSR module now builds. A rule whose
.protocontract imports protovalidate'sbuf/validate/validate.proto, say, got a module thatbuf generatecould not build, andrulec testfailed its Connect passes at that import.gennow declares, inproto/buf.yaml, the module the import comes from, and writesproto/buf.lockwith the pins of thebuf.lockbeside the contract — both read from the contract's own buf workspace. It fetches nothing itself: buf fetches the module when it builds.
Added
rulec api'sconnectentry names those modules underdeps, so that a caller who builds the stubs with a template of its own knows the module has dependencies.
Changed
proto/buf.gen.yamlwrites the stubs of the files a contract imports from a BSR module too (include_imports: trueon the py plugin), since the contract's stub imports them. Every generated tree'sbuf.gen.yamlchanges with this, sorulec gen --checkreports it until it is generated again.- When nothing beside the contract can pin the module — no
buf.yamlabove it, or abuf.lockstill in v1's shape, whose shake256 digests a v2 module does not read —gendeclares the module, writes nobuf.lock, and says to runbuf dep updateinproto/. Twobuf.lockfiles that pin one module at two commits stopgen. - For a rule with such a contract, the Connect passes of
rulec testreach the network when buf does not have the module cached yet.
One static binary per platform, no runtime; on Linux also as a .deb and an .rpm. Verify a download against SHA256SUMS before running it; the install page says how.