All notable changes to this project will be documented in this file.
v1.0.23 - 2026-04-30
- drive: Add
+pullshortcut for one-way Drive → local mirror (#696) - drive: Add
+pushshortcut for one-way local → Drive mirror (#709) - drive: Add
+statusshortcut for content-hash diff (#692) - drive: Support
--file-namefor drive export (#685) - base: Add markdown output for record reads (#726)
- minutes: Add media upload shortcut (#725)
- doc: Warn when callout uses
type=withoutbackground-color(#467) - cmdutil: Support
@filefor params and data (#724) - Add markdown shortcuts and skill docs (#704)
- doc: Guide lark-doc v2 usage (#710)
- minutes: Clarify minutes file-to-notes routing (#732)
v1.0.22 - 2026-04-29
- task: Add resource agent &
agent_task_step_info(#693) - task: Support app task members by id (#712)
- contact: Add
--queriesmulti-name fanout to+search-user(#707) - slides: Add slide templates with template-first skill guidance (#684)
- mail: Support calendar events in emails (#646)
- install: Honor
npm_config_registryfor binary URL resolution with npmmirror fallback (#690)
- install: Make Windows zip extraction resilient (#713)
- config/init: Respect
--brandflag in--newmode (#711)
- base: Clarify base search routing (#708)
- base: Align base skills and view config contracts (#653)
v1.0.21 - 2026-04-28
- contact: Add search filters and richer profile fields to
+search-user(#648) - common: Backfill resource URL when create APIs omit it (#680)
- risk: Add risk tiering for command sensitivity classification (#633)
- okr: Add progress records support (#574)
- calendar: Enhance event search and meeting room finding (#679)
- event: Add event subscription & consume system (#654)
- drive: Extend
+add-commentto support slides targets (#674) - slides: Add font management for slides (#681)
- cmdutil: Default flag completions to disabled (#688)
- e2e/wiki: Pass
obj_typewhen deleting wiki nodes in cleanup (#687) - readme: Fix readme statistics (#691)
v1.0.20 - 2026-04-27
- drive: Add
+searchshortcut with flat filter flags (#658) - mail: Support sharing emails to IM chats via
+share-to-chat(#637) - calendar: Add
+updateshortcut (#678) - im: Add
--at-chatter-idsfilter to+messages-search(#612) - pagination: Preserve pagination state on truncation and natural end (#659)
- lark-im: Add
chat.members.botsto skill docs (#616)
- strict-mode: Reject explicit
--asinstead of silently overriding it (#673) - whiteboard: Manual disable edge case for svg compatibility (#661)
- lark-drive: Add missing import command examples (#669)
- readme: Add Project (Meegle) to Features table (#660)
v1.0.19 - 2026-04-24
- mail: Add read receipt support —
--request-receipton compose,+send-receipt/+decline-receiptfor response - doc: Add v2 API for
docs +create/+fetch/+update(#638) - im: Request thread roots for chat message list (#635)
- drive: Support wiki node targets in
+upload(#611) - config: Block
auth/configwhen external credential provider is active (#627) - whiteboard: Pin
whiteboard-clitov0.2.10inlark-whiteboardskill (#649)
v1.0.18 - 2026-04-23
- base: Support
.baseimport and export for bitable (#599) - config: Add
config bindfor per-Agent credential isolation (#515) - slides: Add
+replace-slideshortcut for block-level XML edits (#516) - wiki: Add
+delete-spaceshortcut with async task polling (#610) - doc: Add
--from-clipboardflag todocs +media-insert(#508) - minutes: Unify minute artifacts output to
./minutes/{minute_token}/(#604) - Add configurable content-safety scanning (#606)
- install: Add SHA-256 checksum verification to
install.js(#592) - whiteboard: Pin
whiteboard-clito^0.2.9(#617)
- drive: Escape angle brackets in comment text (#632)
- im: Unify
messages-searchpagination int flags (#446) - im: Fix markdown URL rendering issues in post content (#206)
- base: Refine record cell value guidance (#636)
v1.0.17 - 2026-04-22
- im: Use
Content-Dispositionfilename when downloading message resources (#536) - drive: Add
+apply-permissionto request doc access (#588) - Support record share link (#466)
- whiteboard: Add image support to
whiteboard-cliskill (#553) - cmdutil: Add
X-Cli-Buildheader for CLI build classification (#596)
- base: Add default-table follow-up hint to
base-create(#600) - Skip flag-completion registration outside completion path (#598)
- Add
record-share-link-createinSKILL.md(#597) - mail: Remove leftover conflict marker in skill docs (#594)
- drive: Clarify that comment listing defaults to unresolved comments only (#609)
- doc: Fix
--markdownexamples that teach literal\n(#602) - mail: Remove
get_signaturesfrom skill reference, exposed via+signatureinstead (#545)
v1.0.16 - 2026-04-21
- mail: Support large email attachments (#537)
- mail: Add draft preview URL to draft operations (#438)
- doc: Add pre-write semantic warnings to
docs +update(#569) - doc: Add
--selection-with-ellipsisposition flag to+media-insert(#335) - calendar: Support event share link and error details (#583)
- doc: Preserve round-trip formatting in
+fetchoutput (#469) - docs: Validate
--selection-by-titleformat early (#256) - whiteboard: Register
+media-uploadshortcut and add whiteboard parent type
- Split
ExecuteintoBuild+Executewith explicit IO and keychain injection (#371) - auth: Simplify scope reporting in login flow (#582)
v1.0.15 - 2026-04-20
- sheets: Add float image shortcuts (#494)
- approval: Document
remindandinitiatedmethods in skill (#554)
- base: Preserve attachment metadata on base uploads (#563)
- base: Fix role view and record default permission on edit (#530)
- sheets: Normalize single-cell range in
+set-styleand+batch-set-style(#548) - im: Cap
basic_batchuser_ids at 10 per API limit (#551) - install: Refine install wizard messages (#529)
- whiteboard: Deprecate old
lark-whiteboard-cliskill (#547)
v1.0.14 - 2026-04-17
- mail: Add email priority support for compose and read (#538)
- mail: Support scheduled send (#534)
- drive: Support sheet cell comments in
+add-comment(#518) - doc: Add
--file-viewflag to+media-insert(#419) - base: Auto grant current user for bot create and copy (#497)
- base: Add identity priority strategy and error handling (#505)
- auth: Improve login scope handling and messages (#523)
- Add OKR business domain (#522)
- wiki: Improve wiki skill docs and add wiki domain template (#512)
- task: Document
custom_fieldsandcustom_field_optionsAPI resources and permissions (#524)
- skills: Introduce
lark-doc-whiteboard.mdand streamline whiteboard workflow (#502)
v1.0.13 - 2026-04-16
- im: Support user access token for file, image, audio, and video upload, aligning upload and send identity with
--asflag (#474) - drive: Add
drive +create-foldershortcut with root-folder fallback and bot-mode auto-grant (#470) - wiki: Add bot-mode auto-grant support to
wiki +node-create(#470) - doc: Default
skip_task_detailindocs +fetchto reduce unnecessary task detail expansion (#471)
- im: Preserve original URL filename for uploaded file messages instead of generic
media.extnames (#514) - whiteboard: Use atomic overwrite API parameter for
whiteboard +update, replacing read-then-delete approach (#483)
- base: Unify record batch write limit to 200 and enforce serial writes for continuous operations (#499)
- base: Remove redundant reference documentation and command grouping chapters from SKILL.md (#500)
- Consolidate workflows into layered CI pyramid with single
resultsgate (#510)
v1.0.12 - 2026-04-15
- Add guided npm install flow that installs or upgrades the CLI, installs AI skills, and walks through app config and auth login (#464)
- mail: Add email signature support with
+signature,--signature-idcompose flags, and draft signature edit operations (#485) - mail: Return recall hints for sent emails when recall is available (#481)
- slides: Add
+media-uploadand support@pathimage placeholders in+create --slides(#450)
- mail: Add recipient search guidance to the mail skill workflow (#437)
- calendar/vc: Route past meeting queries to
lark-vcand clarify historical date matching in skills (#482, #480)
v1.0.11 - 2026-04-14
- sheets: Add dropdown shortcuts for data validation management (
+set-dropdown,+update-dropdown,+get-dropdown,+delete-dropdown) (#461) - task: Add task search, tasklist search, related-task, set-ancestor, and subscribe-event shortcuts (#377)
- Streamline interactive login by removing the extra auth confirmation step (#451)
- base: Validate JSON object inputs for base shortcuts and reject
nullobjects (#458)
- sheets: Document value formats for formulas and special field types (#456)
- readme: Add Attendance to the features table (#460)
v1.0.10 - 2026-04-13
- im: Support im oapi range download for large files (#283)
- sheets: Add filter view and condition shortcuts (#422)
- wiki: Add wiki move shortcut with async task polling (#436)
- drive: Add drive
+create-shortcutshortcut (#432) - drive: Add drive files patch metadata API (#444)
- task: Support
--section-guidflag in tasklist-task-add shortcut (#430)
- base: Support large base attachment uploads (#441)
- config: Clarify init copy for TTY, preserve original for AI (#448)
- im: Reject
--user-idunder bot identity for chat-messages-list (#340) - mail: Add missing scopes for mail
+watchshortcut (#357) - mail: Restrict
--output-dirto current working directory (#376)
- wiki: Add wiki member operations to lark-wiki skill (#417)
- task: Document sections API resources, permissions, and URL parsing (#430)
- doc: Clarify when markdown escaping is needed (#312)
v1.0.9 - 2026-04-11
- Add attendance
user_task.query(#405) - Support minutes search (#359)
- slides: Add slides
+createshortcut with--slidesone-step creation (#389) - slides: Return presentation URL in slides
+createoutput (#425) - sheets: Add dimension shortcuts for row/column operations (#413)
- sheets: Add cell operation shortcuts for merge, replace, and style (#412)
- drive: Add drive folder delete shortcut with async task polling (#415)
- drive: Add guide for granting document permission to current bot (#414)
v1.0.8 - 2026-04-10
- Add
updatecommand with self-update, verification, and rollback (#391) - Add
--fileflag for multipart/form-data file uploads (#395) - Support file comment reply reactions (#380)
- base: Add
+dashboard-arrangecommand for auto-arranging dashboard blocks layout andtextblock type with Markdown support (#388) - base: Add record batch
+add/+setshortcuts (#277) - base: Add
+record-searchfor keyword-based record search (#328) - base: Add view visible fields
+get/+setshortcuts (#326) - base: Add record field filters (#327)
- base: Optimize workflow skills (#345)
- calendar: Add room find workflow (#403)
- mail: Add
--page-tokenand--page-sizeto mail+triage(#301) - whiteboard: Add
+queryshortcut and enhance+updatewith Mermaid/PlantUML support (#382)
- Improve error hints for sandbox and initialization issues (#384)
- Fix markdown line breaks support (#338)
- Return raw base field and view responses (#378)
- base: Return raw table list response and clarify sort help (#393)
- calendar: Add default video meeting to
+create(#383) - mail: Replace
os.Exitwith graceful shutdown in mail watch (#350)
- base: Document Base attachment download via docs
+media-download(#404) - Reorganize lark-base skill guidance (#374)
v1.0.7 - 2026-04-09
- Auto-grant current user access for bot-created docs, sheets, imports, and uploads (#360)
- mail: Add
send_asalias support, mailbox/sender discovery APIs, and mail rules API - vc: Extract note doc tokens from calendar event relation API (#333)
- wiki: Add wiki node create shortcut (#320)
- sheets: Add
+write-imageshortcut (#343) - docs: Add media-preview shortcut (#334)
- docs: Add support for additional search filters (#353)
- api: Support stdin and quoted JSON inputs on Windows (#367)
- doc: Post-process
docs +fetchoutput to improve round-trip fidelity (#214) - run: Add missing binary check for lark-cli execution (#362)
- config: Validate appId and appSecret keychain key consistency (#295)
- Route base import guidance to drive
+import(#368) - Migrate mail shortcuts to FileIO (#356)
- Migrate drive/doc/sheets shortcuts to FileIO (#339)
- Migrate base shortcuts to FileIO (#347)
- lark-doc: Document advanced boolean and intitle search syntax for AI agents (#210)
- Add depguard and forbidigo rules to guide FileIO adoption (#342)
v1.0.6 - 2026-04-08
- Improve login scope validation and success output (#317)
- task: Support starting pagination from page token (#332)
- Support multipart doc media uploads (#294)
- mail: Auto-resolve local image paths in all draft entry points (#205)
- vc: Add
+recordingshortcut formeeting_idtominute_tokenconversion (#246)
- Resolve concurrency races in RuntimeContext (#330)
- config: Save empty config before clearing keychain entries (#291)
- Reject positional arguments in shortcuts (#227)
- Improve raw API diagnostics for invalid or empty JSON responses (#257)
- docs: Normalize
board_tokensin+createresponse for mermaid/whiteboard content (#10) - task: Clarify
--completeflag help forget-my-tasks(#310) - help: Point root help Agent Skills link to README section (#289)
- Clarify
--completeflag behavior inget-my-tasksreference (#308)
- Migrate VC/minutes shortcuts to FileIO (#336)
- Migrate common/client/IM to FileIO and add localfileio tests (#322)
v1.0.5 - 2026-04-07
- drive: Support multipart upload for files larger than 20MB (#43)
- Add darwin file master key fallback for keychain writes (#285)
- Add strict mode identity filter, profile management and credential extension (#252)
- mail: Restore CID validation and stale PartID lookup lost in revert (#230)
- base: Clarify table-id
tblprefix requirement (#270) - Fix parameter constraints for LarkMessageTrigger (#213)
- Fix root calendar example (#299)
- Fix README auth scope and api data flag (#298)
- Clarify task guid for applinks (#287)
- Clarify lark task guid usage (#282)
- lark-base: Add
has_moreguidance for record-list pagination (#183)
- Isolate registry package state in tests (#280)
- Add scheduled issue labeler for type/domain triage (#251)
- issue-labels: Reduce mislabeling and handle missing labels (#288)
- Map wiki paths in pr labels (#249)
v1.0.4 - 2026-04-03
- Support user identity for im
+chat-create(#242) - Implement authentication response logging (#235)
- Support im chat member delete and add scope notes (#229)
- security: Replace
http.DefaultTransportwith proxy-aware base transport to mitigate MITM risk (#247) - calendar: Block auto bot fallback without user login (#245)
- mail: Add identity guidance to prefer user over bot (#157)
- dashboard: Restructure docs for AI-friendly navigation (#191)
- Add a CLI E2E testing framework for lark-cli, task domain testcase and ci action (#236)
v1.0.3 - 2026-04-02
- Add
--jqflag for filtering JSON output (#211) - Add
+downloadshortcut for minutes media download (#101) - Add drive import, export, move, and task result shortcuts (#194)
- Support im message send/reply with uat (#180)
- Add approve domain (#217)
- mail: Use in-memory keyring in mail scope tests to avoid macOS keychain popups (#212)
- mail: On-demand scope checks and watch event filtering (#198)
- Use curl for binary download to support proxy and add npmmirror fallback (#226)
- Normalize escaped sheet range separators (#207)
- mail: Clarify JSON output is directly usable without extra encoding (#228)
- Clarify docs search query usage (#221)
- Add gitleaks scanning workflow and custom rules (#142)
v1.0.2 - 2026-04-01
- Improve OS keychain/DPAPI access error handling for sandbox environments (#173)
- mail: Auto-resolve local image paths in draft body HTML (#139)
- Correct URL formatting in login
--no-waitoutput (#169)
- Add concise AGENTS development guide (#178)
- Refine PR business area labels and introduce skill format check (#148)
- Add pull request template (#176)
v1.0.1 - 2026-03-31
- Add automatic CLI update detection and notification (#144)
- Add npm publish job to release workflow (#145)
- Support auto extension for downloads (#16)
- Remove useless files (#131)
- Normalize markdown message send/reply output (#28)
- Add auto-pagination to messages search and update lark-im docs (#30)
- base: Use base history read scope for record history list (#96)
- Remove sensitive send scope from reply and forward shortcuts (#92)
- Resolve silent failure in
lark-cli apierror output (#85)
- base: Clarify field description usage in json (#90)
- Update Base description to include all capabilities (#61)
- Add official badge to distinguish from third-party Lark CLI tools (#103)
- Rename user-facing Bitable references to Base (#11)
- Add star history chart to readmes (#12)
- Simplify installation steps by merging CLI and Skills into one section (#26)
- Add npm version badge and improve AI agent tip wording (#23)
- Emphasize Skills installation as required for AI Agents (#19)
- Clarify install methods as alternatives and add source build steps
- Improve CI workflows and add golangci-lint config (#71)
v1.0.0 - 2026-03-28
The first open-source release of Lark CLI — the official command-line interface for Lark/Feishu.
lark api— Make arbitrary Lark Open API calls directly from the terminal with flexible parameter support.lark auth— Complete OAuth authentication flow, including interactive login, logout, token status, and scope management.lark config— Manage CLI configuration, includinginitfor guided setup anddefault-asfor switching contexts.lark schema— Inspect available API services and resource schemas.lark doctor— Run diagnostic checks on CLI configuration and environment.lark completion— Generate shell completion scripts for Bash, Zsh, Fish, and PowerShell.
Built-in shortcuts for commonly used Lark APIs, enabling concise commands like lark im send or lark drive upload:
- IM (Messaging) — Send messages, manage chats, and more.
- Drive — Upload, download, and manage cloud documents.
- Docs — Work with Lark documents.
- Sheets — Interact with spreadsheets.
- Base — Manage multi-dimensional tables.
- Calendar — Create and manage calendar events.
- Mail — Send and manage emails.
- Contact — Look up users and departments.
- Task — Create and manage tasks.
- Event — Subscribe to and manage event callbacks.
- VC (Video Conference) — Manage meetings.
- Whiteboard — Interact with whiteboards.
Bundled AI agent skills for intelligent assistance:
lark-im,lark-doc,lark-drive,lark-sheets,lark-base,lark-calendar,lark-mail,lark-contact,lark-task,lark-event,lark-vc,lark-whiteboard,lark-wiki,lark-minuteslark-openapi-explorer— Explore and discover Lark APIs interactively.lark-skill-maker— Create custom AI skills.lark-workflow-meeting-summary— Automated meeting summary workflow.lark-workflow-standup-report— Automated standup report workflow.lark-shared— Shared skill utilities.
- Cross-platform support (macOS, Linux, Windows) via GoReleaser.
- Shell completion for Bash, Zsh, Fish, and PowerShell.
- Bilingual documentation (English & Chinese).
- CI/CD pipelines: linting, testing, coverage reporting, and automated releases.