Releases: yinzhenyu-su/qrypt
Releases · yinzhenyu-su/qrypt
Release list
v0.1.0
Changelog
Features
- 11f5cf8 feat(crypt): add Argon2id pre-stretch, random salt, and rclone password export
- 3779daf feat: add ErrSpaceUnsupported sentinel error
- 303abb8 feat: add NTP time sync, VFS journal safety, CI race detection, localfs smoke test
- d0a5157 feat: add S3-compatible object storage driver
- 10c278f feat: add Space() to yun139 driver for quota query
- 7b740da feat: add bandwidth limiter, PutFile, and capabilities to S3 driver
- 4b6833b feat: add ls/du/journal commands, improve cloud driver consistency
- 6faa4e0 feat: add recursive directory download and progress display for fs get
- 4c3b391 feat: add retry package, refactor aliyun/baidu to use it
- 4874ac0 feat: add size formatting utility with binary units
- b0189c7 feat: add space reporting to /v1/driver endpoint
- 84527ac feat: validate unknown driver parameters in config
Bug fixes
- b882fcc fix(ci): use libfuse-dev instead of libfuse3-dev
- 7afb142 fix: improve writeback cancellation, debug command, yun139 capability test
- 1b7ec64 fix: log warning on quark cookie state save failure
- 5bbcbd6 fix: only set dir prefetch cooldown on success, not on abort
Others
- fcb731b Improve mount shutdown and directory prefetch
- dac6f53 Remove health from CRUD coverage docs; use CRUD tests for active probing
- 26400cf Update gitignore
- 88931ac ci: install libfuse3-dev for FUSE headered compilation
- d96b49d ci: merge race job into check
- 1773ffb cmd/qrypt: rename --driver-health to --mount-health
- f626d52 control: add /v1/mounts/health endpoint
- 3898783 drive: add HealthTracker for operation-based health monitoring
- a0fce03 drive: remove HealthChecker interface and HealthStatus type
- 2e9e725 drivers,crypt: remove HealthCheck implementations
- 59c8d3e localfs: rename root param to root_path
- 59a832e refactor cli command layout
- 3c401e6 refactor(osutil): consolidate expandHome, fix Windows ~ handling
- 245e45e refactor: consolidate debug commands, add debug ai command
- 32add43 refactor: decompose VFS and FUSE modules, add driver capability system
- 37d024a refactor: extract generic postOnce, add userPost for yun139 user API
- 4e36838 refactor: improve FUSE adapter shutdown and statfs handling
- beabfd1 refactor: improve WebDAV error handling and test coverage
- 13665af refactor: move size/bytes formatting from drive to osutil
- 8d80b65 refactor: rename root to root_path across cmd, schema and scripts
- 8df7e45 refactor: replace ratelimit with bandwidth module, add rclone obscure
- d937687 refactor: restructure CLI commands, cleanup filesystem builder
- 63370c5 refactor: restructure CLI with cobra
- 73b56d8 refactor: standardize DebugSnapshot across all drivers, add Space/lastError
- 56023ca refactor: use ErrSpaceUnsupported in webdav and control server
- f8656ea test: add DebugSnapshot tests for aliyundrive, baidu, yun139, s3; extend webdav
- 780275a test: add comprehensive s3 driver tests with mock S3 server
- 38ca19c test: add list verification step to CRUD test helper
- 49af0fd vfs: replace DriverHealth with MountHealth backed by HealthTracker
- 159c0a5 yun139: add root_id as optional parameter
v0.0.1
Changelog
Features
- c35a3d4 feat(config): add JSON schema for TOML config autocomplete and validation
- f0f4e2f feat(config): support human-readable cache size and add disk space awareness
- 1dbeb66 feat(drive): add FileUploader interface for local file upload fast path
- 1fd8e78 feat(driver): add 115 cloud drive driver
- 2388ab7 feat(driver): add 139yun (China Mobile Cloud) driver
- 8a802bd feat(logging): add log sampling to reduce high-frequency duplicate messages
- 5cb2080 feat(webdav): add root_path parameter for subdirectory mounting
- 5bcf731 feat: add Baidu Netdisk driver
- e4143e0 feat: add Docker Makefile and Windows cross-compilation support
- ee1071f feat: add FUSE mount options (read-only, permissions, xattr, metadata cache timeouts)
- 7f733c8 feat: add HealthCheck to p115, webdav, yun139 drivers + CRUD test framework
- 8f5a7e7 feat: add JSON Schema for TOML config validation
- 713d36a feat: add NamedDriver, DriverProvider, Drivers(), DebugResolveByRemoteID in VFS
- cf5511c feat: add ParamMap for TOML type coercion and StateStore interface
- 86ddd33 feat: add SetModTime support to FUSE adapter
- 150e2e1 feat: add SetModTime to VFS and improve cache eviction
- c4e95a6 feat: add StateStore support and rate-limit improvements to drivers
- afb6d2a feat: add WebDAV backend driver
- 6c42f91 feat: add Windows support via platform-specific files + Docker build
- ccc2739 feat: add debug snapshot endpoints for VFS cache and WebDAV state
- 9c0f40d feat: add driver health/test endpoints and split debug CLI
- da8a0e0 feat: add driver parameter schema system with CLI help
- f6ad748 feat: add driver-migrate skill for porting OpenList drivers into qrypt
- c94f282 feat: add windows/arm64 build via nocgo cross-compile
- 7c7d2a5 feat: merge WebDAV driver with debug snapshot infrastructure
Bug fixes
- df4e628 fix(139yun): improve conflict resolution error handling
- 40b78d5 fix(webdav): handle read boundary conditions and 416 responses
- 84f4bf2 fix: Windows path separator issues in mount and VFS resolve
- 8586a64 fix: add prebuilt build config to goreleaser
- 2af572d fix: address code review findings
- 036c587 fix: improve driver error handling and VFS read-only checks
- 2c7f183 fix: improve local mod time handling in VFS
- 0823529 fix: restore rename-back step and remove all stale duplicates on conflict
- c0402fd fix: unmount on mount failure to prevent stale WinFSP state
- ad36c56 fix: use GITHUB_TOKEN env for goreleaser action
- 5f9c3d6 fix: use formats instead of deprecated format in goreleaser config
- 0584b82 fix: use_online_api should be boolean in schema and docs
Others
- 28a5c05 Add configurable and automatic mount capacity
- fc40186 Add runtime debug control API
- 9f2a3ac Build qrypt encrypted mount architecture
- 12ff487 Enhance debug APIs and driver guidance
- 38756aa Initial commit
- 0858c82 Merge debug enhancements into main
- 68dc899 Update changelog groups
- 535a4dd cache: add RemovePendingUnder for recursive pending cleanup
- 5be16ae ci: add Docker layer cache and Go module cache to dist job
- f7d520e ci: add GitHub Actions workflow for check and dist
- 7790457 ci: add explicit permissions for release job
- d25972c ci: add goreleaser for archive naming and changelog
- e3d6840 ci: add mkdir dist before docker build
- 7d2e8c0 ci: add per-target runner selection in build matrix
- 5678272 ci: add tag trigger v* to enable release workflow
- b89cd36 ci: build windows-amd64 with native Go instead of Docker
- bbfaa78 ci: fix goreleaser version config and add Docker setup for macOS runner
- e2547ae ci: move archive packaging from goreleaser to CI workflow
- 1386d16 ci: replace colima with docker/setup-docker-action
- 25c4fcf ci: replace goreleaser with manual archive packaging
- cffc420 ci: replace manual archive packaging with goreleaser action
- 3b8b737 ci: run check on ubuntu, dist on macos with check dependency
- 433e472 ci: skip build in goreleaser release step
- cd689de ci: split dist into linux-windows (ubuntu) + darwin (macos) + release
- 5e5881b ci: use colima with vz vm type for Docker on macOS
- 66b473e ci: use macos-14 runner for check and dist
- 58a2ab5 ci: use matrix strategy for build job
- 65d17a5 cli: read mount options from config instead of hardcoding
- 0ca6352 config: add bandwidth limit fields and EffectiveBandwidthLimits
- 2a8dd29 config: add cache.delete_delay; cli: wire delete_delay, generalize parseCacheDelay
- 94b5865 config: add cache.upload_delay field; cache: add pending lookup helpers
- 59a9dc9 config: add upload_workers field for concurrent upload concurrency
- 35dea11 config: add volume_name, no_apple_double, and logging config fields
- 9cd6bb9 crypt: add offset-based decryption read with nonce caching
- afef9f3 drive/quark: parallel multipart upload with configurable concurrency, rename support, share token refresh
- 62291b1 drive/ratelimit: add RateLimitInstaller interface, LimitDownload/LimitUpload helpers, and byteLimiter race fix
- 2665aab drive: add bandwidth rate limiter implementation
- d7da524 driver/quark: add regression test for OSS PUT User-Agent
- 7f9cb9a driver/quark: fix upload timeout - use shared httpClient, remove User-Agent, add timing diagnostics
- bba48ae driver/quark: integrate native rate limiter with context-aware uploadPart
- 35d9828 driver/quark: remove 120s timeout from ossClient and route tests through it
- 12b5fcc driver/quark: use http.NewRequest for OSS PUT to avoid propagating caller context deadline
- e7aa75f driver: add quark cloud drive backend
- a93ad93 fix(driver/139yun): correct JSON field name for upload part info
- 7b149b2 fixup! webdav: fix offset-to-EOF reads and URL-escape path segments
- 0fbdded logging: add millisecond precision to timestamp format
- 19d7dbb logging: replace ad-hoc trace loggers with unified logging package
- b773808 main: fix encryption wrapping bypassing bandwidth limiter in namespace mode
- 024eab9 main: wire bandwidth rate limiter into filesystem build
- ea3ea78 mount: add trace config to Options and refactor traceLogger
- be6213a mount: async mount with context cancellation; cli: signal handling, quark driver
- 518fc9a mount: handle Apple metadata in userspace, support rename, deduplicate FUSE error trace spam
- f41c234 mount: improve macOS compatibility with no-cache attributes, noop xattrs, and Finder metadata routing
- 3a85e0a mount: make com.apple.ResourceFork xattr a silent noop
- ff1df76 mount: separate Rmdir from Unlink; cli: wire upload_delay from config
- 8e1ae0f quark: add trace logging for API calls; cli: pass trace config as driver params
- 84e7f18 refactor(driver/115): align with OpenList patterns (rate limiting, proper UA, ListWithLimit)
- 375a649 refactor: consolidate debug snapshot types and reduce duplication
- 6184bb1 refactor: consolidate disk-free into pkg/osutil and...