Files
vfd/CHANGELOG.md
T

52 lines
2.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Changelog
Все заметные изменения проекта фиксируются в этом файле.
## [0.3.0] - 2026-08-20
### Changed
- BREAKING: `EpsonCodec::new` теперь валидирует `DisplaySettings` и возвращает
`Result<EpsonCodec, ConfigError>`.
- Текстовые API нейтрализуют управляющие символы; произвольные ESC/POS-команды
отправляются только через `write_raw`.
- Worker ограничивает queued raw payload, длину marquee и максимальную скорость marquee
публичными константами `MAX_QUEUED_RAW_BYTES`, `MAX_MARQUEE_CHARS` и
`MAX_MARQUEE_CPS`.
### Fixed
- Неподдерживаемые символы CP866/Windows-1251 заменяются одним байтом `?`, не нарушая
ширину строки числовыми character references.
- Некорректная геометрия codec-а возвращает `ConfigError` вместо позднего panic.
## [0.2.0] - 2026-08-16
### Added
- Добавлен crate-ready API `escpos-vfd` с импортом `escpos_vfd`.
- Добавлены `VfdConfig`, `SerialSettings`, `DisplaySettings`, `TextEncoding` и пресет
`Preset::Epson20x2Cp866` для прежнего 20x2 CP866 дисплея.
- Добавлен ручной выбор baud rate, serial-режима, геометрии, кодировки, `ESC t`
таблицы, диапазона яркости и ёмкости worker queue.
- Добавлены sync worker с bounded queue, подтверждением после I/O и graceful shutdown.
- Добавлен optional Tokio API через feature `tokio`: `AsyncVfd`, `AsyncVfdWorker`,
`AsyncVfdHandle`.
- Добавлены typed errors `ConfigError` и `VfdError`.
- Добавлены русская rustdoc-документация, README, примеры preset/manual/Tokio и
расширенные аппаратные demo-примеры.
### Changed
- BREAKING: прежние фиксированные настройки `TABLE_CYR` и `FIXED_BAUD` заменены
явной конфигурацией и пресетом.
- BREAKING: ошибки публичного API теперь типизированы, вместо универсального
`anyhow::Result`.
- Логика строк и worker-кэш больше не предполагают строго две строки дисплея.
- `print_line_diff` и `print_at` документированы как операции с 1-based координатами.
### Fixed
- Исправлена рассинхронизация default-паузы marquee в taskfile: теперь везде `1500 ms`.
- Документация методов и публичных типов проходит строгий `missing_docs` rustdoc gate.