Releases: airanluo-dot/DropSpace
Release list
DropSpace v0.3.0-preview.6
DropSpace v0.3.0-preview.6
Preview.6 is the inseparable 3.0 feature Preview described by the full project plan. It keeps DropSpace Windows-first and local-first while adding explicit, bounded paths for previewing, acting on, handing off, and sharing selected content.
Highlights
- Quick Preview providers for images, PDFs, bounded text/code/JSON/Markdown, media metadata, URLs, and unknown fallback. Preview reads are cancellation-aware, pixel/byte bounded, revision-keyed, and cached only after successful validation.
- Quick Actions expose real source-safe operations: SHA-256, ZIP, QR, image resize/convert, and metadata-safe re-encoding. The More menu never advertises a command without an availability check.
- DropLink v1 provides Windows-to-Windows pairing with ECDH, SAS confirmation, certificate fingerprint pinning, DPAPI peer secrets, HMAC-authenticated HTTPS, 4 MiB chunks, explicit receive approval, staging, integrity verification, and reconnect/resume status.
- Cross-device clipboard reuses the existing event-driven watcher. Per-peer Off/Manual/automatic text+URL/automatic text+URL+image modes, a 10,000-entry/24-hour content-hash loop guard, and self-write suppression prevent stale overwrites and echo loops.
- Nearby browser Share uses a private IPv4 address, 192-bit token, ten-minute default TTL, receiver cap, range reads, no directory listing, and revoke/expiry behavior.
- Encrypted Internet Share encrypts the manifest and 5 MiB chunks on the client with AES-256-GCM/HKDF.
share-worker/contains the Cloudflare Worker/R2 reference backend and WebCrypto receiver. - SQLite schema v2 persists paired-device and transfer-session metadata with forward migration and pre-migration backup.
Availability and security boundary
Device Handoff, cross-device clipboard, Nearby Share, and Internet Share are disabled until explicitly enabled. Internet Share is unavailable unless an operator has deployed the reference Worker and configured the HTTPS DROPSPACE_SHARE_BACKEND_URL; this Preview does not claim that a Cloudflare account or live backend is included. The browser key remains in the URL fragment and is not sent to the backend.
The protocol, threat model, action/preview contracts, and manual two-device acceptance matrix are documented under docs/. Native macOS/iOS/iPadOS/Android/Linux clients, accounts, WebRTC, AirDrop, Universal Clipboard, and cloud account sync remain out of scope.
Validation
The release workflow remains authoritative for .NET restore, Core/Infrastructure tests, WinUI build, portable EXE, installer lifecycle, MSIX, localization, smoke, SHA-256 metadata, GitHub Release assets, and website/API synchronization. The v0.3.0-preview.6 network matrix additionally requires two real Windows 11 devices and an explicitly configured Worker for end-to-end handoff/browser acceptance; source presence alone is not runtime evidence.
Stable-channel users will not receive this Preview. Select the Preview channel only to test experimental builds.
DropSpace v0.3.0-preview.5
DropSpace v0.3.0-preview.5
This is a focused Preview for Automatic placement-edit correctness. It preserves Preview.4's monitor exclusivity, clamped drag origin, rollback behavior, and runtime-only identity guard.
What changed
- Automatic → Adjust now begins from the actual visible Dynamic Island surface instead of the host-window origin, so the Island no longer jumps upward when editing starts.
- Projection includes
SurfaceTopOffsetDipsin monitor-local DIP coordinates, including Smart-mode DPI conversion. - Existing Custom placement coordinates remain unchanged because Custom resolution has no additional surface offset.
- Focused tests cover Automatic Smart projection, 1.5x DPI conversion, and Custom regression.
Validation scope
The existing Windows en-US/zh-CN CI, portable smoke, installer lifecycle, MSIX, release-bundle, and website/API gates remain the release authority. This Preview does not expand the manual multi-monitor or third-party provider matrix.
Stable-channel users will not receive this Preview. Select the Preview channel only to test experimental builds.
DropSpace v0.3.0-preview.4
DropSpace v0.3.0-preview.4
This is a focused Preview for placement-edit correctness. It keeps the Preview.3 Smart Drag, stable display identity, and per-monitor placement architecture.
What changed
- Placement editing is exclusive to the selected monitor island. Other islands are hidden and their native drop targets are revoked until Commit or Cancel; topology refresh and shutdown also clear suppression.
- Dragging now starts from the currently clamped projection, while Cancel restores the saved coordinates. The first pointer movement no longer jumps from an off-screen saved coordinate.
- Runtime-only display identities reject Custom placement at both the settings and service layers. Custom mode, X/Y, Apply, and Adjust are disabled with localized guidance; Automatic remains available.
- Focused Core tests cover clamped first movement, saved-coordinate rollback, and committed preview behavior.
Validation scope
The existing Windows en-US/zh-CN CI, portable smoke, installer lifecycle, MSIX, release-bundle, and website/API gates remain the release authority. Real Windows multi-monitor, mixed-DPI, topology-change, and runtime-identity evidence remains required for broad compatibility claims.
Stable-channel users will not receive this Preview. Select the Preview channel only to test experimental builds.
DropSpace v0.3.0-preview.3
DropSpace v0.3.0-preview.3
This is a focused Preview for reliability and placement correctness. It keeps the Preview.2 Smart Drag and Universal Access architecture while closing four targeted gaps.
What changed
- Critical Smart Drag lifecycle events now use an unbounded reliable signal lane. High-frequency
PointerMovedremains coalesced separately, with timestamp-ordered merge and distinct critical-write diagnostics. - Settings adds Adjust Island Position…. The selected Dynamic Island can be dragged without activating the window; physical pointer deltas are converted to monitor-local DIP, released coordinates are committed once, and Escape rolls back. Smart candidate creation and Classic activation are suppressed during the edit.
- Display monitor settings keys now use stable DisplayConfig target identities derived from the monitor device path. HMONITOR handles remain runtime-only, with an explicit best-effort fallback and schema-8 migration for currently enumerated displays.
- Placement mode and coordinates are now per monitor in settings schema 9. An unconfigured monitor remains Automatic, Reset is monitor-local, and runtime clamping never overwrites saved coordinates.
Validation scope
The repository adds focused Core and persistence tests for the signal queues, edit state machine, DisplayConfig identity normalization, schema-9 placement round trips, Automatic projection, and migration persistence. The existing Windows en-US/zh-CN CI, portable smoke, installer lifecycle, MSIX, release-bundle, and website/API gates remain the release authority.
Preview limitations
Real Explorer/Desktop provider behavior, mixed-DPI monitor re-enumeration, pointer feel, Drop Tray coexistence, and third-party/virtual-file compatibility still require Windows 11 desktop evidence. This Preview does not claim a broad provider matrix or replace the existing source/payload safety boundaries.
Stable-channel users will not receive this Preview. Select the Preview channel only to test experimental builds.
DropSpace v0.3.0-preview.2
DropSpace v0.3.0-preview.2
Preview.2 consolidates the complete Smart Drag Detection v2 and Universal Access target into one test release.
Smart Drag reliability
- Separates drag intent (
None, pointer threshold, accessibility-confirmed, OLE-confirmed) from payload confidence (Unknown, file-like, file-verified). Accessibility never proves a file payload by itself. - Coalesces high-frequency pointer motion separately while press, release, cancel, completion, timeout, and probe results use a reliable critical lane.
- Adds
AwaitingOleCompletion, 350 ms completion grace, immediate new-pointer supersession, and stale-session rejection. - Places the hollow OLE probe inside the pointer monitor at negative coordinates, edges, and mixed DPI.
- Guarantees probe teardown through owner
PostMessage, owner work-queue fallback, and a final forced watchdog. - Copies a path-free compatibility report with P50/P90/P95/P99 probe latency, velocity buckets, timeout, rejection, and false-reveal proxy counts.
Real virtual files and Universal Access
- Prefers
SHCreateShellItemArrayFromDataObject; bounded CIDA parsing remains a compatibility fallback. - Materializes
FileGroupDescriptorW+ indexedFileContentsonly after a real Drop, in bounded chunks on the supplying COM apartment, below DropSpace-owned staging. - Supports cancellation,
IDataObjectAsyncCapability, per-file/batch limits, confined filenames, duplicate-safe naming, and whole-batch rollback. - Drags files, folders, payload-backed images, text, and URLs out of Space.
- Adds manual text/URL intake and packaged Windows Share Target intake for StorageItems, Text/URI, and Bitmap. Portable/installer builds honestly report that Share Target requires package identity.
- Assigns
DropBatchIdand optionalDropSessionId; grouped items can expand/collapse, drag, pin, and remove together without duplicating records.
Dynamic Island
- Reuses the existing Dynamic Island as the keyboard-accessible Quick Panel with configurable global hotkey; default is
Win+Shift+Space. - Adds Automatic/Custom placement, monitor selection, X/Y DIP editing, Apply/Reset, Arrow 1 DIP, Shift+Arrow 10 DIP, Enter save, and Esc rollback.
- Preserves original per-monitor coordinates across transient clamping, disconnects, topology changes, negative coordinates, and mixed DPI.
- Animates geometry, opacity, content, drop scale, and shadow through interruptible Entering/Visible/Exiting/Reversing phases; hide waits for opacity and geometry settlement.
- Adds best-effort Smart Drag process exclusions with explicit limitation copy.
Validation boundary
The release workflow builds and tests the Windows application, installer, portable executable, MSIX, upgrade/uninstall lifecycle, localization parity, smoke harness, and website metadata. Hosted CI does not prove real third-party provider behavior or a physical Windows display-language switch. Explorer/Desktop, WeChat, QQ, Feishu/Electron, and Outlook attachment behavior remains an explicitly recorded manual Windows compatibility gate; this release does not fabricate those results.
Public assets may be unsigned when the repository's optional Authenticode credentials are not configured. Automatic unattended installation remains disabled for untrusted/unsigned assets.
DropSpace v0.3.0-preview.1
DropSpace v0.3.0-preview.1 — Smart Drag Detection v2 foundation
DropSpace v0.3.0-preview.1 is the first test build based on the Smart Drag Detection v2 project plan. It keeps Smart mode free of a permanent top-edge or full-screen drop target while broadening candidate detection beyond Explorer/Desktop process assumptions.
Official website: https://airanluo-dot.github.io/DropSpace/
Source-agnostic Smart candidates
- Continues passive pointer observation after a press from an unknown source and creates a generic candidate only after the Windows drag threshold is crossed.
- Keeps the proven Explorer/Desktop exact-item path as a high-confidence fast path.
- Accepts documented accessibility drag-start evidence from unknown providers without application-name hardcoding.
- Carries evidence level, evidence flags, session ID, and verification requirement through a serialized policy so stale timeouts and old callbacks cannot cancel a newer drag.
Ephemeral OLE verification probe
- Creates at most one 144-pixel hollow local OLE target only for a generic candidate; it does not exist while idle.
- Starts the pointer in a real 12-pixel Region hole, uses
WS_EX_NOACTIVATE,WS_EX_TOOLWINDOW,WS_EX_TOPMOST, and a 1/255 layered alpha, and never requests foreground focus. - Enforces a 60 ms hard lifetime, always reports
DROPEFFECT_NONE, and queues revoke/destruction outside theIDropTarget::DragEntercallback. - Begins speculative Dynamic Island reveal in parallel, commits file evidence when OLE verifies it, and reverses the reveal on rejection or timeout.
Shared OLE file classification
- Centralizes
CF_HDROP,Shell IDList Array, and virtual-file descriptor detection for the probe, Classic host, and visible Dynamic Island target. - Accepts file-system paths and Shell items that resolve to bounded file-system paths through the existing
AddPathsAsyncpipeline. - Recognizes
FileGroupDescriptorW+FileContentsas virtual-file evidence without reading content during verification. Safe streaming materialization is intentionally deferred to a later v0.3 Preview, so virtual-only drops are not yet accepted by this build. - Bounds item/PIDL parsing and keeps paths, filenames, and payload content out of diagnostics.
Validation in this Preview
- Extends Core policy tests for unknown candidates, strong-signal promotion, OLE verify/reject/timeout, stale-session races, and 1,000-session cleanup.
- Extends the Windows executable smoke with hollow Region, no-activate/tool-window/topmost styles, single-probe ownership, 60 ms timeout cleanup, double-dispose, and query-only
CF_HDROP/Shell/virtual/text classification checks. - Keeps Classic top-edge mode as an explicit compatibility fallback; Smart mode never silently switches to it.
Preview limitations
- Cross-process behavior still depends on each source application's OLE drag implementation. Explorer, Desktop, WeChat, QQ, Feishu/Electron, Office attachments, mixed-DPI monitors, cursor feedback, and false-reveal rate require recorded real-Windows testing before v0.3 Stable.
- Virtual files are detected but are not materialized in Preview.1.
- Public artifacts are unsigned unless release signing secrets are configured; SmartScreen may show an unknown-app prompt.
中文说明
- v0.3.0-preview.1 按 Smart Drag Detection v2 规划启动 3.0 测试序列:Unknown 来源按下后仍继续被动观察,越过系统拖拽阈值后建立通用候选;可信 UIA/WinEvent 拖拽信号不再被 Explorer-only 策略拒绝。
- 通用候选会并行启动推测性灵动岛 Reveal 与一个最多存在 60ms 的局部空心 OLE 探针。探针空闲时不存在、不抢焦点、不进入任务栏或 Alt+Tab、始终返回
DROPEFFECT_NONE,并在 COM 回调之外撤销和销毁。 - OLE 文件分类已统一支持
CF_HDROP、Shell IDList Array与虚拟文件描述符识别;本测试版只接收可安全解析的文件系统路径,虚拟文件流式落盘将在后续 v0.3 Preview 完成。 - 本版本没有按微信、QQ、飞书等进程名写特判,也没有轮询、注入、管理员权限、常驻顶部热区或常驻全屏透明窗口。
DropSpace v0.2.1
DropSpace v0.2.1 — Localization and zero-flicker startup
DropSpace v0.2.1 promotes the complete v0.2.1 Preview sequence to Stable. It keeps the proven Smart drag and single Dynamic Island behavior from v0.2.0 while improving language coverage, release communication, and Windows startup lifecycle reliability.
Official website: https://airanluo-dot.github.io/DropSpace/
English and Simplified Chinese
- Ships a complete
en-USbase resource set and an exactly synchronizedzh-CNresource set across the main window, Dynamic Island, native tray, update feedback, errors, and accessibility names. - Adds System default, English, and Simplified Chinese display-language choices. System follows Chinese Windows display languages and otherwise uses the English base; a changed language applies after restart.
- Keeps the portable single-file resource index isolated from WinUI framework resources and validates both resource contexts in Windows CI.
Zero-flicker Windows startup
- Creates the main-window HWND required by background services during
--startupwithout showing or activating it. - Keeps tray, clipboard monitoring, Dynamic Island, update checks, and single-instance redirection ready in the background.
- Preserves normal visible launch, tray Open, redirected activation, and Share Target behavior.
- Adds a Win32 visibility regression gate to the English and Simplified Chinese portable smoke tests.
Release-driven website
- Publishes the latest-change headline, release date, official link, and bilingual highlights from validated GitHub Release metadata.
- Preserves the last validated built presentation if a browser runtime refresh fails.
- Keeps the App update API schema and GitHub Releases fallback unchanged.
Downloads and compatibility
- Recommended:
DropSpaceSetup.exe— per-user installation and in-place updates. - Portable:
DropSpace.exe— self-contained x64 executable. - Alternative:
DropSpace-x64.msix— unsigned package for suitable test or managed environments. SHA256SUMS.txtandupdate-manifest.jsonprovide release integrity metadata.
Requires Windows 11 build 26100 or later. Public artifacts are not commercially code-signed unless the release workflow's signing credentials are configured, so SmartScreen may show an unknown-app prompt for unsigned files. Download only from this official GitHub Release and verify the published SHA-256 values.
中文说明
- v0.2.1 将完整英文与简体中文界面资源、跟随 GitHub Release 的官网“最新变化”展示,以及零闪烁开机自启动正式发布到 Stable。
--startup会在后台创建服务所需的主窗口 HWND,但从初始化到就绪都不会显示或激活主窗口;托盘、剪贴板监听、灵动岛、更新检查与单实例重定向保持正常。- Smart 拖拽、单一灵动岛、本地优先数据边界以及安装器、便携版和 MSIX 发布路径均保持不变。
- Stable 资产由 v0.2.1 源码重新构建,不会改名或复用 Preview 二进制。
DropSpace v0.2.1-preview.3
DropSpace v0.2.1-preview.3 — Zero-flicker Windows startup
This Preview fixes a lifecycle regression that briefly displayed the main window during Windows sign-in startup. The --startup path now creates the stable main-window HWND required by background services without showing or activating the main window.
Startup behavior
- Keeps the main window hidden for the entire
--startupinitialization path instead of activating it and hiding it afterward. - Preserves tray initialization, clipboard monitoring, Dynamic Island/Overlay initialization, update checks, and the single-instance activation pipeline.
- Keeps normal launches visible and allows tray Open or a redirected second launch to show and activate the existing main window.
- Keeps Share Target activation hidden.
Regression coverage
- Adds a Win32 startup visibility check that enumerates the DropSpace process's top-level windows and verifies that the main
DropSpacewindow is not visible after startup initialization. - Continues to run portable executable smoke coverage in both English and Simplified Chinese resource contexts.
- Preserves the existing installer, upgrade, uninstall, overlay, clipboard, and single-instance validation paths.
中文说明
- 修复 Windows 登录后开机自启动时主窗口短暂闪现的问题;
--startup路径从创建到后台就绪都不会显示或激活主窗口。 - 托盘、剪贴板监听、灵动岛、更新检查和单实例重定向仍会正常初始化。
- 普通启动、托盘打开以及再次运行 EXE 仍可正常显示并激活已有主窗口。
- 新增 Win32 主窗口可见性回归验证,并继续在英文与简体中文资源环境运行完整 Smoke 测试。
DropSpace v0.2.1-preview.2
DropSpace v0.2.1-preview.2 — English localization foundation
This Preview establishes the first supported display-language foundation for DropSpace. English is the complete base and fallback resource set; a new installation uses System default, mapping a Chinese Windows display language to Simplified Chinese and every other currently shipped-language case to English.
Display language
- Adds Settings choices for System default, English, and 简体中文.
- Persists the choice safely in settings schema 7 and explains that a restart is required before the new resource context is applied.
- Maps a Windows
zh-*display-language preference tozh-CN; every other currently unsupported system language intentionally falls back to the complete English base resource set.
Complete surface coverage
- Moves the main window, Dynamic Island, native tray menu/tooltip, settings feedback, dialogs, error prompts, update status, and WinUI automation names to shared resources.
- Uses the same localized resource source from app code, Core-facing status contracts, and Infrastructure update messages instead of leaving service/UI boundaries with hardcoded Chinese text.
- Avoids showing raw internal exception messages in user dialogs; technical detail remains in the local diagnostic log.
Validation
- Adds a CI policy that requires exactly matching English and Simplified Chinese resource keys and rejects CJK hardcoding in production C# and XAML.
- Runs the Windows build, tests, and executable smoke in both
en-USandzh-CNresource contexts, including a runtime XAML-resource resolution marker. - A real English Windows 11 and Simplified Chinese Windows 11 manual matrix remains required Preview evidence; hosted CI resource contexts do not claim the OS display language itself was changed.
中文说明
- 新增跟随系统、English 和简体中文三种显示语言选项;更改后重启应用即可生效。
- 主窗口、灵动岛、托盘、错误提示、无障碍名称和更新状态均已接入统一资源文件。
- CI 会检查资源键一致性和中文硬编码,并分别在英文与简体中文资源上下文运行 Windows 测试;真实 Windows 11 系统语言验证仍保留为预览版人工门禁。
DropSpace v0.2.1-preview.1
DropSpace v0.2.1-preview.1 — API-driven latest changes
This Preview keeps the user-confirmed Smart drag detector and single Dynamic Island unchanged. It fixes the official website's release story so the entire block—not only its version and date—follows the newest GitHub Release.
Official website: https://airanluo-dot.github.io/DropSpace/
API-driven website story
- Adds the versioned
/api/v1/latest-change.jsonpresentation contract alongside the unchanged App update contract at/api/v1/releases.json. - Keeps the large headline design while updating its Stable/Preview headline, release title, publication date, official Release link, and bilingual highlights from validated GitHub Release metadata.
- Supports a variable list of one to six highlights instead of assuming every release has exactly five.
- Generates the same validated content into the static page as a safe fallback, so a runtime fetch failure never leaves the section blank or mixes a new version with old copy.
- Extends browser, contract, build, and post-publication checks to cover desktop and mobile layout, endpoint identity, and the live homepage.
Compatibility
- Smart drag behavior, Dynamic Island states, Temporary Space, Clipboard History, local data, and source-file safety are unchanged.
- Stable remains v0.2.0. Preview-channel users can opt into this build through the existing verified update flow.
- The five release assets, SHA-256 checksums, update manifest, installer, portable EXE, and unsigned MSIX contract remain unchanged.
中文说明
- 官网“最新变化”板块现在拥有独立接口,大标题、版本说明、日期、链接和摘要会随最新 GitHub Release 一起更新。
- 摘要不再固定为五条,接口可按每次发布的实际内容提供一到六条;桌面端和手机端继续保留现有的大标题排版。
- App 使用的更新接口与智能检测、灵动岛、临时空间、剪贴板历史均保持不变;接口失败时官网会保留最近一次构建快照。