# ChangeLog ## 2.0 Date: 9.11.2020 The whole system has been migrated to .NET Core and a custom-made Linux system. An update can now deliver either a whole system update (`system-.itb`) or only the high-level charger software (`app-.itb`). This is a huge update, with most of software components significantly updated or rewritten, and with some new ones added. This change log hence only lists the most significant changes. ### System 2.0 - Migrated to Linux (Buildroot 2020.05.3, Linux 4.14.184). - OS boots 50% faster. - Whole OS and bootloader can now be replaced, improving ability to fix security issues in the OS and provide further platform updates. OS updates are atomic and revert to the previous version if a boot fails 3 times. - Flash corruptions should now be extremely rare. - Networking greatly improved: * DHCP is now used by default, * IPv6 is properly supported, * charger responds to mDNS and LLMNR queries; its serial number is used as the hostname (`.local` for mDNS, `` for LLMNR), * charger can resolve hostnames via mDNS (`.local`), * charger is advertised on DNS-SD: `_ssh._tcp` and `_sftp-ssh._tcp`, * servicing and debugging can now be done via SSH rather than insecure telnet and ftp. ### Application 2.0 - Ported to .NET Core 3.1 and Linux. - Starts much slower, making charger start-up significantly longer. - Update package size is halved. - Can recover (although the configuration is lost) if the data partition is lost/formatted due to a flash corruption. #### Charger Operations - Rewritten all code interfacing with hardware and networking. - Rewritten web server: * internal web server replaced by .NET HttpListener, * Nginx used as a reverse proxy to handle TLS, static content and port mappings. - Rewritten OCPP/J to use .NET WebSockets. #### Power Management - Rewritten communication with Operations (not compatible with older versions). - COIN-OR libraries used instead of lpsolve for solving optimisation problems; calculations are now faster and some edge cases have been fixed. #### GUI - Complete rewrite. - Split into a separate process. - A new GUI for INCH DUO. #### Drivers - Complete rewrite.