Immutable
release. Only release title and notes can be modified.
Changelog
Final release. All architectural, functional and UX requirements
from the original SRS are met. Includes maintenance release v1.0.1
with critical bug fixes identified during pre-defence code review.
Финальный релиз. Все архитектурные, функциональные и UX-требования
исходного ТЗ выполнены. Включает техническое обновление v1.0.1
с критическими исправлениями, выявленными в ходе code review.
v1.0.0 - Added / Добавлено
Core / Backend
precheck_vote()- 5-level pre-vote validation / 5-уровневая предголосовая валидацияbuild_full_report()- single source of truth for audit / единый источник для экспорта аудитаfund_from_dev()- async transfer from Geth dev account / асинхронный перевод с dev-аккаунтаcheck_start_voting_ready()- pre-flight check / предварительная проверка перед стартомget_chain_stats()- disk usage stats / статистика использования дискаreset_blockchain_data()- full reset with retry / полный сброс с повторными попыткамиErrorParser- extracted to dedicated module / выделен в отдельный модуль с i18n-ключамиPrecheckResult/PrecheckStatus- typed result objects / типизированные объекты результатаGethManager._shutting_down- prevents false crash callbacks / предотвращает ложные crash
UI / UX
- Logs tab: live search, autoscroll, file info / вкладка Логи: поиск, автопрокрутка, инфо-строка
- About dialog with logo, version, GitHub link / диалог О программе с логотипом и ссылкой
- Reset Blockchain button with confirmation / кнопка сброса блокчейна с подтверждением
- Startup warning for large chain-data (>500 MB) / предупреждение при большом chain-data
- Stage-aware audit mode availability / доступность режимов аудита по стадиям
- Drag-and-drop JSON import for voters / импорт избирателей через перетаскивание JSON
- Toast notification queue with deduplication / очередь тостов с дедупликацией
- Fund from Dev button (dev-mode only) / кнопка перевода с dev-аккаунта
- Unified
MessageDialogreplacing QMessageBox / единый виджет диалогов - All hardcoded strings moved to i18n JSON / все строки вынесены в i18n
Architecture / Архитектура
- Strict layer separation: UI never imports web3 / строгое разделение: UI не импортирует web3
- 7 Architecture Decision Records (ADR-001..007) / 7 задокументированных архитектурных решений
- Logger auto-archives previous session.log / логгер архивирует предыдущий лог при старте
Documentation / Документация
- MkDocs Material: 70+ pages, EN/RU bilingual / 70+ страниц, двуязычный
- 17 PlantUML diagrams across 5 categories / 17 UML-диаграмм в 5 категориях
- 6 BPMN 2.0 processes with Camunda sources / 6 бизнес-процессов BPMN 2.0
- STRIDE threat model + SEC-01..06 / модель угроз STRIDE + 6 проверок безопасности
- Figma UI mockups with 53 annotation notes / Figma-макеты с 53 аннотациями
- Design system, color palette, components / дизайн-система, палитра, компоненты
- API reference for 10 core modules / справочник API для 10 модулей ядра
- SRS, Glossary (33 terms), FAQ (16 questions) / SRS, глоссарий (33 термина), FAQ (16 вопросов)
- Simple export script (DOCX/PDF) / скрипт экспорта по ГОСТ 7.32-2017
v1.0.1 - Changed / Изменено
ErrorParser.parse()returns i18n keys / возвращает i18n-ключи вместо строк- Voter status via debounced
VoterStatusWorker/ статус через асинхронный worker _sec06_shownmoved to instance attribute / перенесён в атрибут экземпляра- Test fixtures use valid 40-char addresses / тесты используют корректные адреса
- RU whitelist warning matches button label / RU-предупреждение совпадает с кнопкой
v1.0.1 - Fixed / Исправлено
- Duplicate
_force_kill_pid(lost/Tflag) / дубликат метода (потерян флаг/T) enable_unaudited_hdwallet_features()removed / удалён вызов при импорте модуля- Duplicate
geth.stop()in closeEvent / двойной вызов geth.stop() при закрытии - UI freeze on keystroke in Vote tab / зависание UI при вводе ключа на вкладке Vote
- Proxy bypass for localhost RPC / обход прокси для localhost
- IPC pipe conflict (
--ipcdisable) / конфликт IPC при повторных запусках - PyInstaller paths (
ROOTvsBUNDLE_DIR) / пути ресурсов в собранном EXE
Tests / Тесты
- 180 passed in ~100 seconds / 180 пройдено за ~100 секунд
- 12 full lifecycle integration tests / 12 интеграционных тестов полного цикла
- Strict markers: integration excluded by default / интеграционные исключены по умолчанию
Checksums (SHA-256)
9dd0644f83f3e8cde07342906935c51d60e3ec25591ad9ccb3dcb140c94e1c67 MYCELIUM_CORE.exe
How to verify / Как проверить
PowerShell:
Get-FileHash "MYCELIUM_CORE.exe" -Algorithm SHA256 | Format-ListLinux / macOS:
sha256sum MYCELIUM_CORE.exeDownload / Скачать
| File | Description / Описание |
|---|---|
MYCELIUM_CORE.exe |
Windows 10/11 (64-bit). Portable. / Портативное, установка не требуется. |
checksums.txt |
SHA-256 hash for verification. / Хеш для проверки целостности. |
⚠️ Notes / Примечания
- Geth required / Требуется Geth: place
geth.exeinbin/next to EXE / положитеgeth.exeв папкуbin/рядом с EXE - Solidity compiler / Компилятор Solidity: downloaded on first deploy via py-solc-x / скачивается при первом деплое (нужен интернет)
- Offline deploy / Деплой без интернета: pre-install with
python -c "from solcx import install_solc; install_solc('0.8.20')" - SmartScreen: Windows may warn on first launch / Windows может предупредить при первом запуске - More info -> Run anyway
- Antivirus / Антивирус: PyInstaller EXE may trigger false positives / возможны ложные срабатывания - проверяйте по SHA-256
- Proxy / Прокси: app bypasses proxy for localhost automatically / обход прокси для localhost автоматический
- No real ETH / Без реального ETH: local Geth dev mode (network 1337), fully isolated / полностью изолированная локальная сеть
Licensed under MIT | Author: AlexAgents