* Work around a bug: printer in serial print mode while wizard is shown
* READY state changed to IDLE, PREPARED state changed to READY
* New status display
- notifies about setup wizard,
- shows upload progress
- shows the name of a file being printed
- notifies about errors
- shows an idle screen with the IP address after 30min
- add idle screen and show transfers during print pauses
* Name and location of printer value validation
* Fix negative timeout being possible in serial read
* Additional Connect (un)registration support
* File and Directory name validation refactoring
* Fixed transfer and print in ATTENTION error
* New Connect API support
* Fix PrusaLink IP not getting reset from printer on shutdown
* Fix the serial_number step in wizard
* Fix unicode characters in file names breaking lcd printer
* Make RESET_PRINTER clear the command queue and have priority that way
* Made the app stop itself faster
* Use M400 instead of G4 for printer queue syncing
* Reworked validation of correct S/N write
* Modified username length and password length and format validation
* Use "Sync|->:" and "Sync->|:" to signify which way is the current transfer going
* Add DNS service discovery compatible with PrusaSlicer
* Support file upload cancels from PrusaSlicer
* Static web update:
- Fix big log files displaying
- Decrease display log file size limit to 1M
- Change temperature controls widget number format to display integers
- Add stop/resume print button
- Add protection from steppers disabling when printing
- Fix sidebar width
- Replace PNG icons with SVG
- Fix router, telemetry graph dinmensions and page layout
- Update error handling to avoid duplicates of popups
- Add support for file extensions provided by printer profiles from API
- Fix display names of origins
- New application design
- New field to rename project file uploaded by URL
- New widget displaying used/free size (not-connected to printer yet)
- New Rename and Copy actions (hidden)
- New tool to unify icons colors
- Updated free space logic
- Fixed storage tabs behavior
- Avoid unnecessary requests to BE for file metadata
- Hardcode storages list to printers
- Removed page `Temperatures`
- Fix formatting of percentages
- Project preview is now not dependent on `/api/job` endpoint
- Confirm dialog after uploade via drag zone
- Nozzle diameter
- Offline mode
- Connect Like icons
- Translaction fallbacks
* Differentiate between FW and ID errors in the wizard, update texts
* Fixed download ref, added total storage space info
* Added storage space info to api/printer
* Added function for save file with custom name
* Add dynamic download throttling when printing
* Added caching for thumbnail images
* Send printer info on printer reset / info invalidation event
* Fixed error handling for PrusaLink Web
* Reset print stats after a print ends
* Fix print fail from a unchecked print buffer underflow
* Report mesh bed levelling data
* Use the print mode to report the right print stats row to connect
* Make sure fan errors send reason, improve their behavior a little
* Fix SD Card module race conditions
* Make it possible to hide certain loggers from interesting log
* Filter telemetry, send only what's "significantly" changed
* Fixed maximum temperature check for nozzle and heatbed
* Api-Key is implicitly None, can be set in wizard or using endpoint
* Start PrusaLink even without a connection to the printer
* Start sending telemetry slowly after a period of inactivity
* Files can be printed without selecting first, fixed job printTime info in api/job
* Don't wait for a printer to boot when running through the EINSY pins
* Added api/v1/info endpoint
* Add printer statistics tracking
* Add time to filament change tracking
* Add sheet settings tracking
* Return a better reason when print of a non existent file is requested
* Make printer settings reflect the actual printer type
* Fixed doubled gcode extensions when custom name is used
* Added nozzle diameter info to api/v1/info
* TLS is changed from int to bool
* Added endpoint for capture an image from a camera
* Fixed check for negative temperatures of nozzle and bed
* Add a special SD menu to set the printer to READY from the LCD
* Add boot partition config copy script (for RPis)
* Added endpoint api/v1/storage with storage info
* Round auto guessed preheat temps to the nearest five
* Remove any irrelevant telemetry right on state change
* Added endpoint api/v1/<storage>/<path>
* Add automatic serial port scan
* Use USB S/N if available (fixes MK2.5 SN issues)
* Added endpoint with a list of available ports
* Added capabilities flag to api/version
* Added min extrusion temp to api/v1/info endpoint, fixed value
* Added optional ro parameter to api/files and api/v1/{storage}/{path} endpoints
* Added link_state parameter to api/printer endpoint
* Fixed item updater allowing invalidation of a disabled item
* Fixed upload PUT Print-After-Upload if already printing error
* Added api/v1/<storage>/<path> delete endpoint
* Fixed a semicolon in a filename being printed breaking everything
* Fixed a bronken RESET_PRINTER for raspis connected through USB
* API key option removed from wizard
* Added endpoint for deletion of API key