NEWS
s3pe 0.3.1
DESCRIPTION: file formats are no longer single-quoted (CRAN's quoting
rule applies to package, software and API names only).
s3pe 0.3.0 (2026-11-07)
- Multipart upload:
write_s3() and upload_s3() send bodies larger than
multipart_threshold (64 MiB by default; s3_config(),
S3PE_MULTIPART_THRESHOLD) in parts of part_size (16 MiB), one by
one, aborted on any failure, with every part's ETag and the final ETag
checked.
write_s3() and upload_s3() take metadata (user metadata, returned
by head_s3() in its new metadata column) and headers (any extra
header: Cache-Control, Content-Disposition, x-amz-storage-class,
server-side encryption, ...).
copy_s3() copies an object on the server.
delete_s3() accepts several keys and deletes them in batches of 1000;
it now returns the number of keys deleted.
list_s3() gains delimiter: delimiter = "/" lists one level,
"folders" included.
presign_s3() returns a pre-signed URL (GET or PUT) valid for up to
seven days.
sync_up_s3() and sync_down_s3() mirror a directory and a prefix by
size and ETag, optionally deleting extras and uploading a manifest last.
- Not implemented, by design: ACLs (manage access with keys and policies)
and versioning (no
versionId on read, head or delete).
s3pe 0.2.0
- The endpoint has no default any more: set
S3PE_ENDPOINT,
options(s3pe.endpoint) or call use_endpoint(). A missing endpoint is
an s3pe_error_config at request time, like missing credentials.
use_bucket() and use_endpoint() set the bucket and the endpoint for
the session.
- Documentation and examples are generic: the package serves any
S3-compatible store.
s3pe 0.1.0
- Initial release.
read_s3() and write_s3() move R objects to and from the store, with
the format chosen by the key's extension (CSV, TSV, JSON, GeoJSON,
Parquet, RDS, XLSX, text, raw).
download_s3() and upload_s3() move files, streaming.
list_s3(), head_s3(), exists_s3(), delete_s3() and
buckets_s3() for the rest of the bucket.
s3_config() resolves endpoint, region, credentials and bucket from
arguments, options and the environment, in that order.
- Requests signed with AWS Signature Version 4 (header style, payload
hashed); transient failures retried with exponential backoff; ETag and
content length checked after every transfer.