Repository navigation
Releases: ivantit66/onebase
Release list
build-10
Что нового
Merge pull request ivanarama#1104 from ivantit66/fix/cms-site-address
Сборка
Автосборка из ветки main.
Коммит: 5365fac573d837e7ecd36fe216b6ef8e88a0b9a7
Версия платформы: build-10
Для идентификации: в конфигураторе в шапке отображается платформа build-10.
Изменения с build-9 (250 коммит(ов))
- fix(dsl): поддержать шаблон месяца mm в нижнем регистре для Формат(Дата) (0ec6a7e)
- Merge pull request ivanarama#993 from ivantit66/feature/988-changelog (f6bb358)
- Merge remote-tracking branch 'origin/main' into feature/988-langref-page (c6d3b8c)
- Merge pull request ivanarama#994 from ivantit66/feature/988-dsl-reference (d049705)
- Merge remote-tracking branch 'origin/main' into pr-995 (461d391)
- docs(readme): убрать устаревшие числа с английской страницы (0698a98)
- Merge origin/main + восьмая конверсия, потерянная в плане 133 (7461c15)
- fix(langref): примеры Регекс с одинарным бэкслешем + гейт на удвоенный (9b7c2c9)
- Merge pull request ivanarama#995 from ivantit66/feature/988-readme-en (bd44b79)
- Merge branch 'main' into feature/988-html-builder-plan (3c379bb)
- Merge pull request ivanarama#1007 from ivantit66/feature/988-html-builder-plan (bfbc503)
- Merge remote-tracking branch 'origin/main' into feature/988-code-signing-plan (17accb3)
- Merge pull request ivanarama#1008 from ivantit66/feature/988-code-signing-roadmap (800f718)
- Merge remote-tracking branch 'origin/main' into feature/991-scheduled-admin-switch (46074da)
- Merge remote-tracking branch 'origin/main' into feature/848-job-queue (0e3cf38)
- Merge pull request ivanarama#996 from ivanarama/feature/991-scheduled-jobs-toggle (bb6d9cd)
- Merge remote-tracking branch 'origin/main' into feature/848-job-queue-pool (c599f2e)
- Merge pull request ivanarama#987 from ivantit66/feature/848-job-queue-pool (cfd5ef4)
- fix(dsl): ссылка $имя на русскую группу и коллизия псевдонимов obN (1c8cae7)
- docs(plans): развести коллизию номера 108 и убрать дубль строки 109 (86f668b)
- fix(dsl): «число» понимает строку из запроса, функции шаблона регистронезависимы (1fe5732)
- fix(ui): замок кэша только для наполняемых ключей, язык запроса — обработчику (ffc5044)
- fix(storage): гонка первой публикации, публикация как живая ссылка, честный аудит (a28b13f)
- fix(services): extra не обходит проверки выделенных полей заголовков (abd8549)
- fix(dsl): ФормаДанные смотрит на Content-Type (494dac3)
- test(dsl): закрепить все починенные шаблоны ДФ= и убрать мёртвую замену MM (62b2c70)
- Merge remote-tracking branch 'origin/main' into fix/format-date-month-pattern (1dc3933)
- test(ui): ассерт CSP теперь может упасть, связка кэш+gzip покрыта (f4da654)
- Merge pull request ivanarama#1018 from ivanarama/fix/format-date-month-pattern (a36453a)
- merge main (a625456)
- docs(langref): перегенерировать витрину под исправленные примеры Регекс (92b7522)
- fix(query): даты из результата запроса приводятся к типу (b187e22)
- Merge pull request ivanarama#1019 from ivantit66/fix/998-langref-regex-examples (a951125)
- Merge remote-tracking branch 'origin/main' into fix/997-regex-named-groups (28da7f9)
- docs(langref): перегенерировать витрину под расширенное описание Заменить (c6ed187)
- fix(cms): пример гоняется в CI, префикс адреса, активность и уникальные слаги (c63f827)
- Merge pull request ivanarama#1020 from ivantit66/fix/997-regex-named-groups (c00339f)
- merge main (9262256)
- docs(langref): перегенерировать витрину под описание регистра функций шаблона (e93068a)
- Merge pull request ivanarama#1022 from ivantit66/fix/999-html-template (06aa9a5)
- merge main (14abedd)
- fix(dsl): ПрочитатьXML пропускает комментарии и инструкции обработки (4531c7d)
- docs(plan-137): сборка приложения — план вместо преждевременного рефакторинга (4ab8ed9)
- Merge pull request ivanarama#1023 from ivantit66/fix/1000-service-cache (118a158)
- merge main (5747276)
- Merge pull request ivanarama#1024 from ivantit66/fix/1001-public-links (d25cf85)
- merge main (26b0ab3)
- merge main (421bbf1)
- Merge pull request ivanarama#1025 from ivantit66/fix/1002-security-headers-extra (4fe23c3)
- merge main (1080a49)
- merge main (35abb9c)
- Merge pull request ivanarama#1026 from ivantit66/fix/1003-form-data-content-type (307b9cd)
- merge main (a90d666)
- Merge pull request ivanarama#1021 from ivantit66/fix/1009-plan-number-collision (228d8fd)
- Merge remote-tracking branch 'upstream/main' into fix/787-runserver-split (093a690)
- docs: add podcast interview to publications (dfae3b0)
- Merge remote-tracking branch 'upstream/main' into fix/1014-cms-plan129-tails (e21cff9)
- feat(cms): витрина каталога — /catalog, /product и 301 со старых ?group= (41ec3a6)
- Merge pull request ivanarama#1032 from ivanarama/docs/publications-podcast (65ea418)
- feat(cms): роутер работает по таблице правил МаршрутыURL, а не по зашитым адресам (f8ce5f5)
- feat(cms): управляемые формы с полем кода для макета, CSS и блоков (4a49a45)
- docs(features): взросление статусов скриптом — 37 разделов из testing в stable (a089b33)
- test(ui): негативный тест паритета трёх дверей записи документа (e7f6e11)
- test(entityservice): страж — вызов Save обязан разбирать отказ (fc712df)
- fix(ui): permit _ref-open/_ref-create in tab shell and render reference card opener on managed forms (cdbe10f)
- test(ui): вторая гарантия в паритете дверей — запрет проведения помеченного (1edc464)
- fix(launcher): со страницы отчёта об ошибке есть выход на каждом шаге (9a37284)
- feat(storage): страховка значений перечислений на уровне записи (c5d449d)
- feat(storage): страховка перечислений покрывает строки табличных частей (044113e)
- Merge origin/main into fix/managed-form-ref-open-magnifier (3c9e77f)
- style(ui): gofmt PR 1043 tests (9d27ced)
- test(ui): третья гарантия в паритете — закрытый период (дата запрета) (b2e70b0)
- fix(cms): isolate public content by site (422e5eb)
- fix(cms): enforce canonical slugs and refresh activity cache (f33d9ba)
- fix(ui): run activity toggles through entity save (4a9bbe2)
- fix(cms): scope YML imports to a site (aef7a10)
- fix(storage): иерархия не сбрасывается повторной записью, ЭтоГруппа и Родитель работают (6526331)
- Merge branch 'main' into fix/1040-dsl-hierarchy (ed8d9fe)
- fix(storage): preserve hierarchy in versioned writes (e79ebe3)
- fix(cms): close tenant routing ambiguities (52d1d5a)
- Merge main into feature/1014-cms-catalog-storefront (8a3bdbd)
- docs: regenerate DSL reference (a7162e1)
- Merge pull request ivanarama#1044 from ivantit66/fix/launcher-report-problem-back (e8e3975)
- feat(metadata): обязательные реквизиты — required у поля сущности работает (dab3b9f)
- Merge branch 'main' into fix/1004-web-primitives-tests (ee4ca0c)
- Merge pull request ivanarama#1027 from ivantit66/fix/1004-web-primitives-tests (03f019d)
- Merge branch 'main' into fix/managed-form-ref-open-magnifier (239e19f)
- feat(exchange): чужое значение перечисления принимается, но фиксируется (83eae92)
- Merge pull request ivanarama#1043 from ivanarama/fix/managed-form-ref-open-magnifier (7c7383a)
- Merge branch 'main' into fix/1013-query-date-typing (6139c3a)
- Merge pull request ivanarama#1028 from ivantit66/fix/1013-query-date-typing (fcaa18a)
- Merge branch 'main' into fix/962-slice-xml-tz-dblock (5610909)
- Merge pull request ivanarama#1030 from ivantit66/fix/962-slice-xml-tz-dblock (4a8c7f9)
- Merge branch 'main' into fix/787-runserver-split (228dc7c)
- fix(dsl): равенство дат сравнивает моменты, а не представления (99ec66e)
- Merge pull request ivanarama#1031 from ivantit66/fix/787-runserver-split (3ebe25e)
- Merge branch 'main' into test/962-write-paths-parity (c230dcf)
- Merge pull request ivanarama#1042 from ivantit66/test/962-write-paths-parity (1e49848)
- fix(dsl): ПрочитатьXML читает выгрузки в windows-1251 и других однобайтовых кодировках (e97fe7b)
- Merge pull request ivanarama#1045 from ivantit66/fix/1040-dsl-hierarchy (5012df9)
- Merge branch 'main' into docs/962-feature-maturation (ba6a9f1)
- Merge pull request ivanarama#1041 from ivantit66/docs/962-feature-maturation (94784ee)
- test(dsl): бюджет старта дерева процессов вместо жёстких 8 секунд (25b18ff)
- docs(plans): развести номера планов и поставить гейт уникальности (9a7df6f)
- test(arch): заморозить цену отложенного рефакторинга сборки сервера (62a594a)
- test(api): track ui server aliases in surface budget (3704447)
- Merge branch 'main' into fix/1034-date-equality (527aab4)
- fix(dsl): align map date keys with equality (da9a242)
- fix(plans): замкнуть гейт номеров на точные файлы (3ef7853)
- docs(dsl): точно перечислить XML-кодировки (72a51ef)
- Merge remote-tracking branch 'origin/main' into codex/fix1046-required-c81d (eadf596)
- fix(storage): enforce required on persisted object state (6d6bc6b)
- Merge branch 'main' into feature/787-app-bootstrap (48362fb)
- test(api): type-check ui surface receivers (f296dc4)
- test(dsl): вернуть перевод строки в конце exec_builtins_test.go (f830010)
- fix: close required-field persistence gaps (5bb1609)
- Merge commit '03093799f7f23de84b5b60392f086c03be966598' into codex/fix1046-required-c81d (f7465da)
- feat(cli): команда onebase version показывает путь исполняемого файла (4aff5c8)
- fix(cli): вывод version собирается одной проверенной записью (56aea43)
- fix(cli): keep version probes outside update locks (c5c2d86)
- Merge main into fix/1052-version-command (f21246a)
- fix(auth): отказ входа называет причину в журнале (6ac2aa0)
- Merge commit '27f2d9936b2e06695b3caa309098614ece72a7d0' into codex/review1056-6ac2 (2b191ba)
- Merge pull request ivanarama#1039 from ivantit66/feature/1014-cms-catalog-storefront (144d005)
- fix(cli): harden version probe dispatch (469f7c3)
- Merge main into fix/1052-version-command (31563cc)
- Merge branch 'main' into fix/1038-cancel-tree (eff9bb6)
- Merge pull request ivanarama#1050 from ivantit66/fix/1038-cancel-tree (e0160fc)
- Merge branch 'main' into fix/1037-exchange-enum-log (6d33dc2)
- Merge pull request ivanarama#1047 from ivantit66/fix/1037-exchange-enum-log (8de3073)
- Merge branch 'main' into fix/1034-date-equality (6f605b2)
- Merge pull request ivanarama#1048 from ivant...
build-9
Что нового
Merge pull request ivanarama#348 from ivanarama/fix/duplicate-ai-assistant-button
Сборка
Автосборка из ветки main.
Коммит: 990ffdf0a50b48e22d109e39780adf65e3c515e1
Версия платформы: build-9
Для идентификации: в конфигураторе в шапке отображается платформа build-9.
Изменения с build-8 (6 коммит(ов))
- feat(configurator): регулируемая высота панели свойств ячейки в редакторе макетов (52e66ae)
- fix(configurator): standalone-макеты видны в дереве, импорт из PDF привязывается к документу (30d0019)
- Merge pull request ivanarama#347 from ivantit66/fix/printform-standalone-layouts (9a14445)
- Merge pull request ivanarama#346 from ivantit66/feature/printform-props-resize (284fdd4)
- fix(ui): avoid duplicate AI assistant in tab frames (defce10)
- Merge pull request ivanarama#348 from ivanarama/fix/duplicate-ai-assistant-button (990ffdf)
build-8
Что нового
Merge pull request ivanarama#345 from ivantit66/feature/ai-chat-actions
Сборка
Автосборка из ветки main.
Коммит: c9bc1a06e0ff8060d03edee982792c301d814c2e
Версия платформы: build-8
Для идентификации: в конфигураторе в шапке отображается платформа build-8.
Изменения с build-7 (196 коммит(ов))
- refactor(ui): serve common UI script as static asset (de88e86)
- docs(plans): sync load roadmap and row access design (6078f1d)
- fix(ui): recover в фоновом экспорте и sweeper стора джоб (2c0afa2)
- fix(configdb): монотонные created_at версий конфигурации (ed598c2)
- fix(api,auth,storage): вебхуки unpost/delete, лимит advisory-локов, троттлинг токенов, sandbox формул (b8877fb)
- fix(ui): убрать запись в разделяемые метаданные из кэша реквизитов ссылок (bd9a7d0)
- Merge pull request ivanarama#271 from ivanarama/work/plan55-ui-static-row-access (40b8c7e)
- Merge pull request ivanarama#272 from ivantit66/fix/week-review-2026-07-07 (41aea28)
- Implement row-level access policies (bfe8e0c)
- fix(rls): закрыть обходы строковых политик (d97f372)
- Merge pull request ivanarama#273 from ivanarama/feat/79-row-level-access (2b77faa)
- feat(rls,api): применять строковые политики в запросах (1e2ada2)
- refactor(ui): вынести часть template-bound JS в static (c77ecbe)
- Merge pull request ivanarama#275 from ivanarama/refactor/ui-template-js-assets (f89de0b)
- refactor(ui): move form and list runtime to static asset (14b9cac)
- Merge pull request ivanarama#277 from ivanarama/refactor/ui-form-list-js-assets (5b33c6b)
- refactor(ui): move managed form runtime to static asset (1ab448e)
- Merge pull request ivanarama#279 from ivanarama/refactor/ui-managed-js-assets (92824e0)
- refactor(ui): delegate managed form event handlers (a2f587c)
- fix(launcher): validate and delete configurator fields (4b5acd7)
- Merge pull request ivanarama#281 from ivanarama/fix/276-278-configurator-field-validation-delete (59cf26f)
- Merge pull request ivanarama#280 from ivanarama/refactor/ui-managed-inline-handlers (686e1ff)
- refactor(ui): delegate list and layout handlers (dc7ed19)
- Merge pull request ivanarama#282 from ivanarama/refactor/ui-template-list-layout-handlers (df234bf)
- refactor(ui): delegate standard form handlers (edd77de)
- Merge pull request ivanarama#283 from ivanarama/refactor/ui-template-form-handlers (118836e)
- refactor(ui): delegate report handlers (867c30d)
- Merge pull request ivanarama#284 from ivanarama/refactor/ui-report-settings-handlers (7e932b9)
- fix(launcher): improve AI model settings editor (26d0592)
- refactor(ui): delegate registry utility handlers (41774d9)
- Merge pull request ivanarama#286 from ivanarama/refactor/ui-register-processor-constant-handlers (57592b6)
- refactor(ui): delegate journal handlers (ivanarama#287) (a818e62)
- fix(ui): show subsystem dashboard in tabs mode (5713965)
- refactor(ui): delegate query and dev handlers (ivanarama#288) (f0679c5)
- refactor(ui): delegate admin handlers (2d68528)
- fix(rls): scope query predicates and report sources (504595b)
- Merge pull request ivanarama#290 from ivanarama/refactor/ui-admin-inline-handlers (21ed9d2)
- Merge pull request ivanarama#289 from ivanarama/fix/ui-tabs-subsystem-dashboard (c2f060c)
- Merge pull request ivanarama#285 from ivanarama/fix/ai-model-settings-editor (92facb2)
- Merge pull request ivanarama#274 from ivanarama/feat/rls-query-predicates (de7e793)
- fix(ui): ревалидация приложенческого JS по ETag вместо immutable-кэша (9caad4f)
- test(access): покрыть решатель строковых политик юнит-тестами (cb064f4)
- feat(query): fail-closed сверка внедрения строковых политик (e7f8a9f)
- fix(query): явный отказ вместо битого SQL для подзапроса в ИЗ (0d83dfd)
- fix(query): keep row filters at outer scope (e2bf064)
- Merge pull request ivanarama#292 from ivantit66/fix/static-js-cache-and-rls-guards (2763361)
- feat(ui): support managed form accesskeys (8084344)
- feat(ui): add managed form button hotkeys (9e06e56)
- feat(dsl): add opt-in strict lexical scope (1615a70)
- feat(configcheck): gate strict lexical scope leaks (4eefdd7)
- fix(query): scope RLS filters in derived sources (882308f)
- feat(configcheck): lint row access policies (a53f96c)
- feat(access): support user attributes in row policies (5a71b52)
- fix(access): enforce RLS in user DSL data paths (66f9ca5)
- fix(llm): разыменовывать ${env:VAR} в секретах ИИ на пути _settings (b86d9ef)
- chore(security): govulncheck в CI + бамп уязвимых зависимостей (0b30b67)
- fix(ui): satisfy lint for RLS bulk refs (222a47d)
- fix(launcher): align AI model editor rows (bcc5c17)
- feat(access): complete RLS owner and diagnostics (b0c4fc4)
- fix(i18n): add RLS diagnostics label (f3995ce)
- feat(dsl): isolate module scope in strict mode (7811929)
- docs(plans): планы масштаба, безопасности и enterprise-подсистем (ревью 2026-07-08) (121bd4f)
- feat(storage): предрасчёт текущих итогов регистра накопления (план 80) (acf40db)
- feat(query): быстрый путь Остатки() через итоги регистра (план 80) (66482ef)
- feat(cli): команда recalc-totals для пересчёта итогов регистров (план 80) (f88425d)
- docs: итоги регистров (DEVELOPER + каталог возможностей) (план 80) (adb0872)
- fix(storage): не вести итоги для регистров с атрибутами (план 80) (7490f81)
- feat(storage): помесячные обороты в итогах регистра (план 80, этап 2) (a9b06cf)
- feat(query): Остатки(&Момент) через помесячные итоги (план 80, этап 2) (f49e67a)
- docs: итоги регистров обслуживают Остатки(&Момент) (план 80, этап 2) (68e6099)
- refactor(ui): move query builder script to static asset (60b1191)
- Merge pull request ivanarama#293 from ivanarama/fix/ai-settings-model-editor (8cca866)
- Merge pull request ivanarama#294 from ivantit66/fix/ai-secret-env-refs-and-govulncheck (c23ed1e)
- Merge pull request ivanarama#295 from ivantit66/docs/plans-scale-security-enterprise (a6ae7ab)
- Merge pull request ivanarama#296 from ivantit66/feature/80-register-totals (76343bd)
- fix: harden merged PR changes (07ce1f0)
- fix(query): ОстаткиИОбороты(&нач,&кон) с датами-параметрами на SQLite (f04b07d)
- Merge pull request ivanarama#297 from ivantit66/fix/oio-sqlite-placeholder (d6f03b5)
- test(ui): страж строкового доступа хендлеров (план 79F) (3fa753c)
- fix toasts (8f0ff33)
- Merge pull request ivanarama#298 from ivantit66/feat/79f-rls-storage-chokepoint (01993fb)
- fix(dsl): preserve string conversion and reference lookup (e4bbd82)
- fix(metrics): statusRecorder пробрасывает Flush — чинит SSE под лаунчером (9257f15)
- feat(api,cli): readiness-проба /healthz и SQLite-бэкап в CLI (issue 299) (c970a7e)
- feat(cli): offline-обновление onebase update --from с откатом (issue 299) (b93fe1b)
- feat(cli): hot reload конфигурации в database-режиме через --watch (issue 299) (6e99a7e)
- feat(cli): флаг --watch у service install (issue 299, п.3) (43d4fd0)
- docs: руководство по развёртыванию на Windows + offline (issue 299, п.5) (97a0bb8)
- feat(ui): скрытие глобальной «Главной» (навигация только по разделам) (cb3c29a)
- Merge pull request ivanarama#302 from ivantit66/fix/sse-flusher-under-debug-token (6051d7f)
- Merge pull request ivanarama#303 from ivantit66/feature/299-healthz-sqlite-backup (323b4a6)
- Merge pull request ivanarama#305 from ivantit66/feature/299-update (cd7fa8c)
- Merge pull request ivanarama#306 from ivantit66/feature/299-hotreload (da35d97)
- Merge pull request ivanarama#307 from ivantit66/feature/299-deployment-docs (8c4e5d9)
- Merge pull request ivanarama#308 from ivantit66/feature/304-hide-home (da44957)
- fix(cli,docs): align offline deployment commands (c6e00ef)
- fix(ui): разворачивание dropdown «Печать ▾» на managed-формах документа (196c619)
- Merge pull request ivanarama#310 from ivantit66/fix/309-print-dropdown (c6f81ae)
- fix(configurator): маскировка API-ключа ИИ и копирование конфигурации текстом (6687067)
- Merge pull request ivanarama#311 from ivantit66/fix/ai-settings-key-mask-copy (5c8f927)
- fix(launcher): защита импорта конфигурации и бэкапа от zip-slip (CWE-22/23) (f458a03)
- Merge pull request ivanarama#312 from ivantit66/fix/zip-slip-archive-import (5ab9b60)
- docs(printforms): пример многостраничной регламентной формы «внутренняя опись» (ivanarama#313) (c429a54)
- Merge pull request ivanarama#314 from ivantit66/docs/printform-multipage-opis (b5285a2)
- feat(printforms): кастомный размер страницы в мм для печатных форм (ivanarama#313) (ca73d03)
- fix(dsl): «+» над двумя строками всегда конкатенирует (ivanarama#316) (176ab63)
- feat(rest): эндпоинты вложений в REST API v2 (ivanarama#315) (e5a964f)
- fix(i18n): ключ «Недопустимый тип файла» для загрузки вложений (ivanarama#315) (d61c887)
- Merge pull request ivanarama#317 from ivantit66/feature/printform-custom-page-size (91fd32a)
- Merge pull request ivanarama#318 from ivantit66/fix/dsl-string-plus-concat (da3c21c)
- Merge pull request ivanarama#319 from ivantit66/feature/315-rest-v2-attachments (ebc26a9)
- fix(i18n): add missing configurator and archive keys (fd9ab34)
- ci: pin Go toolchain to 1.26.5 (438e747)
- chore(release): prepare v0.9.1 (e66b4a9)
- fix(constants): серверная валидация required/enum + рендер enum как select (ivanarama#320) (e7aea64)
- feat(check): валидация enum/reference-типов констант на onebase check (ivanarama#320) (16b5fcc)
- docs(printforms): add archive cover example (714ddc8)
- Merge pull request ivanarama#321 from ivantit66/fix/320-constants-enum-required-validation (f2212f6)
- fix(constants): address PR ivanarama#321 review findings (80ff6df)
- fix(ui): один SSE-поток на оболочку вкладок вместо одного на iframe (ivanarama#322, ivanarama#323) (5beb56f)
- fix(ui): forward shell realtime events to tab frames (0bc40ef)
- Merge pull request ivanarama#324 from ivantit66/fix/322-tab-shell-sse-connections (12d4c21)
- feat(exchange): модель плана обмена, загрузчик, реестр и валидация check (ivanarama#86) (ec4e07b)
- feat(exchange): служебные таблицы обмена, счётчики узлов и код текущего узла (ivanarama#86) (5e9da83)
- feat(exchange): регистрация изменений объектов в очереди обмена (ivanarama#86) (d466eab)
- feat(exchange): сборка и идемпотентная загрузка пакетов .obx (ivanarama#86) (fda156b)
- feat(exchange): разрешение конфликтов встречных правок (ivanarama#86) (2dd064e)
- feat(examples): add archive demo data processor (7ab50ca)
- feat(exchange): CLI onebase exchange init/dump/load (ivanarama#86...
build-7
Что нового
feat(launcher,cli): нативные изолированные окна Предприятия и выбор режима (ivanarama#270)
Сборка
Автосборка из ветки main.
Коммит: b4b6090d5b5e428eef686af5a713e84acbeda5ec
Версия платформы: build-7
Для идентификации: в конфигураторе в шапке отображается платформа build-7.
Изменения с build-6 (4 коммит(ов))
- build(third_party): vendored webview_go с патчем каталога профиля WebView2 (a72c271)
- feat(launcher,cli): нативные изолированные окна и выбор режима открытия (902706d)
- fix(i18n): add native window launcher translations (6c63599)
- feat(launcher,cli): нативные изолированные окна Предприятия и выбор режима (ivanarama#270) (b4b6090)
build-6
Что нового
feat(auth,launcher): параллельные сессии и изолированные окна Предприятия (ivanarama#255)
Сборка
Автосборка из ветки main.
Коммит: e5ae8a686552b89d82b7c7a6560ffe6a1ec7f5f2
Версия платформы: build-6
Для идентификации: в конфигураторе в шапке отображается платформа build-6.
Изменения с build-5 (40 коммит(ов))
- test(api): cover REST RBAC guardrails (653a4b4)
- test(storage): cover atomic optimistic locking (1769334)
- fix(ui): cap legacy reference option loading (a503e70)
- Merge pull request ivanarama#252 from ivanarama/feat/rest-rbac-coverage (cbc5ef6)
- Merge pull request ivanarama#253 from ivanarama/feat/atomic-optimistic-locking (797cad1)
- Merge pull request ivanarama#254 from ivanarama/feat/ui-reference-picker-scaling (d73e89c)
- docs(plan): доработка плана 78 по итогам ревью (ca5ea1a)
- feat(runtime): add operation limits and metrics (3ff5b03)
- feat(runtime): complete scale guardrail observability (115b6e9)
- Merge pull request ivanarama#250 from ivanarama/feat/plan79-runtime-limits (ad2478e)
- feat(dsl): add bulk object requisite access (8f808c4)
- feat(auth,launcher): параллельные сессии и изолированные окна Предприятия (024a620)
- docs: параллельные сессии и изолированные окна - документация и каталог (5e1e0fe)
- Merge pull request ivanarama#251 from ivanarama/feat/plan80-bulk-reference-requisites (4977852)
- feat(storage): add register load indexes (9bbb692)
- Merge pull request ivanarama#256 from ivanarama/feat/plan76-indexes-reference-picker (5572773)
- feat(auth,ui,launcher): политика лимита одновременных сессий (план 78, п. 1.6) (1c09570)
- docs(plan): п. 4.2 проверен вживую - env-вариант native-окон не работает (8298a02)
- chore(config): keep shipped configs lint-clean (b60dfd8)
- feat(api): add REST API v2 baseline (01995cd)
- feat(api): add REST v2 reports and docs (3ea9da3)
- feat(api): add REST v2 tokens and composition (efcc415)
- feat(dsl): add cached reference attribute access (bf9d8cf)
- docs: mark DSL reference attrs complete (2556a18)
- ci: lint shipped configurations (27c990f)
- ui: bound hierarchical folder options (e924805)
- docs: update scale guardrails status (a5befbf)
- fix(converter): import enum aliases from 1c dumps (8a5066c)
- feat(storage): add advisory data locks for save hooks (00363b0)
- fix(launcher): показывать ошибку запуска базы в окне вместо белого экрана (71bdec1)
- fix(launcher): усыновлять базу, запущенную прежним экземпляром лаунчера (c434500)
- feat(ui): add background report exports (51501fb)
- feat(launcher): базы переживают закрытие лаунчера (1С-подобный цикл) (89c9206)
- fix(ui): translate background export labels (d6d97f8)
- feat(ui): add background report exports (ivanarama#268) (a58d365)
- test(load): add postgres validation runner (f161eba)
- test(load): add postgres validation runner (ivanarama#269) (7cc1123)
- Merge main into feature/78-multi-session-isolated-windows (c9abe75)
- fix(i18n): add isolated window launcher translations (4a3ee77)
- feat(auth,launcher): параллельные сессии и изолированные окна Предприятия (ivanarama#255) (e5ae8a6)
build-5
Что нового
docs(plan): multi-session isolated enterprise windows
Сборка
Автосборка из ветки main.
Коммит: ef13ec07ab2b90515d37b171a7a5601c88b4a4ca
Версия платформы: build-5
Для идентификации: в конфигураторе в шапке отображается платформа build-5.
Изменения с build-4 (196 коммит(ов))
- fix(i18n): дополнить немецкую локализацию конфигуратора (ревью ivanarama#172) (ef9a036)
- docs(plans): план 71 — оформление вывода отчёта (линии сетки, зебра) (8cb70b6)
- feat(report): оформление вывода компоновки — линии сетки и зебра (b2c1181)
- feat(configurator): секция «Оформление вывода» в построителе отчёта (debc38e)
- feat(ui): переключатель оформления в панели «Настройки» отчёта (2305a40)
- docs(features): оформление вывода отчёта — линии сетки и зебра (план 71) (246f2a6)
- feat(dsl): исполняемый раздел (тело модуля) в обработках (ivanarama#171) (f19d393)
- chore(i18n): английские подписи раздела «Оформление вывода» (план 71) (812a663)
- feat(forms): фундамент визуального конструктора — formdoc round-trip (ivanarama#164) (37cf2a6)
- test(formdoc): round-trip элемента формы сохраняет inline-комментарий (ivanarama#164) (cc155a0)
- Merge pull request ivanarama#174 from ivanarama/fix/i18n-german-172 (98e36e8)
- Merge pull request ivanarama#175 from ivanarama/feature/module-body-171 (d383dd0)
- Merge pull request ivanarama#176 from ivantit66/feature/71-report-appearance (ed8b491)
- feat(forms): реквизит «список значений» и серверные события формы (030e879)
- fix(examples): формы CRM в forms/<сущность>/ + демо списка значений (3508fe3)
- feat(dsl): safe-match по реквизиту (ПроверитьСовпадениеПоРеквизиту) (152dae4)
- fix(examples): импорт номенклатуры читает JSON через Получить() и реальные поля (d736d3f)
- fix(dsl): Соответствие.Поле — явная ошибка вместо тихого Неопределено (27707a1)
- feat(configurator): единый режим переводов вместо спойлера у каждого поля (1852899)
- docs(features): обновлён каталог — единый режим переводов в конфигураторе (1943ef9)
- Merge pull request ivanarama#181 from ivantit66/fix/json-import-demo-fields (a3997ef)
- Merge pull request ivanarama#182 from ivantit66/fix/map-member-access-error (d2836a1)
- Merge pull request ivanarama#180 from ivantit66/feature/safe-match-attribute (17cbed2)
- Merge pull request ivanarama#179 from ivantit66/feature/form-value-list-choice (9bf2565)
- Merge pull request ivanarama#183 from ivantit66/feature/configurator-translations-toggle (45c66e8)
- fix(i18n): перевод тумблера режима переводов конфигуратора (ivanarama#183) (ec666bd)
- feat(navigation): иконки разделов (Lucide) в шапке навигации (b112074)
- docs(features): каталог — иконки разделов навигации (testing) (1a56132)
- docs(plans): план 73 — полный Lucide через SVG-спрайт (подход B) (2f01871)
- perf(storage): один запрос в MatchCatalogByField с точным COUNT вместо двух (ebf6e2f)
- fix(ui): derefFields сужен к *interpreter.Ref (cc65ba7)
- fix(configurator): тумблер переводов только при наличии языков интерфейса (28e0577)
- docs(forms): особенности хуков записи — движения и Сообщить (22f190b)
- Merge pull request ivanarama#186 from ivanarama/fix/review-followups (0a52773)
- feat(formdoc): маппинг узел⇄FormModule и адресация по node-id (ivanarama#164) (e4d5338)
- feat(formdoc): операции SetProp/InsertElement/Move над узлом формы (ivanarama#164) (a9632bc)
- feat(forms): интерактивный рендер холста конструктора форм (ivanarama#164) (1d2e8dc)
- feat(forms): эндпоинт /forms/edit-op визуального конструктора (ivanarama#164) (6050adf)
- feat(forms): клиент визуального конструктора — холст, палитра, свойства (ivanarama#164) (a03f84d)
- docs(features): каталог — визуальный конструктор форм (testing, ivanarama#164) (b721675)
- test(forms): HTTP-тест маршрута /forms/edit-op (ivanarama#164) (f5f200e)
- docs(plans): follow-up визуального конструктора форм (ivanarama#164) (672a80d)
- fix(forms): back-link редактора формы возвращает на объект-источник (ivanarama#164) (7c8165c)
- feat(forms): удаление элемента в визуальном конструкторе (ivanarama#164) (37ccf9f)
- feat(forms): перестановка элементов ↑/↓ в конструкторе (ivanarama#164) (fa16c03)
- feat(forms): структурная палитра конструктора — группы/страницы/надпись (ivanarama#164) (ea53830)
- feat(forms): табличные части на холсте конструктора (ivanarama#164) (64b5403)
- feat(forms): редактор состава колонок ТЧ в конструкторе (ivanarama#164) (66c8bef)
- docs(features): каталог — доводка визуального конструктора форм (ivanarama#164) (ae0018b)
- fix(forms): отдельная Страница на холсте рисуется как страница (ivanarama#164) (fe02241)
- feat(forms): drag-перенос элементов между контейнерами на холсте (ivanarama#164) (e9bf2e0)
- fix(forms): набор страниц принимает только Страницу + клик «+ страница» (ivanarama#164) (83e8c1b)
- feat(forms): batch A конструктора — новые элементы и свойства (ivanarama#164) (0825b63)
- fix(formdoc): запретить перенос узла формы внутрь себя (ivanarama#164) (1aa04d2)
- Merge PR ivanarama#187: visual form designer (06bcce9)
- docs(plans): план доводки конструктора — batch B (события) и C (переключатель) (ivanarama#164) (acbdde3)
- fix(ui): нормализовать имя Lucide при рендере и превью (ivanarama#184) (d18bfd9)
- Merge PR ivanarama#184: subsystem navigation icons (5f6c93d)
- Merge PR ivanarama#185: Lucide sprite plan (128e413)
- docs(plans): детальные планы batch B (события/форма) и C (переключатель) (ivanarama#164) (f31eac3)
- fix(ui): безопасно рендерить ref-picker (b5d5087)
- fix(report): учитывать выбранный вариант без настроек (08702fc)
- fix(configurator): запретить raw-просмотр symlink вне базы (4cad4c7)
- feat(forms): часть 2 конструктора — события, свойства формы, переключатель (ivanarama#164) (d61df58)
- fix(forms): отдельная Страница рендерится в предпросмотре и рантайме (ivanarama#164) (2de71aa)
- fix: устранить замечания ревью по безопасности и проверкам (7c62e43)
- Merge pull request ivanarama#188 from ivanarama/fix/review-hardening-1-6 (a9e1829)
- feat(forms): UX-доводка конструктора — закладки свойств, авто-вкладка, чистка шапки (ivanarama#164) (dff7f3f)
- docs(loadtest): document HTTP load testing (434a3cc)
- Merge pull request ivanarama#189 from ivanarama/feat/loadtest-dashboard-docs (952f841)
- fix(forms): свойства не наезжают на закладки панели при прокрутке (ivanarama#164) (48b2825)
- feat(forms): предпросмотр табличной части рисует колонки таблицей (ivanarama#164) (e6cb309)
- Merge remote-tracking branch 'upstream/feature/164-visual-form-designer' into feature/164-visual-form-designer (fd2cd73)
- Merge PR ivanarama#190: visual form designer follow-up (7e79948)
- docs(plans): убрать trailing whitespace в плане конструктора (ivanarama#190) (840b3ba)
- Merge feature/164 visual form designer follow-up (cd3b28b)
- feat(realtime): внутрипроцессная шина уведомлений Hub (ff6c9e5)
- docs(release): добавить шаблон описания GitHub Release (eb6b617)
- feat(realtime): DSL-функция ОтправитьУведомление (издающая сторона шины) (2f065cb)
- feat(realtime): SSE-эндпоинт /ui/events, проводка шины и JS-мост (план 74) (cb589f2)
- docs(plans): план 74 (real-time SSE) и план 75 (телефония/CTI) (62c41de)
- feat(cli): расширить AI-инструменты разработчика (962ff37)
- Merge pull request ivanarama#191 from ivanarama/feature/ai-dev-tools-contract (7a0993a)
- feat(rollup): свёртка базы — регистры накопления, дата запрета, UI конфигуратора (ivanarama#74) (8dd7355)
- feat(rollup): свёртка регистров бухгалтерии через вспомогательный счёт (ivanarama#74) (7ca8fa7)
- feat(rollup): обрезка инфо-регистров (опц.) и жёсткий гейт по повисшим ссылкам (ivanarama#74) (87d99cd)
- feat(ui): настраивать плитку списка (1816b5c)
- feat(telephony): эталонный колл-центр — события звонков, скрин-поп, журнал (план 75) (82f33a3)
- Merge pull request ivanarama#193 from ivanarama/feat/configurable-tile-view (8e78ca7)
- feat(telephony): click-to-call через Asterisk ARI originate (план 75) (94fed33)
- fix(i18n): добавить перевод свёртки базы (b9a83a8)
- Merge pull request ivanarama#192 from ivantit66/feature/database-rollup (e346842)
- feat(backup): включить автобэкап по расписанию (3a91433)
- feat(configdb): добавить снимки версий конфигурации (a87d422)
- feat(telephony): панель оператора — журнал, KPI, click-to-call (план 75) (cc29c35)
- feat(telephony): глобальная всплывашка входящего звонка в layout (план 75) (14b54f7)
- feat(telephony): демо-обработки — заполнение данных и тест входящего (план 75) (7c6483f)
- fix(langref): описать ОтправитьУведомление/PublishNotification (гейт полноты) (b3f026a)
- docs(plans): планы 74 и 75 — статус «сделано» (78d3fdf)
- feat(cli): записывать релизную версию при deploy (f7367e8)
- Merge pull request ivanarama#194 from ivanarama/feature/28-auto-backup (6b1d8cc)
- Merge pull request ivanarama#195 from ivanarama/feature/60-config-versions (c9f1794)
- docs(roadmap): добавить публичный манифест (2200fc6)
- feat(configdb): добавить UI истории конфигурации (3d126a1)
- feat(ai): add developer tooling workflow (a979bf0)
- refactor(configurator): split launcher monolith files (c5e8394)
- fix(configcheck): не требовать secret для ${env:…} при линте (fa599cf)
- feat(configdb): добавить UI истории конфигурации (f92e54d)
- feat(ai): добавить enforced self-correction loop (609a0c1)
- Merge remote-tracking branch 'origin/pr/196' into review/pr-merge-20260624 (2dfc5de)
- fix(i18n): add config history translations (9d627ce)
- Merge remote-tracking branch 'origin/pr/199' into review/pr-merge-20260624 (da25013)
- Merge remote-tracking branch 'origin/pr/200' into review/pr-merge-20260624 (38afdb3)
- fix(ui): reject HTTP services with empty runtime secret (f904eae)
- fix(launcher): avoid deleting similarly named managed forms (3c30d05)
- Merge remote-tracking branch 'origin/pr/201' into review/pr-merge-20260624 (d84d767)
- Merge remote-tracking branch 'origin/pr/198' into review/pr-merge-20260624 (0ada05d)
- fix(configdb): sort config versions by parsed time (a8a3d1a)
- chore: ignore local agent instructions (ab2a391)
- feat(configcheck): add onebase lint mode (8bf43fe)
- Close plan 43 graceful scheduler shutdown (efa3071)
- Ignore local Codex state (0f5579b)
- chore(observability): migrate diagnostics to slog (67c1f05)
- docs(plans): add multi-user scale readiness plan (ab7c0a8)
- docs(plans): refresh current priorities after audit (908f503)
- Merge pull request ivanarama#202 from ivanarama/feature/56-one...
build-4
Что нового
Merge pull request ivanarama#173 from ivanarama/fix/weekly-review-2026-06-22
Сборка
Автосборка из ветки main.
Коммит: e04fdef0d7a18086d0bf9bffdb546a52e14c27e5
Версия платформы: build-4
Для идентификации: в конфигураторе в шапке отображается платформа build-4.
Изменения с build-3 (250 коммит(ов))
- docs(report): план 66 — СКД v2 (развитие компоновки) (e106242)
- feat(report): сворачиваемые блоки отчёта (параметры/график/данные) (6a307d7)
- feat(report): кнопки «развернуть/свернуть всё» в СКД (129df74)
- feat(report): выравнивание значений показателей (left/right/center) (ccab25b)
- feat(report): форматирование чисел показателей (разрядность/знаки/%) (ee1aac1)
- feat(report): залипающий заголовок таблицы СКД (8b6aeb0)
- feat(configurator): выравнивание и формат показателя в конструкторе СКД (3cfce01)
- fix(ui): СсылкаНаОбъект — форма (Сущность, Ид) для ссылок в таблицах страниц (план 66) (251e6bd)
- docs: план 66 — страницы и сравнение с панелями подсистем (d4f4a77)
- docs(report): отметить этап A плана 66 выполненным (b4588e4)
- feat(report): экспорт СКД в Excel с группами и итогами (2bb815e)
- test(report): покрыть detail-режим Excel-экспорта СКД и уточнить комментарии (e8094c1)
- feat(report): вычисляемые показатели (выражения, проценты) (aaaccd2)
- test(report): покрыть EvalNum и многоуровневый Expr; уточнить комментарии (7b96c6f)
- feat(report): расшифровка детальной строки в документ (a409009)
- fix(ui): декодировать имя страницы в /ui/page/{name} — из меню был 404 (f050c61)
- docs: план 66 — план доработок страниц (кнопки-действия, конфигуратор, i18n) (4ee321b)
- fix(report): не строить расшифровку-ссылку без сущности перехода (138e472)
- docs: правило ведения docs/features.md (раздел «Тестируем» на сайте) (81270ec)
- fix(report): пустая ячейка вместо 0 для неопределённого показателя в Excel-экспорте СКД (9e709ae)
- docs(report): отметить этап B плана 66 выполненным (7586faf)
- docs: backfill уже реализованных возможностей в каталог (JOIN, HTTP, вложения, email, PDF/Excel, бэкап) (a0c6004)
- feat(ui): страницы — кнопки-действия (вызов процедуры обработчика), план 66 (5fbb05a)
- feat(launcher): путь к файлу SQLite в списке баз (01f7100)
- docs(features): выверка перед мержем — статусы и факты (6ac2462)
- feat(launcher): страницы в конфигураторе — CRUD объекта «страница», план 66 (7642654)
- Merge pull request ivanarama#84 from ivanarama/docs/testing-features (21aaa9c)
- feat(ui): страницы — i18n подписей блоков (авто-уровень), план 66 (5134b32)
- fix(i18n): переводы UI image-поля и режимов списка (план 64) (0d408d3)
- Merge pull request ivanarama#79 from ivantit66/feature/64-layout-editor-ux (bd560fb)
- Merge pull request ivanarama#80 from ivantit66/docs/66-67-plans (2c4b4b3)
- Merge main в feature/59-report-composition (48a7fbf)
- Merge pull request ivanarama#81 from ivanarama/feature/59-report-composition (9e0b40a)
- Merge main в feature/66-pages (501e051)
- Merge pull request ivanarama#82 from ivantit66/feature/66-pages (d729d6b)
- Merge main в feature/67-exec-command (e080445)
- Merge pull request ivanarama#83 from ivantit66/feature/67-exec-command (42e91cc)
- Merge remote-tracking branch 'origin/main' into feature/launcher-sqlite-db-path (d3a75b8)
- Merge pull request ivanarama#85 from ivanarama/feature/launcher-sqlite-db-path (2331bf8)
- fix(report): сохранять titles при правке композиции и не ломать detail_link (09014f5)
- Merge pull request ivanarama#96 from ivanarama/fix/report-composition-blockers (3df521f)
- fix(report): корректность СКД — ключ группировки, сортировка nil, Excel-кнопка (a0dfd13)
- Merge pull request ivanarama#97 from ivanarama/fix/compose-correctness (1d22bd5)
- refactor(report): единый обход дерева СКД для HTML и Excel (ivanarama#93) (9de3acb)
- feat(dsl): НСтр по умолчанию берёт язык интерфейса пользователя, план 66 (8336d1e)
- Merge pull request ivanarama#98 from ivanarama/refactor/compose-single-traversal (840690d)
- refactor(report): график СКД через общий widget.EChartsOption (ivanarama#93) (06da942)
- Merge origin/feature/66-pages в локальную ветку (b38ce09)
- Merge pull request ivanarama#99 from ivanarama/chore/compose-dedup-rest (519b9a1)
- Merge main в feature/66-pages: план 67 (команды ОС) + план 66 (страницы) (9a53b79)
- Merge pull request ivanarama#100 from ivantit66/feature/66-pages (4a76c98)
- fix(configurator): создание общего модуля из дерева (issue ivanarama#95) (65fc2b5)
- fix(configurator): прокрутка вкладок Бэкапы/Файлы/Импорт (issue ivanarama#94) (780ca15)
- Merge pull request ivanarama#101 from ivanarama/fix/configurator-module-and-tab-scroll (9f76bdb)
- fix(security): санитайзер raw-HTML страниц через bluemonday (план 66) (d96c447)
- fix(security): определять тип картинки по содержимому, обезвреживать SVG (e92b992)
- Merge pull request ivanarama#107 from ivanarama/fix/page-sanitizer-and-image-upload (fa4b4c1)
- fix(dsl): поддержка нескольких переменных в одном Перем через запятую (b888cee)
- fix(configurator): кликабельные ошибки, регистронезависимая подсветка, шаблоны конструкций (0a13f4c)
- Merge pull request ivanarama#108 from ivanarama/fix/configurator-dsl-issues-102-105 (e89cef7)
- docs(features): полный каталог возможностей + раздел «как настроить» (092e576)
- Merge ветки docs/features-catalog: полный каталог возможностей в features.md (cccef0e)
- feat(config): поля author/copyright/license в app.yaml (3a117ea)
- feat(version): константы правообладателя платформы (92e6f37)
- feat(ui): проброс авторства конфигурации и платформы в Config (ca43c57)
- feat(ui): авторство и лицензия на экране «О программе» (6a5752d)
- feat(configurator): редактирование автора/правообладателя/лицензии конфигурации (8bc2d27)
- docs(config): пример авторства в tasks + features.md (d65486e)
- docs: секция «Авторы» в README (94f48d3)
- docs: формат git-trailer — инструмент, а не соавтор (1a8f01c)
- docs(plan): план 69 — авторство и лицензирование конфигураций (8c952ed)
- Merge pull request ivanarama#109 from ivanarama/feature/config-authorship (bd8e8f9)
- docs(examples): авторство и лицензия в остальных примерах (7efefd9)
- Merge pull request ivanarama#110 from ivanarama/feature/examples-authorship (580e719)
- docs(plans): сверка 2026-06-18 — 59/66/67 реализованы, 68 этапы A+B (2007ca4)
- Merge pull request ivanarama#111 from ivanarama/feature/68-cross-table (21d766b)
- feat(report): кросс-таблица (pivot) — измерения в колонки (9490873)
- docs(plan): план 68 — этап C1 (кросс-таблица) выполнен (845e807)
- fix(configurator): сохранение реквизитов/ТЧ и точности чисел в редакторах (669b409)
- feat(report): варианты компоновки отчёта (план 68, C2) (9f3e387)
- refactor(report): вынос сборщика Composition из формы в compform (148e32c)
- feat(report): тип UserReportSettings (рантайм-настройки + отборы) (14f7a09)
- fix: доводки по ревью за 2 дня — потери данных, path traversal, СКД, картинки, DSL/UI (51cd2bc)
- test: уникальные имена тест-хелперов конфигуратора (postCfgRv и др.) (e477afe)
- feat(storage): per-user хранение настроек отчёта в _settings (a082719)
- feat(report): эффективная компоновка из рантайм-настроек пользователя (c415f4d)
- feat(report): пост-запросные отборы строк в рантайм-настройках (10190b0)
- feat(report): экспорт в Excel учитывает рантайм-настройки (d77f4c2)
- feat(report): панель рантайм-настроек — группировки и показатели (6d0c267)
- feat(report): отборы в панели рантайм-настроек (3021757)
- feat(report): сохранение и сброс рантайм-настроек отчёта (580eba0)
- feat(report): автозагрузка сохранённых рантайм-настроек отчёта (1e16671)
- feat(report): индикатор и сброс пользовательских настроек отчёта (6a02d2f)
- fix(dsl): раздел объявления переменных модуля (Перем) перед процедурами (ivanarama#116) (8955950)
- fix: доводки по второму ревью — IDOR картинок, GC блобов, СКД, атомарность страниц (164176a)
- fix(i18n): перевод ключа «Добавить реквизит» (en) (ab65805)
- Merge remote-tracking branch 'origin/main' into feature/68-pivot (be7c496)
- Merge pull request ivanarama#113 from ivanarama/fix/configurator-tablepart-save (2efc825)
- Merge pull request ivanarama#112 from ivanarama/feature/68-pivot (efab2d2)
- fix(security): объектный RBAC для ИИ-запросов и вложений (планы 54, 56) (746e0d4)
- Merge branch 'main' into fix/review-2day-followups (ac6a657)
- Merge remote-tracking branch 'origin/fix/review-2day-followups' (81d9335)
- Merge pull request ivanarama#114 from ivanarama/fix/review-2day-followups (8b5e42e)
- docs(plan): дизайн-спека этапа 2 плана 55 — html/template + go:embed конфигуратора (68d40c1)
- fix(dsl): ключевые слова как имена свойств после точки (ivanarama#117) (89a1399)
- Merge pull request ivanarama#118 from ivanarama/fix/117-keyword-member-name (f27b915)
- docs(plan): пошаговый план Фазы 1 — конфигуратор на html/template (TDD) (39a243d)
- test(configurator): падающий тест экранирования XSS (план 55, фаза 1) (d5c52d3)
- fix(security): конфигуратор на html/template — контекстное экранирование (план 47 §1.3) (3143fa2)
- test(configurator): точные ассерты экранирования XSS по контекстам (фикс ревью I1) (d40a2ec)
- test(configurator): неваккуумные JS-ассерты экранирования (\u003c вместо сырого <) (b340214)
- test(configurator): smoke-рендер вкладок (rich data) + удалить мёртвую cfgAdminOverlay (fb4826b)
- test(configurator): уникальные якоря тела вкладок convert/files/backup (фикс ревью) (47834bb)
- docs(plan): Фаза 1 плана 55 (html/template) реализована — XSS-долг плана 47 §1.3 закрыт (51cb932)
- docs(plan): пошаговый план Фазы 2 — вынос CSS/JS конфигуратора в go:embed (9cfd989)
- refactor(configurator): вынести CSS в /static/configurator.css (план 55 фаза 2a) (7944b68)
- refactor(configurator): bootstrap window.__cfg/__cfgI18n, JS читает данные/переводы рантайм (план 55 фаза 2b-1) (21d5ee2)
- test(configurator): XSS-тест заполняет bootstrap и проверяет экранирование в window.__cfg (фикс ревью) (4a67548)
- fix(configurator): пустые срезы bootstrap → [] вместо null (фикс ревью I1) (d22ecff)
- feat(configurator): partial переводов titles-block + parseMapForm (eeb163d)
- refactor(configurator): вынести JS в /static/co...
build-3
Что нового
Merge pull request ivanarama#77 from ivanarama/chore/ci-i18ncheck
Сборка
Автосборка из ветки main.
Коммит: 81b1e83f65282f45eda3a716d9f90229e5b725c5
Версия платформы: build-3
Для идентификации: в конфигураторе в шапке отображается платформа build-3.
build-2
Что нового
Merge feature/64-layout-editor-ux: поле image и режимы списка плитка/лента
Сборка
Автосборка из ветки main.
Коммит: fd0bd5bdee41435b3589fddbead302d0cff4a5b9
Версия платформы: build-2
Для идентификации: в конфигураторе в шапке отображается платформа build-2.
Изменения с build-1 (28 коммит(ов))
- docs(plans): дизайн этапа 2a плана 57 — генерация каркаса (бэкенд, метаданные) (b3bc7db)
- docs(plans): план реализации этапа 2a плана 57 (генерация каркаса) — TDD-задачи (dec0058)
- feat(configurator): genSession — staging-оверлей и создать_объект (план 57, этап 2a) (986c6b0)
- fix(configurator): copyTree проверяет Close, safeFileName режет «.» (план 57, этап 2a) (4536065)
- feat(configurator): genSession check/showObject/diff (план 57, этап 2a) (c45f73f)
- feat(configurator): эндпоинт ai-generate — tool-use генерация каркаса в staging (план 57, этап 2a) (959ce22)
- refactor(configurator): схема генерации из материализованного dir, без повторного экспорта (план 57, этап 2a) (b165e49)
- docs(plans): этап 2a плана 57 (генерация каркаса, бэкенд) реализован (b552467)
- feat(configurator): отдавать частичный diff при ошибке генерации (план 57, этап 2a) (e6e7d93)
- Merge pull request ivanarama#72 from ivanarama/feature/57-stage2a-generation (e177021)
- feat(configurator): UX-доводка визуального редактора макетов (план 64) (ce5492a)
- docs(plans): дизайн этапа 3 плана 57 — объяснение ошибок check + подсказка запросов (de9683d)
- docs(plans): план реализации этапа 3 плана 57 (объяснение + подсказка) — TDD-задачи (3e29317)
- feat(configurator): эндпоинты ai-explain и ai-query (план 57, этап 3) (0e073ef)
- feat(configurator): UI-хуки объяснения ошибок и подсказки запроса (план 57, этап 3) (e33d123)
- docs(plans): этап 3 плана 57 (объяснение ошибок + подсказка запросов) реализован (dd16847)
- docs(plans): follow-up UX этапа 3 по финальному ревью (поправить при приёмке) (98bcf3f)
- fix(configurator): кнопка «Объяснить» только при ошибках + сброс панели (план 57, этап 3) (4d2ced6)
- feat(configurator): применение каркаса ИИ + история ИИ-запросов + формат метаданных (план 57) (eb8cfa0)
- Merge pull request ivanarama#75 from ivanarama/feature/57-stage3-explain-query (bd825b6)
- Merge pull request ivanarama#73 from ivantit66/feature/64-layout-editor-ux (0d835cc)
- fix(i18n): английские переводы UI визуального редактора макетов (план 64) (d11b6c7)
- chore(configurator): подбор уникального из этапа 2b плана 57 (тест панели + планы) (0970727)
- Merge pull request ivanarama#76 from ivanarama/chore/57-stage2b-salvage (791b980)
- ci: i18ncheck в пайплайне — ловить непереведённые ключи до мержа (c2b2301)
- Merge pull request ivanarama#77 from ivanarama/chore/ci-i18ncheck (81b1e83)
- feat(ui): поле image и режимы списка плитка/лента (план 64) (08a9631)
- Merge feature/64-layout-editor-ux: поле image и режимы списка плитка/лента (fd0bd5b)
build-1
Что нового
Merge pull request ivanarama#71 from ivanarama/feature/57-stage1-describe-context
Сборка
Автосборка из ветки main.
Коммит: 7aa6d4e4d42e25bfb1cc3ea849f07acae9c15e64
Версия платформы: build-1
Для идентификации: в конфигураторе в шапке отображается платформа build-1.