Skip to content

Releases: gmoon/s3proxy

Release v3.0.0 - TypeScript Migration & ESM-Only Architecture

22 Jun 06:06

Choose a tag to compare

🚀 TypeScript Migration & ESM-Only Architecture

This release migrates s3proxy from JavaScript to TypeScript and adopts an ESM-only architecture, bringing modern development practices, improved type safety, and enhanced developer experience.

🔄 Breaking Changes

Node.js Version Requirement

  • Before: Node.js 18+
  • After: Node.js 22.13.0+ (required for ESM and modern features)

Import Syntax

// ❌ v2.x (CommonJS) - No longer supported
const { S3Proxy } = require('s3proxy');

// ✅ v3.x (ESM) - New syntax  
import { S3Proxy } from 's3proxy';

Package Type

  • Projects must use ESM or dynamic imports
  • Add "type": "module" to package.json for full ESM support
  • CommonJS projects can use: const { S3Proxy } = await import('s3proxy');

✅ What's New

  • TypeScript First: Full type safety and enhanced IDE support
  • ESM-Only: Modern module system for better performance
  • Framework Agnostic: Works with Express, Fastify, Lambda, and more
  • Comprehensive Testing: 24 validation tests + performance testing
  • Production Ready: Proven with load testing (920MB transferred, 0 failures)

📚 Migration Guide

See the README for complete migration instructions from v2.x to v3.x.

All existing functionality is preserved with improved reliability, maintainability, and developer experience!

Upgrade dependencies

04 Sep 13:24

Choose a tag to compare

Upgraded dependencies, including devDependencies not listed here:

    - "@aws-sdk/client-s3": "^3.321.1",
    + "@aws-sdk/client-s3": "^3.405.0",
    - "url": "^0.11.0"
    + "url": "^0.11.1"

Upgrade to AWS SDK v3

30 Apr 01:01

Choose a tag to compare

Using AWS SDK v3 instead of v2. There are some potentially breaking changes so this is a major release.

Update Dependencies

15 Jan 21:22

Choose a tag to compare

Update dependencies per #62

aws-sdk                ^2.1199.0  →  ^2.1295.0
chai                      ^4.3.6  →     ^4.3.7
eslint                   ^8.22.0  →    ^8.31.0
eslint-plugin-import     ^2.26.0  →    ^2.27.4
express                  ^4.18.1  →    ^4.18.2
helmet                    ^5.1.1  →     ^6.0.1
mega-linter-runner        ^6.6.0  →    ^6.18.0
mocha                    ^10.0.0  →    ^10.2.0
mocha-junit-reporter      ^2.0.2  →     ^2.2.0
nock                     ^13.2.9  →    ^13.3.0
npm-check-updates        ^16.0.5  →    ^16.6.2
sinon                    ^14.0.0  →    ^15.0.1
start-server-and-test    ^1.14.0  →    ^1.15.2
wait-on                   ^6.0.1  →     ^7.0.1

Update dependencies; refactor examples/docker

20 Aug 22:06

Choose a tag to compare

Update dependencies

03 Jan 23:28

Choose a tag to compare

v1.6.3

1.6.3

Update dependencies

15 Oct 01:41

Choose a tag to compare

Update dependencies

Add version() method

07 Sep 21:19

Choose a tag to compare

New version() method returns s3proxy version number from package.json
New /version route in examples/docker/express-s3proxy.js
New /version route in forkzero/s3proxy:1.6.1 on Docker Hub
Updated unit tests and README documentation

Add support for Range HTTP header

04 Sep 01:13

Choose a tag to compare

This release has general purpose support for the Range HTTP header, allowing clients to specify specific byte range(s) to GET rather than the entire file.

#50 Add Range header if provided, for happy media playback on Safari

Upgrade outdated dependencies

28 Aug 18:37

Choose a tag to compare

Dependency changes:

-     "aws-sdk": "^2.906.0",
+     "aws-sdk": "^2.978.0",