Skip to content

Releases: CESNET/cesnet_service_path_plugin

v5.1.1

01 Oct 07:40

Choose a tag to compare

Release Notes for CESNET Service Path Plugin v5.1.1 (from v5.0.4)

Highlights

🚀 Major Features

  • Segment Type System

    • Segments now support explicit types: Dark Fiber, Optical Spectrum, Ethernet Service.
    • New segment_type field and dynamic, type-specific technical data stored as JSON.
    • Dynamic form fields and validation for each segment type.
    • Smart numeric filtering with operators (>, <, >=, <=, ranges).
    • GraphQL API supports type-specific data filtering (has_type_specific_data).
  • Enhanced Map Visualization

    • Map coloring and legend based on segment type, status, or provider.
    • Multiple background map layers (OpenStreetMap, satellite, topographic, CartoDB).
    • Improved overlapping segment visualization and selection.
  • Advanced Filtering System

    • Smart numeric filters for technical fields.
    • Type-specific filters (fiber type, connector type, modulation format, etc.).
    • Boolean parsing and improved search for segment type and technical fields.

🛠 Improvements

  • Segment form preserves type-specific field values when changing type.
  • Updated segment table to display segment type.
  • API serializers and GraphQL types now include segment type and type-specific data.
  • Unified segment serializers, removed redundancy.

🐞 Bug Fixes

  • Fixed form rendering for type-specific fields.
  • Improved value preservation when editing segment types.
  • Resolved edge cases in smart numeric filtering.
  • Enhanced JSON serialization for Decimal types.
  • Fixed dynamic field visibility issues.

⚡ Technical/Documentation

  • New CSS/JS for dynamic segment form fields.
  • Documentation updates with sample maps and GraphQL examples (docs/graphQL_examples.md).
  • Added Apache 2.0 license badge.
  • Updated pyproject.toml with repository info.
  • Migration: New fields added to Segment model (segment_type, type_specific_data).

Migration Notes

  • 🗄 Database migration required: New fields for segment type and type-specific data.
  • ⚠️ Existing installations will have default values for new fields.
  • No breaking changes expected for core APIs, but segment editing and filtering are now much richer.

For Developers

  • New model: models/segment_types.py with choices and schemas for validation.
  • New template, CSS, and JS for dynamic form rendering.
  • GraphQL API expanded for segment type and advanced filtering.
  • Example queries and mutation samples in docs/graphQL_examples.md.

Full Changelog

See CHANGELOG.md for detailed changes.


Upgrade Recommendation:
Run migrations after upgrading. Review segment forms and filtering options for new features.


Release Versions:

  • v5.1.0 (2025-09-23): Segment type system, advanced filtering, improved map visualization.
  • v5.0.3 (2025-08-29): Critical bugfix for saving tags (many-to-many).
  • v5.0.2 (2025-08-21): Documentation and licensing improvements.

Compatibility:
NetBox 4.4+ (see README for compatibility matrix).


Full Changelog: v5.0.4...v5.1.1

v5.0.4

12 Sep 08:33

Choose a tag to compare

Changes Made

Added v5.0.4 Release Notes (2025-09-12)

  • Enhanced Map Visualization: Documents the major improvements to segment map display including:
    • Dual color schemes (status-based and provider-based color coding)
    • Enhanced overlay segment selection with improved click algorithm
    • Better visual differentiation for overlapping segments
  • API Improvements: Covers streamlined segment serialization changes:
    • Consolidation of SegmentListSerializer functionality into SegmentSerializer
    • Enhanced support for path file uploads
    • Improved API response consistency and performance
  • Bug Fixes: Documents map interaction improvements and rendering performance optimizations

Added v5.0.3 Release Notes (2025-08-29)

  • Forms Fix: Documents the important SegmentForm fix that added save_m2m() call to properly save tags
  • Resolves tag persistence issues in segment creation and editing

Full Changelog: v5.0.3...v5.0.4

5.0.3

29 Aug 06:14

Choose a tag to compare

Added

  • Geographic Path Visualization: Complete interactive map system with Leaflet

    • Multiple tile layer support (OpenStreetMap, satellite, topographic, CartoDB variants)
    • Individual segment map views with path geometry display
    • Comprehensive segments map view with filtering support
    • Overlapping segment detection and selection interface
    • Status-based color coding for visual segment identification
  • Path Data Management: Full support for geographic path data

    • KML, KMZ, and GeoJSON file format support
    • Enhanced KMZ processing with multi-layer extraction
    • Automatic 3D to 2D coordinate conversion
    • Path geometry validation and error reporting
    • Automatic path length calculation using projected coordinates
    • Path data export as GeoJSON files
  • Advanced Map Features:

    • Interactive controls (pan, zoom, fit-to-bounds)
    • Fallback visualization with straight lines when path data unavailable
    • Site markers for segment endpoints
    • Detailed segment information panels
    • Path data availability indicators
    • Responsive map controls and layer switching
  • Enhanced Data Model:

    • path_geometry field for storing MultiLineString geometries
    • path_length_km field with automatic calculation
    • path_source_format field tracking data origin
    • path_notes field for additional metadata
    • Geographic helper methods for coordinate handling
  • UI/UX Improvements:

    • Template extensions for Circuits, Providers, Sites, Locations, and Tenants
    • Custom table columns showing path data availability
    • Date status indicators with visual progress bars
    • Enhanced filtering including geographic data availability
    • Improved navigation with map view integration
  • API Enhancements:

    • Separate serializers for list and detail views (performance optimization)
    • Geographic data endpoints for map visualization
    • GeoJSON export capabilities
    • Path bounds and coordinate data in API responses
    • Enhanced filtering on geographic fields
  • GraphQL Support:

    • Complete GraphQL schema with geographic field support
    • Custom scalar types for path bounds and coordinates
    • Lazy-loaded relationship fields for performance
    • Geographic data queries and filtering

Changed

  • Breaking: Upgraded to Django 5.2.3 with GeoDjango support
  • Breaking: Added PostGIS dependency for geographic features
  • Breaking: Modified database schema to include geographic fields
  • Improved segment form with path data upload capability
  • Enhanced segment detail view with geographic information
  • Updated table layouts with new path-related columns
  • Refactored status choices to use configurable ChoiceSet system
  • Improved error handling for geographic data processing

Fixed

  • Resolved migration conflicts during table renaming process
  • Fixed segment validation to properly handle location-site relationships
  • Improved date validation with better error messaging
  • Enhanced KMZ file processing for complex archive structures
  • Fixed coordinate system handling for accurate length calculations

Technical Details

  • Added geopandas, fiona, and shapely as core dependencies
  • Implemented comprehensive GIS utility functions
  • Added extensive JavaScript map handling with modular design
  • Created reusable template components for map functionality
  • Enhanced error handling and logging for geographic operations
  • Implemented proper geometric validation and sanitization

Migration Notes

  • Database Migration Required: New geographic fields require PostGIS
  • Dependency Installation: Geographic libraries (GDAL, GEOS, PROJ) required
  • Configuration Updates: May need GeoDjango configuration updates
  • Data Migration: Existing installations will have empty path geometry fields

Full Changelog: v4.3.0...v5.0.3