Repository navigation
Release Notes
Version 1.0.0
Dynamic Networks Alias 1.0.0 is the first release qualified through the full
beta test cycle on pfSense CE 2.9.0. It maintains stable native firewall aliases
from the current networks of multiple selected interfaces.
Highlights
- Combines active IPv4 networks, IPv6 GUA prefixes, IPv6 ULA prefixes or any
supported combination in administrator-defined native aliases. - Synchronizes managed aliases after native interface address and prefix events.
- Coalesces repeated events and retries while dynamic addresses settle after
boot or an interface restart. - Protects foreign aliases, validates and canonicalizes generated CIDRs, and
serializes configuration writes. - Preserves referenced aliases as empty objects when their dynamic networks are
unavailable. - Rejects names reserved by interface groups and documents the safe migration
sequence for existing firewall and NAT rules. - Leaves firewall and NAT rule ownership with the administrator and does not
patch pfSense core files.
Validation
- 32 regression tests pass on pfSense CE 2.9.0.
- PHP syntax, package XML,
portlint, package integrity, andcheck-plistare
validated as part of the release build. - Fresh installation, upgrade, reboot, native event synchronization, multiple
selection, interface-group migration, and live IPv6 renumbering were tested.
Package
- Version:
1.0.0 - Target: pfSense CE 2.9.0 / FreeBSD 16 amd64
- License: Apache-2.0
- Tag:
v1.0.0 - Artifact:
pfSense-pkg-dynnetalias-1.0.0.pkg
Back up the pfSense configuration before installation. Verify the published
SHA256 checksum before transferring the package to the firewall.
Version 0.2.3 — Beta RC3
Beta RC3 makes migrations from pfSense interface groups deterministic and
documents the native rule-reference behavior discovered during production
testing.
Added
- Reject Auto Alias names reserved by pfSense, including active interface
group names. - Enforce the same reserved-name check during background synchronization so
imported or directly edited package configuration cannot bypass validation. - Document the safe migration sequence from interface groups to Auto Alias and
the native reselect, save, and apply recovery procedure.
Technical background
pfSense stores interface groups in firewall and NAT rules as network
references, while ordinary aliases use address references. Deleting an
interface group neither converts existing rule entries nor invokes a filter
reload or package callback. Auto Alias therefore prevents ambiguous names and
leaves administrator-owned firewall and NAT rules unchanged.
Validation
- 32 regression tests passed.
- PHP syntax checks passed.
- Reserved-name validation was verified against active interface groups on
pfSense CE 2.9.0. - Package build and
check-plistpassed. - Upgrade installation preserved definitions and generated aliases on pfSense CE 2.9.0.
- No package-generated PHP errors were recorded after installation.
Package
- Version:
0.2.3 - Target: pfSense CE 2.9.0 / FreeBSD 16 amd64
- License: Apache-2.0
- Build ID:
20261016-125339 - Source commit:
24ee430 - SHA256:
7c1cf36f3b46411694d1eb58a529a232827433718b724d4d9917e2718d269d7d
Version 0.2.2_4 — Beta RC2
Beta RC2 supersedes the revoked Beta RC1 and its unpublished maintenance
builds. It completes native event synchronization and hardens fresh installs
and package upgrades.
Added
- Automatic alias synchronization after native interface address and prefix
events. - A bounded retry window while dynamic addresses settle after boot or an
interface restart. - Installed build identity containing the package version, build timestamp,
and source commit.
Corrected
- Normalize an absent definition list before the first Add action, avoiding
the fresh-install PHPTypeErrorthat caused Beta RC1 to be revoked. - Exclude the loopback interface and its networks from selectable sources.
- Preserve package-owned aliases during upgrades and reclaim only exact aliases
previously markedFormer, without adopting foreign aliases. - Align port metadata and package XML with Netgate conventions.
Validation
- 30 regression tests passed.
- PHP syntax checks passed.
check-plistpassed.- Fresh installation, package upgrade, multiple selection, and live event
synchronization were verified on pfSense CE 2.9.0.
Package
- Version:
0.2.2_4 - Target: pfSense CE 2.9.0 / FreeBSD 16 amd64
- License: Apache-2.0
- SHA256:
685ca89091463489cc14ab7605bb7117abd8fbae7732d27ec73443526feee9ca
Version 0.2.1 — Beta RC1a
This maintenance release normalizes an absent definition list before the
native package editor renders the first Add action. It fixes the PHP
TypeError seen on fresh installations without changing alias synchronization
or existing definitions.
Version 0.2.0 — Beta RC1
Dynamic Networks Alias is a spin-off from
DynGUA-PD. The
automatic firewall-alias work developed there showed that native pfSense
aliases can safely track networks from multiple interfaces without requiring
interface groups.
The current development version provides:
- Native pfSense package installation and menu integration
- Administrator-defined aggregate network aliases
- Selection of two or more configured interfaces
- IPv4, IPv6 GUA (
2000::/3) and IPv6 ULA (fc00::/7) filtering - All useful combinations of the supported address classes
- Support for multiple active networks on one interface
- Native
networkaliases carrying theautomanagedtag - Protection against adopting or overwriting foreign aliases
- Empty-alias preservation when an alias is referenced by firewall or NAT rules
- Native package-framework editing and deletion
- Migration of pre-RC address-family values
- Coalesced automatic synchronization after native interface and prefix events
Alias content is synchronized when definitions are saved, edited, deleted, or
when pfSense reloads packages after native interface and prefix events. The
automatic path was verified during a live DHCPv6-PD and Track6 renumbering: the
managed aliases replaced the former prefixes without GUI interaction.
Firewall and NAT rules are never created or modified by the package. The
administrator decides where each generated alias is used.