Repository navigation
Releases: Asmblyr/Collaborative
Release list
v0.1.0-beta.5 — Настраиваемая информация профиля
Что изменилось
- В личном профиле и карточке пользователя появился настраиваемый блок дополнительной информации. Он может показывать значения пользовательских полей и одиночных связей: например, название отдела и его руководителя.
- В Настройки системы → Пользователи → Вид профиля суперпользователь выбирает источники, подписи, порядок строк и заголовок блока. Доступны до 12 строк и переходы по двум последовательным одиночным связям.
- Для каждой строки отдельно включается показ владельцу профиля. Управляющие с правом
users/readвидят настроенные строки в карточках пользователей. Это разрешение на показ конкретных значений, без доступа ко всему справочнику и без возможности редактирования через блок. - Поддержаны текст, email, числа, флаги, даты, теги и отображаемое имя связанного пользователя. Данные читаются из исходных записей при загрузке профиля; копии в профиле не создаются.
- Системные колонки, чувствительные поля, файлы, произвольный JSON, связи ко многим и коллекции плагинов не доступны как источники. Удалённые или изменённые привязки скрываются до повторной настройки.
- Обновлены русские и английские тексты интерфейса, API-документация и проверки доступа. Заголовок карточки пользователя теперь показывает его имя.
Обновление
Обновляйте Core и UI одной версией:
ghcr.io/asmblyr/collaborative-core:0.1.0-beta.5
ghcr.io/asmblyr/collaborative-ui:0.1.0-beta.5
Helm chart: oci://ghcr.io/asmblyr/charts/collaborative, версия 0.1.0-beta.5.
Релиз содержит одну новую миграцию с таблицей конфигурации блока. Перед обновлением сохраните резервную копию PostgreSQL; в Helm миграции выполняются отдельным Job. Существующие пользователи и их поля не изменяются. По умолчанию блок пуст — настройте его через «Вид профиля». Демо-данные в релиз не входят.
После переименования источников или восстановления БД с изменившимися внутренними идентификаторами таблиц повторно сохраните конфигурацию блока.
Проверки
Пройдены 493 серверных и 143 UI-теста; три опциональные проверки пропущены. CI проверил типы, форматирование, lint, сборку приложения и документации, установку пакетов в чистый проект, совместный запуск Core/UI с отдельным PostgreSQL и Helm chart. Образы и чарт проверены на скачивание без авторизации.
Изменения: PR #5. Релизный CI.
v0.1.0-beta.4 — Связи с пользователями и права приложений
Что изменилось
- Обычные коллекции поддерживают связь «Многие к одному» с системными пользователями. При создании поля выберите «Пользователи · системная»: например, так можно добавить руководителя отдела. В форме и таблице отображаются имя и почта, доступны поиск и фильтр; API и SDK сохраняют UUID.
- В OAuth-приложениях появился режим управления доступом через политики. В политике можно разрешить вход в приложение и назначить его отдельные права, включая права LavinMQ.
- Права приложения объединяются из политик пользователя и передаются в
resource_access[audience].roles. Изменение набора прав требует нового согласия; ожидающий обмен кода не получает права, добавленные после подтверждения. - Обновлены API-документация, переводы интерфейса и проверки ограничений доступа.
Для LavinMQ при включении управления через политики оставьте mgmt_scopes = openid profile email. Права вида lavinmq.tag:monitoring назначаются в политиках; audience и resource_server_id брокера должны совпадать с Audience приложения. До включения этого режима существующая конфигурация работает по-прежнему.
Обновление
Обновляйте Core и UI одной версией:
ghcr.io/asmblyr/collaborative-core:0.1.0-beta.4
ghcr.io/asmblyr/collaborative-ui:0.1.0-beta.4
Helm chart: oci://ghcr.io/asmblyr/charts/collaborative, версия 0.1.0-beta.4.
Релиз содержит две миграции. Перед обновлением сохраните резервную копию PostgreSQL; в Helm миграции выполняются отдельным Job. Новые пользовательские поля автоматически не создаются. Существующие OAuth-приложения сохраняют прежний режим доступа, пока управление через политики не включено в их настройках.
Поиск и назначение пользователей требуют права чтения раздела «Пользователи». Связь поддерживает запрет удаления пользователя или очистку ссылки; каскадное удаление, обратные поля и чтение внутренних полей профиля через /items недоступны. Уже выданный JWT внешнего сервиса может оставаться действительным до окончания своего срока — до пяти минут.
v0.1.0-beta.3 — Связи системных полей и навигация
Исправлена видимость скрытых коллекций на странице личных настроек. Системные коллекции теперь поддерживают дополнительные поля со связью «многие к одному»: например, пользователь может быть связан с департаментом из собственной коллекции.
Что изменилось
- Боковое меню на
/settingsучитывает скрытые коллекции, иерархию и права доступа так же, как остальные страницы админки. - Суперпользователь может добавить M2O-поле в разрешённую системную коллекцию через стандартную правую панель. Встроенные поля остаются защищёнными.
- Дополнительные поля пользователя доступны прямо в карточке профиля в
/admin/settings/users, с отдельной кнопкой сохранения. Для связей используется селектор записей с поиском. - Для связи создаются внешний ключ и индекс. Удаление связанной записи очищает поле, сохраняя системную запись; удаление целевой коллекции блокируется, пока существует связь.
- Обновлены публичные контракты API, документация и переводы интерфейса.
Установка и обновление
Образы для linux/amd64:
ghcr.io/asmblyr/collaborative-core:0.1.0-beta.3
ghcr.io/asmblyr/collaborative-ui:0.1.0-beta.3
Helm-чарт: oci://ghcr.io/asmblyr/charts/collaborative, версия 0.1.0-beta.3.
helm upgrade --install collaborative oci://ghcr.io/asmblyr/charts/collaborative \
--version 0.1.0-beta.3 --namespace collaborative \
--values /private/collaborative-values.yaml \
--set image.tag=0.1.0-beta.3 --wait --timeout 10mОбновляйте Core и UI вместе. Новых миграций относительно beta.2 нет: дополнительные колонки и связи создаются при настройке поля. PostgreSQL, S3 и секреты подключаются отдельно, как и в beta.2. npm-пакеты этим релизом не перепубликуются.
Если в values-файле заданы images.core.digest и images.ui.digest, обновите оба digest на значения из этого релиза: они имеют приоритет над image.tag.
Проверки
В релизном CI прошли 479 тестов Core и 142 теста UI, проверки SDK/CLI, типов, линтера, форматирования, документации, production-сборки и архивов пакетов в чистом проекте. Три специальных сценария Core пропущены: интеграция с реальным LavinMQ, нагрузочный тест и подготовка визуального стенда. Локально дополнительно проверено создание связи с департаментом, сохранение и повторное открытие профиля пользователя, а также скрытие коллекций в меню /settings.
Границы поддержки
Связи системных полей доступны суперпользователю и направлены на обычные пользовательские коллекции. Поддержаны ключи serial, bigserial, uuid и text. Поле остаётся необязательным и nullable. Системные и плагинные таблицы, singleton и materialized view не могут быть целью связи; обратные O2M/M2M-поля и значения по умолчанию для связи не поддерживаются.
Коммит: 461d6b7.
Полный diff с beta.2 · Инструкция по развёртыванию · Системные поля и связи
Артефакты выпуска
Релизный CI завершился успешно, включая запуск пары контейнеров с временной PostgreSQL и проверку Helm-чарта и маршрутизации. Публичный доступ к манифестам и конфигурациям всех трёх артефактов проверен без авторизации; версии и привязка к коммиту подтверждены. Helm-чарт дополнительно скачан и прочитан через Helm. Развёртывание в production этим релизом не выполнялось.
| Артефакт | Digest |
|---|---|
| Core | sha256:af1106d454a8df1e2d0a2517e4595268c4c70a2c71361ccd9414befebc05e1bd |
| UI | sha256:74c2cdd095636ac1a70a486e5cede3e43429eb08d5e2afd36d42a481d616cfce |
| Helm-чарт | sha256:447e0051d72465f2f0b50910430cbc438a618213671d22fa72cf72ab8690a787 |
v0.1.0-beta.2 — Core/UI и Kubernetes
Asmblyr Collaborative теперь поставляется отдельными Core и UI с общим публичным доменом. Добавлен Helm-чарт для Kubernetes. PostgreSQL и S3 подключаются отдельно; SDK, Kit и встроенные плагины собираются из исходников монорепозитория.
Что изменилось
- Браузерный API, вход, сессии и callbacks перенесены в Core. UI отвечает за страницы и больше не содержит прослойку API. Публичный API доступен на
/apiтого же домена. - Два production-образа —
collaborative-coreиcollaborative-ui— выпускаются из одного коммита. Для небольших серверов предусмотрен Docker Compose. - Helm-чарт создаёт отдельные Deployment/Service для Core и UI, маршрутизацию одного домена и Job миграций перед установкой и обновлением. Включены проверки готовности, запуск без root и файловая система контейнеров только для чтения.
- Секреты подключаются только к Core и миграциям. Поддержаны как переменные окружения из существующего Secret, так и файлы, например ключи собственного OAuth-сервера.
- Сессии, ограничения запросов, отмена ответа ассистента и подготовленные формы плагинов используют PostgreSQL для работы между репликами. Sticky sessions не требуются.
Установка и обновление
Релизные образы для linux/amd64:
ghcr.io/asmblyr/collaborative-core:0.1.0-beta.2
ghcr.io/asmblyr/collaborative-ui:0.1.0-beta.2
Helm-чарт:
oci://ghcr.io/asmblyr/charts/collaborative
version: 0.1.0-beta.2
Подготовьте namespace, внешнюю PostgreSQL, Secret с настройками Core и ingress/TLS согласно инструкции этой версии. Затем установите чарт с приватным values-файлом:
helm upgrade --install collaborative oci://ghcr.io/asmblyr/charts/collaborative \
--version 0.1.0-beta.2 --namespace collaborative \
--values /private/collaborative-values.yaml \
--set image.tag=0.1.0-beta.2 --wait --timeout 10mПри переходе с beta.1:
- Сохраните резервную копию PostgreSQL и ключей шифрования/OAuth.
- Используйте оба новых образа одной версии. В Compose вместо
ASMBLYR_IMAGEзадайтеASMBLYR_CORE_IMAGEиASMBLYR_UI_IMAGE. - Примените миграции перед новым Core; Helm и production Compose делают это отдельным запуском. Добавлены таблицы браузерных сессий и состояния для реплик, существующие данные сохраняются.
- Пользователям потребуется войти заново: браузерная сессия переведена на новый формат cookie. URL входа через SSO и Google остаются на домене админки.
Монолитный target app и deploy/compose.monolith.yaml сохранены для самостоятельной сборки и перехода существующих установок; новые релизные образы выпускаются раздельно. npm-пакеты этим релизом не перепубликуются.
Проверки и ограничения
Локально и в проверке коммита на GitHub прошли 477 тестов Core и 141 тест UI. Три дополнительных сценария Core не запускались: интеграция с LavinMQ, нагрузочный тест и подготовка визуального стенда. В отдельном временном Kubernetes namespace проверены два Core и два UI, браузерный вход, CRUD, загрузка/чтение S3, поток ассистента с тестовым AI-провайдером, отмена запроса с другой реплики, OAuth discovery/JWKS и обновление Helm с сохранением данных и сессии. Тестовое окружение удалено.
- Это предварительный релиз; модель размещения остаётся «отдельная установка для команды».
- При остановке Core активный поток ассистента прерывается; бесшовного переноса генерации нет.
- Helm rollback не откатывает миграции PostgreSQL. Перед обновлением нужна резервная копия.
- Для строгого нулевого простоя интерфейса нужны сохранение старых статических ресурсов или переключение всего релиза; не смешивайте произвольные версии Core и UI.
- Временный Kubernetes-стенд не проверял публичные HTTPS callbacks внешних Google/GitLab и внешний AI-провайдер.
Полный diff с beta.1 · Документация
Артефакты и проверка выпуска
Коммит: 7e3df67. Релизный CI завершился успешно. Оба образа и Helm-чарт версии 0.1.0-beta.2 скачаны из GHCR без авторизации; версии и привязка к коммиту проверены.
| Артефакт | Digest |
|---|---|
| Core | sha256:2c6431ba8ac1cd3b053553a29debe8809a75c08a52410bbc17c375b463d59f61 |
| UI | sha256:07334685fbdaa4cc30a9bcb8eef8bcf5faadd72f095323c18f97416bcaf447d6 |
| Helm-чарт | sha256:dd2b2e5c40d952d3488010bda47503492446e1e549c5f4d77108d818570cc09f |
Asmblyr Collaborative v0.1.0-beta.1 — первая публичная бета
Первая публичная бета Asmblyr Collaborative — открытой платформы для работы с данными PostgreSQL, совместного редактирования и подключения приложений через API. Лицензия MIT. Одна команда использует отдельную установку.
Что входит в версию
Данные и админка
- Коллекции, поля и связи M:1, 1:M и M:N; настройка форм, подписей записей и отображения полей.
- Таблицы с изменением ширины колонок, боковой редактор, вложенные фильтры, сохранённые виды, пакетные действия и история изменений.
- Поиск с приоритетом точного совпадения, начала названия и целых слов, в том числе при выборе связанных записей.
- Теги, даты и время, списки вариантов, файлы и зависимые поля форм.
- Подключение существующих PostgreSQL materialized views с настройкой отображения. Данные представлений доступны только для чтения в UI, API и генерируемом SDK.
- Дополнительные поля разрешённых системных коллекций через свёрнутый раздел управления коллекциями. Встроенные поля и сами системные таблицы защищены от изменения.
Команда и доступ
- Политики доступа на действия, поля и строки; отдельные права на разделы настроек.
- Приглашения по ссылке без обязательного SMTP, пароль, passkey, SSO/OIDC и управление сессиями.
- Профиль с именем, фамилией, описанием, часовым поясом и датами активности; загрузка аватара в настроенное файловое хранилище.
- Комментарии к записям и уведомления, присутствие участников в карточках и проверка конфликтов при сохранении изменённых полей.
- Сервисные аккаунты и ключи с датами выпуска, последней активности и счётчиком запросов; GitLab CI federation и OAuth/OIDC provider.
Интеграции и ассистент
- S3, AI-провайдер и интеграции настраиваются в админке. Настройки из окружения имеют приоритет и показываются только для чтения.
- Секреты подключений шифруются локальным ключом или Yandex KMS с федеративной аутентификацией.
- Опциональный AI-ассистент: потоковые ответы, отдельный ход работы, история сессий, новый диалог и сжатие старого контекста. Инструменты учитывают права пользователя.
- Личное подключение Google Drive и Sheets: поиск и чтение по запросу, изменения через предложение с явным подтверждением пользователя.
- Опциональный Sentry с отдельными настройками сервера и браузера; локальная диагностика API, включая p50/p95/p99.
- Переводы интерфейса и системных подписей, каталоги плагинов и API переводов; подписи пользовательских коллекций переводит владелец установки.
API, SDK и расширения
- HTTP API с обязательной авторизацией для защищённых операций.
- TypeScript SDK с fluent-запросами, типизацией коллекций и методов плагинов; CLI
asm connectдля входа через админку и генерации типов без специального компилятора. - Kit для серверных обработчиков, коллекций, миграций, настроек, страниц и редакторов полей плагинов.
Docker-образ
UI и Core API поставляются в одном контейнере для Linux amd64. PostgreSQL и S3 подключаются отдельно. Все внутренние пакеты собираются из исходников репозитория; установка опубликованных SDK/Kit из npm для сборки образа не требуется.
docker pull ghcr.io/asmblyr/collaborative:0.1.0-beta.1- Порт 3000 — интерфейс.
- Порт 3001 — прямой Core API для SDK, CLI и интеграций.
- Готовый Compose выполняет миграции отдельным запуском того же образа, затем запускает приложение.
Для установки возьмите Compose и шаблон окружения из этого тега. В приватном env-файле задайте внешний PostgreSQL 17+, setup token, публичный адрес UI и ключ шифрования согласно инструкции.
export ASMBLYR_IMAGE=ghcr.io/asmblyr/collaborative:0.1.0-beta.1
export ASMBLYR_ENV_FILE=/private/asmblyr.env
docker compose -f deploy/compose.yaml up -d --waitПервый администратор создаётся на /setup. Compose по умолчанию публикует оба порта на 127.0.0.1; для внешнего интерфейса используется BIND_ADDRESS. Для внешней установки настройте HTTPS. Перед обновлением существующей установки сохраните резервную копию PostgreSQL и ключей шифрования.
Для закрепления точного образа используйте:
ghcr.io/asmblyr/collaborative@sha256:92745c4b6916a71b0bdabd82660cb6c6344a901f5d0937dba1b32b14cedf251c
Проверки
GitHub Actions этой версии завершился успешно. Проверены форматирование, типы, lint, тесты, документацию, production-сборку и архивы npm-пакетов в чистом проекте. Контейнер проверен с одноразовым PostgreSQL: 69 миграций, повторный запуск миграций, создание администратора, UI, прямой авторизованный API, корректная остановка и завершение контейнера при падении любого процесса.
Исходный коммит: 4c25c0f.
Границы беты
- Это предварительный релиз; стабильность всех будущих API/SDK-контрактов пока не гарантируется.
- Workspaces группируют коллекции, но не обеспечивают изоляцию разных компаний. Модель размещения — отдельная установка для команды.
- Materialized views создаются и обновляются внешним процессом; обычные SQL views и составные ключи в этом сценарии не поддерживаются.
- Собственные OAuth credentials и разрешение Google необходимы для подключения Google Workspace. Сам релиз не переводит OAuth-приложение Google в публичный режим.
- Плагины устанавливаются как пакеты; установки из UI и песочницы исполнения нет. Публичный MCP endpoint и отдельный движок процессов не входят в эту версию.
- Локальные процентили мониторинга ограничены окном наблюдений и сбрасываются при перезапуске.
- PostgreSQL, S3, HTTPS, резервные копии и развёртывание на сервере настраивает оператор.
SDK, CLI, Kit и contracts уже доступны отдельно как npm beta. Этот GitHub-релиз фиксирует версию приложения и контейнера и не перепубликует npm-пакеты.