Releases: texport/superkassa-core
Releases · texport/superkassa-core
Release list
Release v1.0.4
Описание релиза v1.0.4
Список изменений по категориям
Новые возможности 🚀
- Архитектурный рефакторинг доменного слоя: Вся бизнес-логика (проверка статуса KKM, валидация лимитов автономной работы, обработка отчетов) полностью перенесена из фасадного API-сервиса
SuperkassaApiImpl.ktв изолированные доменные юзкейсы. - Запросы поиска номенклатуры: Добавлена низкоуровневая логика сериализации и парсинга ответов ОФД в
OfdResponseParser.ktиLookupNomenclatureUseCase.ktдля поиска номенклатуры по штрихкоду. - Расширенное тестовое покрытие: Добавлены новые тесты на поиск номенклатуры, формирование X-отчетов и разбор рекламных блоков ОФД.
Исправления ошибок 🐛
- Корректная сериализация ставки НДС: Исправлена передача процентов НДС в запросах к ОФД — процент теперь кодируется в тысячных долях (например,
16000вместо16для НДС 16%), согласно протоколу КГД. - Дробное количество в DTO: Тип количества товаров изменен с
LongнаDoubleдля корректной поддержки дробных количеств на API и защиты от ошибок парсинга дробных чисел клиентами. На уровне маппера реализовано математическое округление до тысячных долей. - Сохранение оффлайн-подписи: В сценарии синхронизации очереди в
ProcessQueueCommandUseCase.ktисправлена ошибка затирания оригинальной подписиautonomousSignзначениемnull. - Парсинг фискального признака: Добавлен запасной разбор camelCase-ключа
ticketNumberвнутри утилитыOfdResponseUtils.extractFiscalSign. - Мультиязычная обработка таймаутов: Добавлено корректное распознавание русско- и казахскоязычных сообщений о таймаутах сети для переключения чеков в оффлайн-режим.
Инструменты и рутина 🛠️
- Форматирование кода: Все файлы и импорты автоматически отформатированы с помощью Detekt.
- Обновление версий: Версия библиотеки в Gradle-скриптах и манифесте SPM обновлена до
1.0.4.
Интеграция через Swift Package Manager (SPM) для iOS
Для интеграции библиотеки в iOS-приложения добавьте следующее описание бинарной зависимости в ваш Package.swift:
.binaryTarget(
name: "SuperkassaCore",
url: "https://github.com/texport/superkassa-core/releases/download/v1.0.4/SuperkassaCore.xcframework.zip",
checksum: "dd4643875adbf2160b28767e56da8dfc8d201edb97384ad13c4f8504e0c582f8"
)v1.0.3
Release v1.0.3
Features & Refactoring
- Fully decoupled
kotlinx.serializationfromcore-domainmodule to strictly follow clean architecture boundaries. - Replaced legacy
@Suppress("DEPRECATION")and refactored datetime parsing viaLocalDateTimeto completely avoid compilation warnings. - Replaced outdated
by gettingDSL delegating syntax with modernnamed(...)Gradle API. - Reorganized
Logger.ktsource sets to resolve IDE compiler/index conflicts.
Bug Fixes
- Standardized snapshot parsing time zone to
Asia/Almaty(Kazakhstan Standard Time) to prevent system timezone drift. - Corrected storno ticket logic to subtract values from section totals, turnover calculations, and counts instead of accumulating them.
- Fixed Maven Central publishing configuration to aggregate and upload only the unified root
superkassa-corelibrary target, removing standalone submodule artifacts.
Tooling & Chore
- Upgraded publishing configuration to aggregate subprojects using
nmcpAggregation. - Expanded unit test coverage in
core-presentationto 100% andcore-domainto 97%+.
Swift Package Manager (SPM)
Add the package to your Package.swift:
.package(url: "https://github.com/texport/superkassa-core.git", from: "1.0.3")Binary Target Checksum (SHA-256):
5303d7c6b66a35e6fdbb7e09ec165ec71944bbc4c14dafdd69e66ebe2caf6981
v1.0.2
Release v1.0.2
Features & Refactoring
- Fully decoupled
kotlinx.serializationfromcore-domainmodule to strictly follow clean architecture boundaries. - Replaced legacy
@Suppress("DEPRECATION")and refactored datetime parsing viaLocalDateTimeto completely avoid compilation warnings. - Replaced outdated
by gettingDSL delegating syntax with modernnamed(...)Gradle API. - Reorganized
Logger.ktsource sets to resolve IDE compiler/index conflicts.
Bug Fixes
- Standardized snapshot parsing time zone to
Asia/Almaty(Kazakhstan Standard Time) to prevent system timezone drift. - Corrected storno ticket logic to subtract values from section totals, turnover calculations, and counts instead of accumulating them.
Tooling & Chore
- Upgraded publishing configuration to aggregate subprojects using
nmcpAggregation. - Expanded unit test coverage in
core-presentationto 100% andcore-domainto 97%+.
Swift Package Manager (SPM)
Add the package to your Package.swift:
.package(url: "https://github.com/texport/superkassa-core.git", from: "1.0.2")Binary Target Checksum (SHA-256):
9e887335253000fc53796ee819a1743ecf0d299b67d013b199fed7c207b52509
Release v1.0.1
Release v1.0.1 with offline fixes, logging and throttling corrections.
Release v1.0.0
Kotlin Multiplatform (KMP) core engine for Superkassa with SPM support. Includes core-domain, core-data, and core-presentation.
Release v1.0
Release v1.0 with Swift Package Manager support.