Releases: teacoder-team/backend
Releases · teacoder-team/backend
v2.8.0
Этот релиз принес крупные улучшения в платежах, авторизации и управлении сессиями. Я добавил новые интеграции, усилил безопасность и сделал внутренние процессы умнее и быстрее.
🌐 New Features
💳 Payments & Billing
- Поддержка авто-списаний через Robokassa и расширенных параметров
Shp. - Расширена интеграция с YooKassa и Heleket: создание счета и письма об окончании подписки.
- Геоблокировка для криптоплатежей и эднпоинт для получения доступных платежных методов.
🔐 Authentication & SSO
- Добавлены вход и привязка через Discord и Telegram.
- Новый метод для получения списка доступных SSO providers.
🧠 Sessions & Fingerprinting
- Интеграция Fingerprint API для повышения точности идентификации устройств.
- Улучшено создание сессий: теперь учитываются Fingerprint,
visitorIdиrequestId.
⚙️ Misc
- Добавлено email-письмо об успешной подписке.
- В API лидеров теперь возвращается
isPremiumстатус.
🧩 Fixes
- Исправлены потенциальные DoS-уязвимости в
slugify(CWE-730, CWE-834). - Корректная обработка ошибок
access_deniedот внешних OAuth providers. - Гарантировано булево значение
isPremium. - Добавлены отсутствующие peer dependencies для
@nestjs-modules/mailerиts-loader.
⚙️ Chores
- Ужесточены права
GITHUB_TOKENв CI (CWE-275). - Оптимизирован конфиг Throttler и обновлены платежные настройки.
- Внедрены рекуррентные платежи через Robokassa и повышена стабильность рекуррентных платежей в YooKassa.
🧠 Refactors
- Конфигурация переведена на единую систему валидации.
- Модуль курсов реорганизован по принципам DDD (Domain-Driven Design).
- Логика Fingerprint history теперь вызывается условно для оптимизации.
📝 Documentation
- Добавлено описание Robokassa Webhook API в документации.
🧾 Summary
Новый релиз сделал платформу умнее и безопаснее: добавлены современные методы аутентификации, продвинутая идентификация пользователей и надёжная платёжная инфраструктура.
v2.7.0
Features
- feat(webhook): add logging for webhook processing
- feat(heleket): add DTOs for webhook payload
- feat(passkey): store userAgent, IP, lastUsedAt and increment counter on auth
- feat(passkey): added recovery codes cleanup when deleting the last passkey
- feat(auth): add passkey support for MFA
- feat(bot): add subscription purchase notification
Fixes
- fix(passkey): ensure MFA exists before generating registration options
- fix(payment): parseFloat for crypto amount to match Prisma Float
Chores
- chore: upgrade multer to 2.0.2 (fixes DoS vulnerability)
- chore: bump form-data to 4.0.4 to patch CVE-2025-7783
- chore(payment): remove YooMoney support
- chore(deps): update axios to 1.12.0 and remove deep-email-validator
Refactors
- refactor(robokassa): add async setup, signature algorithm, test support
- refactor: CI workflow to simplify dependency installation
- refactor(auth): extract external provider auth logic into shared library
- refactor(mfa): rename MFA methods Totp/Recovery to lowercase
CI/CD Improvements
- ci: add GitHub Actions workflow for build and deploy
- ci: switch from Dokploy to Docker Hub deployment
- ci: cache Yarn dependencies and build only amd64 for stability
- ci: split workflow into jobs and optimize Docker build/push
v2.6.5
What's Changed
- feat: link payment method to payment on creation by @TeaCoder52 in #45
Full Changelog: v2.6.4...v2.6.5
v2.6.4
What's Changed
- feat(webhook): validate Heleket IP and signature by @TeaCoder52 in #44
Full Changelog: v2.6.3...v2.6.4
v2.6.3
v2.6.2
What's Changed
- feat(payment): add cryptocurrency support by @TeaCoder52 in #42
Full Changelog: v2.6.1...v2.6.2
v2.6.1
What's Changed
- fix(payment): update test price to real price by @TeaCoder52 in #41
Full Changelog: v2.6.0...v2.6.1
v2.6.0
What's Changed
- feat(bot): send Telegram notification on new user registration by @TeaCoder52
- feat(payments): add user payment methods table by @TeaCoder52
- feat(course): restrict download link endpoint to premium users by @TeaCoder52
Full Changelog: v2.5.3...v2.6.0
v2.5.3
v2.5.2
What's Changed
- refactor: remove dev-only restriction for creating payments by @TeaCoder52 in #38
Full Changelog: v2.5.1...v2.5.2