Files
rust-xmpp/CHANGELOG-0.7.8.md
wt b30fc524d8 - Offline CLI `upload-migrate OLD_CONFIG NEW_CONFIG --component HOST
[--execute]`: dry run по умолчанию, local ↔ S3 и S3 ↔ S3 без удаления
  source.
- Последовательное копирование с проверкой размера и полным SHA-256
  readback
  destination; конфликтующий объект не перезаписывается. Временный диск
  —
  максимум один переносимый файл дополнительно к постоянному
  destination.
- Durable migration journal позволяет продолжить прерванную операцию с
  теми
  же конфигурациями. Незавершённый или повреждённый journal блокирует
  startup;
  backend identity меняется только после проверки всех файлов.
- Native `uploads`/`upload_stats`, slots и JWT сохраняются;
  поддерживаются
  native локальные файлы без Rust completion sidecar. Миграция требует
  остановки RustXMPP и Prosody, использующих общий `data_path`.
- Multipart intent сохраняется до создания удалённого upload. Recovery
  находит потерянный UploadId через paginated listing и очищает только
  точный
  key принадлежащего slot. При сохранных metadata cleanup не зависит от
  lifecycle; lifecycle остаётся дополнительной защитой, а не гарантией.
- Перед completion сохраняется durable marker. Неопределённый результат
  completion при отсутствии подтверждённого объекта помещает только этот
  slot в quarantine: PUT 409, retention не удаляет его, maintenance
  повторяет
  сверку. Startup продолжается; сохраняется single-use семантика.
- Добавлены network regressions миграции и расширены проверки multipart
  recovery, потерянных ответов, отмены запросов и конфликтов
  destination.

Настройка, команды миграции, recovery и ограничения отката:
[docs/HTTP-UPLOAD.md](docs/HTTP-UPLOAD.md).

Команды, результаты и границы подтверждения, включая qualification
реального
object store и 10 GiB:
[docs/VALIDATION-0.7.9.md](docs/VALIDATION-0.7.9.md).

Итог: 265 тестов, нагрузка 500 TLS клиентов и native reference —
успешно.
Реальные 10 GiB через MinIO (описанный test adapter), 1280parts и полный
SHA-256
пройдены; подробности — [VALIDATION-0.7.9](docs/VALIDATION-0.7.9.md).
2026-10-20 17:06:14 +07:00

31 lines
2.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 0.7.8
- Несколько XEP-0363 `http_file_share` components на общих HTTP listeners:
маршрутизация по Host и mount, отдельные discovery/IQ slots, квоты и tokens.
- Разные HTTP hosts могут использовать одинаковые mounts; один host — разные
непересекающиеся paths. Неоднозначные одинаковые/вложенные mounts отвергаются
при startup с именами components и конфликтующими путями.
- Upload dispatcher компонуется с WebSocket, BOSH и `http_altconnect` без
объединения конфликтующих fallback routers.
- Сохранён local backend; добавлен S3-compatible gateway с SigV4, path-style
addressing, HTTPS и loopback HTTP для изолированных тестов. Credentials
можно получать через поля `*_env`.
- Multipart передача частями 8 MiB, максимум восемь активных S3 uploads
на component,
проверка stream size, single-use PUT, abort при ошибке/отмене и recovery
сохранённых multipart records перед открытием listeners.
- Native XMPP metadata остаются локальными; backend identity guard запрещает
скрытую смену хранилища при существующих slots. Rotation S3 credentials
не меняет identity backend.
- Добавлены network regressions для нескольких components и независимый
локальный S3 protocol fixture с повторной проверкой SigV4. Fixture не
подтверждает совместимость с production AWS S3 или MinIO.
Настройка, lifecycle `AbortIncompleteMultipartUpload`, recovery и ограничения:
[docs/HTTP-UPLOAD.md](docs/HTTP-UPLOAD.md).
Реальная передача 10 GiB по HTTPS с local backend проверена: полный PUT/GET,
совпадение SHA-256, Range за 4 GiB и выборочное измерение памяти. Полная
регрессия, нагрузка 500 TLS клиентов и native reference tests пройдены.
Результаты: [docs/VALIDATION-0.7.8.md](docs/VALIDATION-0.7.8.md).