Перейти к содержимому
Версия 1.0 ещё не выпущена; проект находится на стадии pre-MVP. См. возможности и ограничения версии 1.0.

Примечания к релизам

Изменения, важные для операторов и разработчиков сайтов, — от новых к старым.

  • У Dee Wan ещё не было релиза. Всё, что ниже, находится в разделе Не выпущено. Выпущенная версия получает собственный заголовок со своей версией и датой.
  • Любое изменение, которое удаляет или меняет поведение, от которого может зависеть кто-то за пределами этого репозитория, получает здесь запись, даже если мы считаем, что от него никто не зависит.
  • Публичный API чтения версионируется в пути (/v1/). В пределах v1 документированные пути, параметры, коды состояния и ключи ответа сохраняют своё значение. См. Что стабильно. Несовместимое изменение в нём выходит под новой версией пути.
  • Документы страниц содержат номер format. Изменение того, как читаются существующие документы, получает новый номер формата. См. контракт документа страницы.

Добавлено: доступ к файлам, структурированные переводы и интеграции приложений

Заголовок раздела «Добавлено: доступ к файлам, структурированные переводы и интеграции приложений»
  • Чтение медиатеки, выбор файлов и защищённые ссылки можно ограничить собственными или выбранными файлами. Права интеграции пересекаются с текущими правами её создателя.
  • Необязательная публикация метаданных отделяет черновик от публичной версии и генерируемых данных.
  • Копирование перевода переносит структуру компонентов и допустимые связи. Наследование локализованных связей различает отсутствующий выбор и явно пустой список.
  • Общие ссылки доступны в допустимых вложенных компонентах и форматированном тексте. Перед автономной генерацией живые общие ссылки по-прежнему нужно удалить или заменить.
  • Автономные приложения управляют отдельными машинными ключами и настраиваемыми типизированными полями профиля. Существующие сервисные токены и данные приложения сохраняются.
  • Формы поддерживают числа и календарные даты в редакторе, при отображении и при приёме ответов.
  • Необязательный индекс Cloudflare Vectorize и Workers AI дополняет поиск похожих материалов. Поиск пакетами и проверки текущих прав и версий остаются доступны.

Это изменения исходного кода до первого выпуска. До выпуска необходимы целевые интеграционные проверки, полный браузерный прогон и проверка реальных провайдеров. См. медиа, переводы, учётные записи приложения и формы.

Исправлено: черновики контекста и перенос медиафайлов

Заголовок раздела «Исправлено: черновики контекста и перенос медиафайлов»

Редакторы контекста сайта заблокированы до завершения сохранения или принятия версии и повторного чтения. Принятие версии сохраняет несохранённые рабочие правки; смена документа, перезагрузка после конфликта и выход из настроек защищают черновик. Возврат из GitHub меняет сайт с полной перезагрузкой рабочей области и сохраняет проверку репозитория. См. контекст сайта и подключение GitHub.

Перенос истории меняет вложенные ссылки компонентов по сохранённым определениям и сообщает о ссылках на записи, которые не переносятся со старыми версиями. Копии сайта и файлы истории сохраняют точные языковые оригиналы, нужные переносимым версиям. Слишком большие медиафайлы в буферизуемых multipart-запросах отклоняются до разбора. См. импорт и миграцию и языковые оригиналы.

Приёмка релиза ещё не завершена.

Добавлено: потоковая генерация и надёжное сохранение заданий доставки

Заголовок раздела «Добавлено: потоковая генерация и надёжное сохранение заданий доставки»

Генерация страниц с ИИ показывает текст по мере получения, позволяет остановить запрос и безопасно повторить тот же запрос при неизвестном результате. Сохраняется только проверенный итоговый документ. Изменения зависимостей уведомляют редакторов и сбрасывают затронутый кеш без скрытой перепубликации. Задание вебхука сохраняется вместе с изменением данных; число повторов ограничено, история ошибок доступна для ручной повторной отправки.

Необязательное обновление при публикации выключено по умолчанию и использует прежний процесс генерации автономного бэкенда, проверки миграций и развёртывания. Автоматическая активация рендерера требует принятого артефакта, совпадения развёрнутой версии и подписанного подтверждения предпросмотра. Передача исходников также поддерживает отдельный общий сервис GitHub App. Журнал экспортов и CLI очистки находятся у владельца автономного проекта: по умолчанию показывается план, активная версия, версия для отката и закреплённые экспорты защищены от удаления.

Одинаковые байты медиа могут храниться совместно в пределах одного сайта и режима доступа, а идентификаторы файлов и метаданные остаются независимыми. Удаление, смена видимости и отмена импорта сохраняют оригиналы, которыми ещё владеет другой файл или сохранённая история. См. конструктор страниц, передачу через GitHub, хранение экспортов, медиа и вебхуки.

Эти изменения ещё не выпущены. Целевые локальные проверки есть; полный браузерный прогон и приёмка на реальных сервисах ещё предстоят.

Добавлено: совместная работа с контентом и его доставка

Заголовок раздела «Добавлено: совместная работа с контентом и его доставка»

По умолчанию черновик теперь можно сохранить с пустыми обязательными полями; для публикации они по-прежнему должны быть заполнены. Чтобы требовать заполнения при каждом сохранении, выберите строгий режим проверки черновиков в настройках модели. В импорте CSV/XLSX к обновлению добавлены создание и создание с обновлением. Названия моделей, полей и вариантов выбора можно переводить на язык интерфейса, не меняя ключи и сохранённые значения.

Для каждого языка можно назначить ответственного; обязательные задачи проверки блокируют публикацию до завершения. Обсуждения привязываются к полям, поддерживают ответы и упоминания. Массовые предложения ИИ сохраняются для проверки, а будущие версии редактируются независимо и привязываются к выпускам. Списки контента фильтруются и сортируются по отображаемым значениям связанных записей. Перенос определений моделей между сайтами требует проверки выбранных изменений.

У одного файла появились оригиналы для разных языков с сохранением прежних версий. Сайт может явно разрешить другим сайтам ссылаться на опубликованный контент. Поля координат поддерживают пространственные запросы, а дата со временем сохраняет часовой пояс IANA. Через GET /v1/_sync можно продолжать синхронизацию с контрольной точки, получать сведения об удалении и явное требование начать синхронизацию заново. См. редактирование контента, модели и поля, медиа, сайты и публичный API.

Дополнения management API используют минорную версию контракта 1.12.0. До первого выпуска изменения схемы остаются в начальной миграции. Полная совместная проверка и приостановленная работа с внешними сервисами остаются условиями выпуска.

Добавлено: инструменты редактора и интеграций

Заголовок раздела «Добавлено: инструменты редактора и интеграций»

В исходниках появились события вебхуков для контента, этапов работы, релизов, файлов и моделей; атомарная публикация набора записей одного сайта; связи с несколькими моделями внутри компонентов; страницы плагинов и блоки на главной; просмотр сохранённых ответов форм и уведомления для отдельных форм; отдельная медиатека с настраиваемыми полями файлов; ручной порядок записей коллекции.

Плагины могут обращаться к существующим службам модерации, перенаправлений, восстановления из корзины, удаления неиспользуемых файлов и отправки писем по одобренным шаблонам. Дополнительные метаданные страницы, структурированные элементы внутри текста и хлебные крошки по иерархии используют общие механизмы версий и рендеринга. Команда npm run reference:starter -- --out <directory> --config <file> создаёт стартовый проект Astro, который читает актуальный публичный API.

Эти изменения ещё не выпущены. Проверки изменений, полный прогон браузерных тестов, визуальная проверка на телефоне и компьютере и приёмка на реальных сервисах ещё предстоят. Изменения схемы включены в начальную миграцию; до первого релиза отдельные миграции не добавляются.

В формы сайта также добавлены закрытые файловые вложения с ограничениями типов, количества и размера. Файлы можно скачать из сохранённого ответа; при удалении ответа они также удаляются. В утверждённом шаблоне письма плагина можно выбрать получателя по доступной записи: её автора или назначенного проверяющего. Обе возможности используют существующие системы и пока ожидают итоговой приёмки.

Добавлено: октябрьские изменения аккаунтов, редактора, плагинов и миграции

Заголовок раздела «Добавлено: октябрьские изменения аккаунтов, редактора, плагинов и миграции»

Текущий код включает группы И/ИЛИ в списке; контекстный выбор связей и select; предварительную проверку обновлений существующих записей через CSV/XLSX с JSON-ячейками для связей, медиа и компонентов; правила доступа роли к отдельным записям; выравнивание rich text, связи и повторяемые группы плагинов; изолированные vendor snippet HTML/CSS/JavaScript; делегированные CRUD/версии/медиа; проверку обновлений и изолированный интерфейс плагина.

Безопасность аккаунта подтверждает новый адрес до смены email того же аккаунта, сохраняет членство, способы входа и историю, завершает сессии. Вход предлагает самостоятельный сброс при настроенной почте с одинаковым ответом для известных/неизвестных адресов. Предложения ИИ для alt-текста и подписей требуют проверки; обновление переводов после сохранения оригинала — выбора языков и явного согласия на замену. WordPress REST создаёт обычный WXR и поддерживает явную замену названия, слогана, логотипа, иконки, SEO-описания и настройки индексации из источника с ревизией назначения, квитанцией и отменой.

Экспорт сайта в собственном формате Dee Wan теперь использует версию 1.16, а экспорт истории — 3.1. Оба содержат дерево папок записей и расположение записей в папках; файл истории также содержит события перемещения. Текущие обработчики импорта требуют эти форматы и entry-folders.json; старые файлы экспортируйте заново из соответствующего источника.

Есть целевые локальные проверки. Итоговые браузерные и визуальные проверки ещё предстоят, код папок записей ещё ждёт итоговой интеграционной приёмки; развёртывание и приёмка реальных провайдеров не заявляются. См. матрицу возможностей.

Изменено: поиск по сайту находит связанные элементы только по их опубликованным названиям

Заголовок раздела «Изменено: поиск по сайту находит связанные элементы только по их опубликованным названиям»

Поиск по сайту и подсказки находят элемент по названиям элементов, на которые он ссылается, только пока те опубликованы, публичны и не в корзине, и только по их опубликованным названиям. Название, сохранённое из черновика, никогда не ищется и не показывается, а краткое описание результата не содержит названий связанных элементов. См. Связанные элементы.

Изменено: каждый лист таблицы содержит адрес записи на своём языке

Заголовок раздела «Изменено: каждый лист таблицы содержит адрес записи на своём языке»

Столбец slug на каждом листе выгруженной книги теперь содержит собственный адрес записи на языке этого листа. Раньше на каждом листе стоял адрес основного языка, поэтому нетронутая книга записи с разными адресами на разных языках блокировалась с spreadsheet_slug_mismatch. Выгрузите такие книги заново. Проверка также блокирует изменение на языке, который роль может читать, но не может менять (locale_denied), и значения, введённые на языке, перевода на который у записи нет (spreadsheet_locale_missing). См. Обмен через таблицу.

Изменено: администраторы сайта могут снова включить сайт

Заголовок раздела «Изменено: администраторы сайта могут снова включить сайт»

GET /api/sites также показывает неактивный сайт человеку, чья роль на нём включает site:settings, и админка предлагает ему Включить снова. Раньше неактивный сайт видел только суперадминистратор. Редакторы, читатели и люди без доступа к сайту по-прежнему его не видят, а работа с контентом неактивного сайта по-прежнему отклоняется. См. Снова включить сайт.

Изменено: ключ поля, значения которого хранят сохранённые версии, нельзя занять снова

Заголовок раздела «Изменено: ключ поля, значения которого хранят сохранённые версии, нельзя занять снова»

Сохранение модели или компонента, которое отдаёт ключ новому полю, пока сохранённые версии ещё хранят под ним значение, отклоняется: 409 model_change_blocked с изменением retained_key_reuse или 409 retained_key_reuse для компонента. Выберите другой ключ. Компонент, созданный или скопированный (fork) под slug, который сайт уже читает, проверяется так же — с определением, которое раньше использовалось под этим slug. Подтверждение замены не снимает отказ. В установке с отдельной базой на каждый сайт изменение общего компонента, из-за которого уже сохранённые значения читались бы иначе или которое добавляет поле, пока компонент используется в контенте, отклоняется с 409 split_topology_reinterpretation_unsupported. Перенесённая история и язык, возвращённый из корзины, ждут, пока изменение компонента удерживает их тип контента, как и сохранение. Импорт отклоняет запись или перенесённую версию, значение которой лежит под ключом, занятым полем после проверки импорта (409 import_definition_changed); дайте этому полю другой ключ и продолжите. Копия сайта или файл истории также сверяются с собственными определениями источника: значение под ключом, который источник не определял, а поле здесь прочитало бы, блокирует проверку (unmapped_source_key), было ли это поле здесь до проверки или появилось после. Дайте этому полю другой ключ и выберите Проверить снова. Значение, которое источник держит приватным, отклоняется, если поле этого сайта публичное (source_private_value); сделайте это поле приватным. Значение под ключом, которого у назначения не будет, отклоняется на проверке (unsupported_source_key), а не роняет запуск с unknown_fields. См. Приватные поля.

Изменено: ответы с общим черновиком следуют праву чтения

Заголовок раздела «Изменено: ответы с общим черновиком следуют праву чтения»

Право читать общий черновик определяется отдельно от права записи. Человек, который может изменить запись, но не может читать эту строку или этот язык, не получает черновик: current: null при 409 draft_conflict и draft: null при перехвате через API управления. Отмена, отклонённая после перехвата, сообщает Не удалено — редактирование перехвачено. Ваша работа сохранена. См. Общий черновик.

Изменено: права на настройку правил входа через Access повторно проверяются при сохранении

Заголовок раздела «Изменено: права на настройку правил входа через Access повторно проверяются при сохранении»

Сохранение правила входа через Cloudflare Access ничего не сохраняет, если сопоставленная роль или собственный доступ сохраняющего изменились во время сохранения. Ответ — 403 escalation_refused или 403 missing_permission, если правило теперь выходит за пределы прав пользователя, иначе 409 access_authority_changed. См. Вход через Cloudflare Access.

Изменено: отправка письма прекращается через 10 секунд

Заголовок раздела «Изменено: отправка письма прекращается через 10 секунд»

Любое письмо, которое отправляет CMS, включая доставку форм, считается неотправленным, если за 10 секунд нет ответа. Право на обработку каждой доставки формы закрепляется за исполнителем непосредственно перед отправкой. См. Доставка по почте.

DELETE /api/models/:id требует право model:delete вместо model:apply. Роль, у которой есть только model:apply, больше не может удалить модель. Отказы, очистка, аудит и изоляция сайтов не изменились.

Изменено: странице нужен адрес до публикации

Заголовок раздела «Изменено: странице нужен адрес до публикации»

Публикация записи модели страницы без адреса отвечает 409 page_address_required и ничего не публикует. Публикация закрепляет адрес в той же записи, поэтому адрес, который держит другая запись, отвечает slug_reserved, и ничего не публикуется. POST /api/pages/:id/address задаёт или меняет адрес страницы в новой черновой версии. Опубликованная страница сохраняет свой адрес, пока эта версия не опубликована, а публикация добавляет перенаправление со старого адреса. См. Визуальный редактор страниц.

Изменено: повторный ключ сохранения воспроизводится только для того же человека

Заголовок раздела «Изменено: повторный ключ сохранения воспроизводится только для того же человека»

Сохранение контента с повторным ключом идемпотентности воспроизводится только для того, кто его сделал. Тот же ключ и тело от другого человека отвечают 409 idempotency_key_reused и ничего не пишут.

Конструктор моделей больше не предлагает пресет Blog System. Блог — это назначение сайта с собственным стартовым набором. См. Сайты-блоги.

Переключатель отчётов для Dee Wan теперь находится в Установка → Отчёты об ошибках. Раньше он был в разделе Настройки → Интеграции.

2026-09-19 — обновление документации и контракта доставки

Заголовок раздела «2026-09-19 — обновление документации и контракта доставки»

Запись описывает изменения исходников, а не выпущенную версию или принятое развёртывание Cloudflare. Баннер документации показывает точную ревизию и дату сборки. Цель обновления равна этой ревизии только для чистой рабочей копии. Изменённая копия не является воспроизводимой целью обновления.

Действие оператора: используйте матрицу процессов GitHub до смены учётных данных. Проверьте ACCESS_CONFIG и завершите руководство по отсоединению до удаления зависимостей от CMS. Перейдите с индексирования только через upsert на полную замену поколения индекса.

Действие автора плагина: отклоняйте лимиты вне диапазона и дубликаты возможностей. Проверяйте форматы URL и семантические ограничения origin и предоставленного доступа. Согласуйте повторы команд с Protocol v1: структурированные ответы о несовпадении не допускают повтора, а при временных HTTP-статусах без outcome запрос можно повторить, а восстановленные запросы сохраняют ключ. Для локальной интеграции установите зависимости корня и frontend.

Документация: навигация по задачам добавляет первую публикацию, поля, аккаунты, миграцию, резервные копии, вебхуки, предпросмотр/клиент и отсоединение на английском, русском и тайском. Сборка требует актуальных хешей переводов, правильной локали скриншотов и происхождения исходников. Переведённые страницы не показывают скриншоты админки там, где у админки нет настоящей локализации. Настоящие локализованные снимки установщика по-прежнему публикуются.

Изменение исходников аутентификации: первый суперадминистратор новой установки может использовать пароль, magic link, Google или GitHub. Каждый способ подтверждает один нормализованный BOOTSTRAP_ADMIN_EMAIL. Обычный вход не создаёт аккаунты. Обратные вызовы провайдеров не меняют канонический email; описанный выше подтверждённый запрос владельца теперь разрешает явную смену, подтверждённые провайдеры с тем же email привязываются к одному аккаунту, новому пользователю назначаются права суперадминистратора из его строки в разделе Настройки → Люди после необходимых проверок, а старый суперадминистратор деактивируется на странице Установка в блоке Суперадминистраторы. Это изменения исходников, а не подтверждение выпущенной или развёрнутой сборки.

GET, POST, PATCH и DELETE на /api/permission_template и /api/permission_template/:id теперь возвращают 404 для любого вызывающего. Никакие права доступа не делают этот маршрут доступным.

Таблица permission_template удалена из начальной схемы базы данных. Она хранила шаблоны прав доступа для каждой модели, которые никто не читал: доступ определяется ролями сайта. Вместо этого выражайте права доступа через роли, в разделе Настройки → Роли.

Dee Wan ещё не выпущен, поэтому ни одна развёрнутая база данных не содержит эту таблицу. Локальная база данных, созданная из более ранней схемы разработки, всё ещё её содержит. Пересоздайте такую базу данных из текущей схемы.

Удалено: устаревшее исправление MIME-типов медиа

Заголовок раздела «Удалено: устаревшее исправление MIME-типов медиа»

Проверка doctor и setup, которая подсчитывала строки медиа без MIME-типа, и стоящие за ней скрипты исправления удалены. Каждый путь записи сохраняет проверенный MIME-тип, и ни одна предыдущая версия не записывала строки без него.

npm run doctor сообщает об отсутствующей или пустой привязке D1 DB в отдельной строке D1 binding (DB).


Стабильная версия ещё не выпущена (pre-MVP)
Коммит исходного кода: e207e63239a627fbd2ae9c414ef7c6eb19fcfe5a (с локальными изменениями)
Дата сборки (UTC): 2026-10-21T09:28:24.214Z
Коммит для обновления: не определён: в рабочей копии есть изменения. Примечания к выпуску