Files
vfd/CHANGELOG.md

2.9 KiB
Raw Permalink Blame History

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.