2025-11-11 - 2026-11-11
Overview
13 Releases published by 2 users
Published
v2.4.1
Published
v2.4.0
Published
v2.3.1
Published
v2.3.0
Published
v2.2.0
Published
v2.1.0
Published
v2.0.0
Published
v1.0.0
Published
v0.2.3
Published
v0.2.2
Published
v0.2.1
Published
v0.2.0
Published
v0.1.0
107 Pull requests merged by 3 users
Merged
#202 fix(sync): start hourly operations after portfolio works finish (#201)
Merged
#200 feat(performance): investment performance vs Moscow Exchange index (WealthLedger/main#54)
Merged
#199 chore(release): 2.4.1
Merged
#198 chore(release): 2.4.1
Merged
#197 refactor: retire legacy tbank-sync status and sync=observe (WealthLedger/backend#196)
Merged
#195 refactor: expose upcoming-events public api and guard its boundary (WealthLedger/backend#163)
Merged
#193 refactor: replace deep imports with native node aliases (WealthLedger/backend#165)
Merged
#192 refactor: enforce repository boundary in application (WealthLedger/backend#171)
Merged
#191 refactor: share prisma json codec and check progress shape (WealthLedger/backend#170)
Merged
#190 refactor: split brokerage operations repository and cursor codec (WealthLedger/backend#167)
Merged
#189 refactor: single bank operation projection and domain rules (WealthLedger/backend#168)
Merged
#188 refactor: share tbank-sync claim and generation lock (WealthLedger/backend#166)
Merged
#186 refactor: extract catalog enrichment source loader (WealthLedger/backend#169)
Merged
#173 refactor(api): describe bank operation create body as oneOf by kind (WealthLedger/backend#172)
Merged
#162 refactor: share sync reservation join rule (WealthLedger/backend#119)
Merged
#160 chore(deps): set Renovate release age, PR limit and update groups (WealthLedger/main#6)
Merged
#159 ci: drop stale npm audit advisory ignore (WealthLedger/backend#158)
Merged
#157 fix(events): refresh saved payout calendars once per hourly pass (WealthLedger/backend#53)
Merged
#156 fix(portfolio): publish new complete forecast regardless of request window (WealthLedger/backend#55)
Merged
#155 refactor: inject TbankAccessService directly into stock screener (#151)
Merged
#154 refactor: check persisted json payload shape instead of double casts (#152)
Merged
#150 chore(release): 2.4.0
Merged
#149 chore(release): 2.4.0
Merged
#148 feat(portfolio): store and publish instrument sector and issuer (#48)
Merged
#147 fix: scope income and ledger sync to requested intervals (WealthLedger/backend#57)
Merged
#146 test: cover portfolio publish rollback and claim fence (WealthLedger/backend#105)
Merged
#145 test: replace operations sync delays with explicit barriers (WealthLedger/backend#104)
Merged
#144 refactor: publish typed problem detail codes (WealthLedger/backend#117)
Merged
#143 refactor: expose tbank-sync public api and guard its boundary (WealthLedger/backend#118)
Merged
#142 refactor: remove tbank-sync operations import cycle (WealthLedger/backend#116)
Merged
#141 fix: count brokerage cash once in portfolio totals (WealthLedger/backend#140)
Merged
#139 feat: extend account list portfolio summary (#138)
Merged
#137 chore(release): 2.3.1
Merged
#132 chore(release): 2.3.1
Merged
#131 chore(release): 2.3.1
Merged
#130 fix: use available Debian packages in image build (#129)
Merged
#128 chore(release): 2.3.0
Merged
#127 chore(release): 2.3.0
Merged
#51 chore(deps): update non-major dependencies #11
Merged
#126 feat: log unhandled errors and pretty dev output (WealthLedger/backend#120)
Merged
#124 fix: persist refresh cookie across browser restarts (WealthLedger/backend#123)
Merged
#115 chore(release): 2.2.0
Merged
#114 chore(release): 2.2.0
Merged
#113 test: cover auth token, cookie and expiry boundaries (WealthLedger/backend#61)
Merged
#112 chore: adopt linear git model in backend docs (#111)
Merged
#110 fix: translate permanent invalid-token errors on online entrypoints (WealthLedger/backend#59)
Merged
#109 fix: align password policy to 8-72 printable ASCII on register (WealthLedger/backend#60)
Merged
#103 test: await portfolio publication done instead of polling ticks (WealthLedger/backend#63)
Merged
#102 test: replace metadata sleeps with upstream start barriers (WealthLedger/backend#63)
Merged
#101 test: replace late portfolio sleep with started and done barriers (WealthLedger/backend#63)
Merged
#100 test: isolate HTTP suites from scheduler and bank-card case order (WealthLedger/backend#65)
Merged
#97 chore: make OpenAPI export atomic and add read-only check (WealthLedger/backend#3)
Merged
#98 refactor: remove unreachable catalog producer and sync orchestration (WealthLedger/backend#62)
Merged
#96 chore: drop unused direct source-map-support dependency (WealthLedger/backend#4)
Merged
#95 fix: restore screener OpenAPI constraints (WealthLedger/backend#70)
Merged
#94 fix: separate T-Bank RPC network time from queue wait (WealthLedger/backend#81)
Merged
#93 fix: skip hourly terms overlapped by a long walk (WealthLedger/backend#54)
Merged
#92 fix: surface durable hourly attempt in accounts and income meta (WealthLedger/backend#58)
Merged
#90 chore: unify verification preparation (WealthLedger/backend#66)
Merged
#89 perf: start bond search prices with details (WealthLedger/backend#71)
Merged
#85 ci: validate edited PR titles (WealthLedger/backend#74)
Merged
#86 perf: batch bank operation page relations (WealthLedger/backend#68)
Merged
#88 test: slim sqlite runner regression workload (WealthLedger/backend#72)
Merged
#87 chore: align SQLite driver version (WealthLedger/backend#67)
Merged
#84 refactor: extract shared public instrument projection (#69)
Merged
#83 feat: unify income payment cards and drop period comparisons (WealthLedger/main#33)
Merged
#79 chore(release): 2.1.0
Merged
#78 fix: bound hourly step awaits by the per-step wait limit (#56)
Merged
#77 fix: restore terminal hourly lifecycle after persistence failure (#56)
Merged
#76 chore: align backend engineering workflow (WealthLedger/main#27)
Merged
#75 docs: clarify backend verification policy
Merged
#52 feat: add stock screener
Merged
#50 feat: reconcile hourly investment resource states
Merged
#49 feat: add hourly portfolio sync history
Merged
#48 chore: synchronize release 2.0.0 into develop
Merged
#47 chore(release): 2.0.0
Merged
#46 test: separate performance budget from e2e gate
Merged
#45 fix(deps): restore backend security gate
Merged
#43 refactor!: simplify runtime coordination #7
Merged
#39 refactor: simplify investment data flow
Merged
#42 refactor: simplify backend and guard boundaries
Merged
#40 chore: strengthen backend eslint and value policies
Merged
#41 ci: reduce duplicate actions and serialize checks
Merged
#38 fix: harden auth and investment synchronization
Merged
#37 fix(investments): align roles and date contracts
Merged
#35 chore(release): 1.0.0
Merged
#34 feat!: persist T-Bank data and synchronize reads
Merged
#33 chore: sync release 0.2.3 into develop
Merged
#32 chore(release): 0.2.3
Merged
#31 chore: sync release 0.2.2 into develop
Merged
#30 chore(release): 0.2.2
Merged
#29 fix: update Nexus registry host
Merged
#28 chore: sync release 0.2.1 to develop
Merged
#27 chore(release): 0.2.1
Merged
#26 ci: publish backend images to Nexus #25
Merged
#24 ci: add backend SonarQube analysis #23
Merged
#22 chore: sync release 0.2.0 into develop
Merged
#21 chore(release): 0.2.0
Merged
#20 feat: add backend container delivery
Merged
#19 feat: generate OpenAPI without peer repositories
Merged
#18 docs: refine backend conventions and routing
Merged
#17 chore(release): 0.1.0
Merged
#13 chore(deps): pin node.js to v24.21.0
Merged
#14 chore(deps): upgrade backend to Nest 12 and TypeScript 6
Merged
#12 chore(deps): update and pin backend dependencies
Merged
#9 ci: backend verification, security and Renovate #1 #5 #6
Merged
#8 chore: Configure Renovate
1 Pull request proposed by 1 user
Proposed
#204 refactor!: support RUB only (WealthLedger/main#55)
60 Issues closed from 1 user
Closed
#196 [Refactor] Retire legacy tbank-sync status and catalog sync=observe after compatibility transition
Closed
#64 [Investigation] Определить поддержку legacy status/observe contracts
Closed
#163 [Refactor] Явная межмодульная граница upcoming-events
Closed
#165 [Refactor] Алиас импортов вместо ../../../../
Closed
#171 [Refactor] Prisma только в репозиториях: auth и bank-cards
Closed
#170 [Refactor] Одна сериализация Prisma Json и проверка progress
Closed
#167 [Refactor] Разделить brokerage-operations repository и service
Closed
#168 [Refactor] Одна проекция банковских операций и правила в domain
Closed
#166 [Refactor] Единый DB claim/lock протокол tbank-sync
Closed
#169 [Refactor] Вынести загрузку источников из catalog-enrichment.service
Closed
#172 [Contract] CreateBankOperationDto: discriminated oneOf по kind
Closed
#119 [Refactor] Убрать дублирование reservation и claim-протокола sync
Closed
#158 [Engineering] Убрать устаревшее исключение GHSA-hp3w-g68c-fv3c из npm audit в CI
Closed
#53 [Bug] Обновлять сохранённые payout calendars в hourly pass
Closed
#55 [Bug] Публиковать новый полный forecast независимо от request window
Closed
#151 [Refactor] Убрать ручной whitelist screener и строковый DI-токен TBANK_ACCESS
Closed
#152 [Refactor] Проверять форму Prisma Json payload вместо as unknown as
Closed
#105 [Test] Решить тестовую инъекцию сбоя для rollback и claimed-fence в Portfolio publish
Closed
#104 [Test] Разобрать оставшиеся delay в tbank-operations-sync по одному кейсу с мутантами
Closed
#57 [Bug] Ограничить Income/Ledger GET разрешённой локальной read boundary
Closed
#117 [Refactor] Публиковать типизированные коды Problem Details для frontend
Closed
#118 [Refactor] Сделать межмодульную границу tbank-sync явной и проверяемой
Closed
#116 [Refactor] Устранить межмодульный цикл импортов tbank-sync ↔ operations
Closed
#125 chore(deps): resolve high-severity multer and undici advisories
Closed
#140 [Bug] Кэш брокерского счёта дважды входит в totals/structure; неверный знак % у коротких позиций
Closed
#138 Расширить portfolioSummary в списке счетов: деньги, структура и нереализованная доходность
Closed
#135 chore: restore main ancestry in develop after release 2.3.1
Closed
#129 fix: unblock backend image build with current Debian packages
Closed
#120 [Feature] Структурированное логирование ошибок и dev-вывода
Closed
#122 chore: bump Node до 24.22.1 (fix better-sqlite3 GC abort)
Closed
#123 [Bug] Refresh cookie без срока жизни: после закрытия PWA/браузера нужен повторный вход
Closed
#61 [Test] Различать auth token-role, expiry и cookie boundaries
Closed
#6 [P1] 09.backend. Подключить backend к регулярным dependency updates
Closed
#111 chore: adopt linear git model in backend docs
Closed
#106 [Test] Флейк portfolio-structure: 401 в beforeEach в полном e2e-прогоне
Closed
#59 [Bug] Переводить permanent invalid-token error на всех online entrypoints
Closed
#60 [Bug] Согласовать password policy (ASCII, 8–72) в backend, OpenAPI и frontend
Closed
#63 [Test] Сделать source publication races и rollback proofs различающими
Closed
#65 [Test] Изолировать HTTP cases от suite state и автоматического scheduler
Closed
#3 [P1] 07.backend. Подготовить воспроизводимый экспорт backend OpenAPI
Closed
#62 [Refactor] Удалить недостижимую manual/catalog producer closure
Closed
#4 [P1] 13. Разобрать конкретные спорные backend dependencies
Closed
#70 [Bug] Сохранить approved screener constraints в published OpenAPI
Closed
#81 fix: диагностировать таймауты T-Bank gRPC при подключении токена
Closed
#54 [Bug] Пропускать hourly terms, перекрытые длительным walk
Closed
#82 fix: передавать логотип инструмента в записи дохода
Closed
#58 [Bug] Передать durable hourly attempt в Accounts/Income resource meta
Closed
#66 [Process] Готовить Prisma/dist один раз на backend verification boundary
Closed
#71 [Refactor] Запускать bond search prices параллельно независимым details
Closed
#74 [Process] Перепроверять PR title на edited без повторного app verify
Closed
#68 [Refactor] Загружать banking page relations ограниченным batch
Closed
#72 [Refactor] Сократить workload SQLite runner regression без потери safety proof
Closed
#67 [Refactor] Согласовать SQLite driver приложения и SQL/durability checks
Closed
#69 [Refactor] Оставить одну whitelist projection publicInstrument
Closed
#56 [Bug] Восстановить terminal hourly lifecycle после persistence failure
Closed
#15 [P1] Сохранить pointer/detail ошибок ValidationPipe в HTTP-ответе
Closed
#23 Подключить backend к SonarQube Community 9.9.8
Closed
#2 [P0] 05.backend. Включить required checks для backend
Closed
#5 [P0] 08.backend. Проверить backend secrets и dependency risks
Closed
#1 [P0] 04.backend. Запускать backend gates и runtime contract test в CI
67 Issues created by 2 users
Opened
#1 [P0] 04.backend. Запускать backend gates и runtime contract test в CI
Opened
#2 [P0] 05.backend. Включить required checks для backend
Opened
#3 [P1] 07.backend. Подготовить воспроизводимый экспорт backend OpenAPI
Opened
#4 [P1] 13. Разобрать конкретные спорные backend dependencies
Opened
#5 [P0] 08.backend. Проверить backend secrets и dependency risks
Opened
#6 [P1] 09.backend. Подключить backend к регулярным dependency updates
Opened
#7 [P2 · по условию] Отложенные инженерные улучшения репозитория
Opened
#11 Dependency Dashboard
Opened
#15 [P1] Сохранить pointer/detail ошибок ValidationPipe в HTTP-ответе
Opened
#16 Расходы одной карты по категории: выборка и сумма за период
Opened
#23 Подключить backend к SonarQube Community 9.9.8
Opened
#25 ci: publish backend images to Nexus
Opened
#53 [Bug] Обновлять сохранённые payout calendars в hourly pass
Opened
#54 [Bug] Пропускать hourly terms, перекрытые длительным walk
Opened
#55 [Bug] Публиковать новый полный forecast независимо от request window
Opened
#56 [Bug] Восстановить terminal hourly lifecycle после persistence failure
Opened
#57 [Bug] Ограничить Income/Ledger GET разрешённой локальной read boundary
Opened
#58 [Bug] Передать durable hourly attempt в Accounts/Income resource meta
Opened
#59 [Bug] Переводить permanent invalid-token error на всех online entrypoints
Opened
#60 [Bug] Согласовать password policy (ASCII, 8–72) в backend, OpenAPI и frontend
Opened
#61 [Test] Различать auth token-role, expiry и cookie boundaries
Opened
#62 [Refactor] Удалить недостижимую manual/catalog producer closure
Opened
#63 [Test] Сделать source publication races и rollback proofs различающими
Opened
#64 [Investigation] Определить поддержку legacy status/observe contracts
Opened
#65 [Test] Изолировать HTTP cases от suite state и автоматического scheduler
Opened
#66 [Process] Готовить Prisma/dist один раз на backend verification boundary
Opened
#67 [Refactor] Согласовать SQLite driver приложения и SQL/durability checks
Opened
#68 [Refactor] Загружать banking page relations ограниченным batch
Opened
#69 [Refactor] Оставить одну whitelist projection publicInstrument
Opened
#70 [Bug] Сохранить approved screener constraints в published OpenAPI
Opened
#71 [Refactor] Запускать bond search prices параллельно независимым details
Opened
#72 [Refactor] Сократить workload SQLite runner regression без потери safety proof
Opened
#73 [Investigation] Подтвердить public auth perimeter и admission budget
Opened
#74 [Process] Перепроверять PR title на edited без повторного app verify
Opened
#81 fix: диагностировать таймауты T-Bank gRPC при подключении токена
Opened
#82 fix: передавать логотип инструмента в записи дохода
Opened
#104 [Test] Разобрать оставшиеся delay в tbank-operations-sync по одному кейсу с мутантами
Opened
#105 [Test] Решить тестовую инъекцию сбоя для rollback и claimed-fence в Portfolio publish
Opened
#106 [Test] Флейк portfolio-structure: 401 в beforeEach в полном e2e-прогоне
Opened
#111 chore: adopt linear git model in backend docs
Opened
#116 [Refactor] Устранить межмодульный цикл импортов tbank-sync ↔ operations
Opened
#117 [Refactor] Публиковать типизированные коды Problem Details для frontend
Opened
#118 [Refactor] Сделать межмодульную границу tbank-sync явной и проверяемой
Opened
#119 [Refactor] Убрать дублирование reservation и claim-протокола sync
Opened
#120 [Feature] Структурированное логирование ошибок и dev-вывода
Opened
#122 chore: bump Node до 24.22.1 (fix better-sqlite3 GC abort)
Opened
#123 [Bug] Refresh cookie без срока жизни: после закрытия PWA/браузера нужен повторный вход
Opened
#125 chore(deps): resolve high-severity multer and undici advisories
Opened
#129 fix: unblock backend image build with current Debian packages
Opened
#135 chore: restore main ancestry in develop after release 2.3.1
Opened
#138 Расширить portfolioSummary в списке счетов: деньги, структура и нереализованная доходность
Opened
#140 [Bug] Кэш брокерского счёта дважды входит в totals/structure; неверный знак % у коротких позиций
Opened
#151 [Refactor] Убрать ручной whitelist screener и строковый DI-токен TBANK_ACCESS
Opened
#152 [Refactor] Проверять форму Prisma Json payload вместо as unknown as
Opened
#158 [Engineering] Убрать устаревшее исключение GHSA-hp3w-g68c-fv3c из npm audit в CI
Opened
#161 [Tech debt] Enable eslint-plugin-unicorn on backend with staged fixes
Opened
#163 [Refactor] Явная межмодульная граница upcoming-events
Opened
#165 [Refactor] Алиас импортов вместо ../../../../
Opened
#166 [Refactor] Единый DB claim/lock протокол tbank-sync
Opened
#167 [Refactor] Разделить brokerage-operations repository и service
Opened
#168 [Refactor] Одна проекция банковских операций и правила в domain
Opened
#169 [Refactor] Вынести загрузку источников из catalog-enrichment.service
Opened
#170 [Refactor] Одна сериализация Prisma Json и проверка progress
Opened
#171 [Refactor] Prisma только в репозиториях: auth и bank-cards
Opened
#172 [Contract] CreateBankOperationDto: discriminated oneOf по kind
Opened
#196 [Refactor] Retire legacy tbank-sync status and catalog sync=observe after compatibility transition
Opened
#201 Доходность счёта недоступна: история операций в часовом проходе заканчивается раньше снимка Portfolio