Buf Schema Registry

Release Notes

v1.13.0

Release Date: 2024-10-09 | Database version: 301 | Minimum CLI version: v1.24.0

  • Generated SDKs: NuGet and CMake generated SDKs are now enabled for all BSR on-prem installations.
  • Cargo registry update: License information is now added to Cargo crates. The crate will use the module license from its associated commit, otherwise it will fall back to a raw LICENSE file if it is present in the module.
  • We have updated the NuGet Repository to skip dependencies on protocolbuffers/wellknowntypes, allowing the Google.Protobuf package to pull in the correct dependency.

v1.12.1

Release Date: 2024-09-12 | Database version: 299 | Minimum CLI version: v1.24.0

  • Managed plugins: Fixes to older versions of the BSR managed plugins are now included in on-prem releases.

v1.12.0

Release Date: 2024-09-11 | Database version: 299 | Minimum CLI version: v1.24.0

  • Artifactory support for NuGet: Users can now configure the BSR as a remote NuGet repository in Artifactory.
  • We fixed an issue that prevented the generation of Cargo assets for older plugin versions.

v1.11.0

Release Date: 2024-08-27 | Database version: 298 | Minimum CLI version: v1.24.0

  • Nuget repository support for generated SDKs: The NuGet repository serves generated SDKs for protocolbuffers/csharp and grpc/csharp, allowing .NET developers to integrate with the BSR directly in their existing dotnet workflows.
  • CMake support for generated SDKs: Use CMake’s FetchContent command to get the generated C++ libraries directly from the BSR, supporting the use of protocolbuffers/cpp and grpc/cpp.
  • BSR status page: The new BSR status page helps server admins and deployment operators verify that the BSR instance is configured correctly.
  • Opt-in support for unauthenticated access to public resources: The BSR now provides the option to allow unauthenticated users to view public modules in the BSR, and consume related artifacts such as generated SDKs for those modules.
  • Cargo registry update: We updated the Cargo Registry's prost generated SDKs to generate bytes::Bytes fields for protobuf bytes type fields, and enabled generation of the encoded FileDescriptorSet in the generated output for usage with tonic's gRPC reflection.
  • 1 year limit on custom tokens: Users can no longer create custom tokens with an expiry date longer than 1 year in the future.

v1.10.0

Release Date: 2024-07-23 | Database version: 295 | Minimum CLI version: v1.24.0

v1.9.1

Release Date: 2024-07-01 | Database version: 286 | Minimum CLI version: v1.24.0

  • Managed plugins: Community plugins are now included as part of the BSR managed plugins.
  • Code generation: The sandbox runtime container used for code generation has had unneeded dependencies removed to reduce the surface area for potential vulnerabilities.
  • Managed modules: Labels for Git commit SHAs on managed modules will continue to be created, but they will automatically be archived to reduce clutter the BSR UI when browsing a managed module. Pinning to archived labels in a buf.yaml will continue to work.

v1.9.0

Release Date: 2024-06-18 | Database version: 284 | Minimum CLI version: v1.24.0

  • Cargo Registry: Protobuf package names in generated Rust code are now converted into snake_case to conform with expectations in the Rust ecosystem.
  • Managed Modules and Plugins: Buf managed modules (e.g. googleapis, protovalidate) and managed plugins are packaged with the BSR release. This functionality was added with v1.6.0 and is now enabled by default.
  • NPM Registry: We have removed the branch-<branch> and tag-<tag> dist-tags from the npm package metadata. Now, the label-<label> dist-tags should be used for installation commands (e.g. npm install <npm-bsr-package>@label-<label>).

Archive

Release notes for older versions

v1.8.3

Release Date: 2024-06-06 | Database version: 281 | Minimum CLI version: v1.24.0

  • Maven Registry: We have added a configuration option to support using a custom TLS trust store with an Artifactory registry.
  • Cargo Registry: The Cargo registry has been updated to loosen dependency pins and allow for semver-compatible selection between dependencies, taking the highest available version.

v1.8.2

Release Date: 2024-06-04 | Database version: 281 | Minimum CLI version: v1.24.0

  • Maven Registry: We have added configuration that enables the use of Artifactory between the BSR and Maven Central.
  • Cargo Registry: The Cargo registry has been updated to always eagerly generate code for all of a crate's transitive dependencies.

v1.8.1

Release Date: 2024-05-29 | Database version: 280 | Minimum CLI version: v1.24.0

  • Rust SDKs: The BSR now provides generated SDKs for Cargo in the form of a Crate Registry. You can consume generated SDKs from modules and plugins using cargo. SDKs are generated automatically when you push schema changes, eliminating the need to manage a Protobuf toolchain or generate code locally.
  • Archive Registry: The Buf Schema Registry allows you to generate and download an archive that contains the output of code generation for a combination of any module and Protobuf plugin, similar to what you would get with generated SDKs (except it works for any plugin, not just the languages supported by generated SDKs).
  • Module dependency UI: We've updated the module dependency tab to list dependencies rather than display a dot graph. This makes browsing and exploring dependencies much easier, especially for modules with many transitive dependencies.

v1.8.0

Release Date: 2024-05-20 | Database version: 279 | Minimum CLI version: v1.24.0

  • The next generation of Buf CLI: The Buf CLI and its associated configuration have been completely overhauled to support monorepos as first-class citizens. Buf CLI v1.32.0 and newer require at least v1.8.0 of the BSR for operations that interact with the BSR.
  • New and improved BSR UI: Alongside the new Buf CLI, we’re excited to introduce an enhanced buf push and unveil an updated Buf Schema Registry (BSR) UI. We’ve made significant changes to both push and the UI to eliminate friction when onboarding new teams and codebases to the BSR.
  • Insomnia Support: The BSR now integrates with Kong Insomnia, making gRPC even easier to use.
  • Fewer authentication redirects: We are now handling authentication refresh tokens on the backend, so users should no longer see multiple redirects in the browser when their auth token expires.

v1.7.0

Release Date: 2024-04-17 | Database version: 266 | Minimum CLI version: v1.24.0

  • Custom options: BSR Generated Documentation has been enhanced to support Protobuf custom options.
  • Protoschema plugins: We released a pair of Protobuf plugins that generate schemas from protos for JSON Schema and PubSub. Additionally, we published a Buf managed module and plugin for BigQuery.
  • Module Archive: A new generic module archive endpoint can be used to download any module from the BSR in an archived format. This is similar to buf export but includes additional files (e.g. license, readme), and it works with standard tools, such as curl or wget.
  • Module descriptor endpoint: A new endpoint enables users to get the FileDescriptorSet of a BSR module from an HTTP endpoint. As with the Module Archive, it works with standard tools and can be easily cached from the client side.
  • Data migrations: This release contains an important data migration that will run asynchronously after startup and could take some time to complete on instances with a lot of data. This migration will need to complete before it is possible to upgrade to future versions, so we recommend upgrading to 1.7.0 as soon as you can.

v1.6.0

Release Date: 2024-03-19 | Database version: 255 | Minimum CLI version: v1.24.0

  • Managed Modules and Plugins: Buf managed modules (e.g. googleapis, protovalidate) and managed plugins are packaged with the BSR release. See these instructions for details on how to enable. Existing customers will be contacted with upgrade instructions.
  • SAML: We now allow for setting the SAML groups attribute name in the BSR helm chart. An example can be found in the on-prem installation docs.
  • SLO Dashboards: The observability dashboards and alerts have been updated to fix a bug where an incorrect histogram bucket was being used. The new Rules and Dashboards are available on the Observability page.

v1.5.1

Release Date: 2024-02-15 | Database version: 247 | Minimum CLI version: v1.23.0

  • Plugins Sandbox: Added a config option to allow restricted network access from within custom plugins.

v1.5.0

Release Date: 2024-02-13 | Database version: 247 | Minimum CLI version: v1.23.0

  • Icons: The BSR has updated an update icon set that is better aligned with the concepts represented.
  • Search results design: BSR Search uses the new icons to more effectively communicate result types, and also includes richer results on the search page.
  • Pinned dependencies in Python generated SDKs: The BSR now pins module and plugin dependencies in the Python generated SDKs.
  • Reduced memory usage: BSR instances no longer exhibit unbounded memory growth that was caused by a long-lived cache in an upstream dependency.

v1.4.1

Release Date: 2024-01-24 | Database version: 246 | Minimum CLI version: v1.23.0

  • Python registry: The BSR now serves the Python index at /gen/python/simple in addition to /gen/python so that Artifactory correctly detects that the BSR serves a Python repository.
  • Types usage: Types usage can now be viewed from the admin panel for enterprise and on-prem BSR instances. For example, if your server is https://buf.example.com, then usage will be available at https://buf.example.com/admin/usage.

v1.4.0

Release Date: 2024-01-17 | Database version: 246 | Minimum CLI version: v1.23.0

  • Azure support: The BSR now supports deployment in an Azure environment and includes new config options for Azure Blob Storage.
  • OCI registry: The OCI registry used for storing remote plugins and managed modules has been upgraded. The new version adds support for Azure Blob Storage and addresses issues with AWS Workload Identity.

v1.3.1

Release Date: 2023-12-07 | Database version: 241 | Minimum CLI version: v1.23.0

  • Bugfix: As part of the Governance workflow, the “review changes” page for a commit with a breaking change was showing an error and now displays properly.

v1.3.0

Release Date: 2023-12-05 | Database version: 241 | Minimum CLI version: v1.23.0

  • Python support for generated SDKs: Python engineers no longer need to manage a Protobuf toolchain or generate code locally—they can now download pre-packaged generated code for their Protobuf schemas from the BSR using package management tools like pip, Poetry, Conda, and others that support PEP 503 - Simple Repository API.
  • Governance workflow: The BSR now provides the ability to configure a customer SMTP server to send email messages for the governance workflow.
  • Account Merging: When a new SSO provider is configured, existing BSR users will automatically be migrated to the new provider based on email matching the next time they log in.
  • SLO Dashboards: The SLO alerting threshold for slow requests has been decreased from 250s to 75s, in an effort to be more responsive to slow requests. Additionally, the histogram buckets for HTTP metrics have been adjusted so they are now in parity with RPC metrics. Please upgrade by importing the new files.

v1.2.0

Release date: 2023-11-07 | Database version: 239 | Minimum CLI version: v1.23.0

  • Governance flow: Buf's breaking change policy check includes a review flow, so that when developers attempt to push breaking changes to the BSR, commits can be approved or rejected by code owners instead of being rejected outright. This gives downstream consumers protection from breaking schema changes, but allows for nuance in cases where breaking changes are acceptable.
  • Updated activity view: The activity view in the BSR has been updated to support branches and improve the ability to view commit history and tags. Throughout the BSR UI, branches have replaced drafts.
  • Generated SDKs: Remote Packages has been rebranded as Generated SDKs, and includes clearer instructions with plugin filtering based on the preferred programming language.

v1.1.0

Release date: 2023-10-03 | Database version: 222 | Minimum CLI version: v1.23.0

  • The BSR now allows customers to enforce uniqueness of Protobuf types and file paths across all modules. This helps to prevent name conflicts between Protobuf types in an application, which could result in fatal runtime exceptions and outages.
  • BSR Search now includes results from the content of a module. Module content can be either a module element (service, method, message, enum) or a module file (.proto).
  • BSR generated docs now support syntax highlighting and markdown table rendering.
  • This release includes new SLO Dashboards for non-RPC endpoints to give visibility into the entire BSR as a whole. There are now separate dashboards to monitor all HTTP requests and Registry requests. See Observability for more information.

v1.0.4

Release date: 2023-08-28 | Database version: 208

  • Enabled alerting for SLO dashboard
    • Adds high-priority  alerts with severity=page label for high error rate incidents ErrorBudgetBurn
    • Adds low-priority ErrorBudgetBurn alerts with severity=warning label for low error rate incidents

v1.0.3

Release date: 2023-07-21 | Database version: 189

  • Updated the helm chart to default to using a fully-qualified domain name for the OCI Registry
  • Fixed the panic observed in maintenance mode. Previously, a working auth config was assumed; now updated to work without auth.
  • Added the option of allowing the BSR to read trusted certificates from mounted files to address a x509 error.

v1.0.2

Release date: 2023-07-14 | Database version: 186

  • Added support for AWS instance profile credentials
  • Updated Grafana dashboards to include recording rules
  • Added support for prometheus endpoints

v1.0.1

Release date: 2023-07-07 | Database version: 182

  • Updated the BSR to use goose for database migrations
  • Included simple Grafana SLO dashboards with release

v1.0.0

Release date: 2023-06-30

  • Initial release