Skip to content

Commit 2158566

Browse files
committed
Release version 0.7.2
1 parent a4185da commit 2158566

4 files changed

Lines changed: 26 additions & 4 deletions

File tree

CHANGELOG.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,26 @@
11
# Changelog
22

3+
## 0.7.2 (2026-04-01)
4+
5+
### Added
6+
- **DNS CNAME Record Support for IP Source Linking**
7+
- DNS CNAME records can now be linked as IP sources on Option Data alongside A/AAAA records
8+
- CNAME records are resolved by following the chain to their target A records at KEA config generation time
9+
- A single CNAME source can resolve to multiple IPs when the target has multiple A records
10+
- DNS Record selector now filters to A, AAAA, and CNAME record types
11+
12+
- **Dynamic `record_types` Field on Option Definition Form**
13+
- The `record_types` field is now hidden when `option_type` is not `record`
14+
- Uses `HTMXSelect` widget on `option_type` for dynamic form reloading
15+
- `fieldsets` property conditionally includes `record_types` in the Advanced fieldset
16+
17+
### Changed
18+
- `OptionData.to_kea_dict()` deduplicates resolved IPs while preserving ordinal order — prevents duplicate entries when the same IP is linked via multiple sources (e.g. an A record and a CNAME pointing to it)
19+
- DNS Record IP source field label updated from "DNS A Records" to "DNS Records" to reflect broader type support
20+
21+
### Fixed
22+
- `test_deleted_source_falls_back_to_data` test updated to work with `ProtectedError` on IP source deletion introduced in 0.7.0
23+
324
## 0.7.0 (2026-03-31)
425

526
### Added

README.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,8 @@ Option Data values are validated against the option definition's type when using
113113
For IP-type options (e.g. `routers`, `ntp-servers`), instead of entering IP addresses manually in the Data field, you can link to NetBox objects:
114114

115115
- **IPAM IP Addresses**: Link to NetBox IPAM `IPAddress` objects
116-
- **DNS A Records**: Link to netbox-dns `Record` objects (requires `enable_netbox_dns: True`)
116+
- **DNS A/AAAA Records**: Link to netbox-dns `Record` objects (requires `enable_netbox_dns: True`)
117+
- **DNS CNAME Records**: Link to netbox-dns CNAME records — IPs are resolved by following the CNAME chain to target A records at config generation time
117118

118119
When IP sources are linked:
119120
- The Data field is hidden in the form — IP sources replace manual entry
@@ -208,7 +209,7 @@ PLUGINS_CONFIG = {
208209
| `top_level_menu` | `True` | Display plugin as a top-level menu in the NetBox navigation |
209210
| `menu_name` | `'DHCP KEA'` | Label for the plugin menu |
210211
| `enable_stork` | `True` | Enable ISC Stork monitoring integration. When `False`, all Stork-related menu items, form fields, filters, API endpoints, and UI elements are hidden |
211-
| `enable_netbox_dns` | `False` | Enable netbox-dns integration for linking DNS A records as IP sources on Option Data |
212+
| `enable_netbox_dns` | `False` | Enable netbox-dns integration for linking DNS A/AAAA/CNAME records as IP sources on Option Data |
212213
| `model_defaults` | *(see below)* | Default values for model fields, including reservation modes and lease lifetimes |
213214

214215
#### Model Defaults

netbox_dhcp_kea_plugin/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
__author__ = """Łukasz Polański"""
44
__email__ = "wookasz@gmail.com"
5-
__version__ = "0.7.1"
5+
__version__ = "0.7.2"
66

77

88
from netbox.plugins import PluginConfig

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ build-backend = "setuptools.build_meta"
77

88
[project]
99
name = "netbox-dhcp-kea-plugin"
10-
version = "0.7.1"
10+
version = "0.7.2"
1111
authors = [
1212
{name = "Łukasz Polański", email = "wookasz@gmail.com"},
1313
]

0 commit comments

Comments
 (0)