<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>openstack/swift — Stackers Network</title>
    <link>https://stackers.network/projects/openstack-swift/</link>
    <description>Weekly code-activity digest for openstack/swift from Stackers Network.</description>
    <item>
      <title>openstack/swift — Week of 2026-07-18</title>
      <link>https://stackers.network/projects/openstack-swift/2026-07-18</link>
      <guid>https://stackers.network/projects/openstack-swift/2026-07-18</guid>
      <pubDate>Sat, 18 Jul 2026 00:00:00 +0000</pubDate>
      <description>MPU feature branch. The bulk of the week — roughly 3,700 lines — landed on feature/mpu, reworking native multipart upload internals. The audit path was rewritten to use relic and action rows to drive audit (963943), the legacy multi_upload.py module was reverted, hidden rows are…</description>
      <content:encoded><![CDATA[<p><strong>MPU feature branch.</strong> The bulk of the week — roughly 3,700 lines — landed on <code translate="no">feature/mpu</code>, reworking native multipart upload internals. The audit path was rewritten to use relic and action rows to drive audit (<a href="https://review.opendev.org/c/openstack/swift/+/963943">963943</a>), the legacy <code translate="no">multi_upload.py</code> module was reverted, hidden rows are now allowed in the MPU DBs, and master was merged back into the branch. Two follow-ups fix native MPU ACL handler class discovery and make <code translate="no">s3api</code> verify that the MPU middleware is present in the pipeline before enabling native MPU.</p>
<p><strong>S3 and proxy fixes.</strong> On the S3 side, <code translate="no">list_objects</code> now checks request params for invalid UTF-8 bytes, and some noisy s3api logging was cleaned up. Encryption became more tolerant of errors while decrypting listings, <code translate="no">tempurl</code>/<code translate="no">staticweb</code> listings with <code translate="no">?inline</code> were fixed to work as intended, and the inline account-update timeout stopped pulling logging into the hot path.</p>
<p><strong>Object server and updater.</strong> The object server uses <code translate="no">conn_timeout</code> in more places, and object-updater settings docs were clarified.</p>
<p><strong>Tooling.</strong> The CORS job is voting again, <code translate="no">gettext</code> was dropped from <code translate="no">bindep</code>, and a stale note about old pip behavior was removed from the docs.</p>]]></content:encoded>
    </item>
    <item>
      <title>openstack/swift — Week of 2026-07-11</title>
      <link>https://stackers.network/projects/openstack-swift/2026-07-11</link>
      <guid>https://stackers.network/projects/openstack-swift/2026-07-11</guid>
      <pubDate>Sat, 11 Jul 2026 00:00:00 +0000</pubDate>
      <description>Versioning correctness. The main functional change teaches object versioning to ignore Timestamp.offset when constructing a version-id, landing on master and then forward-ported so the fix is consistent across supported branches…</description>
      <content:encoded><![CDATA[<p><strong>Versioning correctness.</strong> The main functional change teaches object versioning to ignore <code translate="no">Timestamp.offset</code> when constructing a <code translate="no">version-id</code>, landing on master and then forward-ported so the fix is consistent across supported branches (<a href="https://review.opendev.org/c/openstack/swift/+/990515">https://review.opendev.org/c/openstack/swift/+/990515</a>). A trivial follow-up aligns a stray <code translate="no">version_id</code> comment with the <code translate="no">version-id</code> spelling used everywhere else.</p>
<p><strong>Crypto and eventlet.</strong> A crypto listings bug is fixed for the case where the middleware pipeline is misconfigured, so container listings behave sanely instead of surfacing encrypted metadata. On the runtime side, Swift gains a flag to disable eventlet entirely, and separately quiets the eventlet deprecation warnings that have been cluttering logs and test output.</p>
<p><strong>Release plumbing.</strong> The bulk of the week is release mechanics: AUTHORS and CHANGELOG for 2.38.0, plus CHANGELOG entries for the 2.37.2, 2.36.2 and 2.35.3 stable releases, forward-ported onto master so history stays linear.</p>
<p><strong>CI.</strong> Rolling-upgrade jobs are repaired across three branches, the <code translate="no">swift-multinode-rolling-upgrade-dalmatian</code> job gets a one-line fix in the same three places, and a failing CORS job is made non-voting on four branches while it's investigated.</p>]]></content:encoded>
    </item>
    <item>
      <title>openstack/swift — Week of 2026-06-27</title>
      <link>https://stackers.network/projects/openstack-swift/2026-06-27</link>
      <guid>https://stackers.network/projects/openstack-swift/2026-06-27</guid>
      <pubDate>Sat, 27 Jun 2026 00:00:00 +0000</pubDate>
      <description>Observability. A new decorator landed in swift.common to log a timing breakdown for slow requests, and the object server picked it up to emit per-stage timings for slow DELETEs (review.opendev.org/c/openstack/swift/+/952260). Together that's roughly 600 lines of new…</description>
      <content:encoded><![CDATA[<p><strong>Observability.</strong> A new decorator landed in <code translate="no">swift.common</code> to log a timing breakdown for slow requests, and the object server picked it up to emit per-stage timings for slow DELETEs (<a href="https://review.opendev.org/c/openstack/swift/+/952260">review.opendev.org/c/openstack/swift/+/952260</a>). Together that's roughly 600 lines of new instrumentation aimed at diagnosing latency outliers in the request path.</p>
<p><strong>Gatekeeper hardening.</strong> The gatekeeper middleware now blocks <code translate="no">X-Container-Host</code> and the other internal update headers from arriving via client requests, with the same fix landed on master and backported across three stable branches. On the edge protocol side, s3api now asks the client to close the connection on <code translate="no">RequestTimeout</code> rather than leaving it in an ambiguous state.</p>
<p><strong>Stability and internals.</strong> Metadata servers now explicitly close their DB connections, the largest single patch of the week at ~475 lines touched. The <code translate="no">Timestamp</code> offset handling was simplified, with validation cleaned up and zero now accepted as a valid offset. <code translate="no">swift-ring-builder write_ring</code> gained a <code translate="no">--dev-id-bytes</code> knob, and a flaky <code translate="no">test_DELETE_container_updates</code> timestamp collision was fixed.</p>
<p><strong>Test coverage.</strong> Dispersion reports gained a ~300-line test suite filling out previously thin coverage.</p>]]></content:encoded>
    </item>
    <item>
      <title>openstack/swift — Week of 2026-06-06</title>
      <link>https://stackers.network/projects/openstack-swift/2026-06-06</link>
      <guid>https://stackers.network/projects/openstack-swift/2026-06-06</guid>
      <pubDate>Sat, 06 Jun 2026 00:00:00 +0000</pubDate>
      <description>Security hardening. The headline work is hardened pickle unmarshalling, landed on master and backported to two stable branches at ~400 lines each — roughly 900 lines of churn dedicated to making Swift's pickle deserialization safer. Paired with that, the s3api gained stricter…</description>
      <content:encoded><![CDATA[<p><strong>Security hardening.</strong> The headline work is hardened pickle unmarshalling, landed on master and backported to two stable branches at ~400 lines each — roughly 900 lines of churn dedicated to making Swift's pickle deserialization safer. Paired with that, the s3api gained stricter input handling: it now errors on truncated <code translate="no">aws-chunked</code> input (also backported), rejects oversized chunked S3 XML bodies, and rejects oversized chunked SLO manifests.</p>
<p><strong>S3 API surface.</strong> Beyond the hardening, s3api picked up support for the <code translate="no">x-amz-server-side-encryption</code> response header (<a href="https://review.opendev.org/c/openstack/swift/+/990318">990318</a>), learned to handle empty <code translate="no">Quiet</code> elements in S3 multi-delete requests, and added <code translate="no">publicAccessBlock</code> to the not-implemented list so clients get a clean rejection rather than confusing behavior.</p>
<p><strong>Diagnostics.</strong> <code translate="no">ssync_receiver</code> log lines are now uniformly annotated with the object path, and the relinker logs unexpected worker failures instead of swallowing them — both targeted at making field debugging less archaeological.</p>
<p><strong>Tooling and CI.</strong> A handful of stable-only fixes kept older branches green, including pinning to older OpenStack requirements and pinning tempest; CHANGELOG entries for stable releases were forward-ported to master, and a <code translate="no">.mailmap</code> entry was refreshed.</p>]]></content:encoded>
    </item>
    <item>
      <title>openstack/swift — Week of 2026-05-30</title>
      <link>https://stackers.network/projects/openstack-swift/2026-05-30</link>
      <guid>https://stackers.network/projects/openstack-swift/2026-05-30</guid>
      <pubDate>Sat, 30 May 2026 00:00:00 +0000</pubDate>
      <description>Security hardening. The biggest change of the week tightens pickle unmarshalling across Swift, restricting what classes can be reconstructed from on-disk and on-wire pickled data (988826, ~400 lines touched). A small follow-up cleans up the bandit warnings that fell out of the…</description>
      <content:encoded><![CDATA[<p><strong>Security hardening.</strong> The biggest change of the week tightens pickle unmarshalling across Swift, restricting what classes can be reconstructed from on-disk and on-wire pickled data (<a href="https://review.opendev.org/c/openstack/swift/+/988826">988826</a>, ~400 lines touched). A small follow-up cleans up the bandit warnings that fell out of the audit.</p>
<p><strong>Timestamps and versioning.</strong> Swift's <code translate="no">Timestamp</code> type gained richer offset support through <code translate="no">__invert__</code>, with a follow-up refining the offset semantics. Object versioning was reworked to use <code translate="no">x-backend-timestamp</code> as the source version, replacing the previous approach for picking which version to restore.</p>
<p><strong>s3api aws-chunked.</strong> Truncated <code translate="no">aws-chunked</code> uploads are now rejected with an explicit error rather than being silently accepted, landing alongside functional tests that exercise the truncation path and a second round of functional coverage for additional cases.</p>
<p><strong>CI and docs.</strong> A new <code translate="no">swift-multinode-rolling-upgrade-gazpacho</code> job joins the rolling-upgrade matrix and the dalmatian variant got a small fix; the py310 unit-test job is pinned to <code translate="no">stable/2026.1</code> constraints. The SAIO setup guide was trimmed of outdated instructions, and a flaky sharder test was made more robust.</p>]]></content:encoded>
    </item>
  </channel>
</rss>
