Skip to content
SPECIFICTION
Get listed

Raystack Stencil

github.com

WindowsmacOSLinuxAPISelf-hosted
Visit github.com
Spec score 7.2 #16 of 26 in Schema Registry Software

What it is

Raystack Stencil is a schema registry for managing schema definitions and checking data compatibility across applications. It supports Protobuf, Avro, and JSON, and keeps versioned histories of proto descriptor files organized by namespace and name. Uploads receive backward-compatibility checks by default, though some checks can be skipped. The service provides APIs for retrieving the latest version number for a schema name and namespace and downloading the proto descriptors contained in a specified message. Its server offers gRPC and HTTP interfaces, while a CLI can create, view, and search schemas. Listed client libraries cover Java, Go, JavaScript, and Clojure. Clients can download descriptor sets, deserialize Protobuf messages, look up descriptors, and refresh schema definitions with built-in strategies. Stencil can run from a Docker image or be compiled from source, with installation options for macOS, Windows, Linux, OpenBSD, and FreeBSD. The server requires PostgreSQL 13. Refreshing a descriptor after encountering unknown fields is supported only by the Java and Go clients. The project is open source under Apache-2.0.

Spec sheet

Purpose
Stencil is a schema registry for managing and validating schemas to maintain data compatibility across applications.Read 5 Oct 2026 · github.com
Intended users
The project describes its users as developers who create, manage, and consume schemas across applications.Read 5 Oct 2026 · github.com
Deployment
Stencil can be run as a server and is distributed as cross-platform binaries and Docker images.Read 5 Oct 2026 · github.com
License
The repository is published under the Apache-2.0 license.Read 5 Oct 2026 · github.com
CLI
The CLI can create, view, and search schemas through the server.Read 5 Oct 2026 · github.com
Client features
Clients can download descriptor set files, deserialize Protobuf encoded messages, look up proto descriptors, and refresh schema definitions using built-in strategies.Read 4 Oct 2026 · raystack.github.io
Client languages
Official clients are supported for Java, Go, and JavaScript, with Clojure also listed among the client languages.Read 4 Oct 2026 · raystack.github.io
Client libraries
The repository lists Java, Go, JavaScript, and Clojure clients, with Ruby and Python marked as coming soon.Read 5 Oct 2026 · github.com
Client refresh limitation
Refreshing a descriptor file only when a client encounters unknown fields is currently supported by the Java and Go clients.Read 4 Oct 2026 · raystack.github.io
Compatibility
Stencil enforces backward compatibility checks on upload by default and allows some checks to be skipped.Read 4 Oct 2026 · raystack.github.io
Compatibility checks
Uploads are checked for backward compatibility by default, with an option to skip some checks.Read 5 Oct 2026 · github.com
Descriptor downloads
Users can download proto descriptor files from Stencil.Read 5 Oct 2026 · github.com
Installation platforms
The README lists macOS, Windows, Linux, OpenBSD, and FreeBSD installation options.Read 5 Oct 2026 · github.com
Metadata API
A metadata API retrieves the latest version number for a given name and namespace.Read 5 Oct 2026 · github.com
Schema formats
It supports Protobuf, Avro, and JSON schemas.Read 5 Oct 2026 · github.com
Server APIs
The server provides gRPC and HTTP APIs for interacting with Stencil.Read 5 Oct 2026 · github.com
Server interfaces
The server provides REST access for storing and retrieving Protobuf file descriptors and the repository README also describes gRPC and HTTP APIs.Read 4 Oct 2026 · raystack.github.io
Server requirement
The server documentation lists PostgreSQL 13 as a requirement.Read 4 Oct 2026 · raystack.github.io
Supported formats
Stencil supports Protobuf, Avro, and JSON formats.Read 4 Oct 2026 · raystack.github.io
Version history
Stencil stores versioned history of proto descriptor files by namespace and name.Read 5 Oct 2026 · github.com

Strong points and limits

Strong points

  • Supports Protobuf, Avro, and JSON schemas
  • Keeps versioned proto descriptor history
  • Checks backward compatibility on uploads by default
  • Offers gRPC, HTTP, and CLI interfaces
  • Open source under Apache-2.0

Limits

  • Server requires PostgreSQL 13
  • Unknown-field refresh is limited to Java and Go clients
  • Self-hosted deployment

Who it suits

Stencil suits teams that need a shared source of schema definitions for producers, consumers, developers, and others. It is relevant to users working with Protobuf, Avro, or JSON schemas who need version history and compatibility checks.

Verdict

Stencil offers schema management across three formats, with version history, compatibility checks, and multiple ways to access the server. Its PostgreSQL requirement and client-specific refresh limitation are worth noting when evaluating deployment and client needs.

Where Specifiction places it

Alternatives to Raystack StencilAll alternatives →