v1.0.59-beta.1
Pre-releaseAdded
-
Drive list type/time filtering (#942) —
dws drive listgains--type file|folder,--start, and--endfor client-side filtering by node type
and modification time on both the pan and workspace routes. Filtering runs
a bounded full scan of the target directory (2000-entry cap, reported via
truncated=true), composes with--latest/--pattern/--depth, and is
mutually exclusive with--versions/--cursor/--order-by/--order/
--limit. Time values accept relative forms (24h/7d/2w), RFC 3339,
zone-less ISO 8601 (Asia/Shanghai), or a plain date. -
Drive folder synchronization — adds
dws drive status,dws drive pull,
dws drive push, anddws drive syncfor file-level comparison and transfer
between a local folder and a Drive folder. Differences come from exact MD5 by
default or from modification time with--quick;statusis read-only,pull
andpushare one-directional with--if-exists skip|smart|overwrite, and
syncis bidirectional with--on-conflict remote-wins|local-wins|keep-both|ask.
Only regular files are transferred — online documents and shortcuts are skipped,
neither side deletes extra files, downloads are staged through a temporary file
and committed with an atomic rename, and remote names that would escape
--local-folderare reported as failures instead of being written. Every command
prints a structured summary on stdout and exits non-zero when any item fails. -
International DingTalk region support — adds
.iologin and MCP routing, pre-release endpoint overrides, and profile-aware gateway selection while preserving the existing.comflow.
Changed
- Chat identity routing — validates explicit
openDingTalkIdinputs and improves name,userId, andopenDingTalkIdrouting for message shortcuts.
Fixed
-
Drive
--latestrefuses incomplete Top-N (#899) —dws drive list --latestused to
exit 0 with a "Top-N" computed over a partially scanned tree whenever a directory read
failed mid-recursion (permission denied, API error), letting an incomplete set pose as the
globally newest files. Truncation at the 2000-item scan cap and mid-recursion directory
failures now both fail closed (LATEST_SCAN_TRUNCATED/LATEST_SCAN_INCOMPLETE), report
the first failing folder with its depth and reason, and emit a recovery command that
reproduces the original candidate set — query domain,--folder,--pattern,--type,
--startand--endare all carried over. On POSIX shells each user-supplied value is
quoted so a URL query string or a shell metacharacter cannot change how the copied command
parses. On Windows no quoting form is safe for bothcmd.exeand PowerShell, so values
containing metacharacters are not inlined at all: the command carries a placeholder and the
original value is shown on a separate line marked as data rather than an executable command.
Unrecoverable errors under--latestreturn the root cause instead of a partial result.
Remote-controlled folder names and server error text are stripped of ANSI escapes and
control characters before they reach the plain-text stderr message. The internalsortTime
sort key no longer leaks intodrive list --depthoutput on any path. -
Drive list pattern filtering (#942) —
dws drive list --patternon the
single-layer pan route now filters the returned page by name pattern; the
flag was previously accepted but silently ignored. -
Drive list
--type folder --latestcomposition (#942) —--latestnow
ranks the filtered entries (folders included when--type folderis set)
instead of unconditionally dropping folders, so the documented combination
returns the most recently modified folders rather than an empty list. -
Chat message time defaults (#973) — default omitted
chat message list-alltime bounds inAsia/Shanghaiwhen emitting timezone-lessyyyy-MM-dd HH:mm:ssvalues, matching parsing semantics and rejecting reversed windows. -
Doc and Drive parameter aliases — normalizes reviewed identifier, pagination, path, version, and role synonyms while blocking ambiguous values before dispatch.