Skip to content

Releases: th3hero/express-storage

V3.0.0

28 Feb 06:56
4616e39

Choose a tag to compare

What's Changed

  • Prepare for release of version 3.0.0 by @th3hero in #3

Full Changelog: V2.0.3...V3.0.0

V2.0.1

04 Feb 19:45

Choose a tag to compare

Release Notes - express-storage v2.0.1

Release Date: January 25, 2026

Overview

This is a patch release focused on improving compatibility and addressing security vulnerabilities.

What's Changed

Security Fixes

  • Fixed high severity vulnerability in fast-xml-parser (CVE: GHSA-37qj-frw5-hhjh)
    • RangeError DoS bug with numeric entities has been patched
    • Added override to enforce fast-xml-parser@^5.3.4

Dependency Updates

Peer Dependencies (More Flexible)

  • express: Broadened from >=4.21.0 to ^4.18.0 || ^5.0.0 - supports Express 4.x (from 4.18) and Express 5.x
  • multer: Moved from direct dependency to optional peer dependency (^1.4.5-lts.1 || ^2.0.0)

Production Dependencies (More Stable)

Package Previous New
@aws-sdk/client-s3 ^3.982.0 ^3.600.0
@aws-sdk/lib-storage ^3.982.0 ^3.600.0
@aws-sdk/s3-request-presigner ^3.982.0 ^3.600.0
@azure/identity ^4.13.0 ^4.0.0
@azure/storage-blob ^12.30.0 ^12.17.0
@google-cloud/storage ^7.18.0 ^7.7.0
dotenv ^17.2.3 ^16.3.0
tslib ^2.8.1 ^2.6.0

Engine Requirements

  • Node.js: >=18.0.0 (updated from >=16.0.0)

Bug Fixes

  • Resolved peer dependency conflicts when installing express-storage in projects with different versions of Express or Multer

Upgrade Guide

npm install express-storage@2.0.1

Full Changelog: v2.0.0...v2.0.1

V2.0.3

04 Feb 20:39

Choose a tag to compare

Release Notes - express-storage v2.0.3

Release Date: January 25, 2026

Overview

This release adds dual CommonJS/ES Module support, enabling seamless integration with both modern ESM projects and legacy CommonJS projects without warnings or compatibility issues.

What's Changed

New: Dual CJS/ESM Build Support

The package now ships with both CommonJS and ES Module builds, automatically selected based on your project's module system:

  • ES Module projects (import): Uses dist/esm/index.js
  • CommonJS projects (require): Uses dist/cjs/index.js

This eliminates the experimental warning that previously appeared when using express-storage in CommonJS projects:

Full Changelog: V2.0.2...V2.0.3

V2.0.2

04 Feb 20:24

Choose a tag to compare

Full Changelog: v2.0.1...V2.0.2

v2.0.0

26 Jan 03:47

Choose a tag to compare

Express Storage v2.0.0 Release Notes

Secure, unified file uploads for Express.js — one API for all cloud providers.


Highlights

Express Storage is a TypeScript-native library that provides a single, secure interface for file uploads across AWS S3, Google Cloud Storage, Azure Blob Storage, and local disk. Switch providers by changing one environment variable — no code changes required.


Features

Multi-Cloud Storage Support

  • AWS S3 — Full support including IAM roles and explicit credentials
  • Google Cloud Storage — Service account and Application Default Credentials
  • Azure Blob Storage — Connection string, account key, and Managed Identity
  • Local Disk — Perfect for development and small-scale deployments

Unified API

Write your upload code once, deploy anywhere:

import { StorageManager } from 'express-storage';

const storage = new StorageManager(); // Reads from environment
const result = await storage.uploadFile(req.file);

What's Changed

  • copilot feedback implementations by @th3hero in #2

Full Changelog: V1.1.4...v2.0.0

V1.1.4

24 Jan 12:11

Choose a tag to compare

Full Changelog: V1.1.3...V1.1.4

V1.1.3

24 Jan 11:57

Choose a tag to compare

Full Changelog: V1.1.2...V1.1.3

V1.1.2

24 Jan 11:46

Choose a tag to compare

Full Changelog: V1.1.1...V1.1.2

Full Changelog: V1.1.1...V1.1.2

V1.1.1

24 Jan 11:36

Choose a tag to compare

Full Changelog: V1.1.0...V1.1.1

V1.1.0

24 Jan 11:24
673100a

Choose a tag to compare

Release Notes

v1.1.0

What's New

Unified Cloud Configuration

  • BUCKET_NAME is now the single environment variable for all cloud drivers (S3, GCS, Azure)
  • Azure container name is automatically read from BUCKET_NAME, no separate AZURE_CONTAINER_NAME needed
  • Programmatic overrides still supported via azureContainerName in credentials

Comprehensive Test Suite

  • Added 413 unit tests covering utilities, drivers, security, and regression scenarios
  • Test coverage for core modules exceeds 90%
  • Vitest as the test runner with coverage reporting

CI/CD Pipeline

  • Added GitHub Actions workflow for automated testing on push/PR
  • Tests run on Node.js 20.x and 22.x
  • Automated version bumping from release tags

Documentation Updates

  • Updated README with unified configuration examples
  • Clarified Azure setup instructions
  • Added programmatic override examples

Bug Fixes

  • Fixed Azure driver error message to reference correct environment variable
  • Improved configuration validation for cloud drivers

Breaking Changes

None. Existing configurations continue to work. AZURE_CONTAINER_NAME is deprecated but still supported via programmatic override.


v1.0.0

Initial release with support for:

  • Local filesystem storage
  • AWS S3 (direct and presigned uploads)
  • Google Cloud Storage (direct and presigned uploads)
  • Azure Blob Storage (direct and presigned uploads)
  • File validation (size, MIME type, extension)
  • Security features (path traversal prevention, filename sanitization)
  • TypeScript support

New Contributors

Full Changelog: https://github.com/th3hero/express-storage/commits/V1.1.0