Breaking Changes
- Removed all v0.15.0 deprecated crate re-exports (
open_lark::openlark_client,
open_lark::openlark_core,open_lark::openlark_auth, etc.) - Removed all v0.15.0 deprecated
*Clienttype aliases from root crate
(AuthClient,DocsClient,HrClient, etc.). Useclient.auth,client.docs,
client.hrfield access instead. - Cleaned root
prelude— no longer exports deprecated*Clientaliases - Cleaned root and
openlark-clientpreludes — no longer export deprecated
openlark_client::Config; useCoreConfigorClient::builder()instead. Client.config()now returns&openlark_core::config::Config(was&openlark_client::Config).
Access fields via methods:client.config().app_id(),client.config().base_url(), etc.- Migration: Replace
use open_lark::AuthClient→ access viaclient.authfield
or useopen_lark::authmodule namespace directly. Replaceclient.config().app_id
→client.config().app_id()(method call, not field access)
Deprecated
openlark_client::Config— planned for removal after the migration window.
UseClient::builder()oropenlark_core::config::Configdirectly.
Added
SecurityClientstruct inopenlark-security— proper wrapper withDeref
toSecurityServices(replacesArc<SecurityServices>alias)XxxClienttype aliases in all business crates for consistent naming:
WorkflowClient,PlatformClient,ApplicationClient,HelpdeskClient,
MailClient,AnalyticsClient,UserClient[package.metadata.docs.rs]configuration for complete documentation generationdocs/CLIENT_NAMING_CONVENTION.md— naming convention documentation
Changed
openlark-coreno longer enablestestingfeature by default. Crates using
openlark_core::testingin tests must addopenlark-core = { features = ["testing"] }
to their[dev-dependencies].- All business crate
XxxClienttypes now exported from source crates instead of
defined as type aliases inopenlark-client
Removed
#![allow(async_fn_in_trait)]fromopenlark-client(MSRV 1.88 no longer needs it)
Compatibility
Typed APIs
Helpers & Convenience Methods
Breaking Changes
Deprecations
Migration Notes
Added
Changed
Fixed
Crate 级质量状态
质量状态维度:
- typed coverage:来自
reports/api_validation/summary.json的 typed API 覆盖率 - contract tests:crate 内存在 request/response contract test
- snapshot tests:crate 内存在 helper/output snapshot test
| crate | typed coverage | 剩余缺口 | contract tests | snapshot tests | 备注 |
|---|---|---|---|---|---|
openlark |
n/a | n/a | no | no | 非 typed API 覆盖统计对象 |
openlark-core |
n/a | n/a | no | no | 非 typed API 覆盖统计对象 |
openlark-protocol |
n/a | n/a | yes | no | 非 typed API 覆盖统计对象 |
openlark-client |
n/a | n/a | yes | no | 非 typed API 覆盖统计对象 |
openlark-auth |
100.0% | 0 | no | no | 无 typed API 缺口 |
openlark-security |
100.0% | 0 | yes | no | 无 typed API 缺口 |
openlark-communication |
100.0% | 0 | yes | yes | 无 typed API 缺口 |
openlark-cardkit |
100.0% | 0 | no | no | 无 typed API 缺口 |
openlark-webhook |
n/a | n/a | no | no | 非 typed API 覆盖统计对象 |
openlark-docs |
100.0% | 0 | yes | yes | 无 typed API 缺口 |
openlark-hr |
100.0% | 0 | yes | no | 无 typed API 缺口 |
openlark-ai |
100.0% | 0 | no | no | 无 typed API 缺口 |
openlark-workflow |
100.0% | 0 | yes | yes | 无 typed API 缺口 |
openlark-application |
100.0% | 0 | yes | no | 无 typed API 缺口 |
openlark-platform |
100.0% | 0 | yes | no | 无 typed API 缺口 |
openlark-meeting |
100.0% | 0 | yes | no | 无 typed API 缺口 |
openlark-helpdesk |
100.0% | 0 | yes | no | 无 typed API 缺口 |
openlark-mail |
100.0% | 0 | yes | no | 无 typed API 缺口 |
openlark-analytics |
100.0% | 0 | yes | no | 无 typed API 缺口 |
openlark-user |
100.0% | 0 | yes | no | 无 typed API 缺口 |