Releases: GNS3/gns3-gui
Releases · GNS3/gns3-gui
Version 3.1.0 alpha 2
GUI
- Remove psutil version check
- Fix remaining PyQt6 compatibility issues. Fixes #3822
- Add --title to remote-viewer console commands. Fixes #3783
- Fix deleting drawings. Ref #3810
Server
- Bundle web-ui v3.1.0a2
- fix: surface tshark stderr errors to LLM, not just log them
- fix: hint LLM about -c behavior when tshark returns empty with -c
- fix: update search_fields examples to use existing field names
- fix: reject multi-keyword search_fields, single keyword only
- fix: document action/query params in PacketAnalysisTool description
- feat: add search_fields action to PacketAnalysisTool for real-time field lookup
- feat: validate tshark -e field names before running analysis
- fix: document -c behavior caveat in PacketAnalysisTool description
- fix: demote loader-level load logs to DEBUG, info already reported by manager
- fix: promote skills/prompts load logs to INFO level
- fix: load packet analysis protocols during skills initialization
- feat: add PacketAnalysisSkillsTool
- fix: remove remaining quoted example from tool input docstring
- fix: use shlex.split for tshark_args parsing
- feat: add packet analysis workflow to tool description
- refactor: remove old PacketCaptureTool, replaced by PacketAnalysisTool
- feat: add protocol-oriented packet analysis tool
- docs: add roadmap docs for planned features
- feat: require superadmin for /reload/skills endpoint
- fix: remove background init timeout and allow skills reload retry
- deps: add PyYAML and GitPython to ai-requirements.txt
- feat: add fault injection system and external skills repository
- fix: Disable DeepSeek thinking mode to avoid reasoning_content errors
- fix: Skip offline compute nodes during project import
- fix: Import status module in project.py
- fix: Handle connection errors when stopping node console
- refactor: Remove MD5 calculation from node files listing
- fix: Export NodeFile schema to schemas module
- feat: Add detailed metadata to node files listing
- feat: Add API endpoint to list node files
- Fix snapshot restore does not work after export/import of project
- Warn to use 64-bit IOU images. Fixes #2716 32-bit IOU image support has been removed from the GNS3 VM.
- Fix: Improve Docker container deletion error logging
- Fix: Add exponential backoff to compute reconnection attempts
- Fix: Check compute connectivity before node creation in open()
- Fix: Check compute connectivity before open() during project deletion
- Fix: Add error logging when closing/deleting projects on computes
- Fix: Skip add_compute for existing computes when opening projects
- feat: add AI provider config files to .gitignore
- Fix: Use _computes instead of _project_created_on_compute for deletion check
- Fix: Check compute connection status before project deletion
- fix: extend remote compute image path conversion to all node types
- fix: send relative image path to remote compute nodes
- fix: handle directory access for static web-ui routes
- fix: add duplicate name validation when updating templates
- fix: avoid AttributeError when password is not provided in compute update
- fix: improve hostname validation error messages with allowed characters
- feat(compute): Fix Dynamips to listen on the internal port when ssh is used for auxiliary console
- feat(compute): Fix ambiguous log message related to the active console transport.
- feat(compute): Updated server host key to use the secure ssh-ed25519 instead of old ssh-rsa algorithm
- feat(compute): Fix missing SSH wrapping for auxiliary console
- feat(compute): Added AsyncioSSHServer dedicated tests
- feat(compute): add SSH console type support
- fix: include error details in LLM model config failure response
- Fix telnet console silent-proxy hang on non-ConnectionError exit (#2344)
Version 2.2.59
Version 3.1.0 alpha 1
GUI
- Fix bug when an image checksum matches with another image filename
- Refresh Ui & resources files
- Copy GUI configuration from previous minor version
- Change default disk names when creating Qemu disks
- Fix QMenu parents
- Fix UltraVNC preconfigured command
- Fix bug when dragging scene
- Implement Dark Style
- Properly close image after uploading. Fixes #3736
Server
- New completely revamped Web interface.
- Add GNS3 Copilot AI agent back-end
- Web-wireshark: packet capture and live traffic analysis in the browser
- Fix using SSL with remote computes. Fixes #3733
- Add --url and --branch parameters to update-bundled-web-ui.sh
- Fix bug when custom_adapters is None in port_factory.py
- Have optional body in start node API endpoint
- Fix snapshots after merging
- Potential fix for pull request finding 'CodeQL / Information exposure through an exception'
- Refactored the way snapshots are handled in the server
- fix(symbols): add authentication to symbol raw endpoint
- fix(symbols): add CORS headers to symbol file responses
- Allow to find new project in sub dirs
- Enhancement: Refresh projects list without restarting the GNS3 server
- Fix accessing username in authentication.py
- Improved exception handling and telnet client disconnect
- Use get method for registry_version to avoid KeyError
- Add support for appliance format version 8
- Convert database template fields from PickleType to JSON
- feat(statistics): distinguish open vs closed project nodes
- fix(statistics): handle closed projects where nodes/links are dicts
- feat(controller): extend /statistics API with project, node and link stats
- Use FastAPI Lifespan Events
- feat(link): add control_offset field to LinkStyle
- feat(symbols): add DELETE API for removing custom symbol files
- Enhancement: Re-write current Telnet server implementation using telnetlib3 library
- feat: improve error handling for API configuration errors
- Enhancement Added link type support on the server side
- Ignore HTTPException received when closing a project
- Prevent router to be duplicated when running and add tests
- Fixed issue #1605 regarding Cisco slots causing configs to break
- feat: add VNC WebSocket console support for Docker and QEMU nodes
- Return 405 error for unsupported actions for other node types
- feat(telnet_server): improve error handling and connection management
- fix(telnet): handle connection race condition during broadcast
- Change first() to one_or_none() for image query
- Fix for duplicating Qemu nodes
- Minor optimizations to logic
- Fixed an issue with the server causing errors when uploading large images + Preparation for a smarter check when uploading images
- Implemented a smarter node_type system
- docs: restructure copilot docs and update node tools
- fix(acl): correct endpoint paths for users, groups, and roles
- fix(iou): return 405 error for unsupported suspend operation
- feat(api): enhance max_tokens field with robust null handling
- feat(docs): add AI prompting guide for configuration templates
- Deactivate 'use default IOU values' by default and update RAM/NVRAM values
- Make sure the node shows as stopped when the wrap console cannot be stopped. Ref GNS3/gns3-registry#1010
- chore: update author name and copyright headers
- feat(docs): enhance AI chat API documentation with examples and details
- feat: add .claude directory to gitignore for API key security
- Revert "Fix QEMU serial console artifacts by filtering ANSI CPR responses in …"
- docs: add troubleshooting guide for datetime timezone issue
- Drop support for Python 3.9
- feat: add multi-user concurrency control design document
- docs: add troubleshooting guide for force kill residual processes
- Fixed the path traversal check
- Fix image handling
- Qemu VMs: only compute MD5 checksums for existing disks
- Copy config files and database from a previous version if it exists
- Add enable_http_auth in gns3_server.conf sample
- feat(compute): option to disable compute authentication
- tests(controller,port): short_name finishes successfully when port name is None
- fix(controller,port): handle None port name to prevent TypeError in short_name method
- fix(docker): handle container name conflict automatically
- feat(virtualbox): add fallback for VBoxManage executable detection
- feat: simplify port name assignment logic
- feat(ports): add null checks for port name in short name generation
- Remove unneeded rbac_repo in get_templates
- Use lists for tags instead of dicts
- Fix for resizing Qemu VM disks
- feat(templates): safely access settings dict keys
- feat(api): fix ETag handling and JSON serialization in template endpoint
- feat(api): add tag filtering to nodes and templates endpoints
- Update project schema and fix tests
- Add 'created_by' field to track project creator
- Fix updating packet filters
- Add vendor, model and netmiko_device_type fields to templates
- fix: handle RuntimeError in notification_manager emit()
- fix: busybox static link detection on Alpine/musl
- Fix bug when updating compute password to be empty
- Cancel tasks if controller cannot be started
- Enable parallel compression with zstandard. Fixes #2324
- Add Dynamips to Dockerfile dependencies
- Take populated disks into consideration when calculating PCI device ID
- Fix telnet keepalive options on macOS
Version 2.2.58.1
GUI
- Fix callback issues in found in v2.2.58
Server
- Sync appliances
Version 2.2.58
GUI
- Update snapshot date & time format
- Fix bug when HTTP DELETE requests are silently dropped. Fixes #3810
- Show if a linked base VM or not in device's properties
- Add HTTP method to response timeout slot. Ref #3810
- Add default link style section in preferences
- Update the default style colors based on the interface style
- Support bring to front for vnc and spice consoles on Linux. Fixes #3783
- Update appliance schemas
- Fix bug when adding multiple nodes at the same time. Fixes #3807
- Fix QWebSocket error signal. Fixes #3804
Server
- Bundle web-ui v2.2.58
- Sync appliances
- Snapshot refactoring
Version 2.2.57
GUI
- Fix errors from controller are not reported
- Deactivate 'use default IOU values' by default and update RAM/NVRAM values
- Fix QMenu parents
- Fix UltraVNC preconfigured command
- Dark style
- Fix bug when dragging scene
- Upgrade pytest and jsonschema dependencies
- Upgrade sentry-sdk and psutil dependencies
- Fix mouse manipulation bug
- Add Multi VNC tab handling in Superputty
- Fixing tab name in Superputty + Adding Superputty VNC support
- settings.py: add OpenBSD packet capture command
Server
- feat(telnet_server): improve error handling and connection management
- Deactivate 'use default IOU values' by default and update RAM/NVRAM values
- Make sure the node shows as stopped when the wrap console cannot be stopped
- tests(controller,port): short_name finishes successfully when port name is None
- fix(controller,port): handle None port name to prevent TypeError in short_name method
- fix: busybox static link detection on Alpine/musl
- Take populated disks into consideration when calculating PCI device ID
Version 3.0.6
GUI
- Fixing tab name in MobaXterm
- PyQt6 migration
- Add XDG Config Home support
- Support for Python 3.14
- Clicking the "console connect to all nodes" opens all consoles in name order with case-insensitively
Server
- Sync appliances
- Fix creating Qemu disk image. Fixes #2542
- Disable checking for available disk space. Ref #2548
- Set default location of udhcpc in "/etc/network/udhcpc". Fixes #2582
- Support for Python 3.14
- Fix non-ASCII characters in project names
- Increase DB engine pool size and max overflow
- Enable ip cef in IOU L2 and IOU L3 base configs
Version 2.2.56.1
GUI
- Fix line style support for links
- Fix cannot add IOS in preferences
- Fix cannot add IOU in preferences
- Upgrade dependencies
- Drop Python 3.8 support
- Display a warning if a SVG image format isn't supported
- Fix error in profile selection window after PyQt6 migration
Server
- Fix telnet keepalive options on macOS
- Upgrade dependencies
- Drop Python 3.8 support
Version 2.2.56
GUI
- Fixing tab name in MobaXterm
- PyQt6 migration
- Add XDG Config Home support
Server
- Set default location of udhcpc in "/etc/network/udhcpc". Fixes #2582
- Upgrade pywin32 to v311
Version 2.2.55
GUI
- Fix SyntaxWarning: invalid escape sequence. Fixes #3760
- Support for Python 3.14
- Clicking the "console connect to all nodes" opens all consoles in name order with case-insensitively
Server
- Docker API version requirements and process to handle older daemons
- Use docker_name property when creating a container
- Set name of container in Docker
- Support for Python 3.14
- Enable ip cef in IOU L2 and IOU L3 base configs
- Only build and push Docker image when releasing a new version
- Fix pushing Docker image to Docker hub
- Update security issues in README.md. Fixes #2535
- Add missing 'nat' template type in schema. Fixes #2529
- Resolve deprecation warnings of regex library