Skip to content

v9.0.0

Choose a tag to compare

@tripodsan tripodsan released this 11 Sep 12:31
· 5 commits to main since this release
Immutable release. Only release title and notes can be modified.
567d658

9.0.0 (2026-09-11)

  • feat(storage)!: overhaul Bucket listing API (503567b)
  • feat(storage)!: pluggable StorageBackend, extract @adobe/helix-shared-storage-s3 (b06f628)

Bug Fixes

Features

  • add 14-day minimum release age for external dependencies (fa254b5)
  • add a 'relPath' to the object info passed to the copy filter (#1222) (f6d2ff9)
  • add helix-shared-storage (#932) (6cb305b)
  • add selectFirst in query config (#958) (83d6f5f)
  • add server timing wrapper (#1118) (6d79778)
  • add shallow flag to storage.list (#1128) (07edb86)
  • add sourceBus() (186bc43)
  • add support for read-only s3 cache plugin (for testing) (#914) (e1d19d7)
  • add toSISize function with comprehensive tests (#1178) (6c1e65a)
  • add type to validation error (#1065) (ae0b8a9)
  • allow to set the content and code bus bucket names (#1061) (86afca7)
  • bucket.put() stores uncompressed length as metadata (#1172) (f74105e)
  • create extra export for modifiers (85ebf51)
  • disable R2 from environment (#1057) (622e16b)
  • move string utility methods from onedrive-support (#1033) (334fdaf)
  • option to include subfolder prefixes in bucket.list() (#1168) (fa6758f)
  • queue: add helix-shared-queue base package (#1272) (567d658)
  • secrets: Support custom AWS endpoint (#1151) (6908f69)
  • sitemap: add index property containing sitemaps to add to the index (#1254) (5a3055a)
  • storage: add HELIX_STORAGE_MAX_ATTEMPTS (#1152) (39fb6fe)
  • storage: add maxItems option to list() (#1149) (b2f017e)
  • storage: add a common StorageError class shared by S3Backend and AzureBackend (#1267) (2163aaf), closes #1264
  • storage: add Azure Blob Storage backend (#1263) (4b42ce2)
  • storage: add backend-agnostic conditional-copy support to CopyOptions (#1265) (99b1151)
  • storage: add streaming putStream() to the storage backend interface (#1266) (475e287)
  • storage: allow querying for CRC checksum (#1201) (5cdcd88)
  • storage: support mapping for bucket names (#1141) (e9e3ef9)
  • support characters function (#1022) (1f4e6f2)
  • support copy options (#1199) (a1eb197)
  • support disable R2 on bucket itself (#1077) (c432cb8)
  • support extension in sitemap location (#945) (9615dcd)
  • support rate limiting in processQueue (e4ad90d)
  • support selectFirst in indexing (#959) (eff9813)
  • suppot YAML in body data (if enabled) (#929) (248910c)
  • tokencache: add deserializeHook option to S3CachePlugin (#1233) (9de1ae0)
  • use correct deps (1441ffe)
  • use remove() for rmdir() (#1014) (0d4ce8b)

Reverts

  • Revert "feat: bucket.put() stores uncompressed length as metadata (#1172)" (#1176) (2aa7ee4)

BREAKING CHANGES

  • HelixStorage/HelixStorageS3 renamed to Storage/StorageS3;
    Storage now requires an explicit backendFactory; head()/get() metadata use
    lowerCamelCase common fields instead of raw S3 field names; putMeta() drops
    its opts param; AWS_S3_SYSTEM_HEADERS and Storage.s3() are removed.
  • list() return type changed from ObjectInfo[] to ListResult;
    ObjectInfo.path removed; ObjectInfo.lastModified type changed from string to
    Date; ListOptions.includePrefixes removed; listFolders() returns basenames
  • some indexing configurations will no longer be accepted