configd (2.12.2danos8) unstable; urgency=medium

  * session: reconcile now builds its FilterSetTree target with
    union.NewDataNodeWithoutDefaults (config 1.9danos8) instead of a raw
    union.Node, so components that were never configured no longer get
    sent their own YANG defaults. See golang-github-danos-config's
    changelog for the full root cause (R14: "read-back mismatch" stuck
    permanently dirty).
  * Tests: session suite passes unchanged (the fix is narrowly scoped to
    commitmgr_reconcile.go's target(), the only caller of
    ComponentReconcile); the behavioural coverage lives in config's own
    union tests.

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

configd (2.12.2danos7) unstable; urgency=medium

  * session: when a P2 or P4 test pause point holds, it now also writes a seam
    marker file <control dir>/state/<seam>-<component>-<seq>.hit (key=value
    lines: seam, component, kind, seq, pid, call_err, at). call_err is the
    component's reply for P4 ("<nil>" = it answered successfully) and
    "not_sent" for P2, so a test image can tell which seam configd stopped at,
    and that the component had answered, without journald (which does not
    survive under TCG).
  * Still off by default and still free when off: it needs DANOS_TEST_HOOKS=1
    in configd's environment AND a control file naming the component, and with
    the variable unset the pause points remain a nil check (no stat, no open,
    no extra system call). state/ is created by hand on a test image only; if
    it is missing nothing is written. The file is written to a temporary name
    and renamed; a failure is one warning and the commit continues. Nothing is
    written to commit-state.json, and the markers are never removed here.
  * Tests for the marker (P2, P4 with and without an error, rename and create
    failure, missing directory) and for the zero-call case.

 -- i-danos dev <dev@i-danos.dev>  Mon, 26 Oct 2026 22:18:43 -0700

configd (2.12.2danos6) unstable; urgency=medium

  * session: test pause points P2 and P4 in the dispatch recorder, compiled
    in but off by default. P2 stops after the dispatch record is durable and
    before the Set is sent; P4 stops after the component replied and before
    the record is marked settled. They let a test image stop configd at those
    two points and kill it, which a real system could not hit
    deterministically.
  * The pause needs DANOS_TEST_HOOKS=1 in configd's environment AND a control
    file /etc/danos/test-hooks/pause-p2 or pause-p4 naming the component; no
    package ships either. With the variable unset the pause points are a nil
    check: no stat, no open, no extra system call. With the variable set and
    no control file the cost is one stat per pause point.
  * The pause is bounded (default 10 s, at most 15 s), fires once per control
    file, and a missing or wrong FIFO or a malformed control file lets the
    commit continue at once. The hooks never write the journal and do not
    change may_have_been_sent, settled or the fence verdicts; they only delay.
  * Tests for the pause points, including the inert case.

 -- i-danos dev <dev@i-danos.dev>  Mon, 26 Oct 2026 09:06:13 -0700

configd (2.12.2danos5) unstable; urgency=medium

  * session: durable commit journal (/var/run/vyatta/configd/commit-state.json)
    with commit record, per-component dispatch records and dirty classes
    (unknown, unsettled, unfenced, crash_window, compensation_failed,
    unverified, boot_partial, blocked). A journal write failure keeps the
    dirty state in memory (UpdateKeepDirty) instead of losing it.
  * session: fence gate for ordinary commit, reconcile and startup, using
    the service identity and monotonic clock; startup recovery consumes a
    stale commit record in one atomic write; runfile persistence is atomic
    and the failure matrix is covered by fault-injection tests.
  * server, client, cfgcli: new Reconcile RPC and "reconcile" command that
    re-apply the running configuration to dirty components; authorised and
    accounted as "commit reconcile". Commits report an independent dirty
    component as a warning with a hint to run reconcile.
  * server: the commit-confirm timer script is overridable in the
    dispatcher so unit tests no longer need vyatta-config-mgmt.pl; this
    fixes three commit-confirm tests that failed on hosts without it.
  * Tests for journal, fence, recovery, startup, reconcile and the RPC.
  * Version note: danos3 and danos4 were intermediate local builds and were
    never published.

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

configd (2.12.2danos2) unstable; urgency=medium

  * debian/control: drop the golang-github-godbus-dbus-dev Build-Depends
    entirely. configd's own source never imports godbus/dbus directly (the
    only consumers were golang-github-danos-config-dev and
    golang-github-danos-vci-dev, both of which now vendor their own copy of
    the fork privately rather than exposing it), so this had become a
    vestigial Build-Depends. Left in place, it forced configd's build root
    to hold both the fork and Debian's real golang-dbus-dev v5 (pulled in
    transitively via golang-go-systemd-dev) at once, which cannot coexist:
    "dpkg: trying to overwrite '.../godbus/dbus/auth.go', which is also in
    package golang-dbus-dev (5.1.0-1)". Verified locally: `go build ./...`
    passes against the updated config-dev and vci-dev trees.

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

configd (2.12.2danos1) 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

configd (2.12.2) unstable; urgency=medium

  * Fix over-optimised leafref allowed values cacheing.

 -- William Ivory <william.ivory@intl.att.com>  Tue, 28 Sep 2021 16:58:25 +0100

configd (2.12.1) unstable; urgency=medium

  [ Paul Carson ]
  * Block commit when disk is read-only (Fixes: VRVDR-55566)

 -- William Ivory <william.ivory@intl.att.com>  Tue, 31 Aug 2021 13:00:08 +0100

configd (2.12) unstable; urgency=medium

  [ Nicholas Brown ]
  * dh-systemd is part of debhelper

  [ William Ivory ]
  * Bullseye build
  * Move configd flag.Parse() from init() to main()

  [ Paul Carson ]
  * Inhibit log message: Login user id not set for pid (Fixes: VRVDR-50782)
  * CopyConfig: Support selectable config encoding
  * Support ValidateConfig
  * Unit tests to verify validate config (Closes: VRVDR-52942)

  [ William Ivory ]
  * Move logic for getting component state to modelset_extension method.
  * Switch DBUS calls to VCI, using ComponentManager.
  * Update copyrights

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

  [ William Ivory ]
  * Update tests for modified XChildren() API.
  * Switch getfulltree log message from debug to error.

  [ John Southworth ]
  * Call all RPCs via configd

  [ William Ivory ]
  * Add tests for leafref performance.
  * Use schema.NewCompMgr()
  * Move Set/GetRunning and GetState from ms to compMgr
  * Move componentMappings to component manager

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

configd (2.11) unstable; urgency=medium

  [ Duncan Eastoe ]
  * configd.tmpfile: Make /var/tmp/configd dir
  * server: use temporary directory for load/save ops
  * config_mgmt: remove spawnCommandAsCallerFn
  * config_mgmt: split spawnCommandAsCaller()
  * server: Add userProcessReader
  * load_keys: don't load complete file into memory
  * load_keys: update session as keys are parsed
  * server: Switch load/loadkey to userProcessReader
  * config_mgmt: os.Chown() --> File.Chown()
  * config_mgmt: copyFile & uploadFile take *os.File
  * config_mgmt.go: Check for os.File.Sync() error
  * session: Add concept of session "owner"
  * server: mark "superuser" connections in Context
  * session: SessionMgr.Get() accepts Context param
  * session: Add initial session manager UTs
  * session: Add SessionMgr.lookup()
  * session: Restrict access to non-shared sessions
  * session: Allow sessions to be shared or un-shared
  * session: Allow superuser to get any session
  * configd: Add SetupSessionShared RPC

  [ William Ivory ]
  * Updated InfoTags handling for test mgmt errors
  * Add CopyConfig API
  * Add AAA authorization wrapper to CopyConfig.
  * Return error list from load.go merge_tree()
  * Fix crash in expandPath()

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

configd (2.10) unstable; urgency=medium

  [ Nicholas Brown ]
  * Reuse the same build worker node for the docker container

  [ John Southworth ]
  * Tweak memory settings in the configd process

  [ Paul Carson ]
  * Configure top level defaults after boot

  [ Duncan Eastoe ]
  * edit_config: default-operation none may merge cfg

  [ William Ivory ]
  * Encode MgmtErrors explicitly; decode in client.go

  [ Duncan Eastoe ]
  * edit_config_auth_test.go: Fatalf() --> Errorf()
  * edit_config.go: Skip accounting on test only
  * Update to use latest NewTestAutherCommandRequest
  * aaa.go: Move AAA related funcs from dispatcher.go
  * dispatcher: split accounted RPC handlers
  * dispatcher: Migrate to auth.TaskAccounter API
  * edit_config: Migrate to auth.TaskAccounter API
  * cli_format.go: Avoid "[] is not valid" in RPC err

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

configd (2.9) unstable; urgency=medium

  [ John Southworth ]
  * Create a binary argument encoder to speed up argument encoding.

  [ Nicholas Brown ]
  * Specify SyslogIdentifier= in the systemd service file (Fixes: VRVDR-50783)

  [ John Southworth ]
  * Create rfc7951 merge helper that understands our schema representation
  * Add new library to debian/copyright
  * Add additional Connect function.
  * Fix SPDX reference for configd/client/vci.go
  * Use new shell library for quoting in cfgcmds

  [ Nicholas Brown ]
  * Add a revive.toml file with exported disabled

 -- William Ivory <william.ivory@intl.att.com>  Wed, 22 Jul 2020 11:35:13 +0100

configd (2.8) unstable; urgency=medium

  [ Erik Ziegenbalg ]
  * Configd.postinstall: Tab noise cleanup
  * Configd.postinstall: Sanatize triggered)

  [ Paul Carson ]
  * Support NETCONF confirmed commit (Closes: VRVDR-32867)

  [ Duncan Eastoe ]
  * config_mgmt: Update user sandbox path
  * configd.tmpfile: /var/run -> /run

  [ Paul Carson ]
  * Prevent undesired errors on confirming commit (Fixes: VRVDR-50002)

  [ William Ivory ]
  * Add must threshold debug to cfgdbg utility
  * Pass must debug threshold to validation code

  [ Paul Carson ]
  * Improve cancel-commit command (Fixes: VRVDR-50028)

  [ William Ivory ]
  * Fix escaping for backticks
  * Fix auto-completion of '$$'

  [ Paul Carson ]
  * Prevent scheulling revert if commit fails (Fixes: VRVDR-50125)
  * Improve confirmed-commit logging (Closes: VRVDR-50125)

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

configd (2.7) unstable; urgency=medium

  * DANOS Import Master

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

configd (2.6.3.1) unstable; urgency=medium

  * DANOS Import

 -- Vyatta Package Maintainers <DL-vyatta-help@att.com>  Tue, 12 Nov 2019 09:14:46 +0000
