<?xml version="1.0" encoding="UTF-8"?>
<otherdata xmlns="http://linux.duke.edu/metadata/other" packages="12">
<package pkgid="6ced5e2d8b1e39894a24f99a0c42ec1e5b5f0532a7b011018c0cb2f9e2a12a84" name="vexor-api" arch="x86_64">
  <version epoch="0" ver="0.1.0" rel="289.el10"/>
  <changelog author="Vexor &lt;releng@vexor.local&gt; - 0.1.0-287" date="1786104000">- Audit list endpoints (/api/v1/audit, /api/v1/notify/audit) accept an offset
  parameter for server-side pagination (Sprint 2 P1-6).</changelog>
  <changelog author="Vexor &lt;releng@vexor.local&gt; - 0.1.0-288" date="1786622400">- Sprint 3 (P2): new bulk operations endpoints /api/v1/ops/bulk-add-to-group
  (operator) and /api/v1/ops/bulk-delete (admin). Bulk delete reuses the
  canonical single-host purge path; changes are pending until Activate.</changelog>
  <changelog author="Vexor &lt;releng@vexor.local&gt; - 0.1.0-289" date="1786795200">- AGVER: Windows agent (NSClient++) version registry. New Alembic migration
  0007 adds windows_agent_packages / windows_agent_settings tables and a
  hosts.agent_version column, seeded with NSClient++ 0.15.0 (primary) and
  0.5.2.35 (archived). New API under /api/v1/agents/windows/packages: browse
  the catalog, refresh from GitHub, one-click download+set-primary, roll back
  to an older downloaded version, upload a custom MSI, and configure the daily
  auto-check. The one-file installer now serves the catalog's primary package.</changelog>
</package>
<package pkgid="b0e7dea6b1e05bd6be2a4af9fb20280ba49ce99114df6cef130fd5bee5a13bd5" name="vexor-fluentbit" arch="x86_64">
  <version epoch="0" ver="5.0.5" rel="1.el10"/>
  <changelog author="sayonarase &lt;sayonarase@users.noreply.github.com&gt; - 5.0.5-1" date="1794916800">- Initial Fluent Bit wrapper for Vexor Logs.</changelog>
</package>
<package pkgid="efcc6955a6cdeb4d6ee12357ef9d3ffefe5a2b7b5b9c3da618ce06df75d47fd3" name="vexor-keycloak" arch="noarch">
  <version epoch="0" ver="0.1.0" rel="7.el10"/>
  <changelog author="Vexor &lt;support@vexor.local&gt; - 0.1.0-1" date="1779105600">- Initial RPM packaging</changelog>
  <changelog author="Vexor &lt;support@vexor.local&gt; - 0.1.0-3" date="1779537600">- Require postgresql-server &gt;= 16 + postgresql-contrib so the Postgres
  backend used by Keycloak is provisioned automatically on new installs.</changelog>
  <changelog author="Vexor &lt;support@vexor.local&gt; - 0.1.0-4" date="1779537601">- %post now re-runs kc.sh build when /etc/vexor/keycloak.env exists, so
  upgrades cannot leave persisted bytecode out of sync with keycloak.conf
  (was causing INVALIDARGUMENT crash loops on upgrade).</changelog>
  <changelog author="Vexor &lt;support@vexor.local&gt; - 0.1.0-5" date="1779537602">- %post now invokes /usr/libexec/vexor/setup-postgres so the conf is
  restored (http-relative-path=/auth + db settings) before the bytecode
  is rebuilt. Fixes 404 on /auth/realms/vexor after upgrade.</changelog>
  <changelog author="Copilot &lt;copilot@vexor&gt; - 0.1.0-6" date="1779710400">- %post: also chown /opt/keycloak/lib/quarkus so kc.sh build can write transformed-bytecode.jar</changelog>
  <changelog author="Copilot &lt;copilot@vexor&gt; - 0.1.0-7" date="1780574400">- Update bundled Keycloak 26.6.2 -&gt; 26.6.3 (latest); rebuilt postgres-optimized</changelog>
</package>
<package pkgid="71ff9429067917bd79279ceb8ee939ec38bb2661604f4b465fdf829dd96ca795" name="vexor-logs" arch="noarch">
  <version epoch="0" ver="0.1.0" rel="36.el10"/>
  <changelog author="sayonarase &lt;sayonarase@users.noreply.github.com&gt; - 0.1.0-23" date="1783166400">- Add log anomaly detection: baseline (robust z-score volume/rate), template
  novelty (dependency-free miner) and LLM watch monitors, evaluated by the
  existing alert evaluator; new /api/v1/log-anomalies API + Sigma-inspired
  preset catalog; results emit passive Naemon results when host-bound.</changelog>
  <changelog author="sayonarase &lt;sayonarase@users.noreply.github.com&gt; - 0.1.0-24" date="1783166401">- Fix install-windows-agent.ps1 Vector config generation: parenthesise the
  ForEach-Object pipeline before -join so PowerShell no longer tries to bind
  the join result to ForEach-Object -RemainingScripts (install aborted with
  "Cannot bind parameter RemainingScripts" right after the Vector download).</changelog>
  <changelog author="sayonarase &lt;sayonarase@users.noreply.github.com&gt; - 0.1.0-25" date="1783166402">- Make Windows installer NSSM service registration robust: guard stop/remove
  with Get-Service and relax ErrorActionPreference around the nssm section so a
  first install no longer aborts with a NativeCommandError (nssm cannot open a
  not-yet-existing service); verify the service is Running afterwards.</changelog>
  <changelog author="sayonarase &lt;sayonarase@users.noreply.github.com&gt; - 0.1.0-26" date="1783166403">- Fix Windows Vector config: drop the unsupported subscription_name field from
  the windows_event_log source so Vector can load the config and start shipping.</changelog>
  <changelog author="sayonarase &lt;sayonarase@users.noreply.github.com&gt; - 0.1.0-27" date="1783166404">- Windows installer now supports shipping log files/globs in addition to event
  channels: any -Logs value containing a path separator, wildcard or drive
  letter becomes a Vector file source (include glob); plain names remain event
  channels. File events get channel set to the source path.</changelog>
  <changelog author="sayonarase &lt;sayonarase@users.noreply.github.com&gt; - 0.1.0-28" date="1783166405">- Windows installer: add -FileEncoding parameter (interactive installer prompts
  for it) that sets Vector encoding.charset on file sources, so non-UTF-8 logs
  such as SQL Server ERRORLOG (UTF-16LE) or legacy ANSI (windows-1252) ship
  without mojibake. Any encoding_rs label is accepted; blank keeps UTF-8.</changelog>
  <changelog author="sayonarase &lt;sayonarase@users.noreply.github.com&gt; - 0.1.0-29" date="1783166406">- Interactive Windows installer: invoke the downloaded installer in-process via
  splatting instead of powershell -File, so file paths containing spaces (e.g.
  C:\Program Files\Microsoft SQL Server\...) no longer cause a positional
  parameter error.
- Installer now splits comma-separated event-channel entries and trims spaces,
  so entering "Application,System,Security" on one line works.</changelog>
  <changelog author="sayonarase &lt;sayonarase@users.noreply.github.com&gt; - 0.1.0-30" date="1783166407">- Interactive Windows installer: friendlier log selection - first a yes/no for
  the standard event logs (Application/System/Security), then a repeat prompt to
  add more sources (file, glob, event channel, or a folder which is auto-expanded
  to a recursive file glob).</changelog>
  <changelog author="sayonarase &lt;sayonarase@users.noreply.github.com&gt; - 0.1.0-31" date="1783339200">- Log subsystem feature wave: field-extraction (parse) rules (F2), log-derived
  metrics with warn/crit thresholds (F3), GeoIP country enrichment for IP
  addresses in the search view (F4), a "show context" (surrounding lines) action
  (F7), and scheduled log digests/reports (F8). Adds migrations 007/008/009 and
  registers the parse-rules, geoip, metrics and reports routers; the evaluator now
  samples metrics and delivers due reports.</changelog>
  <changelog author="sayonarase &lt;sayonarase@users.noreply.github.com&gt; - 0.1.0-34" date="1783425600">- Syslog ingestion now runs through a built-in rsyslog relay that stamps the
  REAL sender IP (fromhost-ip) and forwards JSON to VictoriaLogs. Network
  devices (switches, firewalls, routers) therefore show up on the Log
  Shippers page with their source IP, which VictoriaLogs' native syslog
  receiver could not capture. Ships /usr/libexec/vexor/vexor-syslog-relay-apply
  (root reconciler that generates the rsyslog drop-in from logs.env),
  vexor-syslog-relay.service (oneshot) and a polkit rule so the vexor user can
  trigger it; Requires rsyslog. The Logs Settings syslog toggle now drives the
  relay (VEXOR_LOGS_RELAY_ENABLED/UDP/TCP) and retires VictoriaLogs' native
  :514 receiver. /shippers prefers the real source_ip for syslog senders.</changelog>
</package>
<package pkgid="d3c9671316a0f2be85da0cc4e9594977cbe0993935ea23a5b901a63f8726a37a" name="vexor-naemon" arch="x86_64">
  <version epoch="0" ver="0.1.0" rel="72.el10"/>
  <changelog author="Vexor &lt;release@sayonara.dyndns.org&gt; - 0.1.0-57" date="1781870400">- Self-protection: boot self-heal guard replaces the stock naemon -v
  ExecStartPre. If the config fails verification at start/boot it auto-
  restores vexor-api's last-known-good snapshot (/var/lib/vexor/naemon-lkg)
  so a single bad saved check can't keep monitoring down after a reboot,
  and drops a marker the API surfaces as a user-visible event.</changelog>
  <changelog author="Vexor &lt;build@vexormon.com&gt; - 0.1.0-58" date="1782388800">- Add check_nrpe_disk_all command: monitors all fixed drives (NSClient++
  check_drivesize filter type='fixed') with per-drive Total/Used/Free output.</changelog>
  <changelog author="Vexor &lt;build@vexormon.com&gt; - 0.1.0-61" date="1783080000">- vexor-base.cfg: add naemon commands for the new update/patch and dependency
  checks - check_nrpe_win_* (7), check_nrpe_linux_* (7) and check_nrpe_deps_* (4).
  The dependency agent command forwards $ARG1$..$ARG16$ (audit wrapper bakes in
  several --flag tokens). All read-only NRPE/NSClient external-script checks.</changelog>
  <changelog author="Vexor &lt;build@vexormon.com&gt; - 0.1.0-62" date="1783080001">- vexor-base.cfg: add check_zerossl command (server-side active check that queries
  the ZeroSSL REST API for account certificate expiry). Read-only.</changelog>
  <changelog author="Vexor &lt;build@vexormon.com&gt; - 0.1.0-63" date="1783080002">- check_nrpe_disk_all: enumerate `drive=all-drives` instead of `drive=*` so
  letterless EFI/recovery/system volumes are no longer reported; only lettered
  fixed drives (C:, D:, ...) are checked.</changelog>
  <changelog author="Vexor &lt;build@vexormon.com&gt; - 0.1.0-64" date="1783080003">- Uptime checks now show uptime + boot time and accept optional
  warning=/critical=uptime&lt;Nh filters to alert on a recent reboot (low uptime).
  Previous top-syntax rendered an empty ${uptime}, so the check only showed OK.</changelog>
  <changelog author="Vexor &lt;build@vexormon.com&gt; - 0.1.0-65" date="1783080004">- Add check_nrpe_win_selfupdate and check_nrpe_linux_selfupdate commands for the
  agent plugin self-update feature (Windows applies+reports via NSClient++;
  Linux reports the state maintained by the root systemd timer).</changelog>
  <changelog author="Vexor &lt;release@sayonara.dyndns.org&gt; - 0.1.0-70" date="1783944000">- Fixed check_nrpe_linux_uptime_basic command: send plain -w/-c hour thresholds
  (-a $ARG1$ $ARG2$) instead of NSClient++ filter syntax (warning=uptime&lt;2h),
  whose &lt; metachar made the Linux nrpe daemon reject the request (illegal
  metachars / Receive header underflow). Windows variant unchanged.</changelog>
  <changelog author="Vexor &lt;build@vexormon.com&gt; - 0.1.0-71" date="1784635200">- Add 5 MSSQL rich-metrics/diagnostics command defs (vexor_check_mssql_metrics,
  _waits, _top_queries, _blocking, _io_latency) wrapping check_mssql_metrics_vexor.py.</changelog>
  <changelog author="Vexor &lt;build@vexormon.com&gt; - 0.1.0-72" date="1784808000">- MSSQL: added vexor_check_mssql_snapshot command (posts full point-in-time
  state to the local ingest endpoint every minute).</changelog>
</package>
<package pkgid="454bcf4b4a454d587167f27c412a2123de6fee69b6e5464d4fac352b1f3ff811" name="vexor-plugin-wmiplus" arch="noarch">
  <version epoch="0" ver="0.1.0" rel="3.el10"/>
  <changelog author="Vexor &lt;support@vexor.local&gt; - 0.1.0-1" date="1779192000">- Initial bundling of Check WMI Plus v1.68 under GPL-2.0-or-later
- Adds Vexor credential-store wrapper and Naemon command definitions</changelog>
  <changelog author="Copilot &lt;copilot@vexor&gt; - 0.1.0-3" date="1780747200">- perl-Number-Format: Requires -&gt; Recommends so the package is installable on
  EL10 (no provider there). WMI agentless monitoring is handled via impacket.</changelog>
</package>
<package pkgid="2a2552510bbc0125d7ae2dd8f725ac407c251a1243b389aae6abf2fadd33cdb8" name="vexor-release" arch="noarch">
  <version epoch="0" ver="0.1.0" rel="5.el10"/>
  <changelog author="Vexor Release Team &lt;release@sayonara.dyndns.org&gt; - 0.1.0-1" date="1779364800">- Initial release: ships /etc/yum.repos.d/vexor.repo and GPG signing key</changelog>
  <changelog author="Vexor Release Team &lt;release@sayonara.dyndns.org&gt; - 0.1.0-2" date="1779364801">- Use unified per-releasever repodata layout (drop $basearch from baseurl)</changelog>
  <changelog author="Copilot &lt;copilot@vexor&gt; - 0.1.0-3" date="1780228800">- Pull in epel-release + dnf-plugins-core as hard deps so a fresh
  RHEL/Rocky install no longer needs manual repo prep.
- Ship influxdata.repo alongside vexor.repo so influxdb2 / influxdb2-cli
  resolve automatically when installing vexor-server.
- %post enables CRB/PowerTools and imports the InfluxData GPG key.</changelog>
  <changelog author="Copilot &lt;copilot@vexor&gt; - 0.1.0-4" date="1780747200">- vexor.repo: skip_if_unavailable=1 so a brief repo-server outage no longer
  breaks unrelated dnf transactions on installed systems.</changelog>
  <changelog author="Copilot &lt;copilot@vexor&gt; - 0.1.0-5" date="1781784000">- Point baseurl at the new public repo host https://repo.vexormon.com (was sayonara.dyndns.org:8443).</changelog>
</package>
<package pkgid="1d31e53475b3703ea8d6af25b849c7d7c84ecd18ca4406703b2a5a6989f4f15a" name="vexor-server" arch="noarch">
  <version epoch="0" ver="0.1.0" rel="8.el10"/>
  <changelog author="Vexor &lt;support@vexor.local&gt; - 0.1.0-1" date="1779105600">- Initial meta-package</changelog>
  <changelog author="Vexor &lt;support@vexor.local&gt; - 0.1.0-3" date="1779364800">- Pull in influxdb2-cli so vexor-setup can run "influx setup"</changelog>
  <changelog author="Copilot &lt;copilot@vexor&gt; - 0.1.0-5" date="1779710400">- vexor-setup: set httpd_can_network_connect SELinux boolean so nginx can proxy keycloak/api</changelog>
  <changelog author="Copilot &lt;copilot@vexor&gt; - 0.1.0-6" date="1780228800">- Require vexor-release so a single 'dnf install vexor-server' off a fresh
  system pulls in the right repository configuration automatically.
- Recommend vexor-plugin-wmiplus, vexor-logs, vexor-vector,
  vexor-victorialogs so Windows monitoring + log aggregation install by
  default but stay optional for minimal deployments.</changelog>
  <changelog author="Copilot &lt;copilot@vexor&gt; - 0.1.0-7" date="1780315200">- Require vexor-logs (was Recommends) so it is always installed in the same
  transaction as vexor-api; with vexor-api no longer shipping plugins/logs
  this permanently resolves the vexor-logs&lt;-&gt;vexor-api file conflict and
  removes the need for --exclude=vexor-logs on upgrades</changelog>
  <changelog author="Vexor &lt;release@sayonara.dyndns.org&gt; - 0.1.0-8" date="1780920000">- Fix fresh-install pulling ancient component releases: change vexor-{release,api,
  ui,naemon,keycloak} dependencies from "= 0.1.0" (exact version, which made
  libsolv select the OLDEST 0.1.0 release of vexor-api, e.g. 0.1.0-9) to
  "&gt;= 0.1.0" so dnf installs the newest available release of each component.
  This also removes the /opt/vexor/plugins/check_wmi_plus.pl file conflict, since
  modern vexor-api releases no longer ship that file (owned by vexor-plugin-wmiplus).</changelog>
</package>
<package pkgid="95638453ac03b1450e4d024704ef317f09676a582910839cfd90066ce752d95c" name="vexor-ui" arch="noarch">
  <version epoch="0" ver="0.1.0" rel="225.el10"/>
  <changelog author="Vexor &lt;releng@vexor.local&gt; - 0.1.0-218" date="1786104000">- Sprint 2 (P1): responsive topbar/page headers, horizontal table scroll on
  small screens, Events/Audit pagination, Logs load-more, white-label branding,
  unified timestamps, consistent error/empty states, and a11y (axe) CI gate.</changelog>
  <changelog author="Vexor &lt;releng@vexor.local&gt; - 0.1.0-219" date="1786622400">- Sprint 3 (P2): consistent row-action density with overflow menus and
  semantic color tokens; icon-button accessible names; guided tour no longer
  blocks content (non-blocking welcome); neutral placeholder copy; SLA alias
  sanitization and MTTR tooltip; discovery empty-state guidance; job console
  retry/reconnect/download-log; bulk add-to-group and bulk delete for hosts.</changelog>
  <changelog author="Vexor &lt;releng@vexor.local&gt; - 0.1.0-220" date="1786622401">- UI resilience: wrap route/code-split imports in lazyWithReload so an
  already-open tab self-heals after a UI deploy. A stale code-split chunk
  (removed by a newer build) now triggers exactly one automatic reload
  instead of rendering a blank page (e.g. Logs). Loop-guarded via
  sessionStorage.</changelog>
  <changelog author="Vexor &lt;build@vexormon.com&gt; - 0.1.0-221" date="1786622402">- Fix Logs and other large tables rendering blank while the row count showed:
  give the virtualized scroll container a definite height so tanstack-virtual
  measures a non-zero viewport (regression from the Sprint 2 overflowX change).</changelog>
  <changelog author="Vexor &lt;build@vexormon.com&gt; - 0.1.0-222" date="1786622403">- Really fix large/virtualized tables (Logs, Hosts, Services) rendering blank
  while the row count showed. The virtualizer was wired to the scroll container
  via a mutable ref that was still null when the (descendant) table body mounted,
  so it attached to nothing and returned zero rows. Deliver the scroll element
  reactively via a callback ref + state so the virtualizer attaches once it
  mounts.</changelog>
  <changelog author="Vexor &lt;build@vexormon.com&gt; - 0.1.0-223" date="1786795200">- Session expiry &amp; live-stream resilience (P3-3): expired sessions now show a
  single de-duplicated "Session expired - signing you back in" toast, in-flight
  SSE/EventSource streams (log tail, job console) detect 401/403 and trigger a
  clean re-auth instead of dying silently, and the live log stream auto-resumes
  with bounded exponential backoff after transient drops.
- UI consistency (P3-2): replaced 83 inline style objects across 49 components
  with Mantine style props (spacing/size/flex/typography tokens), reducing
  hardcoded inline styling and improving theme consistency.</changelog>
  <changelog author="Vexor &lt;build@vexormon.com&gt; - 0.1.0-224" date="1786795201">- Add a "Help &amp; documentation" link to the Administer &gt; Platform menu so the
  in-app help page is reachable from the sidebar.</changelog>
  <changelog author="Vexor &lt;build@vexormon.com&gt; - 0.1.0-225" date="1786795202">- Add an "Agent versions" page under Onboarding for managing deployable
  NSClient++ (Windows agent) versions: pull stable releases from GitHub, set
  the primary version served to new installs, roll back to older versions,
  upload a custom MSI, configure automatic update checks/retention, and scan
  monitored hosts for their installed agent version.</changelog>
</package>
<package pkgid="9e4933e0993c68f8dec4f21d7aa22fb04ba5804f2e11b30e0efbc6fe1c1b8283" name="vexor-vector" arch="x86_64">
  <version epoch="0" ver="0.56.0" rel="2.el10"/>
  <changelog author="Vexor &lt;release@sayonara.dyndns.org&gt; - 0.56.0-2" date="1781956800">- Fix host label: the built-in shipper tagged every log host="unknown" because
  get_env_var("HOSTNAME") is empty under systemd. Use get_hostname() so logs are
  tagged with the real node hostname. %config(noreplace) keeps existing configs;
  restart vexor-vector to pick up the new default on a fresh install.</changelog>
</package>
<package pkgid="ece3f039961fca548cb680b484ce54cc64f94088bca9fb1d7b9f719bf2c9b475" name="vexor-victorialogs" arch="x86_64">
  <version epoch="0" ver="1.51.0" rel="2.el10"/>
  <changelog author="sayonarase &lt;sayonarase@users.noreply.github.com&gt; - 1.50.0-1" date="1763380800">- Initial package; ships upstream VictoriaLogs 1.50.0 for Vexor.</changelog>
  <changelog author="sayonarase &lt;sayonarase@users.noreply.github.com&gt; - 1.50.0-2" date="1763467200">- Add /usr/bin/vexor-victorialogs launcher that reads /etc/vexor/logs.env
  (VEXOR_LOGS_RETENTION_DAYS, VEXOR_LOGS_LISTEN, VEXOR_LOGS_STORAGE).
- Service unit now sources /etc/vexor/logs.env and execs the launcher.</changelog>
  <changelog author="sayonarase &lt;sayonarase@users.noreply.github.com&gt; - 1.51.0-1" date="1781956800">- Update bundled VictoriaLogs to upstream v1.51.0.</changelog>
  <changelog author="Vexor &lt;release@sayonara.dyndns.org&gt; - 1.51.0-2" date="1781956801">- Launcher: wire optional disk-based retention (VEXOR_LOGS_DISK_MODE/BYTES/
  PERCENT) and a native syslog receiver (VEXOR_LOGS_SYSLOG_UDP/TCP) into the
  VictoriaLogs flags.
- Ship a service drop-in granting CAP_NET_BIND_SERVICE so the vexor user can
  bind privileged syslog ports (e.g. 514) under NoNewPrivileges hardening.</changelog>
</package>
<package pkgid="1fde05eebef72068e97d3ff777d939385b81a4f086e3cbd52bc3ad159e70a4bf" name="vexor-vms" arch="x86_64">
  <version epoch="0" ver="0.1.0" rel="30.el10"/>
  <changelog author="Vexor &lt;build@vexor.local&gt; - 0.1.0-3" date="1784289600">- Fix the OpenVMS pack description to match the shipped check_vms command:
  name the Vexor host the same as the bridge entry (uses $HOSTNAME$), instead
  of referring to a not-yet-implemented _VMS_NAME custom variable.</changelog>
  <changelog author="Vexor &lt;build@vexor.local&gt; - 0.1.0-4" date="1784289601">- Clearer Processes and Queues checks: when nothing is watched, explain what the
  check does and how to enable it (watch_processes/watch_queues in bridge.yaml)
  instead of a bare "not configured"; when watched, list each process/queue with
  its state (RUNNING/NOT RUNNING, paused/stopped) as long output so the service
  detail page is self-explanatory.</changelog>
  <changelog author="Vexor &lt;build@vexor.local&gt; - 0.1.0-5" date="1784289602">- Ship an in-app OpenVMS help page (/opt/vexor/docs/openvms.md) that appears
  under Help &amp; Documentation: OpenVMS-side prep (SSH log VERSION_LIMIT/PURGE and
  a least-privilege monitoring account), installing/configuring the bridge,
  adding the host in Vexor, the check reference, VSI updates (architecture), and
  troubleshooting (HTTP 401 token perms, UNKNOWN states, iLO).</changelog>
  <changelog author="Vexor &lt;build@vexor.local&gt; - 0.1.0-6" date="1784289603">- Make bridge.yaml self-documenting: the shipped example now spells out that
  passwords live in /etc/vexor/vms/bridge.env (referenced by name via
  password_env, loaded by systemd), and gives ready-to-uncomment
  watch_processes / watch_queues blocks per host so operators can see exactly
  where to enable the Processes and Queues checks.
- Ship /etc/vexor/vms/bridge.env.example documenting the secrets file and the
  password_env → bridge.env variable-name mapping.</changelog>
  <changelog author="Vexor &lt;build@vexor.local&gt; - 0.1.0-7" date="1784289604">- GUI-driven configuration: the bridge now exposes a token-protected config API
  (GET/POST/PUT/DELETE /config/hosts, POST /config/reload) so Vexor can add and
  edit OpenVMS hosts — watched processes/queues, architecture, SNMP and
  SSH/iLO/VSI credentials — entirely from the web UI, with no on-disk editing of
  bridge.yaml or bridge.env. Edits preserve YAML comments (ruamel.yaml), write
  secrets to bridge.env (never inline, never returned) and reload the scheduler
  in-process (no service restart). Requires acl; %post grants the vexor-api user
  read access to the bridge token via setfacl.</changelog>
  <changelog author="Vexor &lt;build@vexor.local&gt; - 0.1.0-8" date="1784289605">- config API: add GET/PUT /config/settings so the Vexor UI can manage the
  bridge's GLOBAL settings (run mode, poll/stale/reaper intervals, SNMP
  defaults, VSI username/min_os + write-only VSI password, collection
  schedules) without editing bridge.yaml/bridge.env on disk. Applied via
  config_store.get_settings/update_settings with atomic write + backup and an
  in-process scheduler reload.</changelog>
  <changelog author="Vexor &lt;build@vexormon.com&gt; - 0.1.0-9" date="1784289606">- config_store.delete_host now also purges the host's per-host SSH/iLO/VSI
  password lines from bridge.env (and the running env), so deleting a host no
  longer leaves orphaned secrets behind. The shared global VSI secret is kept.</changelog>
  <changelog author="Vexor &lt;bot@vexormon.com&gt; - 0.1.0-28" date="1785585600">- B5: per-host mutex so the SSH orphan reaper never kills an in-flight poll (ADR-B5)</changelog>
  <changelog author="Vexor &lt;bot@vexormon.com&gt; - 0.1.0-29" date="1786104000">- OpenVMS: build the collection .COM via exec-only DCL (PIPE WRITE &gt;
  part-file; COPY part* file) instead of CREATE-over-stdin, which x86
  VMS 9.x/OpenSSH no longer supports (no usable SYS$INPUT on exec
  channels). Fixes memory/swap/licenses/updates checks returning UNKNOWN.
- Ships the G1/G2/G3 refactor: collectors/ssh package, nagios/ package,
  and removal of the _db_shim/database import hack (vexor_vms.logstate).</changelog>
  <changelog author="Vexor &lt;bot@vexormon.com&gt; - 0.1.0-30" date="1786104001">- OpenVMS: fix latent NameErrors introduced by the G1 collectors/ssh
  package split - restore missing imports/constants in the parser
  modules (_VMS_MONTHS, _ELV_CRITICAL_CLASSES/_ELV_WARNING_CLASSES,
  PageSwapMetrics/LockMetrics, HostConfig, timezone/timedelta/Optional,
  _parse_vms_date, _safe_hex). Without these the live SSH collect threw
  NameError and every SSH-derived check returned UNKNOWN.</changelog>
</package>
</otherdata>