# Changelog ## 2025-11-21 - 2.3.0 - feat(smarts3-server) Introduce native custom S3 server implementation (Smarts3Server) with routing, middleware, context, filesystem store, controllers and XML utilities; add SmartXml and AWS SDK test; keep optional legacy s3rver backend. - Add Smarts3Server: native, Node.js http-based S3-compatible server (ts/classes/smarts3-server.ts) - New routing and middleware system: S3Router and MiddlewareStack for pattern matching and middleware composition (ts/classes/router.ts, ts/classes/middleware-stack.ts) - Introduce request context and helpers: S3Context for parsing requests, sending responses and XML (ts/classes/context.ts) - Filesystem-backed storage: FilesystemStore with bucket/object operations, streaming uploads, MD5 handling and Windows-safe key encoding (ts/classes/filesystem-store.ts) - S3 error handling: S3Error class that maps S3 error codes and produces XML error responses (ts/classes/s3-error.ts) - Controllers for service, bucket and object operations with S3-compatible XML responses and copy/range support (ts/controllers/*.ts) - XML utilities and SmartXml integration for consistent XML generation/parsing (ts/utils/xml.utils.ts, ts/plugins.ts) - Expose native plugins (http, crypto, url, fs) and SmartXml via plugins.ts - ts/index.ts: add useCustomServer option, default to custom server, export Smarts3Server and handle start/stop for both custom and legacy backends - Add AWS SDK v3 integration test (test/test.aws-sdk.node.ts) to validate compatibility - package.json: add @aws-sdk/client-s3 devDependency and @push.rocks/smartxml dependency - Documentation: readme.md updated to describe native custom server and legacy s3rver compatibility ## 2025-11-20 - 2.2.7 - fix(core) Update dependencies, code style and project config; add pnpm overrides and ignore AI folders - Bump devDependencies and runtime dependencies (@git.zone/*, @push.rocks/*, @tsclass/tsclass, s3rver) to newer compatible versions - Add pnpm.overrides entry to package.json and normalize repository URL format - Code style and formatting fixes in TypeScript sources (ts/index.ts, ts/00_commitinfo_data.ts): whitespace, trailing commas, parameter formatting and minor API-return typing preserved - tsconfig.json: simplify compiler options and compact exclude list - Update .gitignore to add AI-related folders (.claude/, .serena/) to avoid accidental commits - Documentation and changelog formatting tweaks (readme.md, changelog.md, npmextra.json) — whitespace/newline cleanups and expanded changelog entries ## 2025-08-16 - 2.2.6 - fix(Smarts3) Allow overriding S3 descriptor; update dependencies, test config and documentation - ts/index.ts: getS3Descriptor now accepts an optional Partial to override defaults (backwards compatible) - package.json: updated devDependencies and runtime dependency versions (tstest, smartpath, tsclass, s3rver, etc.) and added packageManager field - package.json: expanded test script to run tstest with --web --verbose --logfile --timeout 60 - test/test.ts: test instance port changed to 3333 - readme.md: major rewrite and expansion of usage examples, API reference and guides - added project config files: .claude/settings.local.json and .serena/project.yml ## 2024-11-06 - 2.2.5 - fix(ci) Corrected docker image URLs in Gitea workflows to match the correct domain format. - Updated IMAGE environment variable in .gitea/workflows/default_nottags.yaml - Updated IMAGE environment variable in .gitea/workflows/default_tags.yaml ## 2024-11-06 - 2.2.4 - fix(core) Improve code style and update dependencies - Updated @push.rocks/tapbundle to version ^5.4.3 in package.json. - Fixed markdown formatting in readme.md. - Improved code consistency in ts/00_commitinfo_data.ts, ts/plugins.ts, and test/test.ts. ## 2024-11-06 - 2.2.3 - fix(core) Fix endpoint address from 'localhost' to '127.0.0.1' for better compatibility in Smarts3.getS3Descriptor - Corrected the endpoint address in Smarts3.getS3Descriptor to ensure proper functioning across different environments. ## 2024-11-06 - 2.2.2 - fix(core) Fixed function call for fastPut in the test suite to ensure proper file upload handling. - Updated dependencies in package.json to newer versions. - Corrected the function call in test suite for file upload. ## 2024-10-26 - 2.2.1 - fix(core) Fix import and typings for improved compatibility - Corrected the type signature for `getS3Descriptor` to return `IS3Descriptor`. - Fixed import structure and updated dependencies for consistent namespace usage across plugins. ## 2024-10-26 - 2.2.0 - feat(ci) Migrate CI/CD workflow from GitLab CI to Gitea CI - Added new Gitea CI workflows for both non-tag and tag-based pushes - Removed existing GitLab CI configuration ## 2024-05-29 - 2.1.1 - Updates and minor changes Updates and changes based on minor configuration improvements and organizational shifts. - Updated description file. - Updated tsconfig settings. - Updated npmextra.json with new githost configuration. - Shifted to new organizational scheme. ## 2022-07-30 - 2.1.0 - Core improvements and fixes Minor improvements and important core changes. - Removed tslint from the core setup. ## 2022-07-30 - 2.0.2 - Bucket creation improvement Enhanced file structure management. - Improved bucket creation to store locally within the .nogit directory. ## 2022-04-14 - 2.0.0 to 2.0.1 - Structural updates and fixes This release focused on core updates and structural changes. - Reformatted the project structure. - Core updates with minor fixes. ## 2021-12-20 - 1.0.10 - ESM Transition Breaking changes and minor fixes, transitioning to ES Modules. - BREAKING CHANGE: Transitioned core setup to ESM.