97 lines
5.5 KiB
Markdown
97 lines
5.5 KiB
Markdown
# Changelog
|
|
|
|
## 2025-08-18 - 4.2.1 - fix(gzip)
|
|
Improve gzip streaming decompression, archive analysis and unpacking; add gzip tests
|
|
|
|
- Add a streaming DecompressGunzipTransform using fflate.Gunzip with proper _flush handling to support chunked gzip input and avoid buffering issues.
|
|
- Refactor ArchiveAnalyzer: introduce IAnalyzedResult, getAnalyzedStream(), and getDecompressionStream() to better detect mime types and wire appropriate decompression streams (gzip, zip, bzip2, tar).
|
|
- Use SmartRequest response streams converted via stream.Readable.fromWeb for URL sources in SmartArchive.getArchiveStream() to improve remote archive handling.
|
|
- Improve nested archive unpacking and SmartArchive export pipeline: more robust tar/zip handling, consistent SmartDuplex usage and backpressure handling.
|
|
- Enhance exportToFs: ensure directories, improved logging for relative paths, and safer write-stream wiring.
|
|
- Add comprehensive gzip-focused tests (test/test.gzip.ts) covering file extraction, stream extraction, header filename handling, large files, and a real-world tgz-from-URL extraction scenario.
|
|
|
|
## 2025-08-18 - 4.2.0 - feat(classes.smartarchive)
|
|
Support URL streams, recursive archive unpacking and filesystem export; improve ZIP/GZIP/BZIP2 robustness; CI and package metadata updates
|
|
|
|
- Add exportToFs(targetDir, fileName?) to write extracted StreamFile objects to the filesystem (ensures directories, logs relative paths, waits for write completion).
|
|
- Implement exportToStreamOfStreamFiles with recursive unpacking pipeline that handles application/x-tar (tar-stream Extract), application/zip (fflate Unzip), nested archives and StreamIntake for StreamFile results.
|
|
- Enhance getArchiveStream() to support URL/web streams (SmartRequest) and return Node Readable streams for remote archives.
|
|
- Make ZIP decompression more robust: accept ArrayBuffer-like chunks, coerce to Buffer before pushing to fflate.Unzip, and ensure SmartDuplex handling of results.
|
|
- Fixes and improvements to bzip2/gzip/tar tool implementations (various bug/formatting fixes, safer CRC and stream handling).
|
|
- Update CI workflows to use new registry image and adjust npmci install path; minor .gitignore additions.
|
|
- Package metadata tweaks: bugs URL and homepage updated, packageManager/pnpm fields adjusted.
|
|
- Documentation/readme expanded and polished with quick start, examples and API reference updates.
|
|
- Small test and plugin export cleanups (formatting and trailing commas removed/added).
|
|
- TypeScript/formatting fixes across many files (consistent casing, trailing commas, typings, tsconfig additions).
|
|
|
|
## 2025-08-18 - 4.1.0 - feat(classes.smartarchive)
|
|
|
|
Support URL web streams, add recursive archive unpacking and filesystem export, and improve ZIP decompression robustness
|
|
|
|
- ts/classes.smartarchive.ts: add exportToFs(targetDir, fileName?) to write extracted StreamFile objects to the filesystem (ensures directories, logs relative paths, waits for write completion).
|
|
- ts/classes.smartarchive.ts: implement exportToStreamOfStreamFiles with recursive unpacking pipeline that handles application/x-tar (tar-stream Extract), application/zip (fflate unzip), nested archives and StreamIntake for StreamFile results.
|
|
- ts/classes.smartarchive.ts: improve getArchiveStream() for URL sources by using SmartRequest.create().url(...).get() and converting the returned Web stream into a Node Readable stream.
|
|
- ts/classes.ziptools.ts: make ZIP decompression writeFunction more robust — accept non-Buffer chunks, coerce to Buffer before pushing to fflate.Unzip, and loosen the writeFunction typing to handle incoming ArrayBuffer-like data.
|
|
|
|
## 2024-10-13 - 4.0.39 - fix(core)
|
|
|
|
Fix dependencies and update documentation.
|
|
|
|
- Ensure package uses the latest dependencies
|
|
- Reviewed and grouped imports in TypeScript files
|
|
- Updated readme with advanced usage examples
|
|
|
|
## 2024-10-13 - 4.0.38 - fix(dependencies)
|
|
|
|
Update dependencies to latest versions
|
|
|
|
- Updated @push.rocks/smartfile to version 11.0.21
|
|
- Updated @push.rocks/smartpromise to version 4.0.4
|
|
- Updated @push.rocks/smartstream to version 3.0.46
|
|
- Updated @push.rocks/smarturl to version 3.1.0
|
|
- Updated file-type to version 19.5.0
|
|
- Updated @git.zone/tsbuild to version 2.1.84
|
|
- Updated @git.zone/tsrun to version 1.2.49
|
|
- Updated @push.rocks/tapbundle to version 5.3.0
|
|
|
|
## 2024-06-08 - 4.0.24 to 4.0.37 - Fixes and Updates
|
|
|
|
Core updates and bug fixes were implemented in versions 4.0.24 through 4.0.37.
|
|
|
|
- Repeated core updates and fixes applied consistently across multiple versions.
|
|
|
|
## 2024-06-06 - 4.0.22 to 4.0.23 - Descriptions and Fixes Updates
|
|
|
|
Efforts to update documentation and core features.
|
|
|
|
- "update description" in 4.0.22
|
|
- Updates to `tsconfig` and `npmextra.json` were performed.
|
|
- Ongoing core fixes.
|
|
|
|
## 2023-11-06 - 4.0.0 - Major Update with Breaking Changes
|
|
|
|
Introduction of significant updates and breaking changes.
|
|
|
|
- Transition to new version 4.0.0 with core updates.
|
|
- Break in compatibility due to major structural changes with core functionalities.
|
|
|
|
## 2023-07-11 - 3.0.6 - Organizational Changes
|
|
|
|
Structural reorganization and updates to the organization schema.
|
|
|
|
- Switch to new organizational schema implemented.
|
|
|
|
## 2022-04-04 - 3.0.0 - Build Updates and Breaking Changes
|
|
|
|
Major build update introducing breaking changes.
|
|
|
|
- Introduction of ESM structure with breaking changes.
|
|
|
|
## 2016-01-18 - 0.0.0 to 1.0.0 - Initial Development and Launch
|
|
|
|
Initial software development and establishment of core features.
|
|
|
|
- Project set-up including Travis CI integration.
|
|
- Launch of the first full version with code restructuring.
|
|
- Added callback support.
|