Releases: Cellivar/WebZLP
v2.0.1
v2.0.0: Async-first and extensible
This overhaul rolls in a lot of lessons learned working on the Web ReceiptLine library and ESC/POS printers.
Async-first design
The previous library mixed sync and async operations in ways that made it more difficult to build into frameworks such as React. Constructors have been moved behind factory methods to reduce the prevalence of that sort of awkward relationship, along with a few other operations scattered around.
Printers are now event producers, and you can addEventHandler
to listen to status and error messages from them. More docs coming soon.
Web-Device-Mux dependency
I've also started work on a web device abstraction library, with the goal of expanding support for Web Bluetooth and Web Serial, along with regular network operations to a webserver for network printing. This is a required dependency used as part of printer setup.
Language-specific commands and configs
To better support the complex nooks and crannies of specific languages there are now language-specific commands and configs able to be described by the library. The commands are namespaced according to their languages in the library's exports.
What's Changed
- v2: Ignore other devices by @Cellivar in #48
- Expose manufacturer metadata more cleanly by @Cellivar in #49
- Add removeEventListener by @Cellivar in #50
- Switch to web-device-mux library by @Cellivar in #52
- Fix issues setting black mark tracking by @Cellivar in #53
- Revert "Switch to web-device-mux library" by @Cellivar in #54
- Async-first rewrite of core logic by @Cellivar in #55
- Add backfeed suppression and update settings interface by @Cellivar in #56
- Improved message handling, better command handler layout by @Cellivar in #57
- Add more ZPL config commands by @Cellivar in #58
- Split things out for more testability by @Cellivar in #59
- Bump version to rc6 by @Cellivar in #60
- Add test configs for LP2824Plus by @Cellivar in #61
- Release version 2.0 by @Cellivar in #62
Full Changelog: v1.0.3...v2.0.0
v2.0.0-rc.6: Clean it up
What's Changed
- Add backfeed suppression and update settings interface by @Cellivar in #56
- Improved message handling, better command handler layout by @Cellivar in #57
- Add more ZPL config commands by @Cellivar in #58
- Split things out for more testability by @Cellivar in #59
- Bump version to rc6 by @Cellivar in #60
Full Changelog: v2.0.0-rc.5...v2.0.0-rc.6
v2.0.0-rc.5: Async event rewrite
The core logic of the application has been rewritten to focus on async operations instead of synchronous calls. The majority of the public API surface remains unaffected. Breaking changes are mostly related to renaming a few things, or needing to wrap things in promises.
A full changelog will be part of the full release.
v2.0.0-rc.3
Introduced a bug with inverted ZPL images.
v2.0.0-rc.2
What's Changed
Full Changelog: v2.0.0-rc.1...v2.0.0-rc.2
v2.0.0-rc.1: Who made this thing anyway
What's Changed
Full Changelog: v2.0.0-alpha.1...v2.0.0-rc.1
v2.0.0-alpha.1: Stay in your own lane
v1.0.3
I recently encountered a printer that caused a null reference exception on connection because its configuration wasn't being selected properly. This was fixed by #47, but we are unable to reproduce the problem at all now.
This release ensures that particular problem can't happen now.
What's Changed
- Don't assume USB device is configured when looking for endpoints by @binaryf0x in #47
Full Changelog: v1.0.2...v1.0.3
1.0.2: Fix TLP2844 Detect
What's Changed
Big shoutout to Pupsaur for being awesome to work with nailing down what was going on with their printer!
Full Changelog: v1.0.1...v1.0.2