-
Notifications
You must be signed in to change notification settings - Fork 28
/
ChangeLog
456 lines (435 loc) · 21.3 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
# ChangeLog
0.8.1 (2024-06-28)
* Add a v4l2 workaround so broken camera handles are disqualified from scan
0.8.0 (2024-06-27)
* Rpi5 first boot fix
* Fix power panic stuck at Resend
* Fix startup issues on RPi 5
* Wait a bit for printer to finish moves after waking up from power panic
* Sync files upon Upload finish
* Support newer "//action" without the space
* Fix the new image missing the libcamera dependency
* Improve message shown when preparing a power panic recovery
* Fix print stats not ignoring the skipped part of gcode after PP
* Ensure power panic info is written to persistent storage
* Fix active tool not re-setting to None when told to
* Use printer mid-movement power panic recovery trick
* Fix the multi-instance proxy. Again
* Stop showing the tune menu after connecting to the printer
* Use the 2023-10-10 Raspberry Pi OS base image for the image builder
* Decrease the severity of web server access log messages
* Add a way to download logs even on systemd journal based systems
* Bump the API version so it is the same as the xBuddy reported one
* Support the new multi-level telemetry data structure
* Don't send over serial when temperature calibration is running
* Periodically send a keepalive gcode to keep the printer in PrusaLink mode
* Support the set ready and cancel ready LCD menu toggle
* Add gcodes that flag the state of a usb print for the printer statistics to get saved
* Handle the new re-print LCD menu item
* Add the initial support for the MMU
* Add Power Panic support
* Make ->Ready to recover dissapear sooner from the LCD
* The minimum firmwre version has been increased to 3.14.0
* Fix the multi-instance proxy
0.7.2 (2023-10-11)
* Add an automatic PrusaLink image builder script
* Add multi-instance documentation
* Telemetry improvement
* Attempt to turn the RPi wifi power management off in the images
0.7.1rc1 (2023-08-10)
* Fixed HTTP response status on HEAD request for non-existing files
* Attribute ro renamed to read_only
* Fix printer returning to READY instead of IDLE
* Respect the X-Forwarded-Prefix header in Wizard
* Add focus support for the v4l2 cameras
* Add a multi-instance web waypoint, use a reverse proxy to navigate to the correct instances
* Automatically redirect from the multi-instance waypoint if exactly one printer is configured
* Fix missing error detail pages
* Fix an error when dosconnecting from a cammera that failed to connect
* Fix an intermittent error that was killing instances for like two years
* Differentiate between multi instance printers by showing the printer number on the LCD screen
* Static Web update
- Fix behavior on SD card ejection
- Add simple camera focus control if supported
- Add default value for connect hostname
- Update translations
- Add tooltips for error status texts in telemetry
- Add confirmation modal to overwrite a file by upload
- Fix undefined printer states displaying
- Hide zero temperatures in telemetry
- Add support to be running behind the proxy
- Fix folder deletion button
- Fix prusa connect port handling in URL builder
* Hold the STOPPED and FINISHED state for at least 11s
* Fix MK2(.5)S SN being broken on multi-instance images
* Implemented UPGRADE high lvl Connect command
0.7.0 (2023-05-19)
* Fixed printer sends info about api key change to Connect after change
* Added the network error beep setting to the web API
* Support renaming gcodes directory (cfg and API)
* Added a multi-instace auto config and starter utility
* Disable error beeps during prints
* Static Web update
- Using v1 endpoints for job and transfer
- Creating and Deleting folders
- Translation update
- Network error chime control
- Default storage names
- Upgrade procedure rework
0.7.0rc3 (2023-03-09)
* Added v1 endpoints for flat filesystem structure, old struct is moved to
files_legacy file
* Added api/v1/update/<env> GET endpoint
* Printer name and location are added to register url as query parameters,
if available
* Static Web update
- Apply UI/UX refactoring
- Add support for max-age cache control
- Add control of last-modified header for snapshots
- Add drop zone to files storage
- Remove manual camera connection dialog
- Migrate to files api v1
- PrusaLink update
* Added Force header to api/v1/files/<storage>/<path> DELETE endpoint for
deletion of non-empty folder
* Changed Print-After-Upload header value check for PUT
* Added endpoint to start printing file
* Removed the original picamera driver
* Raspberry Pi Camera support utilizing libcamera directly
* Hardware encoding support. (Pi Zero W manages FullHD snapshots without issues)
* Fix "unicam" appearing when a Raspberry Pi camera is connected
* Fix not following the configured resolution
* Added api/v1/status endpoint
* Added new endpoint for updating prusalink python package
* Added api/v1/transfer endpoint
0.7.0rc2 (2022-12-09)
* Support thermal model errors (FW 3.12)
* USB Camera
* SD Card fixes
* Fix MBL data for MK2.5(S)
* Wizard refactoring
* Static web update
- Cameras
- File sorting
- Stop dialog fixed
- Connect status
* API Settings moved from Wizard to Settings
* Raspberry Pi Camera support
* Added cache control headers for cameras snap endpoints
* Fixed PUT upload when folders within the path does not exist
* Cameras! Support for:
- V4L2 cameras (webcams - MJPEG and YUYV formats supported)
- picamera2 (libcamera stack) (slow)
- Changing the resolution
- Camera auto-detection
- Triggering on layer change (PrusaSlicer sliced files only!)
* Fix files with uppercase extensions not showing up locally
* Support "hotend fan" = "extruder fan"
* Re-send the complete telemetry every five minutes
* Fix stats missing for prints of gcodes without M73
* Fix pause being able to double print time reported
* Fixed error when trying to get space info of SD Card
0.7.0rc1 (2022-09-13)
* 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
0.6.0 (2021-12-17)
* Added endpoint for control of extruder
* Added endpoint for heatbed temperature control
* Static web update
- Add debug outputs to investigate project picture collision
- Removed unnecessary colon after hostname in Dashboard
- Switched from data.link to data.printer for settings end point
- Add advanced upload widget
- Printer Control Page
- Add target temperatures to the left sidebar
- Add possibility to send control values by Enter key press
- Add serial number setting
- Prevent api polling when previous requests were not handled
- Prevent error messages flood in case of a connection problem
- Optimize application loop
- Add serial, CONNECT and communication state to the left side bar
* Added size and date attributes to api/logs GET endpoint
* Removed m_time file attribute
* Added restriction for forbidden characters in uploaded file name
* Added download and basic upload info to link-info page
* Added and implemented JSON file with HW limits
* Added api/printer/printhead GET endpoint
* Changed variable firmware_version to firmware
* Added LOAD/UNLOAD filament commands
* Added disable_steppers command to api/printer/printhead
* Implementation of farm_mode into api/settings endpoints
* New Upload errors
- check Content-Length header
- check if file is uploaded complete
- check storage free space first
- errors refactoring
- simple html errors
* Changed args to kwargs for high level commands
* HTTP Request handling improvement
* own Serial class implementation (speed improvement)
* Changed args to kwargs for execute_gcode command
* log thread stack on interesting events
* move job_id into the EEPROM
* make STOP_PRINT wait for any of the READY, STOPPED or FINISHED states
* Implementation of new Transfer object from SDK
* Make a centralised wizard activation condition
* Download finished callback implementation
* Fix SD initialising always as PRESENT even when ABSENT
0.5.1 (2021-07-16)
* Implementation of print after upload endpoint
* Minimal suported firmware is 3.10.0
* Sort files directory first, newest first
* Faster checking and processing when uploading gcode
* Static web update
- Upload gcode fixes
- File browser is available when printer printes
- Files are sort by printers API
- Printed file widget rework
- Fixed progress bar behaviour when printing is finished
- Fixed error handling for periodic requests
- Page heading is sticky now
- Telemetry sidebar is sticky now
- Added frontend version to the Settings page
- Fixed 'undefined' error pop up heading in some cases
- Log viewer
- Login and password can be changed in settings
- All not available project properties are hidden
- Toaster messages are now sticky to window bottom
- Fixed printing time estimations missmatching
- Printer name and location can be changed in settings
- Files with size above 100MB won't be loaded into textarea
* React to thermal runaway by going into the error state
* Use daemon type WSGI threads
* Removed temporary gcode copy for printing
* Support the new M20 attributes and their order
* Fix progress equal to -1 not being supported
* Fixed upload from local web
* SEND_INFO hostname fixed
* Fix SD Card file selection
* Log HTTP requests and errors over Python Logger
* Improve FW error message support
* Work around print head returning to the print after Stop print
* Added endpoint for download file from url
* Password in plain text form is not stored in memory
* Added endpoint for gettting info about the file currently being downloaded
* Added endpoint for abort current download process
* Require user attention after each print, even failed ones (if enabled)
* Added checked and finished flags to api/printer
* Added states structure to api/connection endpoint
* Added Connect configuration info to api/connection endpoint
* Added connection.py with api/connection GET, POST endpoints
* Added api/settings GET endpoint
* Added m_timestamp to SDCard files properties
* Added api/settings POST endpoint, fix settings.py name
* Fixed /api/printer flags
* Implementation of gcode download endpoint
* Added api/logs endpoint
* Added api/logs/<log_file> endpoint
* Added wizard/serial endpoints and page for setup S/N of the printer
* Updated metadata for selected file
* Require two "Not SD printing" to work around a SD printing bug
* Added username and password change functionality to api/settings POST, fixed ChangeLog
* Fixed SD Card metadata read
* Go into the ERROR state when the printer stops responding for aprox. one minute
* Added endpoint for regenerate api-key
* Added api/settings/sn endpoint for setup S/N of the printer
* Wizard is locked after successful configuration
* Added endpoint for control of printhead movement
* Added endpoint GET api/settings/sn
0.4.0 (2021-04-13)
* getting IP refactoring
* fix firmware version reading
* working download gcode endpoint
* command argument for profiling application
* connection over VPN fix
* Added additional network info
0.3.0 (2021-03-30)
* Fixed broken command resends
* Fixed state changed handler
* Added new endpoint /api/connections with JSON response
* Skipped pidfile when process is not alive
* Added new endpoint /api/printer with JSON response
* Fixed complaint in wizard about `api-key` when `username` was too short
* Fix printer.sn being unset in the wizard by waiting for it
* Fixed some telemetry being sent basically at random
* Enabled the RESET_PRINTER command
* Fixed printer resetting multiple times when it gets reset mid-print
* Fixed accidentally hogging CPU when displaying LCD messages
* Set log levels by module name in config or as command arguments
* Report whether the current job is from the SD or not
* Support long file names in the upcoming 3.10 release (file explorer only)
* Added new endpoint /api/files with JSON response
* Added new endpoint /api/job with JSON response
* Added support for the new C parameter in M155
* Modification of /api/connection, files, printer and job endpoints
* All files in data_dir (user's home by default)
* Parse print info from the file name (for SD files)
* Introduce ErrorState(s) from SDK
* Modify `LCDPrinter` to show IP and status based on SDK error states
* Support the nem M27 P
* Fix not being able to print from root of SD when in a folder in LCD menu
* Send 0% when a new print start is observed
* Fix no progress being sent when SD print has no stats in its gcode
* Support fan errors. Send reason for ATTENTION state in state change data
* Support showing the IP address in the support menu using "M552 P<IP>"
* /link-info debug page
* SN is obtained always through the FW and isn't stored in a file anymore
* Ensure M20 won't be sent during print. Ever
* Start faster when already printing from SD
* Don't store password in plaintext but use digest
* Stop Wizard on printer errors.
* Support the new STOPPED state
* Use X-Api-Key or HTTP Digest for /api endpoints
* hostname in /api/version
* Fix /api/endpoints
* Fix /api/files and /api/job endpoints
* Nicer messages for Wlan errors; LCDPrinter now accesses the model for IP
* Statics generated from submodule
* Support pausing, resuming and stopping of serial prints from the LCD
* Implementation of metadata into /api/files endpoint
* Process all commands in a single thread -> racing avoided
* Uploading from local web
* Prusa Link version in INFO event
* G-code preview and download endpoints
* Thread names via prctl - can be show in htop
* Shutdown fix
* Report build number alongside firmware version
* Added api commands for pause, stop and resume print job
* If-Modified-Since and If-None-Match headers support for /api/files
* Additional version info
* Files in hidden folder are ignored
* Report file names of SD prints better
* Added endpoint for start print
* LCD message modification (GO: <IP>)
* Fix connection errors causing the printer to report being in ERROR state
* Add the possibility to log at debug level around interesting events
* Distinguish wifi from lan
* Implementation of select/print file functions from local web
* File resource endpoint
* working `start / stop / pause / resume` job
* job info refactoring
* endpoint for deleting file
* fix job get / set
0.2.0 (2020-12-14)
* JOB_INFO fix
* Service must be start using daemon script prusa-link
* Implicit config path is /etc/Prusa-Link/prusa-link.ini
* Implicit settings path is {HOME}/prusa_printer_settings.ini
* Wizard - part II
* Api-Key in INFO event
* Wizard redesign
0.1.3 (2020-12-01)
* Report at least a file name for SD prints
* Wizard - part I
* Fix command handling and re-undo fw double-ok workarounds
(FW commit gd167b3bd or newer is required)
0.1.2 (2020-11-23)
* New FW (3.9.2.3566) required
* local web service on http://IP-address:8080
* file upload from Prusa Slicer (use `PrusaSlicer` Api-Key)