WARNING, BEFORE YOU UPDATE FROM V1 TO V2:
From version 2.x PCI Device IDs are statically assigned, that can cause Guest Virtual Machines might be needs to be adjusted.
From version 2.x maximum allowed ISO mounts is limited to 6, maximum Virtual Disks are 12 and 8 extra PCI slot including (NIC, Passthru) devices.

v.2.1.4-release
2024.04.02: Added better implementation of truncate() and warning
2024.04.02: Fix resize disk truncate() error when the input isn't natural number
2024.04.02: Fix resize disk above 1TB cause truncate() error, because of scientific notations
2024.03.29: Fix error message contains variable which does not exists [GHUB-55]

v.2.1.2-release
2024.02.23: Allow attach and create new disk at the same time
2024.02.23: Allow modify disk when detached or foreign
2024.02.23: Fix error when foreign or missing disk presents (`the index '1' does not exist at application/vmclient/web/webadmin/vm/details.c(685)`)
2024.02.20: Fix missing incoming connection on sysinfo menu
2024.02.20: Change layout to 5-7 on dashboard

v.2.1.0-p1-release
2024.02.20: Added correct boot order, padding PCI slots to avoid EFI shell prompted on first place
2024.02.20: System accept fraction numbers for memory settings, also displaying correctly up to 2 decimal points
2024.02.20: Fixed reconnection issue that elliminates (partial data received warnings)
2024.02.20: Hardware configuration now colored to determine easier what configuration an user can modify
2024.02.20: Better ajax calls on VM list, VMs are displayed realtime
2024.02.20: Added loading screen to pages that might loads slower
2024.02.20: Show assigned users on the list page
2024.02.20: Allow edit VM description by the user
2024.02.19: Added option to reset UEFI BIOS Settings.
2024.02.19: FIX: Minor HDD LUN numbers (collision avoidance) could changed according to directory cache and file names, now they are assigned to database ID.
2024.02.19: Automatically re-set log, uefi files permissions to 0600 for security reasons despite the folder settings.

v.2.0.8-release
2024.02.18: Hotfix: `wrong number of parameters (2 passed, 4 required) at application/vmclient/web/webadmin/vm/Forms/create_vm.c(130)`
2024.02.18: Hotfix: Edit Name / Description leads to an error
2024.02.18: Hotfix: Add support to older systems and an update warning.
2024.02.18: Hotfix: When add Intel-1000 legacy adapter two of them appear.
2024.02.18: Hotfix: Possibly get rid of remaining startup issues by clearing vminfo cache, by renaming it into new key.
2024.02.18: Hotfix: Fix some startup issues following migration process, `the index 'time' does not exist`, `the index 'custom' does not exist`
2024.02.17: Better garbage collection mechanism
2024.02.17: Security Prompt when user using default admin account
2024.02.17: Fixed native bhyve logging
2024.02.17: Add Option to set host's TAP IP Address (useful for special routing cases with pfSense)
2024.02.17: Added feature: UEFI Storage to save UEFI settings
2024.02.17: Mutexing noVNC concurrent sessions, admins grab axplicit lock over the console
2024.02.17: noVNC can handle VM Power Options (start, stop, restart, shutdown), better BVCP integration
2024.02.17: Reduced Memory footprint
2024.02.15: Added support for PCI-Passthrough DMAR, AMDVi
2024.02.14: Added Backend compatibility check
2024.02.14: Preserve Machine Statistics
2024.02.14: Database structure & serialization optimisation
2024.02.11: Dashboard interface now contains VERY USEFUL node statistics, warnings and alerts
2024.02.11: Fix race condition which cause the software does not exit - just hangs -
2024.02.11: Significantly improved the overall speed by changing JIT mechanism
2024.02.02: Fix `the index 'state' does not exist at application/vmclient/web/webadmin/dashboard/main.c(96)` related errors
2024.02.02: Fix `the index 'name' does not exist at application/vmclient/web/webadmin/vm/list.c(109)` error
2024.02.02: Max allowed CPU Count adjusted to sysctl variables
2024.02.02: Better way to check of requirements of bhyve core, IOMMU, max cpu count

v.1.9.8-p9-release
2024.01.02: Implement protocol version-3 but uses 2 by default for compatibility
2023.11.30: Updated ABC, Numeric short method on select input now correctly rearrange items by alphabet order
2023.11.30: Better support for symlinks, correctly shows the target size
2023.11.30: Fix error when the connection aborts between frontend - backend and the query parameters contains non-string type
2023.11.30: Updated serialization library which increased the overall speed
2023.11.30: Updated string library which increased the overall speed
2023.11.30: Fix: VM name could be empty on creation which leads to malfunction [GHUB-46]
2023.12.29: Showing VM's name instead at dashboard when no descriptive text provided [GHUB-44]

v.1.9.8-p8-release
2023.12.23: Increased stability, this version fixes VNC random dropouts
2023.12.22: Reduced HTTP Error and Debug messages on the log
2023.12.20: Limiting emails sent when session changes

v.1.9.8-p7-release
2023.11.09: Adding additional parameters to a self-signed certificate at install to comply with newest requirements in Chrome Browsers

v.1.9.8-p6-release
2023.07.23: small UI fixes
2023.07.20: fix bug related to missing POST fields when modifying disks
2023.07.12: proc_open hung up on older systems when pipes have data left
2023.06.21: Memory Leak fix: Send Buffers did not released correctly
2023.06.12: Fix Not Supported headers on invalid HTTP versions
2023.06.12: Fix HTTP/1.1 C100 response on PUT requests
2023.06.11: Fix errors when client sends malformed HTTP packets

v.1.9.8-p5-release
2023.05.29: Possible fix for VNC shutdowns, flickering
2023.05.29: Code cleanup
2023.05.20: BVCP now fault tolarent, errors wont disrupt the normal workflow
2023.05.16: Fix negative numbers against gmtime(&) cause random behavior on some systems [framework]
2023.05.15: Fix conditional-race winning on thread-pool code [framework]

v.1.9.8-p4-release
2023.05.07: Fix stucked or out-of-sync filesystem statistics
2023.05.01: Fixed errors which comes from debugging enabled
2023.04.30: Fixed HTTP Server Error, inproperly handling partially received data causes errors

v.1.9.8-p3-release
2023.04.26: Fixed error `the index 'state' does not exist at application/vmclient/web/webadmin/vm/details.c(723)`
2023.04.26: Fixed error `the index 'msg' does not exist at utils/Mailer.class.c(1071)`
2023.04.26: Fixed error `the index 'meta' does not exist at application/vmclient/web/webadmin/vm/details.c(461)`
2023.04.26: Fixed error `the index 'SID' does not exist at bhyve/vm_disk.class.c(375)`

v.1.9.8-p2-release
2023.04.18: Fixed error when the system tries to send email to a non-email address
2023.04.17: Missing or broken Disks are able to force remove from VM
2023.04.16: (IMPORTANT CHANGE) Fixed NVME IDs unintentionally includes (") which FreeBSD guests display as %22

v.1.9.8-p1-release
NOTE: This release contains only optimisations and bugfixes.
2023.04.08: Better Error Handling
2023.04.01: ZLIB does not cause exit when throw error
2023.04.01: Updated builtin CA-Certificates
2023.04.01: Updated OUI Database
2023.04.01: Improved Network latency between nodes
2023.04.01: Fixed HTTP issues when CRLF packets comes lately and not using TLS/SSL

v.1.9.8-release
2023.03.21: HOTFIX: Detached disks are not removed properly
2023.03.15: RFB/VNC Fixes hangup when multiple connections made up to the Bhyve
2023.03.15: RFB/VNC Fixes wrong nullptr randomly cause API Key mismatch error
2023.03.08: Pretty Colored Console Output
2023.03.04: RFB/VNC encapsulated TLS Traffic now uses AES and Compression instead for better latency times
2023.02.18: Fixed errors when invalid arguments omitted in http requests
2023.02.04: Fixed previously badly fixed error `the index 'stat' does not exist at application/vmclient/web/webadmin/connect/main.c(111)`
2023.02.02: Fixed API missing arguments cause error due invalid calculations of parameters
2023.02.01: Improved network for PIPES, vnc connections are now faster [framework]
2023.01.28: Fixed shutdown hangups by using valid reference counters on desctructors [framework]

v.1.9.6-release
NOTE: This release contains only optimisations and bugfixes.
2023.01.15: Fixed error `the index 'storage' does not exist at application/vmclient/web/webadmin/vm/Forms/inline_hdd_add.c(51)`
2023.01.14: Fixed error `the index 'mount' does not exist at application/vmclient/web/webadmin/vm/Forms/inline_cdrom.c(59)`
2023.01.14: Fixed error `the index 'meta' does not exist at application/vmclient/web/webadmin/vm/Forms/inline_cdrom.c(68)`
2023.01.03: Fixed error `the index 'stat' does not exist at application/vmclient/web/webadmin/connect/main.c(111)`
2023.01.03: Fixed error `the index 'mail' does not exist at utils/Mailer.class.c(1230)`
2023.01.03: Fixed error `the index 'description' does not exist at application/vmclient/web/webadmin/dashboard/main.c(120)`
2023.01.03: Fixed error `the index '1' does not exist at application/vmclient/web/webadmin/core/bvcp_auth.c(271)`
2022.12.28: Fixed error `the index 'switch' does not exist at application/vmclient/web/webadmin/vm/Forms/inline_nic_add.c(50)`
2022.12.28: Fixed error `the index 'PID' does not exist at application/vmserver/rfb//handle.c(53)`

v.1.9.4-release
NOTE: This release contains only optimisations and bugfixes.
2022.12.21: Fixed DProtocol Error messages
2022.12.21: Fixed error when config contains invalid email and mail could not be sent
2022.12.21: Showing version name on both Backend and Frontend
2022.12.21: Fixed RFB Protocol invalid data handling
2022.12.20: Fixed thread-pool memory issues which causes instability on some systems

v.1.9.2-release
NOTE: This release contains only optimisations and bugfixes.
2022.12.06: Threadpool fix that is not affecting on FreeBSD, but for sure.
2022.12.05: Fix invalid array assign when listing mounted filesystems, merge with b213 framework
2022.11.20: using conditional_locks and dynamic mutexers for speed improvements [framework]
2022.11.18: new TCP & UDP network stack for future use like for VNC-PROXY [framework]
2022.10.05: Mutexing some ambiguous fs syscall [condition-race] (OS-BUG) [framework]
2022.10.02: Fix memory leak at hashing functions [framework-issue]
2022.09.30: Better Logger buffering and output [framework]
2022.09.25: (High-Availability) Guardian implementation both on frontend and backend [framework]

v.1.9.0-release-p3
2022.09.17: fix websocket-hybi condition race with opcode [framework-issue]
2022.09.17: fix serialization become corrupted when class are used
2022.09.17: fix DProtocol stuck in loop in rare circumstances

v.1.9.0-release-p2
2022.09.10: fix SSL_Accept() hang when non-https requests sent to the server [framework-issue]
2022.09.10: fix Malformed HTTP headers sent back when protocol not defined

v.1.9.0-release-p1
2022.09.09: hotfix broken cdrom drives

v.1.9.0-release
2022.09.09: Fix nullptr termination on challenge key
2022.09.09: Fix ssl handshake error on high latency networks [framework-issue]
2022.09.08: Add more security to VNC/Console against replay-attack
2022.09.08: Fix new syscall (proc_open) closing random file descriptor when initialises due condition race [framework-issue]
2022.09.08: Fix VNC/Console resource wasting when nobody attached to console
2022.09.08: Fix CPU loop on main thread due socket pipes [framework-issue]
2022.09.07: Fix DProtocol length too small error
2022.09.07: Release rollback before launch due compatibility issues with new framework
2022.09.07: Code cleanup and overall speed improvement
2022.09.05: Fix rare event where send buffer remains untouched (intr)
2022.09.05: framework upgrade, small changes on logging system
2022.09.05: Changing existing NIC's MAC Address
2022.09.04: Fix when new switch created and interface not bound if selected
2022.09.03: Grammar Fixes, Better displaying backend errors
2022.09.02: Fix Interface MTU will be adjusted to the bridge
2022.09.02: Fix (_) and whitespace markings on network switches cause problems
2022.09.01: Fix Mail Queue Loop, Mail ::PORT missing variable
2022.09.01: Added ioctl() MTU readings to able to adjust bridge with bound device
2022.08.15: VNC proxy now quickier, but still no compression
2022.08.10: Highly optimized networking stack, running with much less CPU cycles while response time kick in.
2022.07.19: explode, implode, concat inner functions now uses C/C++ low level API with string pointers.
2022.07.11: stdin, stderr, stdout wont close on service mode while dont mess up the console
2022.06.02: framework upgrade, adaptive network stack with variable socketpool
2022.05.15: Fix MAC addresses are not applied on tap devices

v.1.8.4-release
2022.03.30: Added Sata/Legacy (512B) HDD Option for instances those requires 512B physical sector size like MSSQL
2022.03.30: Adaptive Cache on VMs, removing and adding CDrom drives now will take affect on first boot.

v.1.8.2-release
2022.03.07: Minor Version number added due a more frequent releases
2022.03.07: Hugely performance improvements on Windows Guests
2022.03.07: Performance Improvements on networking code
2022.03.07: Fixes UI glitches (mixing languages)

v.1.8-release
2022.03.05: Newly added Network Card is enabled by default
2022.03.05: Fix backend throwing critical error when VM could not start properly (likely on special hardwares)
2022.03.05: Fix worker throwing error when node is disconnected while operating
2022.03.05: Added some default options when creating new VM
2022.03.05: Removed automatic boot & now the default behaviour restore last state
2022.03.05: Fix UI, incorrectly shows ISO images and deleted NICs
2022.03.06: UI Fixes and improvements
2022.03.06: Custom UEFI Firmware with BOOT delay and post message
2022.03.06: fixed error: "the index '4' does not exist"

v.1.6-release
2022.02.01: Fixed wrong signature that caused the software could not start
2022.01.23: Fixed IPv4 & IPv6 Dual Stack caused session troubles
2022.01.23: Fixed bad SQL query on authlog, now displays actual entries in right order even if it has more than 500 entries
2022.01.23: Added a safe technique if the user IP flapping between IPv4 and IPv6 that was mostly caused websocket errors
2022.01.23: Fixed VNC/websocket connection when using proxy or VPN

v.1.4-release
2021.12.22: Fixed some errors when hostname uppercase
2021.11.06: Fixed rare errors when multiple nodes added
2021.10.22: Fixed some errors when using wrong API commands

v.1.2-release
2021.08.04: First Stable Release
2021.08.04: UI Improvements

v.1.0-rc7
2021.07.20: Fixed broken [sysinfo] page, HTTP/500

v.1.0-rc6
2021.07.19: VNC related network optimizations
2021.07.19: Now, Bhyve VNC Server listens only localhost

v.1.0-rc5
2021.07.10: Security Fix: SQLite AUTO_INCREMENT behaviour allows newly created user to re-assign deleted user's IDs.
2021.07.10: Fix: Password stored wrong when new user created
2021.07.10: Enable user to modify: "Wait for Console", "Display", "RTC Clock", "Architecture", "Guest OS".
2021.07.10: Added version information on dashboard
2021.07.10: Newly created VMs are minimally preconfigured
2021.07.09: Added `RTC is UTC time` switch
2021.07.09: Fix: Notes and Journal inherited from deleted VMs when recreated with same prefix
2021.07.08: Removed IP Address at login splash, (security reason for using behind proxy)
2021.07.07: Added node prefetcher to avoid connection drops on huge latency
2021.07.06: Dashboard runs smoothly, lot of optimizations
2021.07.05: Fix: Config overwrite issues
2021.07.05: Upgraded framework, showing less informations on startup
2021.07.04: Fix: VM disk images wont deleted when not properly detached even if the VM is OFF and is on detaching state
2021.07.04: Fix: Networking issues that interfaces wont pull-up
2021.07.04: Fix: Modified startup scripts and binaries to avoid conditional-race between helper and backend

v1.0-rc4
2021.06.30: Daily Release, tag: v1.0-rc4
2021.06.30: Fix: [Credit: VincentV@HUP]: The installer script may fails due missing /usr/local/etc/rc.d on fresh installs
2021.06.29: Hotfix Release: tag: v1.0-rc3
2021.06.29: Fixed prefix: allowing '_' char
2021.06.29: Daily Release, tag: v1.0-rc2
2021.06.28: Fixed 'sysinfo' hung up when one of the nodes is unavail.
2021.06.28: First release as release candidate
