GUI
- New packaging relying only pyproject.toml
- Apply Snap-to-grid of drawing items not on their center position. Fixes #3465
- Allow computes to be dynamically or manually allocated
- Add UEFI boot mode option for Qemu VMs
- Adjust some values in pyproject.toml
- Migrate to pyproject.toml
- Mark VMware and VirtualBox support as deprecated
- Fix RecursionError with invalid credentials. Fixes #3374
- Allow raw images by default. Fixes GNS3/gns3-server#2097
- Dot not allow "no border" style for line items
- Use "none" for solid line style in drawing items
- Fix editing Docker container config generates exception and empty config. Fixes #3371
- Fix cannot detect images by default when trying to upload them in the Image Manager. Fixes #3367
- Fix unable to set VNC console resolution. Fixes #3365
- Set default symbol theme to "Affinity-square-blue"
- Fix creating a custom Ethernet switch template
- Update decorative symbols (for Wizards etc.)
- Use generic symbol names
- Set raw image param when uploading an image from the appliance wizard
- Fix incorrect param in getCompute()
- Checks for valid hostname on server side for Dynamips, IOU, Qemu and Docker nodes
- Fix incorrect call to QProgress.setValue() with float
- Reactivate project importation
- Support compression levels
- Add zstandard compression
- Upgrade dependencies
- Remove Qemu binary requirement
- Use controller API to list images
- Use new API endpoints to create/resize Qemu disk images.
- Drop Python 3.6 support and require Python >= 3.7
- Improvements when connecting and updating computes
- Use current directory when searching for images. Fixes #3198
- Refactor server settings and wizard
- Disable local server and GNS3 VM preferences
- Image uploading to controller and project export
- HTTP client refactoring completed
- Start HTTP client refactoring
- Upgrade dependencies
- Handle empty compute_id in preferences. Ref #3265
- Remove direct upload to compute
- Send JWT token in query string when connecting to websocket. Ref GNS3/gns3-server#1992
- Option to delete orphaned image files from disk when template is removed. Fixes #3249
- Remove Qemu legacy networking code
- Isolate and unisolate support. Fixes #3190
- Support authentication using JWT tokens
- Change Qemu disk descriptions. Fixes #3035
- Edit only text mode config files
- Hide config import/export when configFiles attribute is empty
- Qemu disk interfaces must be set to "none" by default. Ref #3035
- Do not allow image to be configured on Qemu VM secondary slave disk if create config disk option is enabled.
- Add explicit option to automatically create or not the config disk. Off by default.
- Auxiliary console support for Qemu. Ref #2873 Improvements for auxiliary console support for Docker and Dynamips.
- Support to reset all console connections. Ref GNS3/gns3-server#1619
- Support to reset links. Fixes GNS3/gns3-server#1620
- Fix bug when recent files cannot be seen in the new project dialog.
- Wait for the controller to be online before allowing actions like creating or opening a project. Fixes #2907
- Show progress dialog immediately when connecting to server. Ref #2907
- QEMU config disk - enable QEMU config import/export
- Add total RAM, CPUs and disk size to servers summary as well as disk usage in percent. Fixes GNS3/gns3-server#1532
- Resource constraints for Docker VMs.
- Wait for readme to be updated before exporting the project.
- Support for "usage" for "Cloud" nodes. Fixes #2887 Allow "usage" for all builtin nodes (not exposed in Ui).
Server
- Bundle web-ui v3.0.0a4
- Do not enforce Compute.Audit and Template.Audit privileges due to current web-ui limitations
- Support to create empty disk images on the controller
- Fix issue with importlib.resources.files() and Python 3.9
- New RBAC system with resource pools support.
- Use controller vars file to store version and appliance etag
- Pydantic v2 migration
- Allow connection to ws console over IPv6
- Allow computes to be dynamically or manually allocated
- Add UEFI boot mode option for Qemu VMs
- Mark VMware and VirtualBox support as deprecated
- Make port name for custom adapters optional. Fixes GNS3/gns3-web-ui#1430
- Support for database schema migrations using alembic
- Add config option to change the server name. Ref #2149
- Option to disable image discovery and do not scan parent directory
- Allow raw images by default. Fixes GNS3/gns3-server#2097
- Fix bug when creating Dynamips router with chassis setting
- Stricter checks to create/update an Ethernet switch and add tests
- Fix schema for removing WICs from Cisco routers. Fixes #3392
- Fix some issues with HTTP notification streams
- API endpoint to get the locked status of a project
- Global project lock and unlock
- Require name for custom adapters. Fixes #2098
- Allow empty adapter slots for Dynamips templates. Ref #3373
- Custom adapters should not be in node (compute) properties returned to clients. Fixes #3366
- Optionally allow Qemu raw images
- Ignore image detection for IOU user libraries in image directory
- Checks for valid hostname on server side for Dynamips, IOU, Qemu and Docker nodes
- Only check files (not directories) when looking for new images on file system.
- Support user defined loader/libraries to run IOU
- Remove explicit Response for VPCS endpoints returning HTTP 204 status code
- Remove explicit Response for endpoints returning HTTP 204 status code
- Make 'vendor_url' and 'maintainer_email' optional for template validation.
- Allow auth token to be passed as a URL param
- Add controller endpoints to get VirtualBox VMs, VMware VMs and Docker images
- Detect new images added to the default image directory. * Images can be present before the server starts or while it is running * Images are recorded in the database
- Support delete Qemu disk image from API Return the real disk image name in the 'hdx_disk_image_backed' property for Qemu VMs
- Fix ComputeConflictError import
- Handle creating Qemu disk images and resizing
- Finish to clean up local setting usage. Ref #1460
- "Local" command line parameter is only for stopping a server that has been started by the desktop GUI
- Fix AsyncSession handling after breaking changes in FastAPI 0.74.0 See https://github.com/tiangolo/fastapi/releases/tag/0.74.0 for details.
- Detect image type instead of requesting it from user
- Add connect endpoint for computes Param to connect to compute after creation Report compute unauthorized HTTP errors to client
- Replace CORS origins by origin regex
- Allow empty compute_id. Ref #1657
- Secure controller to compute communication using HTTP basic authentication
- Secure websocket endpoints
- Allocate compute when compute_id is unset
- Return the current controller hostname/IP from any compute
- Remove Qemu legacy networking support
- Appliance management refactoring: * Install an appliance based on selected version * Each template have unique name and version * Allow to download an appliance file
- Add isolate and unisolate endpoints. Ref #3190
- Allow images to be stored in subdirs and used by templates.
- Use uuid5 to create new compute_id. Fixes #1641 #1887
- Migrate PCAP streaming code to work with FastAPI.
- Refactor WebSocket console code to work with FastAPI. Fix endpoint routes.