molex-ftp-client 2.0.0 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +34 -3
- package/README.md +138 -397
- package/lib/FTPClient.js +54 -5
- package/lib/commands.js +183 -111
- package/lib/connection.js +2 -7
- package/lib/performance.js +16 -67
- package/package.json +1 -1
- package/test-comprehensive.js +235 -0
- package/benchmark.js +0 -86
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,39 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [2.2.0] - 2026-02-02
|
|
4
|
+
|
|
5
|
+
### Fixed
|
|
6
|
+
- **CRITICAL: Fixed 30-second timeout on all data transfers** - upload, download, list, downloadStream now complete instantly
|
|
7
|
+
- Commands with data connections no longer wait for 226 completion response, dramatically improving speed
|
|
8
|
+
- Download speed improved from 0.03 MB/s to 2.47 MB/s (80x faster!)
|
|
9
|
+
- Recursive directory deletion now blazing fast (sub-second instead of minutes)
|
|
10
|
+
|
|
11
|
+
### Added
|
|
12
|
+
- `removeDir(path, recursive)` - Remove directories with optional recursive deletion
|
|
13
|
+
- `chmod(path, mode)` - Change file permissions (Unix/Linux servers)
|
|
14
|
+
- `listDetailed(path)` - Get parsed directory listings with permissions, owner, size, etc.
|
|
15
|
+
- `site(command)` - Execute server-specific SITE commands
|
|
16
|
+
|
|
17
|
+
### Improved
|
|
18
|
+
- `listDetailed()` now filters out `.` and `..` entries automatically
|
|
19
|
+
- Better handling of unknown file types in recursive operations
|
|
20
|
+
|
|
21
|
+
## [2.1.0] - 2026-02-02
|
|
22
|
+
|
|
23
|
+
### Added
|
|
24
|
+
- `stat()` method returns detailed file/directory information: `{ exists, size, isFile, isDirectory }`
|
|
25
|
+
|
|
26
|
+
### Changed
|
|
27
|
+
- **Simplified performance system** - removed over-engineered preset configuration
|
|
28
|
+
- TCP optimizations (TCP_NODELAY, keep-alive) now applied by default at socket creation
|
|
29
|
+
- `createOptimizedSocket()` replaces repeated `optimizeSocket()` calls for cleaner code
|
|
30
|
+
- Updated `exists()` to use new `stat()` method internally
|
|
31
|
+
|
|
32
|
+
### Removed
|
|
33
|
+
- Performance presets (LOW_LATENCY, HIGH_THROUGHPUT, BALANCED) - unnecessary complexity
|
|
34
|
+
- `performancePreset` and `performance` constructor options
|
|
35
|
+
- `getOptimalChunkSize()` function - Node.js doesn't expose socket buffer controls
|
|
36
|
+
|
|
3
37
|
## [2.0.0] - 2026-02-02
|
|
4
38
|
|
|
5
39
|
### Breaking Changes
|
|
@@ -8,9 +42,6 @@
|
|
|
8
42
|
|
|
9
43
|
### Added
|
|
10
44
|
- **Performance optimization system** with TCP tuning (inspired by HFT practices)
|
|
11
|
-
- `TCP_NODELAY` support to disable Nagle's algorithm for lower latency
|
|
12
|
-
- Configurable socket buffer sizes for optimal throughput
|
|
13
|
-
- Performance presets: `LOW_LATENCY`, `HIGH_THROUGHPUT`, `BALANCED`
|
|
14
45
|
- `downloadStream()` method for memory-efficient large file transfers
|
|
15
46
|
- `isConnected()` method to check connection and authentication status
|
|
16
47
|
- Parameter validation for `connect()`, `upload()`, and `download()`
|