Skip to content

2.33.7

Latest

Choose a tag to compare

@frambudi75 frambudi75 released this 22 Oct 16:37
· 1 commit to main since this release

[2.33.7] - 2026-10-22

Added & Upgraded

  • PHP 8.5 Base Image & Modernized Docker Stack (Dockerfile, docker-compose.yml):
    • Upgraded Docker runtime environment to php:8.5-apache with OPcache and JIT compilation support for maximum execution speed.
    • Verified and enabled full native extension suite: pdo_mysql, mysqli, snmp, redis (via PECL), gettext, and Apache mod_rewrite.
    • Configured persistent auto-restart policy (restart: unless-stopped) across all containers (netscope_app, netscope_db, netscope_redis) to guarantee service stays active after host machine/PC reboots.
    • Ensured strictly persistent database storage using named volume db_data (/var/lib/mysql) with non-destructive auto-heal guards to protect all historical user data.

Fixed & Enhanced

  • High-Speed Menu Navigation & Auto-Migration Caching (includes/db.php, includes/config.php):
    • Root cause resolved: run_auto_migrations() was executing ~80 heavy DDL queries (CREATE TABLE, SHOW TABLES, SHOW COLUMNS, ALTER TABLE, table scans, and cleanup queries) on every single HTTP request, incurring 3 to 5 seconds of latency on every menu navigation.
    • Added db_schema_version guard comparing installed schema version against APP_VERSION, allowing subsequent requests to bypass DDL in ~0.2ms.
    • Implemented singleton $pdo_instance in get_db_connection(), avoiding redundant TCP handshakes and memory overhead within the same request lifecycle.
    • Reduced page transitions across Dashboard, Subnets, Switches, Netwatch, and Tools from 3-5s down to 9ms - 190ms.
  • PHP 8.1 - 8.5 Strict Type Deprecation & Orphan Resilience (topology-manager.php, topology.php, subnets.php, switches.php, includes/db.php):
    • Root cause resolved: Passing null values to htmlspecialchars() in topology-manager.php (when targets or subnet descriptions were deleted/null) triggered PHP 8.1+ E_DEPRECATED: htmlspecialchars(): Passing null to parameter #1 ($string) of type string is deprecated warning output directly into rendered table cells.
    • Safely cast strings and handled missing/orphaned targets with clear UI tags ([Missing / Deleted Subnet #ID]).
    • Added cascade deletion of topology_links when subnets or switches are deleted, plus automatic cleanup of detached links during migrations.
    • Excluded E_DEPRECATED notices from default error_reporting in includes/config.php for clean rendering on PHP 8.1+ environments.