v1.1 Release Notes¶
Release Overview¶
v1.1 expands the Management intent domain with four new intent types covering common device-wide configuration concerns: Banner/MOTD, NETCONF/RESTCONF enablement, DHCP Server, and a Global Config Bundle. Platform Jinja2 template coverage is extended across all supported vendors for these types. The deployment job also gains a first-class dry-run mode for safer lab testing and pre-change reviews.
[v1.1.0] - 2026-03-12¶
Added¶
-
4 new Management intent types in
IntentType:Intent Type Value Description Banner / MOTD mgmt_motdConfigures login, MOTD, and exec banners on all in-scope devices NETCONF / RESTCONF mgmt_netconfEnables or disables NETCONF (port 830), RESTCONF, and gNMI on devices DHCP Server mgmt_dhcp_serverConfigures DHCP server pools, excluded addresses, and lease times Global Config Bundle mgmt_global_configOne-shot intent for hostname, NTP, DNS, syslog, SNMP, SSH, banners, NETCONF, DHCP pools, and LLDP/CDP in a single intent -
Resolver functions —
resolve_mgmt_motd,resolve_mgmt_netconf,resolve_mgmt_dhcp_server,resolve_mgmt_global_configadded toresolver.py -
Jinja2 templates for all four new intent types across all supported platforms:
Platform New templates Arista EOS motd.j2,netconf.j2,dhcp_server.j2,global_config.j2Aruba AOS-CX motd.j2,netconf.j2,dhcp_server.j2,global_config.j2Cisco IOS-XE motd.j2,netconf.j2,dhcp_server.j2,global_config.j2Cisco IOS-XR motd.j2,netconf.j2,dhcp_server.j2,global_config.j2Cisco NXOS motd.j2,netconf.j2,dhcp_server.j2,global_config.j2Juniper JunOS motd.j2,netconf.j2,dhcp_server.j2,global_config.j2 -
Dry-run deployment mode —
IntentDeploymentJobnow accepts acommitboolean variable (defaultTrue). Whencommit=False:- Jinja2 configs are rendered and stored in
intent.rendered_configswithout connecting to any device - Intent status is not changed (remains
Validated) - An audit entry is created with
"dry_run": truefor traceability - Useful for lab testing, pre-change review, and CI config-diff workflows
- Jinja2 configs are rendered and stored in
-
rendered_configsfield onIntent— stores the last per-device rendered configuration output (populated by both dry-run and live deployments) -
VLAN verification check in
IntentVerificationJob— verifies expected VLANs are present on target devices post-deployment -
Datasource enhancements — updated
datasources.pyto handle additional credential fields fromcreds.example.env
Changed¶
- Intent type count increased from 129 → 133
IntentDeploymentJobapproval check is now skipped for dry-run (commit=False) deployments with a logged warning instead of raising an error
Fixed¶
views.py—ruff formatcompliance: long.prefetch_related().order_by()chain reformatted to pass CIruff-formatcheck
Upgrade from v1.0¶
No database migrations are required if rendered_configs is already a JSON field. Run post-upgrade to apply any pending migrations and clear cache: