INTEGRITY Документация

Примечания к выпуску

Подписаться на RSS

2026-04-27

2025-09-23

  • Исправлена ошибка, из-за которой можно было попытаться удалить объекты, даже если к ним в dashboard было применено правило блокировки бакета. Ранее такие объекты на мгновение исчезали из таблицы, но появлялись снова после обновления страницы. Теперь действие удаления для заблокированных объектов в dashboard недоступно.

2025-09-22

  • Мы обновили панель управления R2, сделав её более понятной, чтобы вам было проще находить нужное и выполнять действия. Инструкции по использованию R2 с различными API-интерфейсами доступны в боковой панели, а документация внизу страницы.

2025-07-03

  • Теперь алгоритм контрольной суммы CRC-64/NVME поддерживается как для обычных, так и для составных объектов. Это также добавляет поддержку FULL_OBJECT Тип контрольной суммы для составных загрузок. См. раздел «Совместимость типов контрольных сумм» здесь.

2024-12-03

2024-11-21

  • Теперь Sippy можно включить для бакетов в юрисдикции (например, EU, FedRAMP).
  • Исправлена проблема в Sippy, из-за которой запросы GET/HEAD к объектам с определёнными специальными символами приводили к ответам с ошибкой.

2024-11-20

  • Океания (OC) теперь доступна как регион R2.
  • Максимальное количество бакетов на аккаунт по умолчанию теперь составляет 1 миллион. Если вам нужно больше 1 миллиона бакетов, обратитесь в Служба поддержки Cloudflare.
  • Публичные бакеты, доступные через собственный домен, теперь поддерживают Smart Tiered Cache.

2024-11-19

  • R2 bucket lifecycle команда добавлена в Wrangler. Поддерживает просмотр списка, добавление и удаление правил жизненного цикла объектов.

2024-11-14

  • R2 bucket info команда добавлена в Wrangler. Отображает расположение бакета и основные метрики.

2024-11-08

2024-11-06

2024-11-01

2024-10-28

2024-10-21

  • Теперь уведомления о событиях можно настроить для бакетов R2 в юрисдикции (например, EU, FedRAMP).

2024-09-26

  • Уведомления о событиях для R2 теперь общедоступен. Уведомления о событиях теперь поддерживают более высокую пропускную способность (до 5,000 сообщений в секунду на очередь), их можно настроить в панели управления и Wrangler, а также добавлена поддержка удалений по правилам жизненного цикла.

2024-09-18

2024-08-26

  • Добавлена поддержка настройки пользовательских доменов бакета R2 через API.

2024-08-21

  • Sippy теперь общедоступен. Метрики текущих миграций теперь можно найти в панели управления или через GraphQL analytics API.

2024-07-08

  • Добавлен журнал миграции для Super Slurper к сводке миграции в панели управления.

2024-06-12

  • Super Slurper теперь поддерживает миграцию объектов размером до 1TB.

2024-06-07

  • Исправлена проблема, из-за которой Sippy не мог копировать объекты из бакетов S3 с настроенным SSE.

2024-06-06

  • Теперь R2 будет игнорировать x-purpose параметр запроса.

2024-05-29

  • Добавлена поддержка Infrequent Access класс хранения (бета).

2024-05-24

2024-04-03

2024-02-20

  • Когда OPTIONS запрос к публичной точке входа не включает origin заголовок, HTTP 400 вместо HTTP 401 возвращается.

2024-02-06

  • Форма ответа GET /buckets/:bucket/sippy изменился.
  • /buckets/:bucket/sippy/validate конечная точка предоставляется через APIGW для проверки конфигурации Sippy.
  • Форма объекта конфигурации при изменении настроек Sippy изменилась.

2024-02-02

  • Обновлена GetBucket конечная точка: теперь выполняет получение по bucket_name вместо bucket_id.

2024-01-30

  • Исправлена ошибка, из-за которой API принимал пустые строки в AllowedHeaders свойство PutBucketCors действия.

2024-01-26

  • Части теперь автоматически сортируются по возрастанию независимо от порядка ввода во время CompleteMultipartUpload.

2024-01-11

  • Sippy доступен в бета версии для Google Cloud Storage (GCS).

2023-12-11

  • x-id параметр запроса для S3 ListBuckets действие теперь игнорируется.
  • x-id параметр запроса теперь игнорируется для всех действий S3.

2023-10-23

  • PutBucketCors теперь принимает только допустимые источники.

2023-09-01

  • Исправлена проблема с ListBuckets где name_contains параметр также выполнял бы поиск по названию юрисдикции.

2023-08-23

  • Config Audit Logs: общедоступно.

2023-08-11

  • Теперь пользователи могут выполнять условные операции публикации составной загрузки. Если при публикации загрузки условие не выполняется, загрузка становится недоступной и считается прерванной.

2023-07-05

  • Улучшена производительность операций чтения диапазонов (ranged reads) в очень больших файлах. Ранее чтение диапазонов ближе к концу очень больших файлов было заметно медленнее, чем чтение диапазонов в файлах меньшего размера. Теперь производительность должна оставаться стабильно высокой независимо от размера файла.

2023-06-21

2023-06-16

  • Исправлена ошибка, из-за которой при вызове GetBucket для несуществующего бакета возвращала 500 вместо 404.
  • Улучшена совместимость с S3 для ListObjectsV1: теперь nextmarker устанавливается только когда truncated равен true.
  • Привязки Worker для R2 теперь поддерживают разбор условных заголовков с несколькими etag. Такие etag теперь могут быть строгими, слабыми или иметь значение подстановочного знака. Ранее привязки принимали заголовки только с одним строгим etag.
  • S3 putObject теперь поддерживает контрольные суммы sha256 и sha1. Привязки R2 Worker уже поддерживали их ранее.
  • CopyObject в S3-совместимом API теперь поддерживает специфичные для Cloudflare заголовки, которые позволяют сделать операцию копирования условной в зависимости от состояния целевого объекта.

2023-04-01

  • GetBucket теперь доступен для использования через Cloudflare API.
  • Подсказки о местоположении теперь можно задать при создании бакета как через S3 API, так и через панель управления.

2023-03-16

  • ListParts API реализован и доступен для использования.
  • HTTP2 теперь по умолчанию включён для новых пользовательских доменов, привязанных к бакетам R2.
  • Жизненный цикл объектов теперь доступен для использования.
  • Исправление ошибки: запросы к публичным бакетам теперь будут возвращать Content-Encoding заголовок для файлов gzip, когда Accept-Encoding: gzip используется.

2023-01-27

  • Токены аутентификации R2, созданные на странице токенов R2, теперь по умолчанию привязаны только к одной учётной записи.

2022-12-07

  • Исправлены предварительные (preflight) запросы CORS для S3 API, что позволяет использовать S3 SDK в браузере.
  • Передача заголовка range в get операция в R2 bindings API теперь должна работать как ожидается.

2022-11-30

  • Запросы с заголовком x-amz-acl: public-read больше не отклоняются.
  • Исправлены проблемы с правилами CORS с использованием подстановочных знаков и подписанными URL-адресами.
  • Исправлена проблема, из-за которой ListObjects приводил к таймауту при разделённом листинге ключей, нормализованных по Unicode.
  • S3 API: PutBucketCors теперь отклоняет запросы с неизвестными ключами в теле XML.
  • Подписание дополнительных заголовков больше не приводит к сбоям в предварительных запросах CORS для presigned URL.

2022-11-21

  • Исправлена ошибка в ListObjects где startAfter пропускал бы объекты, чьи ключи содержат цифры сразу после startAfter префикс.
  • Добавлены привязки Worker для составной (multipart) загрузки.

2022-11-17

  • Безусловно возвращает HTTP 206 для запросов с указанием диапазона, чтобы соответствовать поведению других S3-совместимых реализаций.
  • Исправлена ошибка CORS, из-за которой AllowedHeaders в конфигурации CORS обрабатывались с учётом регистра.

2022-11-08

  • Копирование составных объектов через CopyObject снова включено.
  • UploadPartCopy снова включено.

2022-10-28

  • Ожидается, что размеры частей составной загрузки всегда одинаковы, но теперь эта проверка выполняется при завершении загрузки, а не при загрузке каждой части.
  • Исправлена проблема с производительностью, из-за которой параллельные загрузки частей multipart-загрузки отклонялись.

2022-10-26

  • Исправлено чтение по диапазонам для multipart-объектов с размером частей, не выровненным по 64 КиБ.

2022-10-19

  • HeadBucket теперь устанавливает x-amz-bucket-region к auto в ответе.

2022-10-06

  • Временно отключено UploadPartCopy пока мы разбираемся с проблемой.

2022-09-29

  • Исправлена проблема с CORS, из-за которой Access-Control-Allow-Headers не устанавливалось для предварительных запросов (preflight).

2022-09-28

  • Исправлена ошибка, из-за которой конфигурация CORS не применялась к конечной точке S3.
  • Больше не отображать Access-Control-Expose-Headers заголовок ответа, если ExposeHeader не определено.
  • Публичные бакеты больше не будут возвращать Content-Range заголовок ответа, если ответ не является частичным.
  • Исправлено отображение CORS для S3 HeadObject операцию.
  • Исправлена ошибка, из-за которой отсутствие подходящей конфигурации CORS могло приводить к 403 ответ.
  • Временно отключено копирование объектов, созданных с помощью составной загрузки.
  • Исправлена ошибка в привязках Workers, из-за которой при некорректно сформированных ranged .get запросы.

2022-09-27

  • Ответы на предварительные запросы CORS (preflight) и добавление заголовков CORS для остальных ответов теперь реализованы для S3 и публичных бакетов. На данный момент настроить CORS можно только через S3 API.
  • Исправление усечения списка в привязках, чтобы листинг ключей с пользовательскими метаданными, содержащими " или когда некоторые ключи или значения содержат определенные многобайтовые значения UTF-8.
  • S3 GetObject операция теперь возвращает только Content-Range в ответ на запрос с указанием диапазона.

2022-09-19

  • R2 put() параметрам привязки теперь можно передать onlyIf поле, аналогично get(), который выполняет условную загрузку.
  • R2 delete() привязка теперь поддерживает удаление нескольких ключей одновременно.
  • R2 put() привязка теперь поддерживает указанные пользователем контрольные суммы SHA-1, SHA-256, SHA-384, SHA-512 в опциях.
  • Теперь контрольные суммы объектов, заданные пользователем, доступны в R2 get() и head() привязок. MD5 включается по умолчанию для объектов, загруженных не составной загрузкой.

2022-09-06

  • S3 CopyObject операция теперь включает x-amz-version-id и x-amz-copy-source-version-id в заголовках ответа для согласованности с другими методами.
  • ETag для multipart-файлов, загруженных вскоре после Open Beta, теперь включают количество частей в качестве суффикса.

2022-08-17

  • S3 DeleteObjects операция больше не удаляет пробелы вокруг ключей перед удалением. Из-за этого файлы с пробелами в начале или конце имени невозможно было удалить. Кроме того, если существовал объект с ключом без этих пробелов, удалялся именно он. Операция S3 DeleteObject операцию это не затронуло.
  • Исправлена поддержка подписанных URL-адресов для S3 ListBuckets и ListObjects операции.

2022-08-06

  • Загрузки будут автоматически определять Content-Type на основе тела файла, если оно явно не задано в PutObject запрос. Эта функциональность будет добавлена в операции multipart в будущем.

2022-07-30

  • Исправлена корректная работа условных операторов S3 при указании LastModified дате последней загрузки, исправления для bindings появятся в следующем релизе.
  • If-Match / If-None-Match заголовки теперь поддерживают массивы ETags, слабых ETags и подстановочных знаков (*) согласно стандарту HTTP и недокументированному поведению AWS S3.

2022-07-21

  • Добавлена тестовая реализация следующей операции, которая имитирует ответ, возвращаемый обычным бакетом AWS S3 сразу после его создания: GetBucketAcl.

2022-07-20

  • Добавлены тестовые реализации следующих операций, которые имитируют ответ, возвращаемый обычным бакетом AWS S3 сразу после его создания:

    • GetBucketVersioning
    • GetBucketLifecycleConfiguration
    • GetBucketReplication
    • GetBucketTagging
    • GetObjectLockConfiguration

2022-07-19

  • Исправлена проблема совместимости с S3 в ответах об ошибках для MinIO .NET SDK и других инструментов, которые не ожидают xmlns атрибут namespace на верхнем уровне Error тег.
  • Токены продолжения списка, полученные до 2022-07-01, больше не принимаются, и их необходимо получить заново через новый list операцию.
  • list() привязка теперь корректно возвращает меньший лимит, если иначе было бы возвращено слишком много данных (ранее возвращала Internal Error).

2022-07-14

  • Улучшения обработки ошибок 500: теперь мы преобразуем ошибки, поэтому то, что раньше было проблемами параллелизма для некоторых операций, теперь должно быть TooMuchConcurrency вместо InternalError. Кроме того, благодаря внутренним улучшениям мы снизили частоту ошибок 500.
  • ListMultipartUpload корректно кодирует возвращённый Key если encoding-type указан.

2022-07-13

  • XML-документы S3, отправленные в R2 и содержащие объявление XML, не отклоняются с 400 Bad Request / MalformedXML.
  • Незначительное исправление совместимости XML с S3, затрагивающее только Arq Backup для Windows (не версию для Mac). Теперь ответ содержит префикс тега объявления XML, а атрибут xmlns присутствует во всех тегах верхнего уровня ответа.
  • Бета ListMultipartUploads поддержка.

2022-07-06

  • Добавлена поддержка r2_list_honor_include флаг совместимости появится в одном из следующих выпусков среды выполнения (поведение по умолчанию начиная с даты совместимости 2022-07-14). Без этого флага или даты совместимости list продолжит неявно работать как include: ['httpMetadata', 'customMetadata'] независимо от того, что вы укажете.
  • cf-create-bucket-if-missing можно задать для PutObject/CreateMultipartUpload запрос, чтобы неявно создать бакет, если он не существует.
  • Исправлена совместимость с S3 для XML, не соответствующего спецификации клиента MinIO, при публикации multipart-загрузок. Любые начальные и конечные кавычки в CompleteMultipartUpload теперь необязательны и игнорируются, поскольку именно так, судя по всему, ведёт себя нестандартная реализация AWS.

2022-07-01

  • Неподдерживаемые параметры поиска для ListObjects/ListObjectsV2 теперь отклоняются с 501 Not Implemented.
  • Исправления для листинга:
    • Исправлено поведение листинга, когда количество файлов в папке превышает лимит (ранее для такой большой папки CommonPrefix отображался N раз, где N = количество дочерних элементов в CommonPrefix, делённое на лимит).
    • Исправлен редкий случай, когда при листинге объекты, имеющие общее базовое имя с "папкой", могли пропускаться.
    • Исправлен листинг для файлов с общим префиксом.
  • DeleteObjects теперь может обрабатывать до 1000 объектов за раз.
  • S3 CreateBucket запрос может указывать x-amz-bucket-object-lock-enabled со значением false и не получать отказ в запросе с NotImplemented ошибку. Значение true по-прежнему будут отклоняться, так как R2 пока не поддерживает блокировку объектов.

2022-06-17

  • Исправлена регрессия, затрагивавшая некоторых клиентов при использовании пустого разделителя.
  • Добавлена поддержка предварительно подписанных URL-адресов S3.

2022-06-16

  • Исправлена регрессия в S3 API UploadPart операция, где TooMuchConcurrency & NoSuchUpload ошибки возвращались как NoSuchBucket.

2022-06-13

  • Исправлена ошибка в S3 API ListObjectsV2 операция не возвращала пустые папки в качестве общих префиксов при использовании разделителей.
  • S3 API ListObjectsV2 KeyCount параметр теперь корректно возвращает сумму ключей и общих префиксов, а не только ключи.
  • Недопустимые курсоры для операций получения списка больше не приводят к ошибке InternalError и теперь возвращают соответствующее сообщение об ошибке.

2022-06-10

  • ContinuationToken поле теперь корректно возвращается в ответе, если оно было указано в S3 API ListObjectsV2 запрос.
  • Исправлена ошибка, из-за которой S3 API AbortMultipartUpload операция вызывала ошибку при многократном вызове.

2022-05-27

  • Исправлена ошибка в S3 API, связанная с PutObject или .put() привязка могла завершиться ошибкой, но при этом загрузка в бакет отображалась как успешная.
  • Если условные заголовки передаются в S3 API UploadObject или CreateMultipartUpload операции и объект существует, возвращается 412 Precondition Failed код состояния будет возвращён, если эти проверки не пройдены.

2022-05-20

  • Исправлена ошибка, возникавшая при Accept-Encoding использовалось в SignedHeaders при отправке запросов к S3 API приводит к SignatureDoesNotMatch ответ.

2022-05-17

  • Исправлена ошибка, из-за которой запросы к S3 API некорректно обрабатывали незакодированные параметры, используемые для подписи авторизации.
  • Исправлена ошибка, из-за которой в запросах к S3 API ключи, похожие на числа, распознавались как числа, а не как строки.

2022-05-16

  • Добавление поддержки S3 пути в стиле virtual-hosted, например <BUCKET>.<ACCOUNT_ID>.r2.cloudflarestorage.com вместо маршрутизации на основе пути (<ACCOUNT_ID>.r2.cloudflarestorage.com/<BUCKET>).
  • Реализовано GetBucketLocation для совместимости с внешними инструментами, это всегда будет возвращать LocationConstraint auto.

2022-05-06

  • S3 API GetObject диапазоны теперь включают границы (bytes=0-0 корректно вернёт первый байт).
  • S3 API GetObject частичные чтения возвращают правильный 206 Partial Content код ответа.
  • Копирование из несуществующего ключа (или из несуществующего бакета) в другой бакет теперь возвращает корректный NoSuchKey / NoSuchBucket ответ.
  • Теперь S3 API возвращает корректный Content-Type: application/xml заголовок ответа на соответствующих конечных точках.
  • Теперь составные загрузки имеют -N суффикс к etag, обозначающий число частей, с которыми был опубликован файл.
  • UploadPart и UploadPartCopy теперь возвращают корректные сообщения об ошибках, например TooMuchConcurrency или NoSuchUpload, вместо 'internal error'.
  • UploadPart теперь можно отправить часть нулевой длины.

2022-05-05

  • При использовании S3 API пустая строка и us-east-1 теперь будет служить псевдонимом для auto регион для совместимости с внешними инструментами.
  • GetBucketEncryption, PutBucketEncryption и DeleteBucketEncrypotion теперь поддерживаются (единственное поддерживаемое на данный момент значение: AES256).
  • Неподдерживаемые операции явно отклоняются как нереализованные, вместо неявного преобразования в ListObjectsV2/PutBucket/DeleteBucket соответственно.
  • S3 API CompleteMultipartUploads запросы теперь корректно экранируются.

2022-05-03

  • Курсоры пагинации больше не возвращаются, если ключи в бакете совпадают с MaxKeys аргумент.
  • S3 API ListBuckets операция теперь принимает cf-max-keys, cf-start-after и cf-continuation-token заголовки ведут себя так же, как соответствующие параметры URL.
  • S3 API ListBuckets и ListObjects конечные точки теперь позволяют per_page равным 0.
  • S3 API CopyObject параметр source теперь требует начальный слэш.
  • S3 API CopyObject операция теперь возвращает NoSuchBucket ошибку при копировании в несуществующий bucket вместо внутренней ошибки.
  • Установите обязательное требование для auto в подписи SigV4 и CreateBucket LocationConstraint параметр.
  • S3 API CreateBucket операция теперь возвращает правильный location заголовок ответа.

2022-04-14

  • Теперь S3 API поддерживает подписанные полезные нагрузки без разбиения на части.
  • Исправлено .put() для Workers R2 bindings.
  • Исправлена регрессия, из-за которой имена ключей некорректно декодировались при использовании S3 API.
  • Исправлена ошибка, из-за которой удаление объекта, а затем другого объекта, являющегося префиксом первого, могло приводить к ошибкам.
  • S3 API DeleteObjects операция больше не возвращает ошибку в некоторых случаях, даже если объект был удалён.
  • Исправлена ошибка, из-за которой startAfter и continuationToken не работали в операциях получения списка.
  • S3 API ListObjects операция теперь корректно отображает Prefix, Delimiter, StartAfter и MaxKeys в ответе.
  • S3 API ListObjectsV2 теперь корректно учитывает encoding-type параметр.
  • S3 API PutObject операция теперь работает с POST запросов на s3cmd совместимость.

2022-04-04

  • S3 API DeleteObjects запрос теперь корректно возвращает MalformedXML ошибку вместо InternalError при передаче более 128 ключей.