Релизы Music Collection
Краткое описание важных изменений веб-версии и мобильного приложения Android (user «Моя коллекция» и admin «Моя коллекция Admin»).
Технические подробности для разработчиков — в CHANGELOG.md.
Руководство по использованию — в user_guide.md.
Ниже — от новых к старым, начиная с 10.09.2026 (вечером — быстрое
исправление возврата из чужого каталога; днём — общий доступ к каталогу по
приглашениям; 28–31.08 — раунд ревью безопасности бэкенда). Более ранние
записи — с 26.08, 25.08, 24.08, 23.08, 15.08, 13.08, 12.08, 10.08, 05.08,
31.07 и 26.07.2026; мобильные сборки user не менялись с 0.6.5(63).
Версия от 10.09.2026 (вечер) — возврат в свою коллекцию из чужого каталога
Исправление первого дня «общего каталога»: приняв приглашение и открыв чужую коллекцию, вернуться к своей было нельзя — даже после выхода из аккаунта и повторного входа. Теперь в заголовке чужого каталога есть кнопка «Вернуться к своей коллекции», а просмотр чужого каталога сбрасывается при выходе из аккаунта (обновление страницы открытый каталог сохраняет).
Дата выхода: 10 сентября 2026 (в main; на проде — с ближайшим деплоем)
Веб: 0.8.1
Android user / admin, iOS, macOS: без изменений
Исправленные ошибки
Веб
- Кнопка «Вернуться к своей коллекции» в заголовке списка чужого каталога (у гостевых аккаунтов её нет — своего каталога у гостя нет).
- Выход из аккаунта (и разлогин по истёкшему токену) забывает, чей каталог был открыт в этой вкладке: после повторного входа открывается своя коллекция. Перезагрузка страницы ведёт себя прежним образом — открытый общий каталог сохраняется.
Версия от 10.09.2026 — общий доступ к каталогу по приглашениям
Владелец коллекции может показать её другому человеку без передачи логина и пароля: приглашение по e-mail или имени пользователя, три уровня прав — «Просмотр», «Оценки и прослушивания», «Добавление релизов». Если аккаунта у приглашённого нет, при принятии приглашения создаётся гостевой аккаунт с собственным паролем. Функция — в вебе; в нативных приложениях отдельных экранов пока нет.
Дата выхода: 10 сентября 2026
Веб: 0.8.0
Android user: без изменений (0.6.5(63))
Android admin: без изменений (0.2.1(9))
iOS: без изменений (0.5.3)
macOS: без изменений (1.3.2)
Новые возможности
Веб (владелец)
- Настройки → карточка «Общий каталог»: приглашение (e-mail или username, уровень доступа), таблица активных доступов (смена уровня селектом, мгновенный отзыв с подтверждением) и таблица отправленных приглашений (статусы «Ожидает» / «Принято» / «Отозвано» / «Отклонено» / «Истекло», отменить ожидающее).
- Ссылка-приглашение действует 7 дней; доступ появляется только после принятия. Письмо — с адреса сервиса, «Ответить» уходит владельцу.
Веб (приглашённый)
- Страница приглашения по ссылке из письма: с существующим аккаунтом — «Принять приглашение» после входа; без аккаунта — создание гостевого (пароль задаёт сам приглашённый).
- Раздел «Друзья» (в меню после «Коллекций») — принятые каталоги; чужой каталог открывается в новой вкладке, свои вкладки не затрагиваются.
- Уровни: Просмотр — список, карточка, треклист, статистика прослушиваний и справочники владельца; Оценки и прослушивания — плюс «слушал сегодня», рейтинг и место хранения; Добавление релизов — плюс ручное добавление и импорт из Discogs в каталог владельца.
- Гость видит только каталог владельца (без желаний и приглашений); удаление носителей, синхронизация, экспорт, умный поиск и обновление цен из чужого каталога недоступны на любом уровне.
Сервер
- Раздел
/shares: приглашения и доступы, гостевые аккаунты, уровни прав; отзыв мгновенно закрывает каталог. REST-контракт расширен строго аддитивно — нативные клиенты не затронуты.
Документация
- Раздел «Общий каталог по приглашениям» в руководстве пользователя (ru + en) и новые скриншоты: страница приглашения, «Друзья», карточка в Настройках.
Версия от 28–31.08.2026 — раунд ревью: безопасность и гигиена бэкенда
Закрытие большого раунда ревью безопасности и кода (Б-01…Б-13, К-01…К-18 —
технические подробности в CHANGELOG.md). Почти всё — серверное и
пользователю незаметно; ниже — видимое и важное.
Дата выхода: серверная часть — порциями: 29.08.2026 и одним деплоем
с общим каталогом 10.09.2026
Веб: без bump (0.7.1)
Android user / admin, iOS, macOS: без изменений
Улучшения
Сервер и аккаунты
- E-mail при входе и регистрации больше не зависит от регистра и случайных пробелов; дубликаты адреса исключены уникальным индексом.
- Одинаковая скорость ответа на вход с неизвестным адресом — защита от перебора; смена пароля ограничена по частоте.
- Лента владельцев «Желаний» открывается только пользователям с подтверждённым e-mail.
- Администратор не может снять права суперпользователя или заблокировать сам себя.
- Удаление жанра или системного тега, который используется в коллекциях, запрещено с понятной ошибкой (раньше он молча отвязывался от релизов).
- Одновременный запуск двух бэкапов исключён (межпроцессная блокировка).
Надёжность и защита данных
- Прокси обложек Discogs: потоковая отдача, ограничение размера файла, безопасная обработка переадресаций CDN.
- Экспорт коллекции: настоящий поток (без буферизации на сервере), ограничение частоты; CSV-поля защищены от выполнения как формулы в Excel / LibreOffice.
- Курсор синхронизации подписан криптографически — подделать «дельту» нельзя.
- Строки из Discogs обрезаются до лимитов базы, диапазоны года и дат проверяются; у массового обновления цен — лимит 100 позиций за раз.
- Подключение к GigaChat — по CA-бандлу провайдера (отключаемая проверка
сертификата убрана); версии ключевых зависимостей зафиксированы
(
requirements.lock). - Прочее: таймаут долгих запросов к базе, ограничение длины поисковых строк, лимит окна админ-статистики тремя годами, индекс для быстрой синхронизации, строгая подстановка секретов в конфиг.
Версия от 26.08.2026 — offline year-range и lookup cache (нативные клиенты)
Сборки с офлайн year-range списка, кэшем Form formatSizes/speeds/conditions
и (Apple) паритетом фильтров Room. REST без изменений.
Дата выхода: 26 августа 2026
Веб: без bump (0.7.1)
Android user: 0.6.5(63)
Android admin: без изменений (0.2.1(9))
iOS: 0.5.3
macOS: 1.3.2
Новые возможности
Android user и Apple (iOS / macOS)
- Офлайн-список применяет диапазон года релиза (
release_year_from/to). - Справочники размера/скорости/состояния доступны в форме без сети после sync (Android Room v11, Apple SQLite Kit v2).
Версия от 25.08.2026 (вечер) — желания на Android, iOS и macOS
Чужие вишлисты можно смотреть не только в вебе: тот же раздел Желания появился в приложении пользователя на Android, в iOS и в macOS. В настройках allowlist при пустом списке показывается одно сообщение «Список пуст».
Дата выхода: 25 августа 2026 (вечер, после фильтра экспорта)
Веб: без отдельного bump (0.7.1)
Android user: без bump (0.6.4(62))
Android admin: без изменений (0.2.1(9))
iOS: без bump (0.5.2)
macOS: без bump (1.3.1)
Новые возможности
Мобильное приложение (Android user), iOS и macOS
- Пункт меню Желания / Wishlists между Справочниками и Настройками (скрыт, пока в Настройках выключен просмотр чужих вишлистов).
- Лента владельцев → пункты → письмо «Связаться» (одно на пункт). Только онлайн: чужие списки на устройство не копируются.
- Настройки: просмотр / видимость в каталоге / режим / allowlist из каталога имён; блокировка отправителя — отдельным списком точных username.
- На macOS блок настроек желаний собран в одну секцию формы.
Улучшения
Веб
- Пустой allowlist: одно состояние «Список пуст.» (без дубля пустых подсказок).
Версия от 25.08.2026 — фильтр статуса при экспорте коллекции
При скачивании коллекции из Настроек можно ограничить файл статусом релизов (те же кнопки, что на списке: Все / Коллекция / Wish / Заказано / На продажу). По умолчанию — все статусы. Выбор не запоминается.
Дата выхода: 25 августа 2026
Веб: 0.7.1
Android user: 0.6.4(62)
Android admin: без изменений (0.2.1(9))
Улучшения
Веб
- В карточке «Экспорт коллекции» — кнопки статуса; Все не передаёт
my_status; Коллекция — «В коллекции» и «На продажу».
Мобильное приложение (Android, user)
- Те же кнопки статуса в карточке экспорта в Настройках.
iOS и macOS
- Те же кнопки в окне экспорта (на Apple: Желаю / Продаю).
Версия от 25.08.2026 (день) — блокировка отправителя и удобства macOS
Владелец вишлиста может заблокировать конкретного отправителя ответов на вишлист целиком (не один релиз). На macOS в списке коллекций всегда видны кнопки статуса, в карточке можно копировать текст.
Дата выхода: 25 августа 2026 (до фильтра экспорта)
Веб: без отдельного bump (позже 0.7.1)
Android user / admin: без bump
macOS: 1.3.0 (затем 1.3.1 вместе с фильтром экспорта)
Новые возможности
Веб (и затем нативные клиенты вечером)
- Заблокированные отправители в Настройках: точное имя из письма; новые письма от этого человека не уходят, его вишлист по-прежнему виден. Сохранение списка — отдельной кнопкой.
macOS
- Кнопки Все / Коллекция / Желаю / Заказано / Продаю под тулбаром списка — сразу применяют фильтр.
- В карточке коллекции и предпросмотре Discogs текст полей можно выделить и скопировать ⌘C.
Улучшения
Веб
- После успешного контакта по желанию форма закрывается, показывается короткое «Запрос отправлен…».
- В теле письма контакта явно написан Адрес для ответа (не все почтовые
клиенты уважают
Reply-To).
Версия от 24.08.2026 — раздел «Желания»: чужие вишлисты и контакт по почте
В вебе можно смотреть открытые списки «хочу купить» других пользователей и один раз написать владельцу по пункту. Чата в приложении нет — дальше переписка в почте. Email в интерфейсе не показывается.
Дата выхода: 24 августа 2026
Веб: 0.6.0 (позже 0.7.x)
Android / iOS / macOS: экранов ещё не было (поля в профиле уже принимались)
Новые возможности
Веб
- Меню Желания, лента владельцев и отображение желаемых релизов в краткой форме.
- Настройки: просмотр чужих (по умолчанию выключен), видимость в каталоге, режим «Скрыт» / «Всем» / «Allowlist».
- Allowlist — выбор username из каталога желающих, без поиска по строке.
Сервер
- Правила приватности и одно контактное письмо на пару (отправитель, пункт); повтор — нельзя.
Версия от 23.08.2026 — нативный клиент для Windows (этап 0)
Появился каркас нативного приложения для Windows (WinUI 3 / .NET 8) на том же
REST API (X-Client: windows). Пока фаза 0: вход и список коллекций, без
паритета с вебом и без экрана вишлистов.
Дата выхода: 23 августа 2026
Windows: 0.1.0 (тестирование)
Веб / Android / iOS / macOS: без изменений в этот день
Версия от 15.08.2026 — прокручиваемый буквенный индекс и «кириллизация» каталожных номеров Мелодии
Релиз про удобство длинного списка на Android и точность сканера: боковой буквенный индекс артистов больше не обрезается, а распознанные латинские префиксы каталожных номеров Мелодии автоматически заменяются на кириллицу.
Дата выхода: 15 августа 2026
Android user: 0.6.3(61)
Android admin: без изменений (0.2.1(9))
Веб: без изменений
Улучшения
Мобильное приложение (Android, user)
- Боковой буквенный индекс артистов в режиме списка (LIST) при переполнении по высоте экрана теперь прокручивается, а не обрезается — удобнее для больших коллекций.
- Режим Текст сканера: ведущая латинская M/m перед цифрой в каталожном номере заменяется на кириллическую М (вида М60…). Ранее добавленные замены C/CM → С/СМ сохраняются (CM имеет приоритет).
- В эту сборку также вошёл компактный фильтр «Дата добавления» с кнопкой очистки по полю (правка от 14.08).
Версия от 13.08.2026 — OCR Мелодия (С/СМ) и пересъёмка скриншотов руководства
Релиз про точность ручного сканера и актуальность документации: кириллизация префиксов С/СМ и свежие скриншоты руководства пользователя.
Дата выхода: 13 августа 2026
Android user: 0.6.2(60)
Android admin: без изменений (0.2.1(9))
Веб: без изменений
Улучшения
Мобильное приложение (Android, user)
- Режим Текст сканера: ведущие латинские C или CM перед цифрой заменяются на кириллические С/СМ — типичные каталожные номера Мелодии (С60…). Распознанный номер сразу годится для поиска без ручной правки.
Документация
- Скриншоты руководства пользователя пересняты с актуальными экранами; закрыты остаточные расхождения локализации (RU).
Версия от 12.08.2026 — нативный iOS-клиент, телеметрия версий клиентов и активность по запросам
Крупный релиз: четвёртый клиент проекта — iOS-приложение; сервер и админ-панель
научились видеть, какими клиентами и каких версий пользуются; веб получил
собственный номер версии; завершён переход на домен recordvault.ru.
Дата выхода: 12 августа 2026
Android user: 0.6.1(59)
Android admin: 0.2.1(9)
Веб: 0.5.0 (первая версионированная выкладка)
Новые возможности
iOS (этап тестирования)
- Новый нативный клиент для iPhone (SwiftUI + общий сетевой слой
MusicCollectionKit, iOS 16+) — версия0.1.0. Паритет с Android user: вход/регистрация/подтверждение email, список коллекции с фильтрами и поиском, карточка релиза, инлайн-рейтинг, прослушивания, импорт из Discogs, сканер (штрихкод/текст), биометрия (Face ID), офлайн с очередью отправки правок (outbox). NL-поиск — только при наличии праваnl_search_available. Бэкенд не менялся; тот же REST API, заголовокX-Client: ios.
Сервер, веб и мобильное приложение (admin)
- Телеметрия версий клиентов: клиенты отправляют версию приложения в
заголовке
X-Client-Version(веб — изpackage.json, Android —BuildConfig.VERSION_NAME); статистика/admin/statsпоказывает топ клиентов по версиям. - Активность по каждому запросу: сервер записывает «последний визит» пользователя с учётом клиента и версии — источник для счётчика активных пользователей и их версий.
- Список клиентов пользователя в админ-панели пользователей: у каждого пользователя показано, какими клиентами (web/android/ios/macos) он пользуется — отдельной подтаблицей под строкой.
Веб
- Баннер активных пользователей в админ-панели — сколько пользователей сейчас онлайн (скользящее окно).
Улучшения
Инфраструктура
- Финальный переход на домен
recordvault.ruзавершён; на HTTP-редиректах отключеныserver_tokens(не светят версию nginx).
Версия от 11.08.2026 — офлайн-фильтр по стране, кэш справочников и доработки NL-поиска
Релиз про офлайн на Android и точность естественноязыкового поиска: фильтр страны в списке и офлайн-паритет с сервером, кэширование справочников после холодного старта, кириллический поиск без учёта регистра и ряд правок NL.
Дата выхода: 11 августа 2026
Android user: войдёт в сборку 0.6.1(59) от 12.08 (без отдельного bump)
Android admin: без изменений
Веб: обновление в тот же день
Новые возможности
Мобильное приложение (Android, user)
- Фильтр по стране в панели фильтров списка (поле
Countryрядом с местом хранения); работает и онлайн, и офлайн. - Офлайн-кэш справочников (Room v10): типы носителей, категории и места хранения сохраняются локально — dropdown’ы больше не «залипают» на «(любое)» после холодного старта.
- Офлайн-чипы в списке (тип носителя, место) берут имена из локальных данных, если справочники ещё не загружены.
- Кириллический поиск без учёта регистра офлайн (преднормализованные
колонки
_search) — «Мелодия» и «мелодия» ищутся одинаково.
Улучшения
Сервер и NL-поиск
- NL-поиск: поддержка диапазона лет выпуска («до 1978» → с 1920 по 1977); несколько стран через запятую (ИЛИ); алиасы стран (СССР/Союз, UK/Англия) и алиасы городов для места хранения (Москва/Мск); короткие алиасы стран в обычном фильтре списка — точное совпадение (RU ≠ Peru).
- NL-поиск не подставляет город хранения как страну выпуска и не дублирует имя жанра/тега в текстовый поиск.
Веб
- После NL-поиска (Find/Apply) панель фильтров не раскрывается автоматически; повторный Find/Apply корректно обновляет список.
Лендинг
- Опциональная заметка о ресурсах и редактируемые контакты в подвале.
Исправленные ошибки
Мобильное приложение (Android)
- Офлайн-поиск: экранирование спецсимволов LIKE (
%/_), чтобы они не ломали запрос; корректное поведение при пустом значении страны.
Версия от 10.08.2026 (продолжение) — NL-поиск коллекции через GigaChat и активность администратора
Вечерний релиз того же дня, после основной выкладки рассылок/macOS/лендинга: естественноязыковой поиск по коллекции, баннер активных пользователей для администратора и уведомления админов о новых регистрациях.
Дата выхода: 10 августа 2026 (вечер, после основной выкладки)
Android user: без отдельного bump (0.6.0(58))
Android admin: без отдельного bump (0.2.0(8))
Веб: обновление в тот же день
Новые возможности
Веб (и позже iOS)
- Естественноязыковой поиск коллекции через GigaChat: запрос вида
«советский джаз 70-х на виниле» превращается в фильтры (жанр, тег, страна,
годы, место хранения и т. п.). Доступен только при наличии права
nl_search_available(allowlist + ключи GigaChat). На вебе — панель «Find» в фильтрах списка; позже подключён в iOS-клиенте.
Мобильное приложение и веб (admin)
- Баннер активных пользователей на admin-экранах (веб и Android) — сколько пользователей активно прямо сейчас (скользящее окно).
Сервер
- Уведомление администраторов о новой регистрации: активные суперпользователи получают уведомление при регистрации нового пользователя.
Версия от 10.08.2026 — рассылки администратора, нативный клиент для macOS и светлая тема лендинга
Релиз про новый канал связи с пользователями (email-рассылки), третий клиент проекта — нативное приложение для macOS, и обновлённое «лицо» публичного сайта.
Дата выхода: 10 августа 2026
Android user: 0.6.0(58)
Android admin: 0.2.0(8)
Веб: обновление в тот же день
Новые возможности
Сервер, веб и мобильное приложение (admin + user)
- Рассылки администратора (broadcast): администратор может разослать email-сообщение пользователям с фильтром получателей. Письма содержат индивидуальную ссылку отписки — отписаться можно без входа в приложение.
- Согласие на рассылки в Настройках: пользователь сам включает/выключает
получение рассылок (
broadcast_opt_in, по умолчанию включено) — на вебе и в Android. - Подсказки про папку «Спам» на страницах регистрации, подтверждения email и в разделе рассылок Настроек — письмо могло попасть в спам.
macOS (этап тестирования)
- Новый нативный клиент для macOS (Swift/SwiftUI, macOS 13+, без сторонних
зависимостей) —
MusicCollection.app. Полноценная v1 (user, только онлайн): вход/регистрация/подтверждение email, список коллекции (постранично, режимы список/обложки, фильтры, поиск), карточка релиза с галереей и lightbox, инлайн-рейтинг, прослушивания, импорт из Discogs, справочники, статистика (Swift Charts), Настройки (язык, смена email/пароля, экспорт с выбором полей). Бэкенд не менялся — используется тот же REST API, что и у веб/Android.
Веб (лендинг)
- Светлая тема «Light Vinyl» для публичного сайта
recordvault.ru(раньше была тёмная); контент лендинга — JSON-driven (редактируется отдельно от оформления). - На лендинге — заметка про ручную установку Android beta (APK) для первых тестеров.
Улучшения
Мобильное приложение (Android)
- В фильтрах коллекции поля «Название» и «Исполнитель» теперь на отдельных строках — удобнее на узком экране.
- Локализованы остаточные русские сообщения об ошибках (сеть/офлайн) — при английском языке больше не показывается захардкоженный русский текст.
Исправленные ошибки
Веб
- Обложка в lightbox для релизов ровно с одним изображением: раньше
прокси-путь
/images/{hash}резолвился против origin SPA и не открывался (отдавалсяindex.html); теперь резолвится как абсолютный URL.
Надёжность (инфраструктура)
- Продакшн-база перенесена на PostgreSQL 18 (TimeWeb) с драйвером psycopg; сохранён откат на прежний драйвер/провайдера.
- Подключён еженедельный бэкап
pg_dumpкак страховка поверх управляемых бэкапов TimeWeb.
Версия от 05.08.2026 — публичный сайт recordvault.ru, выбор языка по ссылке и переход на новый домен
Релиз про «лицо» проекта: отдельный публичный сайт-лендинг с руководством
пользователя, переход на домен recordvault.ru и применение языка интерфейса
по ссылке.
Дата выхода: 5 августа 2026
Android user: 0.5.41(57)
Android admin: 0.1.6(7)
Веб: обновление в тот же день
Новые возможности
Веб
- Публичный сайт проекта на
https://recordvault.ru/(apex): бренд и открыто размещённое руководство пользователя по адресу/user-guide/(HTML + PDF). SPA коллекции живёт наshelf.recordvault.ru. Прежние маршруты/guideи/user-guideна SPA редиректят на apex. - Выбор языка по ссылке: параметр
?lang=ru|enна страницах входа и регистрации применяет язык интерфейса и сохраняет его; кнопки на лендинге ведут на вход/регистрацию с предустановленным языком. - Лендинг: страница темы (лейбл) и английская версия страницы.
Улучшения
Веб
- Жёстче типизация фронтенда (
noUncheckedIndexedAccess) и корректныйContent-Typeпо умолчанию для запросов к API.
Документация
- Руководство пользователя переснято с реальными обложками релизов (раньше
на скриншотах были демо-данные без обложек); подготовлен и подключён
параллельный EN-комплект —
user_guide.en.mdс английскими скриншотами выложен на лендинге по адресу/en/user-guide/(при выборе английского языка показывается английское руководство и эта страница релизов).
Версия от 04.08.2026 — офлайн-правка карточки на Android, доступность и стабильность мутаций
Релиз про поведение офлайн на телефоне и аккуратность UI: правка полей карточки без сети, улучшения доступности и надёжный показ ошибок сохранения.
Дата выхода: 4 августа 2026
Android user: 0.5.40(56)
Android admin: 0.1.5(6)
Веб: обновление в тот же день
Новые возможности
Мобильное приложение (Android, user)
- Офлайн-правка карточки: рейтинг, статус, категория и место хранения редактируются без сети — изменения ставятся в очередь (outbox) и отправляются при появлении соединения. Раньше офлайн менять карточку было нельзя.
Веб и мобильное приложение
- Доступность (a11y): фокус, роли и подписи элементов на вебе и в Android — удобнее читать с экрана и управлять с клавиатуры / через ассистивные технологии.
Улучшения
Мобильное приложение (Android)
- При синхронизации офлайн-кэша подставляются имена справочников (категория/место), а не только их ID; при открытии карточки денормализованные данные обновляются.
- Локализованы технические сообщения об ошибках сети (
safeCall).
Веб и мобильное приложение (admin)
- Карточка экспорта коллекции убрана из Настроек администратора (личный экспорт — для обычных пользователей; admin использует общий экспорт по API).
Исправленные ошибки
Сервер
- События телеметрии записываются после бизнес-коммита, в своей транзакции — учёт не ломает основную операцию.
Веб
- Ошибки создания/изменения/удаления (мутации) корректно перехватываются и показываются, а не «проглатываются».
Версия от 03.08.2026 — усиление безопасности и стабильности (по итогам ревью)
В основном внутренний релиз по результатам обзорной проверки 03.08: закрытие P0-находок, гонки и защитная обработка ошибок. Видимых пользователю экранов почти не добавил, но повысил надёжность.
Дата выхода: 3 августа 2026
Android user: войдёт в сборку 0.5.40(56) от 04.08
Android admin: без отдельного bump
Веб: обновление в тот же день
Исправленные ошибки
Сервер, Android, веб
- Закрыты находки уровня P0 (SQL, Android, XSS) из ревью 03.08; усилено содержимое CSP при загрузке темы.
- Устранены гонки TOCTOU при отметке «прослушано сегодня», корректная транзакционность при входе и пагинация delta-sync.
Мобильное приложение (Android)
- Критичные записи настроек (блокировка по биометрии и др. безопасность) теперь
сохраняются через
commit()вместоapply()— надёжнее при аварийном завершении.
Веб
- Перехват сбоев
mutateAsync(создание/изменение/удаление) — ошибки доходят до пользователя.
Общее
- Защитная обработка исключений по всему стеку (Android, веб, бэкенд) вместо «сырых» падений.
Улучшения
Сервер
- Добавлены индексы и ограничения БД (Alembic
0023) — стабильнее запросы и целостность данных.
Версия от 02.08.2026 — фильтр по дате добавления, выбор полей экспорта и очистка фильтров
Релиз про удобство фильтрации и выгрузки: фильтр по дате добавления релиза, выбор полей при экспорте и кнопки очистки в полях поиска.
Дата выхода: 2 августа 2026
Android user: войдёт в сборку 0.5.40(56) от 04.08 (без отдельного bump)
Android admin: 0.1.4(5) (без изменений)
Веб: обновление в тот же день
Новые возможности
Веб и мобильное приложение (user)
- Фильтр коллекций по дате добавления (день в UTC) — «Добавлено» в фильтрах списка.
- Выбор полей для экспорта коллекции (JSON/CSV): можно выгрузить только
нужные поля;
idвсегда включён в выгрузку.
Веб и мобильное приложение
- Кнопка очистки (X) в поле поиска Discogs и в фильтрах по названию/артисту коллекции — быстрее сбросить введённое.
Улучшения
Веб и мобильное приложение
- Список мест хранения сортируется по имени — аккуратнее и единообразнее в выборе.
Сервер
- Счётчик «без места хранения» в «Моей статистике» учитывает только релизы в коллекции (статус owned), а не wishlist/ordered/for_sale.
Версия от 31.07.2026 — статистика коллекции, паритет админ-статистики и календарь в фильтрах
Релиз про удобную статистику: сводка по своей коллекции в «Моей статистике», одинаковые возможности статистики администратора на вебе и в Android, и календарный выбор периода в фильтрах.
Дата выхода: 31 июля 2026
Android user: 0.5.38(54)
Android admin: 0.1.4(5)
Веб: обновление в тот же день
Новые возможности
Веб и мобильное приложение (user)
- В «Моей статистике» появился блок по коллекции: всего релизов, разбивка по статусам (в коллекции / хочу / заказано / на продажу), записи без места хранения, «прослушано сегодня», и график добавления релизов по дням.
- Подсказки при наведении на графики (вертикальная линия, подсветка точки, всплывающее значение) — на вебе и в Android.
Мобильное приложение (Android, user и admin)
- Календарный выбор периода в фильтрах статистики (от/до); по умолчанию — с начала текущего месяца до сегодня.
Веб и мобильное приложение (admin)
- Статистика администратора приведена к единому виду на вебе и в Android: одинаковые фильтры и график по клиентам (by-client).
Улучшения
Веб и мобильное приложение (user)
- Из «Моей статистики» пользователя убран график по клиентам (он относится к админ-статистике) — раздел стал проще и сосредоточен на личной коллекции.
Версия от 30.07.2026 — компактный импорт из Discogs, единая высота полей и галерея в превью импорта
Релиз про аккуратный UI импорта и форм на Android: компактные выборы статуса и категории/места при импорте, единая высота 40dp для всех полей ввода, и просмотр всех изображений релиза прямо в превью импорта.
Дата выхода: 30 июля 2026
Android user: 0.5.36(52) → 0.5.37(53)
Android admin: 0.1.3(4) (без изменений)
Веб: обновление в тот же день
Новые возможности
Веб и мобильное приложение (user)
- В превью импорта из Discogs показываются все изображения релиза (галерея), а не только основная обложка, — удобнее выбрать до добавления в коллекцию.
Мобильное приложение (Android, user)
- Компактные элементы выбора при импорте из Discogs: статус — отдельный dropdown, категория и место хранения — в одной строке.
- Единая высота 40dp для всех полей ввода и dropdown в формах — аккуратнее и единообразнее на экране.
Улучшения
Мобильное приложение (Android)
- В компактных полях ввода — единый шрифт и иконка 18dp, текст по центру (раньше поля выглядели разношёрстно).
Исправленные ошибки
Сервер
- Если каталог кэша обложек недоступен для записи, ответ теперь — чистая
ошибка
502 image.cache_unwritableвместо технического сбоя.
Версия от 29.07.2026 — галерея обложек Discogs
Релиз про просмотр всех фотографий релиза из Discogs в карточке коллекции (веб и Android user).
Дата выхода: 29 июля 2026
Android user: 0.5.35(51)
Android admin: 0.1.3(4) (без изменений UI галереи)
Веб: обновление в тот же день
Новые возможности
Веб и мобильное приложение (user)
- При импорте из Discogs сохраняются все изображения релиза (до 30), не только основная обложка.
- В карточке релиза — полоса миниатюр и галерея с переключением (‹ / ›, индикатор «N из M», миниатюры внизу; на вебе — стрелки клавиатуры). В списке/плитке по-прежнему одна обложка.
- Обложки отдаются через локальный кэш сервера — клиенты не ходят напрямую на CDN Discogs (для пользователя это прозрачно).
Мобильное приложение (Android, user)
- Галерея в карточке: горизонтальный pager и полоса миниатюр при нескольких фото.
Улучшения
Веб
- Закрытие встроенной карточки в двухпанельном режиме: Закрыть, Esc или повторный клик по строке.
- Инлайн-смена категории и места хранения в карточке без формы редактирования.
- При импорте из Discogs можно сразу выбрать категорию и место хранения.
Версия от 26.07.2026 — обновление приложения с сервера и защита от слишком больших заметок
Релиз для тестеров Android: проверка и установка новой версии из приложения; на всех клиентах — понятные ограничения длины заметок и списков жанров/тегов.
Дата выхода: 26 июля 2026
Android user: 0.5.34(50)
Android admin: 0.1.3(4)
Веб: обновление в тот же день
Новые возможности
Мобильное приложение (Android, user и admin)
- Проверка обновлений в Настройках и фоновое напоминание (не чаще чем раз в несколько часов): скачивание APK с сервера приложения и установка (нужно разрешение на установку из этого источника).
- Первую сборку с этой функцией нужно поставить вручную; следующие обновления можно получать из приложения (версия на сервере должна быть новее установленной).
Улучшения
Веб и мобильное приложение
- Ограничения длины моих заметок, заметок Discogs/трека и числа жанров/тегов — с понятными сообщениями при сохранении (защита от случайно огромных данных).
- На веб-формах — ограничение ввода в полях заметок (
maxLength).
Исправленные ошибки
Веб и мобильное приложение
- Отклонение слишком больших тел запросов на сервере с обычной ошибкой проверки формы (без «падения» приложения).
Версия от 25.07.2026 — своя цена, штрихкод, экспорт и офлайн-сканер
Релиз про цены «для себя», штрихкод, выгрузку коллекции и поиск по кэшу после скана без сети; плюс заметные правки безопасности и стабильности входа.
Дата выхода: 25 июля 2026
Android user: 0.5.33(49) (часть изменений вошла ещё в 0.5.32(48))
Android admin: 0.1.2(3) (без bump на экспорт; admin использует общий экспорт из Настроек)
Веб: обновление в тот же день
Новые возможности
Веб и мобильное приложение (user)
- Поле «Моя цена» отдельно от цены Discogs (рынок); Discogs-цена по-прежнему из каталога/обновления с Discogs.
- Поле штрихкод (barcode); при импорте/обновлении с Discogs заполняется, если было пусто.
- Экспорт своей коллекции в JSON или CSV (ZIP с двумя таблицами) из Настроек — это не полный бэкап базы администратора.
Мобильное приложение (Android, user)
- Офлайн: после скана штрихкода/текста поиск идёт по локальному кэшу (в т.ч. точное совпадение barcode); при нахождении — переход в карточку.
- Импорт с Discogs офлайн по-прежнему недоступен (нужна сеть).
- Экспорт: по умолчанию в «Загрузки», можно выбрать свою папку.
Веб
- Боковой буквенный индекс артистов в списке коллекций (быстрый прыжок).
Улучшения
Веб и мобильное приложение
- Иконки/подписи у полей цены на Android (Discogs vs «моя цена») — проще не перепутать.
- В CSV экспорта колонка связи коллекция↔треки названа однозначно (
collection_id).
Безопасность и вход (веб + Android + сервер)
- Смена/сброс пароля и блокировка аккаунта администратором сразу завершают старые сессии (нужен новый вход).
- Надёжнее хранение токенов на Android; исключения из резервного копирования системным бэкапом устройства для чувствительных данных.
- Жёстче политика паролей на сервере (в т.ч. после обновления сервера может потребоваться сброс пароля администратором, если вход со старым хешем перестал приниматься — это ожидаемо при выкладке этого релиза).
Исправленные ошибки
Веб
- Ложное «ошибка» при успешном сбросе пароля пользователя в админке; реальные ошибки API показываются корректно.
Мобильное приложение (Android)
- Параллельные запросы после истечения сессии больше не запускают несколько обновлений токена сразу (меньше лишних выходов из аккаунта).
Общее
- Ограничение частоты запросов к Discogs на сервере — меньше внезапных «отказов» при активном поиске/просмотре релизов несколькими клиентами.
Версия от 24.07.2026 — статусы, заметки, обложки, «прослушано» и уход за винилом
Крупный функциональный день: статусы wishlist/ordered, раздельные заметки, matrix/runout, дата чистки, история прослушиваний, удобнее список на телефоне и полноразмерные обложки.
Дата выхода: 24 июля 2026
Android user: до 0.5.32(48) (промежуточные 0.5.29(45), 0.5.30(46) и др.)
Веб: обновление в тот же день
Новые возможности
Веб и мобильное приложение (user)
- Статус релиза (не путать со статусом Discogs): в коллекции / хочу / заказано / на продажу; фильтр в списке, цветная метка.
- Мои заметки отдельно от заметок Discogs (Discogs — только чтение).
- Поля Matrix A / Matrix B (runout) для винила; при импорте из Discogs подставляются из BAOI, где возможно.
- Дата последней чистки пластинки.
- Отметка «Прослушано сегодня» и сводка: всего / за 30 дней / последняя дата.
- Клик/тап по обложке — просмотр изображения в полном размере (lightbox).
Мобильное приложение (Android, user)
- Режим списка IMAGES — сетка обложек (3 колонки); переключение LIST → TILES → IMAGES.
- В режиме плиток убраны буквенные секции (меньше шума).
- Кнопка «+» (добавить альбом) скрывается при прокрутке вниз.
Веб
- Список коллекций: сортировка и группировка по артисту, буквенные разделители A–Z (доработка индексов — также 25.07).
Улучшения
Веб и мобильное приложение
- Понятные сообщения, если Discogs временно недоступен (в т.ч. ответы Cloudflare 52x/530) — без «сырых» технических кодов.
- Формы: Matrix A/B всегда видны при редактировании (удобнее заполнять вручную).
Мобильное приложение (Android)
- Плейсхолдеры полей и выбор даты для «последней чистки».
Исправленные ошибки
Веб и мобильное приложение
- Корректнее отображение недоступности Discogs вместо сбоя импорта/обновления цены.
Версия от 23.07.2026 — офлайн-кэш коллекции, рейтинг «звёздами» и устойчивее сессия
Релиз с офлайн-просмотром коллекции на телефоне, быстрой оценкой релизов и более предсказуемым поведением при потере сети и блокировке приложения.
Дата выхода: 23 июля 2026
Android user: 0.5.27(43) и сборки того же дня (после 0.5.26(42))
Android admin: без отдельного пользовательского bump в этот день
Веб: обновление на music.mbabakov.ru (тот же день)
Новые возможности
Мобильное приложение (Android, user)
- Локальный кэш коллекции: просмотр и поиск без интернета; синхронизация при появлении сети и вручную («Обновить кэш» в Настройках).
- Очистка локального кэша из Настроек.
- Баннер «нет сети» в списке; добавление новых записей офлайн недоступно (нужно подключение).
- Рейтинг релиза прямо на карточке — до 5 звёзд, с очисткой оценки (без открытия полной формы).
Веб
- Рейтинг релиза на карточке — до 5 звёзд, с предпросмотром при наведении и очисткой оценки.
Улучшения
Мобильное приложение (Android)
- Стабильнее восстановление сессии после обрыва сети и возврата в приложение.
- Подписи к полям и навигации в формах — удобнее читать на маленьком экране.
Веб
- Согласованная шкала рейтинга с мобильным приложением (0–5).
Исправленные ошибки
Мобильное приложение (Android)
- Гонки при обновлении списка коллекции (устаревший ответ больше не перетирает свежие данные).
- Ошибки сохранения рейтинга при частичном обновлении полей на сервере.
Как читать версии Android
Имя файла релиза выглядит так:
music-collection-user-0.6.5(63)-release.apk —
это versionName 0.6.5 и versionCode 63. Для обновления через
приложение важен рост versionCode.
Текущие актуальные на момент составления документа:
| Приложение | versionName | versionCode |
|---|---|---|
| Веб (SPA) | 0.7.1 | — |
| User («Моя коллекция») | 0.6.5 | 63 |
| Admin («Моя коллекция Admin») | 0.2.1 | 9 |
| iOS | 0.5.3 | 1 |
| macOS | 1.3.2 | 1 |
| Windows (фаза 0) | 0.1.0 | — |
Веб в интерфейсе номер может не показывать: после деплоя на
https://shelf.recordvault.ru всегда последняя выкладка.
См. также
Документация для пользователей:
- user_guide.md — руководство пользователя (RU).
- user_guide.en.md — English user guide.
- admin_guide.md — вершина графа пользовательской документации: админ-панель и операционные задачи.
История изменений:
- ../CHANGELOG.md — полный список изменений (Conventional Commits), включая технические рефакторинги и т.п.
Возврат к оглавлению документации: README.md.