Skip to content

Releases: CESNET/cesnet_service_path_plugin

v5.1.2

01 Oct 11:35

Choose a tag to compare

Release Notes – v5.1.2

Changes Since v5.1.1

  • Template Update:
    The HTML template segment_edit.html has been revised:

    • The block previously named title now uses head for improved HTML structure and extension compatibility.
    • The stylesheet and JavaScript for the segment form are now included inside the head block.
    • Ensures proper extension of parent templates with {{ block.super }} at the correct place.
  • Version Bump:

    • The project version in pyproject.toml updated from 5.1.1 to 5.1.2.

Summary

This release improves the template structure for editing segments, ensuring styles and scripts load correctly and enhancing maintainability for further customizations.


Full Changelog: v5.1.1...v5.1.2

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