Releases: Z0rdak/RepetierSharp
Releases · Z0rdak/RepetierSharp
RepetierSharp 0.3.0
[0.3.0] - 2025-03-28
Added
- Add Background Worker example to repo, as starting point and to test stuff.
- Responses can now be distinguished being a server or printer related response.
- Add separate event handler for server responses.
- Add separate event handler for printer responses, including the printer slug.
- Add separate event handler for server and printer events
- Add methods to schedule commands after initial repetier connection setup through builder (see example).
- Add separate response filter in builder (separates it from the command filter)
- Add custom logger for example
Changed
- CommandManager now stores extended info about commands (server or printer command and printer slug)
- Change internal logging of commands, events, responses (debug, trace)
Fixed
- Fix event filter not being applied correctly, causing events not being handled correctly
- Fix response filter not being applied correctly, causing response not being handled correctly
RepetierSharp 0.2.2
[0.2.2] - 2025-03-27
Added
- Add command serializer to fix problems with serialization
- Add type mapping for new events
- Add event handling for jobsChanged, printQueueChanged and gcodeStorageChanged events. The corresponding event handlers are now invoked accordingly.
Changed
- Reduce overly excessive error logging from exceptions during message handling
Fixed
- Fix commands not being serialized properly
- Fix parsed json being discard to early causing errors
- Fix wrong type cast for state event serialization
- Fix wrong type cast for printerListChanged event serialization
- Fix wrong type cast for userCredentials event serialization
[0.2.1] - 2025-03-26
Fixed
- Fix logger factories not using the
usingstatement, causing potential memory issues - Fix JsonDocument during message handling not using the
usingstatement, causing potential memory issues
RepetierSharp 0.2.0
[0.2.0] - 2025-03-25
Added
- Add proper logging support for the RepetierConnection instead of using Console.WriteLine. You can supply your own logger when using the RepetierConnectionBuilder or use a default console logger.
- Add a whole array of new events which are triggered for the repetier server events and other client related events.
- Add more dedicated events and event handlers for print job related events
- Add a filter for events and commands (and their responses) for the RepetierConnectionBuilder. This filters events so they don't get fired in the first place.
- Add separate .snupkg for debugging symbols
Changed
- Reimplemented the event system to be async. It is still possible to register event handlers for the events of a
repetier connection.
Credit to the authors of MQTTnet for the inspiration on how to implement this. - All Http requests are now async. This mainly is relevant for the methods which upload gcode files or upload and start
gcode. ActivatePrinterandDeactivePrinterno longer select the active printer to send commands to. Instead, they work like the repetier server api describes them. Set theSelectedPrinterfor this:repetierCon.SelectedPrinter = "AwesomePrinterSlug". Alternatively you can select the printer when setting up the connection with theRepetierConnectionBuilder.- Streamlined the
RepetierConnectionBuilder. It's possible to supply aRestClientand/or
aWebsocketClientinstance directly.
This gives more flexibility to the end user and makes it easier to set up a correctRepetierConnection. Please refer
to the readme for code examples. - Split commands into PrinterCommand and ServerCommand. PrinterCommands require a printer slug to address the proper printer.
- Extract HttpRequests (upload, getServerInfo, etc. ) into its own abstraction:
RemoteRepetierServer - Extract PrinterCommands (websocket commands) into its own abstraction:
RemoteRepetierPrinter - Reworked whole serialization and event and response handling.
- Updated System.Text.Json to 9.0.3
- Updated Microsoft.Extensions.* to 9.0.3
- Updated RestSharp to 112.1.0
- Rename the
RepetierConnectionBuildermethodWithCyclicCommandtoScheduleCommand - Rename
GetRepetierServerInfoAsynctoGetRepetierServerInfo - PingInterval is now called
KeepAlivePing, is a TimeSpan and moved inRepetierSession - Move some properties from the
RepetierSessionto typeRepetierAuthentication. This includes only the info which needs to be supplied whenever aloginRequiredevent is fired. When supplied with theRepetierConnectionBuilderthis is automatically used for authentication. - Implement custom JsonSerializer for repetier server events to streamline to process of deserializing the events. It is possible to add custom event entries to a dictionary in the
RepetierEventConverteralongside with a type which is used for deserialization. - A lot of internal refactoring
Removed
- Drop support for .net6.0
- SelectedPrinter property from RepetierConnection
- Various overloads and confusing methods for building a RepetierConnection instance when using the builder.
- Helper methods for the
RepetierConnectionBuilderwhich could be used to schedule querying the printer state and printer list. That's now all covered by theScheduleCommandmethod.
Fixed
- Too many bugs to track
RepetierSharp 0.1.8.1
[0.1.8.1] - 2023-06-15
Changed
OnRepetierConnectedevent now supplies the associated sessionId and is now fired later to ensure the sessionId is always set.
Fixed
- Fix broken parameter keys in HTTP requests for
UploadAndStartPrintandUploadGCode
RepetierSharp 0.1.8.0
[0.1.8.0] - 2023-06-15
Added
- Add option for
RepetierConnectionBuilderto use TLS for both,httpsandwsswhen connecting to a Repetier Server