golang-github-danos-config (1.9danos10) unstable; urgency=medium

  * schema: sameConfigAllowDefaulted also prunes inside list entries. The
    first cut walked JSON objects only, so defaults inside rulesets/rules
    were pruned from the sent document but not from the read-back: vrrp
    (no lists) went clean while acmd and provisiond regressed to
    "read-back mismatch" (74/81 on a real image). Payload unchanged.
  * Tests: 10 cases total, including a defaulted leaf echoed inside a list
    entry, omitted inside one, genuinely changed inside one, and a dropped
    entry.

 -- i-danos dev <dev@i-danos.dev>  Wed, 28 Oct 2026 05:45:00 -0700

golang-github-danos-config (1.9danos8) unstable; urgency=medium

  * union: reconcile's FilterSetTree target no longer sends components
    their own YANG-default leaves. A union.Node always materialises
    defaults (needed so "show configuration all" can display them), but
    reconcile's comparison against a component's own read-back used that
    same raw node, so a component that was never configured still got a
    payload with its defaults filled in while its read-back reported {}.
    sameConfig never matched, and the component stayed permanently
    "unverified" in the commit journal (R14, seen on vrrp after a P2/P4
    crash restart: "dirty": {"net.vyatta.vci.vrrp.v1": {"reason":
    "read-back mismatch"}}). NewDataNodeWithoutDefaults wraps a union.Node
    to recursively omit default-only values (at any depth) while still
    exposing anything actually configured; only the reconcile target uses
    it, so "show configuration" and friends are unaffected.
  * Tests: 3 new union tests (fixture leaks defaults as a sanity check;
    wrapper omits them; wrapper keeps explicitly configured leaves;
    wrapper recurses into all-default non-presence containers).

 -- i-danos dev <dev@i-danos.dev>  Wed, 28 Oct 2026 00:00:00 -0700

golang-github-danos-config (1.9danos7) unstable; urgency=medium

  * auth/acmd: an rpc or notification rule without rpc-name /
    notification-name (YANG: such a rule matches everything) is no longer read
    back as "rpc-name":null / "notification-name":null. The null made
    configd's read-back comparison fail, so reconcile reported "Not
    reconciled: acmd (read-back mismatch)" and the component stayed dirty
    (found on a real VM after a P1 crash restart). Same cause and fix as the
    action/operation leaves in 1.9danos6: omitempty on both fields.
  * Tests: getter round-trip cases for rules without a name.

 -- i-danos dev <dev@i-danos.dev>  Sat, 24 Oct 2026 09:00:00 -0700

golang-github-danos-config (1.9danos6) unstable; urgency=medium

  * schema: component compensation on ordinary commit failure (A02 phase 3).
    The failing component is compensated first, then the components applied
    in the same commit in reverse order, with the previous configuration as
    baseline; every step is reported. Calls to components are bounded (a
    timeout only stops waiting, the call cannot be recalled) and an
    unanswered Check fails the commit after 30 s with nothing applied.
    Dispatches are recorded through a recorder interface so configd can keep
    a crash-safe journal; unknown outcomes are verified by reading the
    component back and comparing with sameConfig.
  * schema: sameConfig normalises through the YANG schema and compares
    lists and leaf-lists order-independently except "ordered-by user" ones,
    whose order is part of the configuration; duplicates are not collapsed.
  * auth/acmd: the getter returns exactly what configd delivered. Presence
    containers stay {} and never-sent leaves (the *-default actions, rule
    action/operation, group and module names) are omitted instead of being
    emitted as empty strings, which made read-back verification fail.
  * Tests: compensation, bounded Check, sameConfig (including a run against
    the real acm YANG when DANOS_YANG_DIR is set; skipped otherwise), and a
    getter round-trip over 15 payloads.
  * Version note: danos4 and danos5 were intermediate local builds and were
    never published.

 -- i-danos dev <dev@i-danos.dev>  Fri, 23 Oct 2026 12:00:00 -0700

golang-github-danos-config (1.9danos3) unstable; urgency=medium

  * Correct danos2: it only found and fixed schema/component_mgr.go's use of
    github.com/godbus/dbus, missing auth/acmd/policy-reload.go's own,
    separate use of the fork's Handler/SignalHandler extensions (a
    recursive grep across the tree, not just one level deep, finds both).
    Worse, danos2's fix was a real correctness bug, not just incomplete:
    component_mgr.go's `err.(dbus.Error)` assertion checks errors returned
    by cm.SetConfigForModel, whose real implementation is vci's own
    dbusTransport (vendored, using the fork's dbus.Conn) -- so switching
    just that one file to real v5's dbus.Error made the type assertion
    permanently fail at runtime (compiles fine, silently never matches).
  * Fix instead mirrors vci's own: vendor github.com/danos/godbus/dbus and
    github.com/danos/objtree under vendor/ (copied directly from vci's
    vendor tree, same private import paths, same patches already applied),
    and repoint both policy-reload.go and component_mgr.go at the vendored
    copies -- restoring the single consistent dbus type this package always
    had before, rather than splitting it across two incompatible ones.
    Drops golang-dbus-dev and golang-github-godbus-dbus-dev from
    debian/control entirely; the real v5 package is still pulled in
    transitively via golang-github-danos-vci-dev's own
    golang-go-systemd-dev dependency, satisfying whatever needed it, but
    this package no longer needs to reference either dbus package itself.
    Verified: `go build ./...` and `go test ./...` both pass locally.

 -- DANOS <noreply@danos.io>  Mon, 28 Sep 2026 11:30:00 +0800

golang-github-danos-config (1.9danos2) unstable; urgency=medium

  * schema/component_mgr.go: switch to Debian trixie's real golang-dbus-dev
    (5.1.0) instead of this project's v4-era golang-github-godbus-dbus-dev
    fork. The import path itself stays the plain "github.com/godbus/dbus":
    confirmed by dpkg -L that Debian's package installs its v5 source under
    that same unversioned GOPATH path, not github.com/godbus/dbus/v5 (a
    packaging convention, not something upstream's own go.mod declares).
    This package's only use of the package is a plain dbus.Error type
    assertion for error handling -- not any of the fork's
    Handler/SignalHandler extensions -- and that type is identical in real
    upstream v5, confirmed by a local build and full test pass against the
    real golang-dbus-dev package.
  * This was blocking the OBS build outright, the same way it blocked vci
    before vci's own fix: this package's build root needed both the v4 fork
    (for its own direct import) and Debian's real v5 (transitively, via
    golang-github-danos-vci-dev's own golang-go-systemd-dev dependency),
    which cannot coexist -- "dpkg: trying to overwrite '.../godbus/dbus/
    auth.go', which is also in package golang-dbus-dev (5.1.0-1)". Here the
    fix is simpler than vci's vendoring: since this package's own usage
    never needed the fork's extensions, moving to the real v5 outright
    removes the conflict instead of working around it.

 -- DANOS <noreply@danos.io>  Mon, 28 Sep 2026 11:15:00 +0800

golang-github-danos-config (1.9) unstable; urgency=medium

  * debian/control: golang-dbus-dev renamed to golang-github-godbus-dbus-dev
    (see golang-github-godbus-dbus's own changelog for why).

 -- DANOS <noreply@danos.io>  Mon, 28 Sep 2026 09:15:00 +0800

golang-github-danos-config (1.9) unstable; urgency=medium

  [ William Ivory ]
  * Sort deb11 build
  * Create ServiceGetState() method.
  * Make rfc7951Merger object and methods private.
  * Fix copyrights.
  * Rationalise model_extension.go
  * Add ComponentManager interface and compmgrtest.
  * Convert modelset extension to use VCI methods.
  * Remove Dispatcher from CompilationExtensions.
  * Remove logging of default namespace list

  [ Paul Carson ]
  * YANG: Support yang choices (Closes: VRVDR-6224)

  [ John Southworth ]
  * Remove DBus RPC policy adjustment

  [ William Ivory ]
  * Rename service to component in schema directory.
  * Move component-related info in modelset into componentMappings object.
  * Move compmgrtest.go
  * Rework component manager
  * Move ms.ServiceValidation() to compMgr.ComponentValidation()
  * fixup
  * Move Set/GetRunning and GetState from ms to compmgr
  * Remove componentMappings from modelSet; make into more encapsulated object.
  * Disable go vet for Go1.10 and earlier.

 -- Paul Carson <paul.carson@intl.att.com>  Thu, 01 Jul 2021 13:54:29 +0100

golang-github-danos-config (1.8) unstable; urgency=medium

  [ William Ivory ]
  * Add support for blocking AAA authorization to test auth.
  * Add ContainedInOrderIn() to ExpectedMessages

  [ Paul Carson ]
  * Validate platform files and features
  * Improved platform file unit tests (Closes: VRVDR-53901)

 -- William Ivory <william.ivory@intl.att.com>  Tue, 23 Feb 2021 13:44:51 +0000

golang-github-danos-config (1.7) unstable; urgency=medium

  [ John Southworth ]
  * Deduplicate empty extensions structure
  * Only allocate a single ListEntry

  [ Duncan Eastoe ]
  * aaa_auther: Migrate to aaa plugin API v2
  * auth: Add TaskAccounter abstraction
  * auth: Define types for TestAutherRequest
  * auth: AAA, audit, and test TaskAccounter impls.
  * auth: Auth implementation of TaskAccounter

 -- William Ivory <william.ivory@intl.att.com>  Fri, 25 Sep 2020 08:46:10 +0100

golang-github-danos-config (1.6) unstable; urgency=medium

  [ Paul Carson ]
  * Complete implementation of Yang identityref
  * Test identityref help text processing
  * Implement identityref XML and json processing (Closes: VRVDR-6226)

  [ William Ivory ]
  * Add createServiceManager wrapper
  * getModelSet now returns extended modelSet
  * Refactor tests for service/component namespace
  * Refactor checkServiceNamespaces
  * Switch version of testutils; remove local runTestAndCaptureStdout
  * Move test helper functions from modelset_test to schema_test
  * Update copyrights (Closes: VRVDR-50209)
  * Allow tests to pass in checkOnly namespaces
  * Generate namespace maps for both check() and set()
  * Tests and helper functions for ValidateCandidate and SetRunning
    (Closes: VRVDR-50014)
  * Fix parsing of configs with no trailing newline. (Closes: VRVDR-29238)
  * Use yangValDebugContext to allow must statement debug
  * Fix string parsing
  * Add support for parsing leading single quote inside double quotes
    (Closes: VRVDR-44479)

 -- William Ivory <william.ivory@intl.att.com>  Fri, 03 Apr 2020 11:37:33 +0100

golang-github-danos-config (1.5) unstable; urgency=medium

  * DANOS Import Master

 -- Vyatta Package Maintainers <DL-vyatta-help@att.com>  Fri, 15 Nov 2019 11:39:12 +0000

golang-github-danos-config (1.4.1.1) unstable; urgency=medium

  * DANOS Import

 -- Vyatta Package Maintainers <DL-vyatta-help@att.com>  Tue, 12 Nov 2019 10:48:04 +0000

