Skip to content

Commit efb9c7e

Browse files
authored
New version: axpnet.AeroFTP version 3.1.3 (microsoft#352813)
1 parent 46c27fc commit efb9c7e

3 files changed

Lines changed: 117 additions & 0 deletions

File tree

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
# Created with WinGet Releaser using komac v2.15.0
2+
# yaml-language-server: $schema=https://aka.ms/winget-manifest.installer.1.12.0.schema.json
3+
4+
PackageIdentifier: axpnet.AeroFTP
5+
PackageVersion: 3.1.3
6+
InstallerLocale: en-US
7+
ReleaseDate: 2026-03-26
8+
Installers:
9+
- Architecture: x64
10+
InstallerType: nullsoft
11+
Scope: user
12+
InstallerUrl: https://github.com/axpdev-lab/aeroftp/releases/download/v3.1.3/AeroFTP_3.1.3_x64-setup.exe
13+
InstallerSha256: AD198D875AB81C825F0A2012BC2263B07679896DBC325520F20CBC454018B83A
14+
InstallerSwitches:
15+
Silent: /S
16+
SilentWithProgress: /S
17+
ProductCode: AeroFTP
18+
AppsAndFeaturesEntries:
19+
- Publisher: aeroftp
20+
ProductCode: AeroFTP
21+
InstallationMetadata:
22+
DefaultInstallLocation: '%LocalAppData%\AeroFTP'
23+
- Architecture: x64
24+
InstallerType: wix
25+
Scope: machine
26+
InstallerUrl: https://github.com/axpdev-lab/aeroftp/releases/download/v3.1.3/AeroFTP_3.1.3_x64_en-US.msi
27+
InstallerSha256: B7539AD4083B2651A78C28A90FAAA3FE1CAD126B9688B9C3390FD5D80F8DDCEA
28+
ProductCode: '{FA335625-0DA3-49B5-B36F-F216035ADEC0}'
29+
AppsAndFeaturesEntries:
30+
- Publisher: aeroftp
31+
ProductCode: '{FA335625-0DA3-49B5-B36F-F216035ADEC0}'
32+
UpgradeCode: '{3A660390-AA69-5CCD-A202-013C64158D37}'
33+
InstallationMetadata:
34+
DefaultInstallLocation: '%ProgramFiles%/AeroFTP'
35+
ManifestType: installer
36+
ManifestVersion: 1.12.0
Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
# Created with WinGet Releaser using komac v2.15.0
2+
# yaml-language-server: $schema=https://aka.ms/winget-manifest.defaultLocale.1.12.0.schema.json
3+
4+
PackageIdentifier: axpnet.AeroFTP
5+
PackageVersion: 3.1.3
6+
PackageLocale: en-US
7+
Publisher: axpnet
8+
PublisherUrl: https://github.com/axpnet
9+
PublisherSupportUrl: https://github.com/axpnet/aeroftp/issues
10+
Author: axpnet
11+
PackageName: AeroFTP
12+
PackageUrl: https://github.com/axpnet/aeroftp
13+
License: GPL-3.0
14+
LicenseUrl: https://github.com/axpdev-lab/aeroftp/blob/HEAD/LICENSE
15+
ShortDescription: A modern, multi-protocol file manager and FTP client with integrated AI, cloud sync, and military-grade encryption.
16+
Description: |-
17+
AeroFTP is an open-source, multi-protocol file manager built with Tauri 2 (Rust + React 18 + TypeScript).
18+
It supports 16 protocols (FTP, FTPS, SFTP, WebDAV, S3, Google Drive, Dropbox, OneDrive, MEGA, Box, pCloud, Azure Blob, 4shared, Filen, Zoho WorkDrive, and Cryptomator vaults),
19+
features an AI assistant with 45 tools and 15 LLM providers, military-grade encrypted vaults (AES-256-GCM-SIV + Argon2id),
20+
bidirectional real-time sync, a built-in code editor, SSH terminal, and media player with visualizers.
21+
Available in 47 languages with 4 themes.
22+
Moniker: aeroftp
23+
Tags:
24+
- cloud-storage
25+
- encryption
26+
- file-manager
27+
- file-transfer
28+
- ftp
29+
- ftp-client
30+
- multi-protocol
31+
- rust
32+
- s3
33+
- sftp
34+
- sync
35+
- tauri
36+
- webdav
37+
ReleaseNotes: |-
38+
[3.1.3] - 2026-03-26
39+
AeroCloud Hardening — Production-Grade Sync Engine
40+
Comprehensive AeroCloud sync overhaul: 6-phase sprint covering engine hardening, protocol fixes (OpenDrive, FileLu, 4shared), selective sync, file versioning, and .aeroignore support. Audited by 5 parallel Opus 4.6 agents — 10 findings identified and resolved.
41+
Added
42+
- Selective sync: Exclude remote folders from sync via tree-view checkbox UI in CloudPanel settings. Backend skips excluded folders in both scan and comparison phases. New SelectiveSyncTree component with collapse/expand, parent cascade, and dirty-state tracking
43+
- File versioning (.aeroversions/): Automatic backup of overwritten/deleted files during sync. Three strategies — TrashCan (cleanup after N days), Simple (keep last N copies), Staggered (1/hour for 24h, 1/day for 30d, 1/week older). New VersionBrowser component with restore, cleanup, and disk usage display
44+
- .aeroignore file: Gitignore-compatible pattern exclusion in sync root. Supports */** globs, ! negation (re-include), # comments, directory-only trailing /. Default template created on setup. Applied to all 3 scan paths (local, FTP remote, provider remote)
45+
- Protocol maturity badges: Stable/Beta/Alpha classification for all 21 AeroCloud protocols in setup wizard, dashboard, and wizard preview. Tooltip with one-line limitation per protocol
46+
- Re-authorization banner: Token revocation detection for OAuth 1.0a providers (4shared) — red banner with "Re-authorize" button in CloudPanel, triggered via cloud-reauth-required Tauri event
47+
- FileLu content hash: hash field captured from FileLu API responses, propagated as content_hash metadata for hash-based sync comparison (no mtime modification of local files)
48+
- Tauri commands: update_excluded_folders, list_remote_folders_tree, list_file_versions, restore_file_version, cleanup_versions, versions_disk_usage
49+
Changed
50+
- Conflict naming: Dropbox-style format report (AeroCloud conflict 2026-03-26 14-30-22 hostname).pdf replaces report_conflict_20260326143052.pdf. Includes machine hostname for multi-device disambiguation
51+
- Timestamp fallback: Size-only comparison when file timestamps are absent (providers like FileLu). timestamps_equal(None, None) now returns true. Sync index comparison falls back to size-only when cached mtime is None. Prevents infinite re-sync loops
52+
- OpenDrive session management: Proactive session refresh at 50-minute threshold via ensure_session(). Automatic re-authentication on 401 with single retry in list(). last_activity tracking across all operations (list, cd, download, upload, mkdir, delete, rename)
53+
- 4shared auth hardening: check_auth_status() applied to all 4 HTTP methods (GET, POST, DELETE, PUT). 401 responses produce AuthenticationFailed("4shared_token_revoked: ...") — sync loop aborts and emits frontend event
54+
- Default exclude patterns: .aeroignore and .aeroversions added to default exclude_patterns in CloudConfig
55+
- File watcher: .aeroversions added to EXCLUDED_HIDDEN list to prevent watcher events from versioning directory
56+
Fixed
57+
- FTP download versioning: Archive hook was missing in FTP sync path — local files were overwritten without backup. Now both FTP and provider paths archive before download (SEC audit finding #7)
58+
- Version restore safety: restore() now archives the current file before overwriting, preventing data loss on restore operations (audit finding #10)
59+
- Restore path traversal: restore_file_version command validates archive_path is within .aeroversions/ and rejects .. traversal (SEC audit finding #8)
60+
- Local scan excluded_folders: scan_local_folder() now skips directories listed in excluded_folders, preventing unwanted uploads of excluded content (audit finding #9)
61+
- OpenDrive operations coverage: ensure_session() added to download_to_bytes, mkdir, delete, rmdir_recursive, rename — previously only list/cd/download/upload were covered (audit findings #1-3)
62+
- 4shared PUT auth check: signed_put_form now calls check_auth_status() — previously 401 on rename/move produced generic error instead of triggering sync abort (audit finding #4)
63+
Security
64+
- 10 audit findings identified by parallel Opus 4.6 agents (2 HIGH, 4 MEDIUM, 4 LOW), all resolved
65+
- Path traversal protection in restore_file_version (validates archive path prefix + rejects ..)
66+
- Token revocation detection prevents continued API calls with revoked credentials
67+
Downloads:
68+
- Windows: .msi installer or .exe
69+
- macOS: .dmg disk image
70+
- Linux: .deb, .rpm, .snap, or .AppImage
71+
ReleaseNotesUrl: https://github.com/axpdev-lab/aeroftp/releases/tag/v3.1.3
72+
ManifestType: defaultLocale
73+
ManifestVersion: 1.12.0
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# Created with WinGet Releaser using komac v2.15.0
2+
# yaml-language-server: $schema=https://aka.ms/winget-manifest.version.1.12.0.schema.json
3+
4+
PackageIdentifier: axpnet.AeroFTP
5+
PackageVersion: 3.1.3
6+
DefaultLocale: en-US
7+
ManifestType: version
8+
ManifestVersion: 1.12.0

0 commit comments

Comments
 (0)