Replace Chinese figures under docs/en/api/ with English translations so
the English documentation no longer embeds Chinese-only images.
Figures translated (docs/en/api/...):
- framework/feature/figures/JIDL.png
- framework/feature/figures/feature_static.png
- framework/feature/figures/feature_instance.png
- framework/feature/figures/Asynchronous_model.png
- framework/telephony/figures/TapiWork.png
Figures pruned (removed in both en/ and zh-cn/) and expressed inline via
concise text or tables, which carries the same information more compactly:
- feature_framework.png: use a short bullet list of the architecture layers.
- feature_life.png: use a table documenting each lifecycle event.
- feature_running.png: use a bullet list describing Module / Prototype /
Instance semantics.
- callback_promise_manager.png: describe the internal ID/table design inline.
- quickapp/basic_structure.png: remove the Overall Architecture section,
whose information is already covered by Related Documentation links.
- Add en/release_notes/v5.5.md and zh-cn/release_notes/v5.5.md
- Cover kernel / bluetooth / connectivity / multimedia / graphics /
system services / security / QuickApp / AI Agent new features,
breaking changes and upgrade guide
- Link both versions from top-level README.md and README_zh-cn.md
Two figures previously shipped with the API reference were not referenced
by any document:
- figures/a2dp.png (under framework/bluetooth/) — A2DP connection state
machine diagram.
- figures/ft_context.svg (under framework/feature/) — Relationship between
the Feature framework interface (ft_value_t / ft_context_ref) and the
frontend runtime (JSValue / JSContext).
Instead of deleting them, both figures are now properly referenced:
- bt_a2dp.md gains a new 'Connection State Machine' section that renders
the A2DP state machine diagram with a description of each state.
- feature_framework_context.md gains a new 'Feature Context and Frontend
Runtime' section that uses ft_context.svg to explain the value/context
mapping between the Feature framework and frontend runtimes.
Chinese and English versions are kept in sync.
Add full English version of API reference docs under docs/en/api/,
covering 69 files across kernel, framework, and network modules.
Additional changes in docs/zh-cn/api/:
- Add bilingual navigation header to all 69 zh-cn API documents,
enabling cross-language switching between Chinese and English versions.
- Fix 16 mis-placed function descriptions in telephony/telephony_call.md
where multiple APIs incorrectly shared the same description
(re-derived from the tapi_call.h header @brief comments).
- Fix 2 untranslated English residues in network/wapi.md.
Reorganize the legacy docs/doxygen/ directory so that file locations
match both the actual content type and the existing bilingual docs
layout (zh-cn/ for Chinese, en/ for English).
== Why ==
Since #526 deprecated the Sphinx/Doxygen build pipeline, all files
under docs/doxygen/ are plain hand-written Markdown. The directory
name is misleading, and the content is currently Chinese-only while
the rest of docs/ uses docs/zh-cn and docs/en mirrors.
The directory also mixed two unrelated content types:
- docs/doxygen/api/ — API reference
- docs/doxygen/system_debug_tools/ — Chinese developer guides
== What ==
- git mv docs/doxygen/api → docs/zh-cn/api (81 files)
- git mv docs/doxygen/system_debug_tools → docs/zh-cn/device_dev_guide/system_debug_tools (20 files)
- rmdir docs/doxygen (now empty)
Pure rename / move; no content changes. 'grep -rn doxygen/' over the
remaining Markdown and YAML returns no hits.
== Notes ==
- API documentation is now at docs/zh-cn/api/, consistent with the rest
of the Chinese docs tree. The English mirror at docs/en/api/ will be
added in a follow-up PR once translations are ready.
- system_debug_tools/ joins the existing Chinese dev-guide tree
alongside kernel/, driver/, connection/, media/, etc.
- The system_debug_tools/ files are currently wrapped in Doxygen-style
comment blocks; that formatting issue is tracked as a separate
cleanup task and is not addressed here.
Split the 2439-line monolithic net.md into focused files and bring each
to 100% coverage of its source headers.
Files:
- net.md (unchanged scope: BSD socket + DNS, 24 APIs)
trimmed from 2439 to 589 lines after split
- net_dhcp.md NEW — DHCP client (IPv4), DHCPv6 client, DHCP server
15 APIs from netutils/dhcpc.h, netutils/dhcp6c.h,
netutils/dhcpd.h
- net_ftp.md NEW — lightweight FTP server
4 APIs from netutils/ftpd.h
- netlib.md NEW — IPv4/IPv6 address/route/MAC/MTU, iptables,
connectivity checks, URL parsing
81 APIs from netutils/netlib.h
- wapi.md NEW — Wi-Fi interface configuration, scanning,
power management, PMKSA (Linux Wireless Extensions)
47 APIs from wireless/wapi.h
- index.md updated with categorized navigation
Structure fixes:
- Promote 142 individual APIs from '####' (four-level) to '###'
per api-doc-standards.md ('组内每个 API 用 ### 函数名')
- Each file has its own '## openvela 实现说明' section and explicit
#include header declaration
Coverage fixes found during audit:
- net_dhcp.md: split one '### set_startip / set_routerip /
set_netmask / set_dnsip' composite section into 4 independent APIs,
adding proper 参数/返回值 descriptions to each
- netlib.md: add 5 previously missing address-conversion helpers
(netlib_ipv4addrconv, netlib_ethaddrconv, netlib_saddrconv,
netlib_eaddrconv, netlib_nodeaddrconv)
Content quality:
- Translate ~31 parameter descriptions that mixed English and Chinese
(e.g. 'ipaddr 用于存储 the IP address' ->
'ipaddr 用于存储 IP 地址')
- Preserve industry standard terms (BSD socket, SIOCGIF*, WEXT,
Linux Wireless Extensions, struct sockaddr_in) per the standard
Total: 166 + 15 + 4 + 81 + 47 = 313 public APIs documented across
the 5 files, up from 166 before and with every section now verified
against its source header.
Bring security.md in line with the openvela API documentation standard
and cover the full public surface of the security framework. Also
consolidate the small docs/doxygen/api/external/ directory back into
framework/ so that API references live in one coherent tree.
== Security framework ==
Structure changes:
- Remove all Chinese/Arabic numeric prefixes from headings ('一、',
'二、', '1、', etc.)
- Flatten the three-level '## > ### > ####' nesting in favor of the
standard '## group > ### api' layout
- Add '## openvela 实现说明' section (REE/TEE split, rpmsg channel,
API layering, rootkey flow)
- Add header include declaration
CA application-layer APIs (24 in 5 groups) rewritten as individual
'### function' entries, each with signature, Chinese description,
**参数** list and **返回值** section:
- Secure Storage (SST): 5 APIs from comsst_ca_api.h
- Triad (DID + Key): 5 APIs from triad_ca_api.h
- WeChat Pay CA: 4 APIs from wxcodepay_ca_api.h
- Alipay CA: 4 APIs from alipay_ca_api.h
- PIN CA: 6 APIs from pin_ca_api.h
MiTEE Rootkey section rewritten with proper signature blocks and
parameter descriptions for the read (boardctl BOARDIOC_UNIQUEKEY) and
write (rootkey_provision) flows.
GP TEE Client API:
- Clean up signatures (remove embedded Doxygen-style comment blocks
that were inconsistent with the rest of the document)
- Translate all parameter and return-value descriptions to Chinese
- Add two missing public APIs: TEEC_RegisterSharedMemory and
TEEC_RequestCancellation
- Coverage: 9 / 9 against OP-TEE <tee_client_api.h>
GP TEE Internal API:
- Keep the status-reference table format (openvela implementation
status vs. GP specification), but add an opening paragraph that
points readers to the GlobalPlatform TEE Internal Core API
Specification v1.3.1 and <tee_internal_api.h> for authoritative
signature and semantics
- Clarify the meaning of the '支持' and '实现不完整' status labels
Every CA and TEEC signature in the document has been verified against
the corresponding source header.
== Android Keystore API (new section) ==
Merge the contents previously hosted in docs/doxygen/api/external/
security/keystore_client.md into security.md as a new top-level
'## Android Keystore Client API' section. Rationale: the keystore
client is openvela's second security scheme alongside MiTEE TEE, so
documenting both in one file gives developers a single entry point.
The new section covers the 5 public C APIs from
external/android/system/security/keystore/include/keystore/client.h
(keyStoreInsert / Get / Del / Exist / Reset) and the full KEYSTORE_*
error-code table. The '## openvela 实现说明' paragraph is updated to
explain the dual-scheme architecture.
== external/ directory consolidation ==
Delete docs/doxygen/api/external/ entirely (4 files: ffmpeg.md,
index.md, security/index.md, security/keystore_client.md). The
directory only contained two substantive docs, and both have been
moved to a more natural home:
- keystore_client.md → framework/security.md (new top-level section)
- ffmpeg.md integration notes (Kconfig + LGPL compliance) →
framework/media/index.md 'openvela 实现说明' section. FFmpeg's
native API docs themselves are not replicated, readers are linked
to the upstream FFmpeg documentation as the authoritative source.
Update api/index.md to remove the '第三方开源库' entry accordingly.
Bring both uorb.md and kvdb.md to 100% coverage of their public headers
following the openvela API documentation standard.
uorb.md:
- Add 18 previously missing core APIs, including orb_advertise,
orb_advertise_multi, orb_advertise_queue, orb_advertise_multi_queue,
orb_advertise_multi_queue_persist_info, orb_publish, orb_publish_auto,
orb_subscribe, orb_subscribe_wakeup, orb_subscribe_multi_wakeup,
orb_copy, orb_unlink, orb_absolute_time, orb_set_interval,
orb_get_interval, orb_set_frequency, orb_get_frequency
- Fix duplicate '## 发布接口' empty heading
- Correct '### orb_scanf' title to '### orb_sscanf' (signature was
already correct, only the title was wrong)
kvdb.md:
- Add previously missing property_list_binary API
- Split four composite sections so each public API has its own
'### name' entry (per api-doc-standards.md):
* property_get_bool/int32/int64_with_err -> 3 separate entries
* property_set_bool/int32/int64 -> 3 separate entries
* property_set_bool/int32/int64_oneway -> 3 separate entries
* property_set_buffer / property_set_buffer_oneway -> 2 separate entries
Coverage:
- uorb.md: 48 / 48 public APIs in apps/system/uorb/uORB/uORB.h (100%)
- kvdb.md: 31 / 31 public APIs in frameworks/system/utils/include/
kvdb.h + cutils/properties.h (100%)
Both files retain their existing openvela implementation notes and
functional grouping; all new sections follow the same format (Chinese
description, **参数** list, **返回值** section).
Every new signature has been verified against the source headers.
Comprehensive refactor of the Telephony (TAPI) framework API reference
following the openvela API documentation standard.
Existing files (7, updated): added per-module openvela implementation
notes and functional grouping (## headings); include paths standardized
to <tapi_*.h> form.
- telephony_manager.md (33 APIs, 10 groups)
- telephony_call.md (32 APIs, 13 groups)
- telephony_data.md (23 APIs, 9 groups)
- telephony_network.md (20 APIs, 9 groups)
- telephony_sim.md (20 APIs, 6 groups)
- telephony_sms.md (13 APIs, 5 groups)
- telephony_ims.md (9 APIs, 5 groups)
New files (6) covering previously undocumented public headers:
- telephony.md (21 utility APIs from tapi.h)
- telephony_phone.md (20 APIs from tapi_phone.h)
- telephony_ss.md (22 supplementary service APIs from tapi_ss.h)
- telephony_stk.md (29 SIM Toolkit APIs from tapi_stk.h)
- telephony_cbs.md (5 Cell Broadcast APIs from tapi_cbs.h)
- telephony_phonebook.md (5 ADN/FDN APIs from tapi_phonebook.h)
Updated index.md with categorized navigation for all 13 modules.
Coverage: 252 / 252 public APIs (100%) across all 13 tapi_*.h headers.
Quality fixes:
- All non-void APIs have a **返回值** section
- All APIs have a **参数** section
- No Doxygen or Sphinx directives remain
- Every referenced tapi_* function and type has been verified against
the source headers in
frameworks/connectivity/telephony/include/
Remove Chinese/Arabic numeric prefixes from heading titles (per
openvela API documentation standard), and add a Related Documents
section pointing to the QuickApp developer portal and the Feature
module (where the actual Native extension APIs are documented).
Changes:
- '## 一、整体架构' -> '## 整体架构'
- '## 二、编译配置' -> '## 编译配置'
- '### 1、主要配置' -> '### 主要配置'
- '### 2、调试配置' -> '### 调试配置'
- '### 3、依赖项' -> '### 依赖项'
- New '## 相关文档' section with links to the QuickApp dev manual
and the Feature API reference
Content is otherwise unchanged.
Remove all .. doxygenfile:: directives from services API documentation
and replace them with hand-written class-level descriptions in Chinese.
AMS (ams.md): 17 class-level sections covering
ActivityManager / ActivityManagerService / Activity / Application /
ApplicationThread / AppMain / Context / ContextImpl / Intent /
Service / ServiceConnection / BroadcastReceiver / MessageService /
Dialog / UvLoop / Logger / ActivityTrace
PMS (pms.md): 4 class-level sections covering
PackageManager / PackageManagerService / PackageInfo / PackageTrace
Every class description has been verified against the actual source
headers (frameworks/runtimes/services/am/include and
frameworks/runtimes/services/pm/include). All referenced methods and
fields exist in the headers.
Code blocks standardized to 'cpp' language tag and header includes
standardized to <angle-bracket> form.
Rewrite all feature framework API reference files (feature_framework_*.md)
from Doxygen-directive placeholders into hand-written Chinese Markdown,
following the openvela API documentation standard (.kiro/steering/api-doc-standards.md).
Coverage:
- feature_framework_types.md (365 lines): 17 typedefs, 9 enums, 11 structs
- feature_framework_context.md (729 lines): 35 data conversion APIs
- feature_framework_main_export.md (314 lines): 17 Manager lifecycle APIs
- feature_framework_export.md (1554 lines): 87 runtime APIs including memory,
array, callback, Promise, event, Worker, JSON and registry
- feature_framework_qjs_export.md (79 lines): 3 QuickJS interop APIs
- feature_framework_trace.md (115 lines): 8 trace macros
Each API now includes:
- Function signature (from source headers, verified)
- Chinese description generated from function semantics
- Parameter list (strictly matching signature)
- Return value (or noted as void)
- openvela implementation notes per module
- Notes and cautions where applicable
Also updates index.md to:
- Use Chinese title 'Feature 框架 API'
- Organize modules into categorized navigation
- Remove eval_rst toctree in favor of plain Markdown links
Coverage rate: 100% against feature_*.h headers in
frameworks/runtimes/feature/include/
Note: feature_framework.md (framework concept/overview) is untouched as it
is already hand-written Markdown with no Doxygen dependency.
Previously openvela API documentation was built via Doxygen + Breathe + Sphinx,
requiring a complex toolchain and generating 180MB of intermediate artifacts.
Since all module-level API documentation (kernel, bluetooth, media, telephony,
feature, etc.) has been refactored to hand-written Markdown, the toolchain is
no longer necessary.
This commit deprecates the Sphinx/Doxygen build pipeline in favor of pure
Markdown browsing on GitHub.
Removed:
- Doxyfile.public (Doxygen config, 113KB)
- conf.py / Makefile / make.bat / requirements.txt / index.rst (Sphinx config)
- _static/logo/openvela.svg (Sphinx static asset)
- api_doc_generation_guide.md in both zh-cn/ and en/ (Doxygen+Sphinx tutorials)
Updated:
- All index.md files: removed 'eval_rst toctree' blocks, added plain
Markdown navigation lists
- keystore_client.md: removed doxygenfile directive (placeholder note added
pointing to source header, pending full rewrite)
Added:
- .gitignore: prevent accidental commit of build artifacts (_build/,
doxygen/doxygen/, Python/editor temp files)
Follow-up:
- services/ams.md and services/pms.md still contain doxygenfile directives
and need full manual rewrite (separate PR)
- .github/workflows/docs.yml may need to be updated or removed to stop
invoking the deprecated Sphinx build
- Hand-write all 222 bluetooth APIs across 11 files, replacing 15 Doxygen directives
- Add 3 new files: bt_device.md (72 APIs), bt_le_scan.md (7 APIs), bt_le_advertiser.md (7 APIs)
- Generate briefs from source code context, not header comments
- Translate all descriptions to Chinese, keep technical terms in English
- Ensure all params match function signatures exactly
- Add openvela implementation notes for each sub-module
- Reorganize index.md with functional grouping
openvela does not currently support macOS as a build host.
Remove macOS quick start documents (zh-cn and en) and the
related FAQ entry (#16) about macOS simulator issues.
Renumber subsequent FAQ entries to maintain continuity.
Add an AI-assisted setup option using the openvela-quickstart skill from
the .claude repository. This provides an automated alternative to the
manual setup steps, covering environment detection, dependency
installation, repository initialization, build, and emulator launch.
Changes:
- zh-cn/quickstart/openvela_ubuntu_quick_start.md: Add AI tip block
- en/quickstart/openvela_ubuntu_quick_start.md: Add AI tip block
- README_zh-cn.md: Add AI quickstart link in Quick Start section
- README.md: Add AI quickstart link in Quick Start section
Signed-off-by: yanxingyu17 <yanxingyu17@gmail.com>
- Fixed typo: 'crash dumb' → 'crash dump' in Rich Developer Tools section
- Fixed heading level: '## Technical Discussions and Contributions' → '### Technical Discussions and Contributions' to be a subsection of '## Community and Support' (consistent with Chinese version)
- Add section numbering to security framework API doc
- Add descriptions to API index page
- Remove connectivity module docs (missing source headers)
- Add kvdb and keystore INPUT paths to Doxyfile.public
- Add FAR/CODE to PREDEFINED macros in Doxyfile.public
- Exclude system_debug_tools and requirements.txt in conf.py
- Fix Chinese comma in bt_gattc.h code example
- Framework: fix branding, toctree, indentation, Chinese punctuation,
image dir rename, add missing index files across all submodules
- Kernel: replace Vela with openvela, fix msgqueue typos and formatting,
remove empty minsystem.md placeholder, convert italic labels to bold,
add section numbering to all headings
- Network: translate English headings to Chinese, fix indentation and
toctree format