Skip to content

Prepare for release of version 3.0.0#3

Merged
th3hero merged 1 commit into
mainfrom
v3.0.0
Feb 28, 2026
Merged

Prepare for release of version 3.0.0#3
th3hero merged 1 commit into
mainfrom
v3.0.0

Conversation

@th3hero
Copy link
Copy Markdown
Owner

@th3hero th3hero commented Feb 28, 2026

This pull request introduces a major new release (v3.0.0) of Express Storage, focusing on breaking changes, improved type safety, modularity, and developer experience. The most important updates include making cloud SDKs optional peer dependencies, refactoring result types to discriminated unions, removing presigned driver subclasses, and updating the documentation and workflows to match the new requirements.

Breaking API and Dependency Changes

  • Cloud SDKs (AWS, GCS, Azure) are now optional peer dependencies. Consumers must install only the SDKs needed for their chosen provider, reducing dependency bloat for local-only users. [1] [2]
  • Result types (FileUploadResult, DeleteResult, etc.) are now discriminated unions with a success: true | false flag, improving TypeScript narrowing and error handling.
  • Presigned driver subclasses (S3PresignedStorageDriver, etc.) have been removed; base driver classes now handle both direct and presigned modes internally.
  • Several method and field renames for consistency: .fileName.reference across result types, and rateLimitrateLimiter in options.
  • All filesystem operations are now fully async, ensuring non-blocking behavior under concurrent load.

Documentation and Developer Experience

  • The README.md has been extensively rewritten to clarify features, quick start, error codes, API reference, and migration instructions. It now explicitly instructs users to install only the required cloud SDKs. [1] [2] [3] [4]
  • New sections in the documentation highlight error codes for programmatic handling, improved examples, and details about type-safe results and configuration. [1] [2] [3]

CI/CD and Node Version Updates

  • GitHub workflow files (publish.yml, push.yml) have been updated to use Node.js 22.x for all jobs, aligning with the new minimum engine requirement. [1] [2] [3]

Changelog and Release Management

  • The CHANGELOG.md has been completely rewritten to document all breaking changes, new features, removals, and migration guidance for v3.0.0.

References:
[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11]

@th3hero th3hero merged commit 4616e39 into main Feb 28, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant