Skip to content

Latest commit

 

History

History
1363 lines (1050 loc) · 161 KB

File metadata and controls

1363 lines (1050 loc) · 161 KB

Historical Changelog

v0.14.0 (2026-06-18)

Full Changelog

Breaking changes:

Implemented enhancements:

  • Support PutMultipartOptions for MultipartStore::create_multipart #745
  • Supporting CPKs for Azure Blob Requests #741
  • Support Extensions in *Result objects #740
  • Implement Signer on PrefixStore #738
  • Make reqwest optional #723
  • Expose azure::split_sas for custom SAS credential providers #720
  • GCS: support bearer-token auth in parse_url_opts without bypassing default option handling #716
  • Custom credentials for signing cannot be provided to GCP stores #698
  • Read timeouts are not supported #680
  • AWS_REQUEST_PAYER="requester" vs Boolean #668
  • Reliable file writes for LocalFileSystem: explicit close error checking and opt-in sync #661
  • infer use_fabric_endpoint based on URI containing "dfs.fabric.microsoft.com" #658
  • Support CRC checksum #611
  • Change crypto provider from ring to aws-rust-lc #413

Fixed bugs:

  • resolve_bucket_region fails TLS handshake for bucket names containing dots #747
  • Extensions not passed in BufWriter single put case #735
  • GoogleCloudStorage::copy overwrite semantics are flipped. #712
  • BUG: in-memory storage loss part on upload #682
  • PrefixStore::head doesn't strip prefix from meta.location #664
  • Invalid range in read with get from object_store #654
  • newline_delimited_stream incorrect processing Generic { store: "LineDelimiter", source: UnterminatedString } on valid CSVs (impacts datafusion) #650
  • When the backend service returns an HTTP 500, the object store panics #414
  • Object store failing during bulk delete in S3 #277

Closed issues:

  • Document new feature flag system #749
  • Add CI check to ensure reqwest is not accidentally added #748
  • Discuss feature naming for optional transport and crypto support #744
  • S3: delete() now requires DeleteObjects (bulk delete) support, breaks S3-compatible providers (Alibaba Cloud OSS, etc.) #731
  • use startFrom when listing blobs from OneLake endpoints #697
  • MicrosoftAzure::list_with_offset returns empty on OneLake since 0.13.0 (regression from #623) #695
  • Release object store 0.14.0 (breaking API changes), target May 2026 #673
  • Release object store 0.13.3 (non-breaking API changes), Target May 2026 #672

Merged pull requests:

  • Clarify aws-lc-rs feature docs and fix CI comment URL #764 (alamb)
  • fix(local): fsync create-mode rename source delete #758 (kevinjqliu)
  • Fix flaky local close-file tests #757 (kevinjqliu)
  • build(deps): update itertools requirement from 0.14.0 to 0.15.0 #755 (dependabot[bot])
  • Support PutMultipartOptions for MultipartStore::create_multipart for AWS/GCP. #754 (BearMinimum98)
  • Use path-style URL in resolve_bucket_region for dotted bucket names #752 (brankogrb-db)
  • docs: explain *-base features and document the full feature flag set #750 (kevinjqliu)
  • ci: use --locked when installing cargo-msrv and cargo-audit #746 (kevinjqliu)
  • Supporting CPK (Customer Provided Keys) in Azure Blob Storage requests #742 (Braedon-Wooding-Displayr)
  • Add impl<T: Signed> Signed for PrefixStore<T> #739 (Tpt)
  • feat: add option to disable bulk delete for aws #734 (hengfeiyang)
  • fix(aws): set retry_error_body on bulk_delete_request #733 (rustyprimus)
  • build(deps): update quick-xml requirement from 0.39.0 to 0.40.1 #727 (dependabot[bot])
  • feat(azure): expose split_sas for custom SAS credential providers #721 (dbatomic)
  • refactor: unify internal naming of allow_invalid_certificates #718 (CommanderStorm)
  • feat(gcp): support explicit bearer token config in parse flow #717 (siddharthmittal13)
  • GCP: fix copy (no) overwrite semantics #713 (james-rms)
  • Whitelisting Onelake API & Workspace PL FQDNs #711 (SmritiAgrawal04)
  • feat: add AzureConfigKey::CredentialType to select Azure credential method #710 (jackye1995)
  • fix: fix incorrect splitting with line delimited streaming #700 (bboissin)
  • Add with_signing_credentials to GCP builder #699 (ilya-zlobintsev)
  • fix: clippy #694 (crepererum)
  • build(deps): bump actions/github-script from 8 to 9 #692 (dependabot[bot])
  • fix(core): add missing version assignment #691 (dentiny)
  • fix(retry): respect range header on retry #690 (dentiny)
  • fix(core): add missing extension assignment #689 (dentiny)
  • fix(aws): populate default header for complete multipart request #688 (dentiny)
  • fix[prefix]: strip_meta from get_opts result in PrefixStore #686 (asubiotto)
  • fix(memory): fix out-of-order multipart upload for in-memory store #683 (dentiny)
  • Expose read_timeout from reqwest #681 (Muon)
  • build(deps): update md-5 requirement from 0.10.6 to 0.11.0 #679 (dependabot[bot])
  • feat(local): explicit close with error checking for LocalFileSystem #676 (jgiannuzzi)
  • Update release schedule on README.md #674 (alamb)
  • fix: support AWS_REQUEST_PAYER=requester #669 (ljstrnadiii)
  • feat(local): add fsync to LocalFileSystem for durability #643 (Barre)

v0.13.2 (2026-03-19)

Full Changelog

Implemented enhancements:

  • Path::join(Self, &PathPart) -> Self #665
  • Support for AWS Encryption Client encryption #647
  • LocalFileSystem: use read_at instead of seek + read #622
  • Avoid reading metadata for LocalFileSystem::read_ranges (and other methods) #614
  • expose Inner from HttpRequestBody #606
  • Release object store 0.13.1 (maintenance) - Target Jan 2026 #598
  • Support AWS_ENDPOINT_URL_S3 in aws backend #589
  • Release object store 0.12.5 (maintenance) - Target Dec 2025 #582
  • Support upper-case configuration options in parse_url_opts #529
  • object_store: Support {az,abfs,abfss}://container@account.blob.{core.windows.net,fabric.microsoft.com} URLs #430
  • Support Transfer-Encoding: chunked responses in HttpStore #340
  • Use reconstructed ListBlobs marker to provide list offset support in MicrosoftAzure store #461

Fixed bugs:

  • Azure Fabric: Unsigned integer underflow when fetching token causes integer overflow panic #640
  • Error body missing for 5xx errors after retry exhausted #617
  • Heavy contention on credentials cache #541
  • AWS/S3 Default Headers are not considered for signature calculation #484
  • az:// <container> not work as expected #443

Performance improvements:

  • Preallocate single Vec in get_ranges for LocalFilesystem #634
  • Use platform specific read_at when available #628 (AdamGS)
  • Avoid metadata lookup for LocalFileSystem::read_ranges and chunked_stream #621 (Dandandan)

Closed issues:

  • [Security Alert] Exposed API key(s) detected: AWS Access Key #659
  • AWS S3 token expired on multi-threaded app with Arc usage #655
  • Emulator tests fail in CI due to an unsupported service version header in Azurite #626

Merged pull requests:

  • Replace Path::child with Path::join #666 (Kinrany)
  • Support --xa-s3 suffix for S3 Express One Zone bucket access points #663 (pdeva)
  • docs: clarify Clone behavior #656 (crepererum)
  • Implement Clone for local and memory stores #653 (DoumanAsh)
  • Unify from_env behaviours #652 (miraclx)
  • docs: add examples to the aws docs where appropriate #651 (CommanderStorm)
  • Switch TokenCache to RWLock #648 (tustvold)
  • Minimize futures dependency into relevant sub-crates #646 (AdamGS)
  • Clarify ShuffleResolver doc-comments #645 (jkosh44)
  • Introduce a "tokio" to allow pulling a trait-only build #644 (AdamGS)
  • fix(azure): fix integer overflow in Fabric token expiry check #641 (desmondcheongzx)
  • chore: upgrade to rand 0.10 #637 (crepererum)
  • fix(aws): Include default headers in signature calculation (#484) #636 (singhsaabir)
  • fix(azure): correct Microsoft Fabric blob endpoint domain #631 (kevinjqliu)
  • Unblock emulator based tests #627 (AdamGS)
  • Azure ADLS list_with_offset support #623 (omar)
  • Implement tests for range and partial content responses #619 (vitoordaz)
  • fix: missing 5xx error body when retry exhausted #618 (jackye1995)
  • build(deps): update nix requirement from 0.30.0 to 0.31.1 #616 (dependabot[bot])
  • Clarify behavior of parse_url_opts with regards to case sensitivity #613 (AdamGS)
  • Fix logical format conflict #605 (tustvold)
  • Fix Azure URL parsing #604 (tustvold)
  • build(deps): update quick-xml requirement from 0.38.0 to 0.39.0 #602 (dependabot[bot])
  • Only read file metadata once in LocalFileSystem::read_ranges #595 (AdamGS)
  • feat: Add support for AWS_ENDPOINT_URL_S3 environment variable #590 (rajatgoel)
  • feat: impl MultipartStore for PrefixStore #587 (ddupg)
  • Implement typos-cli #570 (jayvdb)
  • feat (azure): support for '.blob.core.windows.net' in "az://" scheme #431 (vladidobro)

v0.13.1 (2026-01-08)

Full Changelog

Merged pull requests:

  • fix: clippy warning SO_LINGER w/ zero doesn't block (also: it's just a test) #592 (crepererum)
  • fix: docs.rs build failure #591 (crepererum)

v0.13.0 (2025-12-19)

Full Changelog

Breaking changes:

  • fix: Add fields to Error::NotImplemented with more details on what isn't implemented #575 (carols10cents)
  • refactor!: copy & copy_if_not_exists => copy_opts #548 (crepererum)
  • refactor!: move head to ObjectStoreExt #543 (crepererum)
  • fix: wrappers and default trait methods #537 (crepererum)
  • refactor!: move get_range to ObjectStoreExt #536 (crepererum)
  • refactor!: move get to ObjectStoreExt #532 (crepererum)
  • refactor: move put_multipart to ObjectStoreExt #530 (crepererum)
  • feat!: use 'static lifetime for delete_stream #524 (linhr)
  • Bump rust edition to 2024, rust version to 1.85 #515 (AdamGS)
  • reapply: remove AWS dynamo integration (#407), try 2 #494 (alamb)
  • refactor: introduce ObjectStoreExt trait #405 (crepererum)

Implemented enhancements:

  • NotImplemented error should say what method wasn't implemented by what implementation #572
  • Allow explicitly specifying the GCS base URL #566
  • Detailed error messages for Generic #560
  • Include reqwest/hyper error sources in error messages #554
  • Improve Path ergonomics #545
  • [Suggestion] Move ObjectStore API to use arrow-rs' Buffer #544
  • Implement ObjectStore for Arc<T> and Box<T> #525
  • Refactor GetOptions with a builder pattern #516
  • Better support for Tags #508
  • Error 411 (Length Required) when using Multipart PUT on GCP with S3Store #495
  • Deprecate and Remove DynamoCommit #373
  • Add CopyOptions #116

Fixed bugs:

  • RequestError exposes underlying reqwest::Error rather than the nicer HttpError #579
  • SpawnService panics tokio-runtime-worker threads #578
  • local path filtering has different semantics #573
  • AWS: using Checksum::SHA256 causes copy_if_not_exists with S3CopyIfNotExists::Multipart to fail #568
  • Cargo Audit Produces a Warning for rustls-pemfile being unmaintained #564
  • AmazonS3ConfigKey::WebIdentityTokenFile is ignored #538
  • Cannot parse AWS S3 HTTP URLs without region #522
  • Signature mismatch (sigv4) when using attribute values with double whitespace #510
  • Generic S3 error: Metadata value for ""x-amz-meta-.."" contained non UTF-8 characters #509
  • Inconsistent documentation of "Supported Keys" #497

Documentation updates:

  • Update release date for version 0.13.0 in README #521 (alamb)
  • feat: refactor GetOptions with builder, add binary examples #517 (peasee)
  • docs: document missing config keys #498 (CommanderStorm)

Closed issues:

  • Add documentation for what backends support bulk delete (ObjectStore::delete_stream) #527
  • Use 'static lifetime for delete_stream #518
  • Release object store 0.12.4 (non breaking API) Release September 2025 #489
  • Cleanup ObjectStore trait: Split out convenience methods #385

Merged pull requests:

v0.12.5 (2026-01-09)

Full Changelog

Fixed bugs:

  • Only read file metadata once in LocalFileSystem::get_ranges #596 (AdamGS)
  • fix: docs.rs build failure #600 (alamb)

Merged pull requests:

  • Get the 0.12 release branch to green CI #597 (AdamGS)

v0.12.4 (2025-09-19)

Full Changelog

Implemented enhancements:

  • Allow flagging PUT operations as idempotent. #464
  • Release object store 0.12.3 (non breaking API) Release July 2025 #428
  • LocalFileSystem: offset for list_with_offset can't be identified / List results *must* be sorted #388
  • Support setting storage class when objects are written #330
  • Support auth using AssumeRoleWithWebIdentity for non-AWS S3-compatible implementations #283
  • Types from http through request leak into object_store public interfaces but aren't re-exported #263

Fixed bugs:

  • Retry does not cover connection errors #368

Documentation updates:

  • Improve documentation for http client timeout #390 (alamb)

Closed issues:

  • When a client http request is retried, I would like more information in the info! about the retry #486
  • Range header causing AWS Signature issues #471
  • Impossible to downcast an Error::Generic into a RetryError #469
  • JWT session tokens cause SignatureDoesNotMatch with Supabase S3 #466
  • Double url-encoding of special characters in key names #457
  • Make MultipartUpload Sync #439
  • Integrate HDFS object store #424
  • Error performing POST when trying to write to S3 with a custom endpoint URL #408

Merged pull requests:

v0.12.3 (2025-07-11)

Full Changelog

Implemented enhancements:

  • S3 store fails without retrying #425
  • Deprecate and Remove DynamoCommit #373
  • Move payload helpers from GetResult to GetResultPayload #352
  • Retry on 429s and equivalents #309
  • object_store: Support container@account.dfs.core.windows.net/path URL style for az protocol #285
  • Rename PutMultiPartOpts to PutMultiPartOptions, the old name is deprecated and will be removed in the next major release #406

Fixed bugs:

  • Builder panics on malformed GCS private key instead of returning error #419
  • cargo check --no-default-features --features=aws,azure,gcp,http fails #411
  • Incorrect prefix in ObjectStoreScheme::parse for Azure HTTP urls #398

Closed issues:

  • PutMode::Update support for LocalFileSystem? #423

Merged pull requests:

v0.12.2 (2025-06-06)

Full Changelog

Implemented enhancements:

  • Add ObjectStoreUrl to resolve URLs to ObjectStore instances #356
  • Retry / recover after partially reading a streaming response ( fix timeout errors / error decoding response body ) #15
  • Expose list_paginated in object_store #291

Fixed bugs:

  • Emulator tests are broken on main #395
  • Retry does not cover connection errors #368
  • Error handling of HTTP storage backend not utilizing retry::RetryError::error when possible #365
  • Error running cargo publish: wildcard (*) dependency constraints are not allowed on crates.io. #357
  • No retries when connection closes abruptly (i.e TCP-RST) #350
  • Compilation error in tests with Rust 1.87: integer out of range for u16 in format string #343

Documentation updates:

  • Improve parse_url_opts documentation #377 (alamb)

Closed issues:

  • object_store pulls default reqwest features which always active native-tls #400
  • Introduce retry to other methods than get after #383 #387
  • Security: AwsCredential prints plaintext may cause security issue. #363
  • Docs build fails for object_store 0.12.1 #360
  • Is there a way to go from ObjectStore to (URL, opts)? #347

Merged pull requests:

v0.12.1 (2025-05-08)

Full Changelog

Implemented enhancements:

  • Support Alibaba OSS Object Storage #323
  • Enable anonymous access to GCS buckets #302
  • [object_store] Run requests on a different tokio runtime #13
  • [object_store] consider migrating humantime to jiff #292
  • Support EKS Pod Identity (alternative to IRSA) #282
  • Object_store: Create an upload method that handles concurrency #279
  • object_store: Retry on connection duration timeouts (retry / recover after partially reading a streaming response) #53
  • [object-store] re-export hyper #293
  • object_store: abort_multipart() should return NotFound error if not found #146
  • Make GetOptionsExt publicly usable #261

Fixed bugs:

  • Incorrect token sent as part of url signing function. #337
  • Azure Gen2 broken on latest #320
  • object_store: Azure brokenness on 0.12.0 #326
  • Generic S3 error: Client error with status 411 Length Required #278

Closed issues:

  • CI doesn't run on PRs #335
  • Some Inconsistencies in the Path and List #327
  • Add allow-list to restrict access to local files with LocalFileSystem #312
  • Query on usage of experimental package ring #310
  • [Object Store] Make the service account used when interacting with the metadata url more flexible #265

Merged pull requests:

object_store_0.12.0 (2025-03-05)

Full Changelog

Breaking changes:

Implemented enhancements:

Fixed bugs:

Merged pull requests:

object_store_0.11.2 (2024-12-20)

Full Changelog

Implemented enhancements:

Fixed bugs:

Merged pull requests:

object_store_0.11.1 (2024-10-15)

Full Changelog

Implemented enhancements:

Fixed bugs:

  • [object-store] Requested tokio version is too old - does not compile #6458 [object-store]
  • Azure SAS tokens are visible when retry errors are logged via object_store #6322 [object-store]

Merged pull requests:

object_store_0.11.0 (2024-08-12)

Full Changelog

Breaking changes:

Merged pull requests:

object_store_0.10.2 (2024-07-17)

Full Changelog

Implemented enhancements:

  • Relax WriteMultipart API to support aborting after completion #5977 [object-store]
  • Make ObjectStoreScheme in the object_store crate public #5911 [object-store]
  • Add BufUploader to implement same feature upon WriteMultipart like BufWriter #5834 [object-store]

Fixed bugs:

  • Investigate why InstanceCredentialProvider::cache is flagged as dead code #5884 [object-store]
  • [object_store] Potential race condition in list_with_delimiter on Local #5800 [object-store]

Documentation updates:

Merged pull requests:

* This Changelog was automatically generated by github_changelog_generator

object_store_0.10.1 (2024-05-10)

Full Changelog

Implemented enhancements:

  • Allow specifying PUT options when using BufWriter #5692 [object-store]
  • Add more attributes to object_store::Attribute #5689 [object-store]
  • feat object_store: moving tests from src/ to a tests/ folder and enabling access to test functions for enabling a shared integration test suite #5685 [object-store]
  • Release Object Store 0.10.0 #5647 [object-store]

Fixed bugs:

Merged pull requests:

object_store_0.10.0 (2024-04-17)

Full Changelog

Breaking changes:

Implemented enhancements:

Fixed bugs:

  • [object_store] minor bug: typos present in local variable #5628 [object-store]
  • [arrow-csv] Schema inference requires csv on disk #5551
  • Local object store copy/rename with nonexistent from file loops forever instead of erroring #5503 [object-store]
  • object store ApplicationDefaultCredentials auth is not working on windows #5466 [object-store]
  • MicrosoftAzure store list result omits empty objects #5451 [object-store]

Documentation updates:

Merged pull requests:

object_store_0.9.1 (2024-03-01)

Full Changelog

Implemented enhancements:

Fixed bugs:

Merged pull requests:

object_store_0.9.0 (2024-01-05)

Full Changelog

Breaking changes:

Implemented enhancements:

Fixed bugs:

Documentation updates:

Merged pull requests:

object_store_0.8.0 (2023-11-02)

Full Changelog

Breaking changes:

Implemented enhancements:

Fixed bugs:

Closed issues:

Merged pull requests:

object_store_0.7.1 (2023-09-26)

Full Changelog

Implemented enhancements:

  • Automatically Cleanup LocalFileSystem Temporary Files #4778 [object-store]
  • object-store: Expose an async reader API for object store #4762
  • Improve proxy support by using reqwest::Proxy as configuration #4713 [object-store]

Fixed bugs:

  • object-store: http shouldn't perform range requests unless accept-ranges: bytes header is present #4839
  • object-store: http-store fails when url doesn't have last-modified header on 0.7.0 #4831
  • object-store fails to compile for wasm32-unknown-unknown with http feature #4776 [object-store]
  • object-store: could not find header in client for http feature #4775 [object-store]
  • LocalFileSystem Copy and Rename Don't Create Intermediate Directories #4760 [object-store]
  • LocalFileSystem Copy is not Atomic #4758 [object-store]

Closed issues:

  • object_store Azure Government Cloud functionality? #4853

Merged pull requests:

object_store_0.7.0 (2023-08-15)

Full Changelog

Breaking changes:

Implemented enhancements:

Fixed bugs:

Closed issues:

  • [object_store] when Create a AmazonS3 instance work with MinIO without set endpoint got error MissingRegion #4617
  • AWS Profile credentials no longer working in object_store 0.6.1 #4556 [object-store]

Merged pull requests:

object_store_0.6.0 (2023-05-18)

Full Changelog

Breaking changes:

Implemented enhancements:

Fixed bugs:

  • ObjectStore::head Returns Directory for LocalFileSystem and Hierarchical Azure #4230 [object-store]
  • object_store: different behavior from aws cli for default profile #4137 [object-store]
  • ImdsManagedIdentityOAuthProvider should send resource ID instead of OIDC scope #4096 [object-store]
  • Update readme to remove reference to Jira #4091
  • object_store: Incorrect parsing of https Path Style S3 url #4078 [object-store]
  • [object_store] local::tests::test_list_root test fails during release verification #3772 [object-store]

Merged pull requests:

object_store_0.5.6 (2023-03-30)

Full Changelog

Implemented enhancements:

Fixed bugs:

Merged pull requests:

object_store_0.5.5 (2023-02-27)

Full Changelog

Implemented enhancements:

Fixed bugs:

Merged pull requests:

object_store_0.5.4 (2023-01-30)

Full Changelog

Implemented enhancements:

  • [object_store] support more identity based auth flows for azure #3580 [object-store]
  • Implement workload identity and application default credentials for GCP object store. #3533 [object-store]
  • Support GCP Workload Identity #3490 [object-store]
  • Allow providing service account key directly when building GCP object store client #3488 [object-store]

Closed issues:

Merged pull requests:

object_store_0.5.3 (2023-01-04)

Full Changelog

Implemented enhancements:

  • Derive Clone for the builders in object-store. #3419
  • Add a constant prefix object store wrapper #3328 [object-store]
  • Add support for content-type while uploading files through ObjectStore API #3300 [object-store]
  • Add HttpStore #3294 [object-store]
  • Add support for Azure Data Lake Storage Gen2 (aka: ADLS Gen2) in Object Store library #3283
  • object_store: Add Put and Multipart Upload Doc Examples #2863 [object-store]

Closed issues:

  • Only flush buffered multi-part data on poll_shutdown not on poll_flush #3390 [object-store]

Merged pull requests:

object_store_0.5.2 (2022-12-02)

Full Changelog

Implemented enhancements:

Fixed bugs:

  • object_store(gcp): GCP complains about content-length for copy #3235
  • object_store(aws): EntityTooSmall error on multi-part upload #3233 [object-store]

Merged pull requests:

object_store_0.5.1 (2022-10-04)

Full Changelog

Implemented enhancements:

  • Allow HTTP S3 URLs #2806
  • object_store: support AWS ECS instance credentials #2802
  • Object Store S3 Alibaba Cloud OSS support #2777 [object-store]
  • Expose option to use GCS object store in integration tests #2627 [object-store]

Fixed bugs:

Merged pull requests:

object_store_0.5.0 (2022-09-08)

Full Changelog

Breaking changes:

Implemented enhancements:

Fixed bugs:

Merged pull requests:

object_store_0.4.0 (2022-08-10)

Full Changelog

Implemented enhancements:

Fixed bugs:

  • Azure/S3 Storage Fails to Copy Blob with URL-encoded Path #2353 [object-store]
  • Accessing a file with a percent-encoded name on the filesystem with ObjectStore LocalFileSystem #2349 [object-store]

Documentation updates:

Merged pull requests:

* This Changelog was automatically generated by github_changelog_generator