Change Log
Available inCommunityCloudEnterprise
v1.1.2
Enhancements
- #107 - Introduce the
auto_archive_daysconfig parameter to automatically archive branches merged more than n days ago
v1.1.1
Bug Fixes
- #608 - Generalize squash merge cycle breaking to handle foreign key cycles of any length
- #610 - Fix handling of MPTT component models during iterative merge
v1.1.0
Faster Branch Provisioning (#595)
The main change for this version is a set of performance enhancements targeting branch provisioning. For large data sets we have seen up to a 4x reduction in the time it takes to provision a branch, so creating a new branch should be significantly faster on larger data sets. Provisioning now copies data across multiple workers in parallel.
v1.0.5
Bug Fixes
- #496 - Skip the branch deleted-in-main check when the request is absent from context
- #581 - Close branch connections during the post-migrate pending-migrations check
- #588 - Preserve unmodified JSON dict keys when merging branches
- #603 - Remove the unconstrained
Djangodependency so installers do not upgrade Django past the version NetBox supports
v1.0.4
Enhancements
- #6 - Group change records by request in the branch view
- #28 - Preserve sync conflict resolution when merging a branch
- #545 - Allow plugins to register a resolver for branching support on non-
ChangeLoggingMixinmodels - #554 - Improve help text for branch merge
- #564 - Clarify "no conflicts found" UI to note that constraint violations are detected at merge time
- #572 - Expose signal to extend
SquashMergeStrategydependency graph - #585 - Add help text descriptions to
BranchStatusChoices
Bug Fixes
- #445 - Fix branch edit/save race condition for merge status
- #483 - Set
auto_now=Trueon theChangeDifflast_updatedfield - #498 - Fix 500 error from Changes API when a branch with a cable deletion is active
- #530 - Call
super().clean()inBranch.clean()so custom validators run - #531 - Fix branch sync failure when no conflicting changes are present
- #561 - Enforce permissions on the branching sidebar menu
- #568 - Fix object modified warning for objects in a merged branch
v1.0.3
Enhancements
- #533 - Avoid instantiating objects when verifying their existence
Bug Fixes
- #542 - Branch migrations should not generate object change records
v1.0.2
Bug Fixes
- #539 - Fix branch upgrade migration failures from NetBox 4.4 to 4.6
v1.0.1
Bug Fixes
- #529 - Allow specifying migrations to skip via
fake_on_branchto handleRunPythonandAlterModelOptionsoperations
v1.0.0
Enhancements
- #419 - Register branch custom permission actions
- #519 - Disable merge button for branches with no pending changes
Bug Fixes
- #447 - Fix
IntegrityErrorwhen creating devices with front/rear port mappings in a branch - #493 - Fix event rule handling for NetBox v4.5
- #494 - Fix merge failure when using S3 storage and a referenced file is not found
- #522 - Fix share button toast notification, correct typo, and add i18n for activation messages
v0.9.1
Bug Fixes
- #478 - Fix merge failure when referencing an object that has been deleted in main
- #513 - Fix
AttributeErrorexception when accessing diff properties on aChangeDiffwith no original or modified data
v0.9.0
Enhancements
- #145 - Add a detail view for change diffs
- #213 - Display a warning when a branch is becoming stale
- #323 - Enable migrating branches in bulk
- #335 - Add conflict handling to sync & merge API endpoints
- #406 - Add
owner_idfilter for branches - #425 - Create a merge report
- #475 - Track objects deleted in main as potential conflicts
- #485 - Add branch context to events
- #505 - Support NetBox v4.6
Bug Fixes
v0.8.3
Enhancements
- #25 - Display a summary of changes to be applied under the sync & merge views
Bug Fixes
- #426 - Allow sync/merge if edited objects have been deleted in main
- #448 - Fix squash merge ordering when new objects reference other new objects
- #467 - Fix GFK dependency detection in squash merge
- #468 - Fix
KeyErrorexception when API request omitscommitfield
v0.8.2
Enhancements
- #5 - Automatically redirect to avoid 404s when activating or deactivating a branch
- #86 - Omit empty values from displayed data for created & deleted objects
- #307 - Exempt
/api/status/from branching middleware - #418 - Allow setting maximum threshold for job timeout
Bug Fixes
- #422 - Do not display deletion warning if object has already been deleted in main
v0.8.1
Bug Fixes
- #380 - Fix branch sync failure when object in main branch was updated then deleted
- #388 - Fix deletion of M2M assignments (tags, interfaces) created within a branch
- #408 - Ensure ChangeDiff references the most recent changed object
v0.8.0
Enhancements
- #198 - Add ability to squash changes when merging a branch to resolve conflicts
v0.7.4
Enhancements
- #386 - Add support for NetBox v4.5
Bug Fixes
- #384 - Preserve existing DATABASE["OPTIONS"] settings for branch database connections
v0.7.3
Bug Fixes
- #353 - Prohibit altering branch status via REST API (establishes a dedicated endpoint for archiving)
- #354 - Ensure that queries for assigned tags utilize the active branch
- #358 - Enforce
CONN_MAX_AGEtimeout for branch database connections - #365 - Temporarily disable object deletion check when syncing a branch from main to avoid validation failure
- #371 - Ignore module import errors when discovering object migrators (fixes
ModuleNotFoundErrorexception raised when attempting to merge a branch)
v0.7.2
Enhancements
- #342 - Display warning when attempting to modify an object that has been deleted in main
- #347 - Include ObjectChange ID in log messages when applying/undoing changes
Bug Fixes
- #311 - Fix merge failure when image attachments are created and subsequently deleted
- #317 - Fix event rules not triggering for branch events
- #349 - Fix exception when removing a device from a virtual chassis with a branch active
v0.7.1
Bug Fixes
- #150 - Fix recalculation of cable paths when merging a branch with cable changes
v0.7.0
Enhancements
- #314 - Include active branch in webhook payload data
Bug Fixes
- #308 - Prevent branch change records from appearing in main changelog (NetBox v4.4)
- #309 - Fix
ProgrammingErrorexception when merging branch (NetBox v4.4)
v0.6.2
Bug Fixes
- #298 - Fix change diff creation for many-to-many fields
- #321 - Prevent tag object type reassignments from leaking outside a branch
- #325 - Enforce a maximum NetBox version of 4.3
v0.6.1
Bug Fixes
- #246 - Ensure changelog is retrieved from the correct database schema
- #299 - Avoid
AttributeErrorexception when provisioning a branch due to invalid content type
v0.6.0
Enhancements
- #1 - Enable the application of database migrations to open branches
- #122 - Implement a mechanism to enforce policy before executing branch actions
- #181 - Introduce the
main_schemaconfiguration parameter to set the default schema name - #189 - Introduce a registration mechanism for pre-action branch validators
Bug Fixes
- #204 - Hide navigation menu items for unauthenticated users
v0.5.7
Bug Fixes
- #136 - Set GenericForeignKey values when restoring a deleted object
- #286 - Fix display of branch status in selector dropdown
v0.5.6
Enhancements
- #262 - Copy migrations table when provisioning a branch
Bug Fixes
- #256 - Fix "changes ahead" count on branches pending provisioning
- #260 - Ignore duplicate SQL indexes when provisioning a branch
- #275 - Set
sync_timeon branch during initial provisioning
v0.5.5
Bug Fixes
- #242 - Use RestrictedQuerySet for BranchEvent objects
- #243 - Defer MPTT recalculation until all changes have been applied
- #251 - Preserve SQL index names when provisioning a branch
v0.5.4
Bug Fixes
- #169 - Fix global search caching function when a branch is active
- #179 - Avoid nullifying object representation when updating a ChangeDiff
- #222 - Avoid off-screen overflow of long branch names
- #225 - Branch status field should not be required in REST API serializer
- #227 - Fix scripts triggered via an event rule when the branching plugin is installed
v0.5.3
Enhancements
- #209 - Prevent merging branches whose
last_synctime exceeds the configured changelog retention window
Bug Fixes
- #87 - Deactivate the active branch (if any) when creating a new branch
- #148 - Fix
IntegrityErrorexception raised when executing custom scripts within a branch - #178 - Fix display of assigned tags in the branches list
v0.5.2
Bug Fixes
- #163 - Ensure changelog records for non-branching models are created in main schema
v0.5.1
Enhancements
- #123 - Introduce template tags for branch action buttons
- #129 - Implement pre-event signals for branch actions
Bug Fixes
- #98 - Cable changes in branch should not impact main schema
- #119 - Fix the dynamic selection of related objects in forms while a branch is active
- #120 -
max_branchesconfig parameter should disregard archived branches - #138 - Fix rendering the ID column of the change diffs table
- #140 - Fix representation of branch status in REST API
- #142 - Fix tab record counts for archived branches
v0.5.0
Enhancements
- #83 - Add a "share" button under object views when a branch is active
- #84 - Introduce the
max_working_branchesconfiguration parameter - #88 - Add branching support for NetBox's graphQL API
- #90 - Introduce the ability to archive & deprovision merged branches without deleting them
- #97 - Introduce the
exempt_modelsconfig parameter to disable branching support for plugin models - #116 - Disable branching support for applicable core models
Bug Fixes
- #81 - Fix event rule triggering for the
branch_revertedevent - #91 - Disregard the active branch (if any) when alerting on changes under object views
- #94 - Fix branch merging after modifying an object with custom field data
- #101 - Permit (but warn about) database queries issued before branching support has been initialized
- #102 - Record individual object actions in branch job logs
v0.4.0
Enhancements
- #52 - Introduce the
max_branchesconfig parameter - #71 - Ensure the consistent application of logging messages
- #76 - Validate required configuration items on initialization
Bug Fixes
- #57 - Avoid recording ChangeDiff records for unsupported object types
- #59 -
BranchAwareRoutershould consider branching support for model when determining database connection to use - #61 - Fix transaction rollback when performing a dry run sync
- #66 - Capture object representation on ChangeDiff when creating a new object within a branch
- #69 - Represent null values for ChangeDiff fields consistently in REST API
- #73 - Ensure all relevant branch diffs are updated when an object is modified in main
v0.3.1
Bug Fixes
- #42 - Fix exception raised when viewing custom scripts
- #44 - Handle truncated SQL sequence names to avoid exceptions during branch provisioning
- #48 - Ensure background job is terminated in the event branch provisioning errors
- #50 - Branch state should remain as "merged" after dry-run revert
v0.3.0
Enhancements
- #2 - Enable the ability to revert a previously merged branch
- #3 - Require review & acknowledgment of conflicts before syncing or merging a branch
- #4 - Include a three-way diff summary in the REST API representation of a modified object
- #13 - Add a link to the active branch in the branch selector dropdown
- #15 - Default to performing a "dry run" for branch sync & merge
- #17 - Utilize NetBox's
JobRunnerclass for background jobs - #29 - Register a branch column on NetBox's global changelog table
- #36 - Run the branch provisioning process within an isolated transaction
Bug Fixes
- #10 - Fix branch merge failure when deleted object was modified in another branch
- #11 - Fix quick search functionality for branch diffs tab
- #16 - Fix support for many-to-many assignments
- #24 - Correct the REST API schema for the sync, merge, and revert branch endpoints
- #30 - Include only unmerged branches with relevant changes in object view notifications
- #31 - Prevent the deletion of a branch in a transitional state
v0.2.0
- Initial private release
NetBox Branching Best Practices
This document describes the underlying architecture and best practices for using NetBox Branching effectively.
Configuration Parameters
This page documents the configuration parameters specific to the NetBox Branching plugin. They are set under the netboxbranching key of NetBox's PLUGINSCONFI...