Configuration schema and defaults for Releaser.
All configuration lives under the :releaser key in your root mix.exs project config.
Options
:apps_root— Root directory containing your apps. Default:"apps":version_files— List of{glob_or_path, regex}tuples for multi-file version sync:changelog— Changelog configuration (see below):hooks— Pre/post hook modules (see below):publisher— Hex publishing configuration (see below)
Changelog options
:anchors— Map of commit prefix to changelog section. Default:%{"feat" => "Added", "fix" => "Fixed", "refactor" => "Changed", "docs" => "Documentation", "perf" => "Performance", "breaking" => "Breaking Changes"}:path— Path to CHANGELOG.md. Default:"CHANGELOG.md":format—:keepachangelog(default)
Hooks options
:pre— List of modules implementingReleaser.Hooks.PreHook:post— List of modules implementingReleaser.Hooks.PostHook
Publisher options
:org— Hex organization name (optional):package_defaults— Defaultpackage/0config injected into apps that lack it. Keys::licenses,:links,:files
Commits (Conventional Commits)
Opt-in automation that parses git log to decide bump types per app.
Disabled unless you set enabled: true.
commits: [
enabled: true,
bump_rules: %{"feat" => :minor, "fix" => :patch, ...},
breaking_bump: :major,
breaking_markers: [:bang, :body],
scope_aliases: %{"xml" => "cfdi_xml"},
no_scope: :warn
]See Releaser.Commits and guides/conventional-commits.md.
Summary
Functions
Returns the default configuration.
Loads configuration from the host project's mix.exs, merged with defaults.