dicebear_schema 1.3.0
dicebear_schema: ^1.3.0 copied to clipboard
JSON Schema definitions for DiceBear avatar styles and options, embedded as Dart string constants.
Changelog #
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
This repository holds the JSON Schema that defines the DiceBear avatar style definition format (distributed via npm, Composer, PyPI, crates.io, Go modules, and pub.dev). Versions track the schema itself, independently of the DiceBear library release line.
Unreleased #
1.3.0 - 2026-06-19 #
1.3.0-rc.1 - 2026-06-18 #
Added #
- Variant tags: Component variants may now carry an optional
tagsarray, such ashairLength:longorfacialHair:beard. Each tag is acategoryorcategory:valuetoken in camelCase. tagsrender option: The options schema now defines atagsoption that filters which variants the PRNG may select. A token iscategoryorcategory:value, optionally prefixed with!to exclude. An include narrows its own category, an exclude removes the matching variants, and a*Variantoption for the same component adds its named variants to that pool. Accepts a single string or an array.
1.2.0 - 2026-06-08 #
Added #
- Dart: The schemas are now available as a
dicebear_schemapackage on pub.dev. The Dart shim landed after thev1.2.0tag, so the pub.dev release of this version came from a later commit. Dart has no compile-time file embedding, soscripts/build.shgenerateslib/dicebear_schema.dartwithdefinition.jsonandoptions.jsonembedded as string constants (definition,options), plusget(name)andall; the Dart, Rust and Go shims share one API. The generatedlib/is git-ignored (like the npmdist/) and built fresh by the test and publish workflows;tool/check_parity.dartproves in CI that the embedded constants are byte-identical to theirsrc/*.jsonsources. - Go: The schemas are now available as a Go module
(
github.com/dicebear/schema).definition.jsonandoptions.jsonare embedded and exposed asstringvariables (Definition,Options) and viaGet(name)/All(). - Rust: Added
get(name)andall()helpers, so the Rust and Go shims share one API (DEFINITION/OPTIONSconstant or variable +get(name)+all()), matching thedicebear-styles/@dicebear/stylesshims.
1.1.0 - 2026-06-03 #
Added #
- Rust distribution: A
dicebear-schemacrate is now published to crates.io, alongside the existing npm, Composer, and PyPI distributions. It embeds the same JSON Schemas viainclude_str!and exposes them as&'static strconstants (DEFINITION,OPTIONS).
Fixed #
- Canvas and component dimensions (
canvas.width/heightand the component basewidth/height) now have an upper bound of1000000in addition to the existingminimum: 1. Without it, extreme values could diverge across the language ports' number-to-string formatting. The bound never rejects a real avatar (official styles use ~100) and matches the precedent already set on theweightfield.
1.1.0-rc.2 - 2026-05-31 #
Changed #
- Prerelease versions are now published to npm under the
nextdist-tag, sonpm install @dicebear/schemacontinues to resolve the latest stable release.
1.1.0-rc.1 - 2026-05-31 #
Added #
- Python distribution: A
dicebear-schemapackage is now published to PyPI, alongside the existing npm and Composer distributions, exposing the same JSON Schema to Python consumers.
1.0.0 - 2026-05-17 #
First stable release of the DiceBear style definition schema.
Added #
- A versioned JSON Schema (draft-07) describing avatar style definitions and
their options, with a build step that injects the matching
$idand publishes minified output. - Color fills:
colorFill(solid, linear, and radial),colorFillStops, andcolorRotatefor gradient configuration. - Weighted variants: per-variant
weightto control how frequently each component variant is selected. - Component aliases via
extends, and a component-levelscaleoption. - Distribution via npm and Composer (Packagist), plus a CDN with automatic versioning.