Skip to content

Releases

v0.5.0-rc.1

v0.5.0-rc.1 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 04 Oct 09:03
Immutable release. Only release title and notes can be modified.
1a2a513

Highlights

  • A lighter default build. The dnspatch image and binaries are now about 7.4 MB for amd64 (8.4 MB before). The rfc2136, yandexcloud and namecheap providers and the notifiers moved to the -full build, which has every plugin and is about 10.9 MB.
  • One tag for the full build. -tags full replaces -tags "ping,notify_all". A plain go build gives the default build; the tag of a plugin the default build leaves out (-tags rfc2136, -tags redis) adds just that one.
  • ping_url in every build. The hook costs 8 KB, so it is no longer behind a tag and the default build accepts it.
  • Notifiers. They connect at startup and log an error at once when the broker is unreachable (#88), and a RabbitMQ or MQTT connection that drops later is logged as it happens instead of when the next event fails to go out (#89).
  • Online builder. https://dnspatch.github.io/builder/ reads the new layout from schema.json and sends configs that need a plugin outside the default build to the -full image.

Breaking changes

  • rfc2136, yandexcloud and namecheap are no longer in the default build (image krimsn/dnspatch:<version>, archive dnspatch_*, plain go install). A config that names one is rejected at startup with the tag to add. Use the -full image or archive, or build with -tags full or the tag of the provider.
  • Build tags changed. ping, notify_all, providers_all and retrievers_all are gone; use full, or list the plugins you want after dnspatch_none. An unknown tag does not fail go build, so check the tags in scripts, Dockerfiles and CI: -tags "ping,notify_all" now builds the default build, not the full one. --build-arg TAGS=ping,notify_all becomes TAGS=full.
  • schema.json: every plugin's build_tags is now [<name>, "full"], and each plugin has an in_default_build field. schema_version stays 1.

How to adapt: Migrating from 0.4 to 0.5.

Changelog

  • feat(plugins): build tags full and per-plugin, heavy plugins left out of the plain build (#90) (@KrimsN)
  • feat(notify): log a lost rabbitmq or mqtt broker connection as it happens (#89) (@KrimsN)
  • feat(notify): connect the notifiers at startup and log an error when a broker is unreachable (#88) (@KrimsN)
  • fix(release): attach schema.json through goreleaser, releases are immutable (#82) (@KrimsN)

Full changelog: v0.4.3...v0.5.0-rc.1

Install

Docker, for linux/amd64, linux/arm64 and linux/arm/v7. The same tags are on Docker Hub and on the GitHub Container Registry:

docker pull krimsn/dnspatch:0.5.0-rc.1
docker pull ghcr.io/dnspatch/dnspatch:0.5.0-rc.1

The -full tag is the same image with every plugin compiled in, the notifier backends and the rfc2136, yandexcloud and namecheap providers included:

docker pull krimsn/dnspatch:0.5.0-rc.1-full

Go:

go install github.com/dnspatch/dnspatch/cmd/dnspatch@v0.5.0-rc.1
go install -tags full github.com/dnspatch/dnspatch/cmd/dnspatch@v0.5.0-rc.1   # the full build

Binary: download the archive for your platform below and check it against checksums.txt. dnspatch_* is the lightweight build, dnspatch-full_* the one with every plugin, the notifier backends and the rfc2136, yandexcloud and namecheap providers included.

v0.4.4-rc.1

v0.4.4-rc.1 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 02 Oct 09:37
Immutable release. Only release title and notes can be modified.
c69f9d0

Changelog

  • c69f9d0: fix(release): attach schema.json through goreleaser, releases are immutable (#82) (@KrimsN)

Install

Docker, for linux/amd64, linux/arm64 and linux/arm/v7. The same tags are on Docker Hub and on the GitHub Container Registry:

docker pull krimsn/dnspatch:0.4.4-rc.1
docker pull ghcr.io/dnspatch/dnspatch:0.4.4-rc.1

The -full tag is the same image with ping_url and the notifier backends compiled in:

docker pull krimsn/dnspatch:0.4.4-rc.1-full

Go:

go install github.com/dnspatch/dnspatch/cmd/dnspatch@v0.4.4-rc.1
go install -tags "ping,notify_all" github.com/dnspatch/dnspatch/cmd/dnspatch@v0.4.4-rc.1   # the full build

Binary: download the archive for your platform below and check it against checksums.txt. dnspatch_* is the lightweight build, dnspatch-full_* the one with ping_url and the notifier backends.

v0.4.3

Choose a tag to compare

@github-actions github-actions released this 02 Oct 09:28
Immutable release. Only release title and notes can be modified.
d666710

Changelog

  • d666710: feat(gendoc): write schema.json and attach it to the release (#81) (@KrimsN)

Install

Docker, for linux/amd64, linux/arm64 and linux/arm/v7. The same tags are on Docker Hub and on the GitHub Container Registry:

docker pull krimsn/dnspatch:0.4.3
docker pull ghcr.io/dnspatch/dnspatch:0.4.3

The -full tag is the same image with ping_url and the notifier backends compiled in:

docker pull krimsn/dnspatch:0.4.3-full

Go:

go install github.com/dnspatch/dnspatch/cmd/dnspatch@v0.4.3
go install -tags "ping,notify_all" github.com/dnspatch/dnspatch/cmd/dnspatch@v0.4.3   # the full build

Binary: download the archive for your platform below and check it against checksums.txt. dnspatch_* is the lightweight build, dnspatch-full_* the one with ping_url and the notifier backends.

v0.4.2

Choose a tag to compare

@github-actions github-actions released this 02 Oct 07:29
Immutable release. Only release title and notes can be modified.
a806a04

Changelog

Install

Docker, for linux/amd64, linux/arm64 and linux/arm/v7. The same tags are on Docker Hub and on the GitHub Container Registry:

docker pull krimsn/dnspatch:0.4.2
docker pull ghcr.io/dnspatch/dnspatch:0.4.2

The -full tag is the same image with ping_url and the notifier backends compiled in:

docker pull krimsn/dnspatch:0.4.2-full

Go:

go install github.com/dnspatch/dnspatch/cmd/dnspatch@v0.4.2
go install -tags "ping,notify_all" github.com/dnspatch/dnspatch/cmd/dnspatch@v0.4.2   # the full build

Binary: download the archive for your platform below and check it against checksums.txt. dnspatch_* is the lightweight build, dnspatch-full_* the one with ping_url and the notifier backends.

v0.4.1

Choose a tag to compare

@github-actions github-actions released this 02 Oct 03:10
Immutable release. Only release title and notes can be modified.
e6cd50d

Changelog

Install

Docker, for linux/amd64, linux/arm64 and linux/arm/v7. The same tags are on Docker Hub and on the GitHub Container Registry:

docker pull krimsn/dnspatch:0.4.1
docker pull ghcr.io/dnspatch/dnspatch:0.4.1

The -full tag is the same image with ping_url and the notifier backends compiled in:

docker pull krimsn/dnspatch:0.4.1-full

Go:

go install github.com/dnspatch/dnspatch/cmd/dnspatch@v0.4.1
go install -tags "ping,notify_all" github.com/dnspatch/dnspatch/cmd/dnspatch@v0.4.1   # the full build

Binary: download the archive for your platform below and check it against checksums.txt. dnspatch_* is the lightweight build, dnspatch-full_* the one with ping_url and the notifier backends.

v0.4.0

Choose a tag to compare

@github-actions github-actions released this 01 Oct 06:10
Immutable release. Only release title and notes can be modified.
cdd9f34

Highlights

  • Monitoring. dnspatch healthcheck and a per-instance status file; the images carry it as HEALTHCHECK. ping_url pings Healthchecks.io or Uptime Kuma after every completed cycle.
  • Notifiers. A third kind of plugin next to retrievers and providers: an instance publishes a JSON event when it flips between success and failure. Backends: Redis Pub/Sub and RabbitMQ. Defined as [notify.<name>], chosen per instance with notify = [...].
  • Build tags. Every retriever and provider has a tag named after its type; dnspatch_none leaves them all out, providers_all and retrievers_all bring a kind back. A build that lacks a plugin the config names says which tag to add.
  • Two flavours. dnspatch (every retriever and provider) and dnspatch-full (-tags "ping,notify_all"), as archives for linux, darwin and windows, and as :<version> and :<version>-full images on Docker Hub and GHCR.
  • Plugins outside the repository. app and httpx are now public, so a plugin in your own module can be built into a custom dnspatch binary without a fork. See the guide; the API follows the v0.x stability note.
  • Documentation site. The manual moved from the README to https://dnspatch.github.io/dnspatch/.

Breaking changes

  • Module path is now github.com/dnspatch/dnspatch (was github.com/KrimsN/dnspatch). Anything importing plugin/ or running go install must switch; versions up to v0.3.2 stay under the old path. The images keep their names on Docker Hub (krimsn/dnspatch) and are also on ghcr.io/dnspatch/dnspatch.
  • Built-in plugin import paths changed from .../plugins/<name> to .../plugins/<kind>/<name>. Build tags and config type names are unchanged. The plugin package re-exports the whole public API, so third-party plugins keep importing it as before.
  • config.toml.example is renamed to dnspatch.toml.example.

Changelog

  • feat: monitoring, notifiers and plugin build tags (#58) (@KrimsN)
  • feat(notify): add RabbitMQ notifier (#60) (@KrimsN)
  • feat: public app and httpx packages for plugins in other modules (#63) (@KrimsN)
  • refactor: group plugins by kind and split the plugin package (#61) (@KrimsN)
  • chore: move the module and links to the dnspatch organization (#59) (@KrimsN)
  • docs: move the documentation to a MkDocs site (#62) (@KrimsN)

Full changelog: v0.3.2...v0.4.0

Install

Docker, for linux/amd64, linux/arm64 and linux/arm/v7. The same tags are on Docker Hub and on the GitHub Container Registry:

docker pull krimsn/dnspatch:0.4.0
docker pull ghcr.io/dnspatch/dnspatch:0.4.0

The -full tag is the same image with ping_url and the notifier backends compiled in:

docker pull krimsn/dnspatch:0.4.0-full

Go:

go install github.com/dnspatch/dnspatch/cmd/dnspatch@v0.4.0
go install -tags "ping,notify_all" github.com/dnspatch/dnspatch/cmd/dnspatch@v0.4.0   # the full build

Binary: download the archive for your platform below and check it against checksums.txt. dnspatch_* is the lightweight build, dnspatch-full_* the one with ping_url and the notifier backends.

v0.4.0-rc.1

v0.4.0-rc.1 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 01 Oct 06:00
Immutable release. Only release title and notes can be modified.
cdd9f34

Changelog

Install

Docker, for linux/amd64, linux/arm64 and linux/arm/v7. The same tags are on Docker Hub and on the GitHub Container Registry:

docker pull krimsn/dnspatch:0.4.0-rc.1
docker pull ghcr.io/dnspatch/dnspatch:0.4.0-rc.1

The -full tag is the same image with ping_url and the notifier backends compiled in:

docker pull krimsn/dnspatch:0.4.0-rc.1-full

Go:

go install github.com/dnspatch/dnspatch/cmd/dnspatch@v0.4.0-rc.1
go install -tags "ping,notify_all" github.com/dnspatch/dnspatch/cmd/dnspatch@v0.4.0-rc.1   # the full build

Binary: download the archive for your platform below and check it against checksums.txt. dnspatch_* is the lightweight build, dnspatch-full_* the one with ping_url and the notifier backends.

v0.3.2

Choose a tag to compare

@github-actions github-actions released this 29 Sep 09:55
Immutable release. Only release title and notes can be modified.
25d7cdb

Changelog

Install

Docker, for linux/amd64, linux/arm64 and linux/arm/v7. The same tags are on Docker Hub and on the GitHub Container Registry:

docker pull krimsn/dnspatch:0.3.2
docker pull ghcr.io/krimsn/dnspatch:0.3.2

Go:

go install github.com/KrimsN/dnspatch/cmd/dnspatch@v0.3.2

Binary: download the archive for your platform below and check it against checksums.txt.

v0.3.1

Choose a tag to compare

@github-actions github-actions released this 29 Sep 09:51
Immutable release. Only release title and notes can be modified.
6d4027d

Changelog

Install

Docker, for linux/amd64, linux/arm64 and linux/arm/v7. The same tags are on Docker Hub and on the GitHub Container Registry:

docker pull krimsn/dnspatch:0.3.1
docker pull ghcr.io/krimsn/dnspatch:0.3.1

Go:

go install github.com/KrimsN/dnspatch/cmd/dnspatch@v0.3.1

Binary: download the archive for your platform below and check it against checksums.txt.

v0.3.0

Choose a tag to compare

@github-actions github-actions released this 24 Sep 11:09
Immutable release. Only release title and notes can be modified.
6fd4863

Breaking changes

dnspatch is v0.x, and 0.3 breaks three things. The migration guide has a before and after for each.

  • Configuration: [instance.retriever] is now an array of tables, [[instance.retriever]]. The old form is rejected with an error that names the fix.
  • Plugin API: Retriever.GetIPAddress is replaced by GetAddresses and Provider.SetIPAddress by Update; both now handle the two address families.
  • Plugin API: the required:"true" struct tag is replaced by the required option of the toml tag, toml:"token,required". The old tag is no longer read and nothing reports it, so a plugin that keeps it compiles and the parameter silently becomes optional.

Everything else in 0.3 is additive: new retriever interface, new providers beget, dyndns2 (with dyn, dynu, nicru, noip), rfc2136 and yandexcloud, ${file:PATH} for secrets, --check-config, and dual-stack instances.

Changelog

Install

Docker, for linux/amd64, linux/arm64 and linux/arm/v7. The same tags are on Docker Hub and on the GitHub Container Registry:

docker pull krimsn/dnspatch:0.3.0
docker pull ghcr.io/krimsn/dnspatch:0.3.0

Go:

go install github.com/KrimsN/dnspatch/cmd/dnspatch@v0.3.0

Binary: download the archive for your platform below and check it against checksums.txt.