From f8c71146b855fd81864247f48132bcfa59ec4c85 Mon Sep 17 00:00:00 2001 From: Kayce Basques Date: Fri, 15 Dec 2023 23:25:04 +0000 Subject: [PATCH] docs: Update changelog Change-Id: I9d035ae7907a0a34392f0493f5bf9207b6fcf146 Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/185259 Reviewed-by: Kayce Basques Reviewed-by: Taylor Cramer Commit-Queue: Kayce Basques Reviewed-by: Chad Norvell --- docs/_static/js/changelog.js | 19 +- docs/changelog.rst | 544 ++++++++++++++++++++++++++++++++++- pw_system/docs.rst | 4 +- pw_transfer/docs.rst | 2 + 4 files changed, 551 insertions(+), 18 deletions(-) diff --git a/docs/_static/js/changelog.js b/docs/_static/js/changelog.js index ccd64b564d..bd15f2edee 100644 --- a/docs/_static/js/changelog.js +++ b/docs/_static/js/changelog.js @@ -111,8 +111,7 @@ async function annotate(commits) { return tmp.substring(0, end).trim(); } - function parseBugUrl(message) { - const bugLabel = 'Bug:'; + function parseBugUrl(message, bugLabel) { const start = message.indexOf(bugLabel); const tmp = message.substring(start); const end = tmp.indexOf('\n'); @@ -144,7 +143,7 @@ async function annotate(commits) { // situation. The same commit gets duplicated to each module's section. // The rationale for the duplication is that someone might only care about // pw_tokenizer and they should be able to see all commits that affected - // that module at a glance. + // in a single place. if (commit.preamble.indexOf('{') > -1) { commit.topics = []; const topics = commit.preamble @@ -157,11 +156,15 @@ async function annotate(commits) { } else { commit.topics = [commit.preamble]; } - // TODO: b/309534703 - Detect the synonymous labels like "Fixes" - if (message.indexOf('Bug:') > -1) { - const bugUrl = parseBugUrl(message); - const bugId = bugUrl.substring(bugUrl.lastIndexOf('/') + 1); - commit.issue = { id: bugId, url: bugUrl }; + const bugLabels = ['Bug:', 'Fixes:', 'Fixed:']; + for (let i = 0; i < bugLabels.length; i++) { + const bugLabel = bugLabels[i]; + if (message.indexOf(bugLabel) > -1) { + const bugUrl = parseBugUrl(message, bugLabel); + const bugId = bugUrl.substring(bugUrl.lastIndexOf('/') + 1); + commit.issue = { id: bugId, url: bugUrl }; + break; + } } } return commits; diff --git a/docs/changelog.rst b/docs/changelog.rst index 9afc34317b..d06deadc7a 100644 --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -13,11 +13,544 @@ Discuss what's new with the Pigweed team .. _docs-changelog-latest: +------------ +Dec 15, 2023 +------------ +.. changelog_highlights_start + +Highlights (Dec 1, 2023 to Dec 15, 2023): + +* We started implementing our new async API, :ref:`module-pw_async2`. +* We deprecated the use of ``gtest/gtest.h`` header paths for tests intended + to build against ``pw_unit_test``. See + :ref:`docs-changelog-20231215-pw_unit_test` for details. + + .. note:: + + All the commits titled ``Use unit test framework`` in the ``Dec 15, 2023`` + update are related to this change. + +* The :ref:`module-pw_alignment` and :ref:`module-pw_emu` docs have been updated + to follow our latest :ref:`docs-contrib-moduledocs`. +* ``pw_system`` now supports an :ref:`extra logging channel + `. +* ``pw_toolchain_bazel`` has a new :ref:`get started guide + `. + +.. changelog_highlights_end + +Active SEEDs +============ +Help shape the future of Pigweed! Please visit :ref:`seed-0000` +and leave feedback on the RFCs (i.e. SEEDs) marked +``Open for Comments``. + +Modules +======= + +pw_alignment +------------ +* `Follow the new docs guidelines + `__ + +pw_allocator +------------ +* `Fix metric disabling + `__ +* `Add support for fuzzing Allocator implementations + `__ +* `Use unit test framework + `__ + +pw_analog +--------- +* `Use unit test framework + `__ + +pw_async2 +--------- +We started implementing our new async API, :ref:`module-pw_async2`. + +* `Implement initial async API + `__ + +pw_base64 +--------- +* `Use unit test framework + `__ + +pw_blob_store +------------- +* `Use unit test framework + `__ + +pw_bluetooth +------------ +* `Add LE Read Buffer Size [v2] command complete event + `__ + (issue `#311639040 `__) +* `Use unit test framework + `__ +* `Fix LEExtendedCreateConnectionCommandV1 data interleaving + `__ + (issue `#305976440 `__) +* `Fix ExtendedCreateConnectionV1 + `__ + (issue `#305976440 `__) +* `Add new HCI definition + `__ + (issue `#311639690 `__) +* `Re-format emboss files + `__ + +pw_bluetooth_sapphire +--------------------- +* `Read ISO data buffer info on startup + `__ + (issue `#311639040 `__) +* `LE Read Buffer Size [v2] + `__ + (issue `#311639040 `__) +* `Add LE Set Host Feature + `__ + (issue `#311639040 `__) +* `Update name of ISO host support bit + `__ + (issue `#311639040 `__) +* `Fix BrEdrConnectionManager.Inspect test + `__ + (issue `#136961 `__) + +pw_build +-------- +* `Fix use of TARGET_COMPATIBLE_WITH_HOST_SELECT in external repo + `__ + +pw_bytes +-------- +* `Use unit test framework + `__ + +pw_checksum ----------- -Dec 1, 2023 +* `Use unit test framework + `__ + +pw_chrono +--------- +* `Use unit test framework + `__ + +pw_cli +------ +You can now disable the printing of the banner by setting ``PW_ENVSETUP_QUIET`` +or ``PW_ENVSETUP_NO_BANNER``. + +* `Allow banner to be suppressed + `__ + +pw_console +---------- +* `Disable private attr auto-completion + `__ + +pw_containers +------------- +* `Fix missing include + `__ +* `Fix IntrusiveList::Item move assignment test + `__ + (issue `#303634979 `__) +* `Add missing dep for IntrusiveList test + `__ + +pw_digital_io +------------- +* `Use unit test framework + `__ + +pw_docgen +--------- +We updated the docs server to use native hot reloading. + +* `Update Pigweed Live schedule + `__ +* `Add new docs server + `__ + +pw_emu +------ +We're handling QEMU startup errors more gracefully now. + +* `Better handling for startup errors + `__ + (issue `#315868463 `__) +* `qemu: Improve the QMP handshake handling + `__ + (issue `#315516286 `__) +* `Link all the docs to each other + `__ +* `Update docs to follow new guidelines + `__ + +pw_env_setup +------------ +The upstream Pigweed bootstrap script now runs ``npm install``. We worked +on native macOS support that doesn't rely on Rosetta. Use the +``--disable-rosetta`` flag to try it out. Note that the work isn't complete +yet. + +* `Run npm install on bootstrap + `__ +* `Remove "untested" warning + `__ +* `Use ARM protoc version on ARM Macs + `__ + (issue `#315998985 `__) +* `Fix typo in error message + `__ +* `Add flag to disable Rosetta + `__ + (issue `#315998985 `__) +* `Retrieve armgcc for ARM Macs + `__ + (issue `#315998985 `__) +* `Change case of armgcc version + `__ + (issue `#315998985 `__) +* `Roll cipd client + `__ +* `Bump executing Python package + `__ + +pw_file +------- +* `Use unit test framework + `__ + +pw_format +--------- +Format strings can now be built by macros at compile-time by specifying the +format string as a set of string literals separated by the custom +``PW_FMT_CONCAT`` keyword. + +* `Allow format strings to be composed at compile time + `__ + +pw_fuzzer +--------- +* `Fix ambiguous reference to ContainerOf + `__ + +pw_hdlc +------- +* `Use unit test framework + `__ + +pw_hex_dump ----------- -.. changelog_highlights_start +* `Use unit test framework + `__ + +pw_i2c +------ +* `Use unit test framework + `__ + +pw_ide +------ +``pw_ide`` now handles additional clang toolchains if your project specifies one +that's different from the one provided by Pigweed. We also shipped several UX +improvements to the Visual Studio Code extension. + +* `Add command to build VSC extension + `__ +* `Remove VSIX installation stuff + `__ +* `Don't warn on missing extensions.json + `__ +* `Alpha-sort the list of targets in VSC + `__ +* `Auto-run build system command + `__ +* `Update VSC Python config + `__ +* `Fix condition for Windows platform + `__ +* `Fix for clang installed to project dir + `__ + (issue `#314693384 `__) + +pw_kvs +------ +* `Use unit test framework + `__ + +pw_libc +------- +* `Use unit test framework + `__ + +pw_log +------ +* `Use unit test framework + `__ + +pw_malloc +--------- +* `Use unit test framework + `__ +pw_metric +--------- +* `Use unit test framework + `__ + +pw_perf_test +------------ +* `Refactor event handler types + `__ +* `Use unit test framework + `__ + +pw_presubmit +------------ +* `Add LUCI_CONTEXT to ctx + `__ +* `Merge some of the "misc" checks + `__ +* `Better support downstream GnGenNinja use + `__ + (issue `#314818274 `__) +* `Automatically compute trim_prefix + `__ + (issue `#282164634 `__) + +pw_random +--------- +* `Use unit test framework + `__ + +pw_result +--------- +* `Use unit test framework + `__ + +pw_rust +------- +* `Remove excess newline in doc command line + `__ + +pw_snapshot +----------- +* `Use unit test framework + `__ + +pw_status +--------- +* `Docs tweak + `__ + +pw_string +--------- +* `Fix string_test build error under new clang revision + `__ + (issue `#315190328 `__) +* `Add missing include + `__ + (issue `#314130408 `__) + +pw_symbolizer +------------- +* `Fix symbolizer_test + `__ + (issue `#315190328 `__) + +pw_system +--------- +We added an :ref:`extra logging channel `. + +* `Support extra logging channel + `__ + (issue `#315540660 `__) + +pw_thread +--------- +* `Use unit test framework + `__ + +pw_tls_client +------------- +* `Use unit test framework + `__ + +pw_tokenizer +------------ +* `Mark \`pw_tokenizer_core\` as \`no_std\` + `__ + +pw_toolchain +------------ +The Arm GCC toolchain now uses :ref:`module-pw_toolchain_bazel`. + +* `Move ARM toolchain to new API + `__ + (issue `#309533028 `__) +* `Use action configs from LLVM tool repo + `__ + (issue `#311257445 `__) + +pw_toolchain_bazel +------------------ +Support for :py:attr:`additional_files` was added to reduce ``*_files`` +boilerplate. We added a new :ref:`get started guide +`. + +* `Fix naming in docs + `__ +* `Add misc_files group + `__ + (issue `#305737273 `__) +* `Add automagic toolchain file collection + `__ + (issue `#305737273 `__) +* `Add getting started guide + `__ + (issue `#309533028 `__) +* `Remove legacy tool API + `__ +* `Remove deprecated API + `__ + (issue `#309533028 `__) +* `Rename build file templates part 2/2 + `__ + +pw_trace +-------- +* `Use unit test framework + `__ + +pw_transfer +----------- +We added support for setting different timeouts for clients and servers. +See ``PW_TRANSFER_DEFAULT_MAX_CLIENT_RETRIES`` and +``PW_TRANSFER_DEFAULT_MAX_SERVER_RETRIES`` in :ref:`module-pw_transfer-config`. + +* `Remove small hardcoded timeout in proxy_test + `__ + (issue `#315459788 `__) +* `Allow setting different timeouts for client and server + `__ +* `Update integration test documentation + `__ + (issue `#250947749 `__) + +.. _docs-changelog-20231215-pw_unit_test: + +pw_unit_test +------------ +We deprecated use of ``gtest/gtest.h`` header paths for tests intended to build +against ``pw_unit_test``. Historically, we supported using the ``gtest/gtest.h`` +include path to support compiling a test as either a ``pw_unit_test`` or with +the full GoogleTest on larger targets like desktop. However, this created a +problem since ``pw_unit_test`` only implements a subset of the GoogleTest API. +With the new approach, we require tests that are intended to compile on devices +to directly include ``pw_unit_test/framework.h``. In cases where GoogleTest is +available, that header will redirect to GoogleTest. + +* `Add compatibility in bazel + `__ + (issue `#309665550 `__) +* `Use googletest backend as a dep + `__ + (issue `#315351886 `__) +* `Fix building fuzztests with cmake + `__ +* `Use unit test framework + `__ +* `Create facade's header + `__ + (issue `#309665550 `__) + +pw_varint +--------- +* `Use unit test framework + `__ + +pw_web +------ +* `Handle unrequested responses after call_id changes + `__ +* `Add support for call_id in RPC calls + `__ +* `Add Mocha and Jest global vars to ESLint + `__ +* `Switch to pre-made subset of icon fonts + `__ + (issue `#287270736 `__) + +Build +===== +* `Set Zephyr toolchain to llvm in presubmit + `__ + +Targets +======= +* `Point deprecated flag to new backend + `__ +* (stm32f429i_disc1) `Fix test runner + `__ + +Language support +================ +* (Python) `Remove references to non-existing setup.py + `__ + +OS support +========== +* (Zephyr) `Remove unecessary toolchain downloads & filter invalid targets + `__ + +Docs +==== +.. todo-check: disable + +* `Remove inaccurate #include statements + `__ + (issue `#295023422 `__) +* `Add Bazel code coverage TODO + `__ + (issue `#304833225 `__) +* `Add sort by alignment to size optimizations + `__ +* `Fix build command typo + `__ +* `Update changelog + `__ + +.. todo-check: disable + +SEEDs +===== +* `Always use build metadata titles in index table + `__ +* (SEED-0001) `Add section about SEEDs & code changes + `__ +* (SEED-0001) `Update number selection guidance + `__ +* SEED-0117) `Open for comments + `__ +* (SEED-0121) `Claim SEED number + `__ + +Miscellaneous +============= +* `Fix formatting after clang roll + `__ + +----------- +Dec 1, 2023 +----------- Highlights (Nov 17, 2023 to Dec 1, 2023): * We now have an auto-generated :ref:`seed-0000` that shows you the current @@ -28,19 +561,12 @@ Highlights (Nov 17, 2023 to Dec 1, 2023): :ref:`module-pw_status` docs were refactored to follow our latest :ref:`docs-contrib-moduledocs`. -.. changelog_highlights_end - Active SEEDs ============ Help shape the future of Pigweed! Please visit :ref:`seed-0000` and leave feedback on the RFCs (i.e. SEEDs) marked ``Open for Comments``. -.. Note: There is space between the following section headings -.. and commit lists to remind you to write a summary for each -.. section. If a summary is not needed, delete the extra -.. space. - Modules ======= diff --git a/pw_system/docs.rst b/pw_system/docs.rst index f1b6e4b6d3..2e1889e915 100644 --- a/pw_system/docs.rst +++ b/pw_system/docs.rst @@ -188,8 +188,10 @@ To use this mode, add the following to ``gn args out``: The settings for the channel ID and address can be found in the target ``//pw_system:multi_endpoint_rpc_overrides``. +.. _module-pw_system-logchannel: + --------------------- -Extra logging Channel +Extra logging channel --------------------- In multi-processor devices, logs are typically forwarded to a primary application-class core. By default, ``pw_system`` assumes a simpler device diff --git a/pw_transfer/docs.rst b/pw_transfer/docs.rst index 09ad70f84e..26bd3ad0a3 100644 --- a/pw_transfer/docs.rst +++ b/pw_transfer/docs.rst @@ -242,6 +242,8 @@ always in a correct state. A temporary file is written to prior to updating the target file. If any transfer failure occurs, the transfer is aborted and the target file is either not created or not updated. +.. _module-pw_transfer-config: + Module Configuration Options ---------------------------- The following configurations can be adjusted via compile-time configuration of