From 01ae77c8d7f83c9ad80fed0f5a55d9d2c8104ac4 Mon Sep 17 00:00:00 2001 From: Kayce Basques Date: Sat, 2 Dec 2023 02:57:36 +0000 Subject: [PATCH] docs: Update changelog Change-Id: I276418a2ac3d8c8367215db333f3f5b11aaf9f75 Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/183310 Pigweed-Auto-Submit: Kayce Basques Presubmit-Verified: CQ Bot Account Reviewed-by: Kayce Basques Reviewed-by: Chad Norvell Commit-Queue: Auto-Submit --- docs/_static/js/changelog.js | 13 +- docs/changelog.rst | 453 ++++++++++++++++++++++++++++++++++- pw_allocator/docs.rst | 4 + pw_toolchain/docs.rst | 2 + pw_transfer/docs.rst | 4 + 5 files changed, 467 insertions(+), 9 deletions(-) diff --git a/docs/_static/js/changelog.js b/docs/_static/js/changelog.js index 795c6547f4..ccd64b564d 100644 --- a/docs/_static/js/changelog.js +++ b/docs/_static/js/changelog.js @@ -214,12 +214,15 @@ async function render(commits) { rest += '* Highlight #2\n'; rest += '* Highlight #3\n\n'; rest += '.. changelog_highlights_end\n\n'; - rest += '.. pigweed-live::\n\n'; rest += 'Active SEEDs\n'; rest += '============\n'; - rest += - 'Help shape the future of Pigweed! Please leave feedback on the following active RFCs (SEEDs):\n\n'; - rest += '* `SEED-???: ??? `_\n\n'; + rest += 'Help shape the future of Pigweed! Please visit :ref:`seed-0000`\n'; + rest += 'and leave feedback on the RFCs (i.e. SEEDs) marked\n'; + rest += '``Open for Comments``.\n\n'; + rest += '.. Note: There is space between the following section headings\n'; + rest += '.. and commit lists to remind you to write a summary for each\n'; + rest += '.. section. If a summary is not needed, delete the extra\n'; + rest += '.. space.\n\n'; const categories = [ 'Modules', 'Build', @@ -245,7 +248,7 @@ async function render(commits) { const change = commit.change.replaceAll('`', '`'); // The double underscores are signficant: // https://github.com/sphinx-doc/sphinx/issues/3921 - rest += `* \`${commit.title} <${change}>\`__\n`; + rest += `* \`${commit.title}\n <${change}>\`__\n`; if (commit.issue) rest += ` (issue \`#${commit.issue.id} <${commit.issue.url}>\`__)\n`; }); diff --git a/docs/changelog.rst b/docs/changelog.rst index d0fa2e376f..9afc34317b 100644 --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -13,12 +13,459 @@ Discuss what's new with the Pigweed team .. _docs-changelog-latest: +----------- +Dec 1, 2023 +----------- +.. changelog_highlights_start + +Highlights (Nov 17, 2023 to Dec 1, 2023): + +* We now have an auto-generated :ref:`seed-0000` that shows you the current + status of all SEEDs. +* We've started implementing a :ref:`Rust API for pw_log + `. +* The :ref:`module-pw_alignment`, :ref:`module-pw_perf_test`, and + :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 +======= + +pw_alignment ------------ -Nov 15, 2023 +The :ref:`docs ` were updated to follow our new +:ref:`docs-contrib-moduledocs`. + +* `Follow the new docs guidelines + `__ + +pw_allocator ------------ +Utilities were added that make it easier to write tests for custom allocator +implementations. See :ref:`module-pw_allocator-test-support`. The +:ref:`module-pw_allocator-metric-collection` API was refactored. +CMake support for heap poisoning was added. + +* `Fix use-after-free in ~AllocatorForTest + `__ +* `Add AllocationTestHarness + `__ +* `Add AllocationTestHarness + `__ +* `Refactor metric collection + `__ +* `Improve heap poisoning configuration + `__ -.. changelog_highlights_start +pw_bluetooth +------------ +* `Add LE Set Host Feature command + `__ + (issue `#311639040 `__) +* `LE Request Peer SCA Complete event + `__ + (issue `#311639272 `__) +* `Fix LEExtendedAdvertisingReportData tx_power to be an Int + `__ + +pw_bluetooth_sapphire +--------------------- +Migration of :ref:`module-pw_bluetooth_sapphire` into Pigweed has begun. + +* `Use pw_test_group for fuzzers target + `__ + (issue `#307951383 `__) +* `Use pw_fuzzer_group + `__ + (issue `#307951383 `__) +* `Add sales pitch & roadmap docs + `__ + (issue `#312287470 `__) +* `Add testonly to testing targets + `__ + (issue `#fuchsia:136961 `__) +* `Revert commits to get to a known working state + `__ +* `Use Write instead of UncheckedWrite + `__ +* `Remove now unnecessary use of std::optional + `__ + (issue `#311256496 `__) +* `Move LegacyLowEnergyScanner impl to base class + `__ + (issue `#305975969 `__) +* `Create new LowEnergyScanner polymorphic methods + `__ + (issue `#305975969 `__) +* `Extended scanning support, Fake(Controller|Peer) + `__ + (issue `#305975969 `__) +* `Remove fidl fuzzer from build + `__ + (issue `#307951383 `__) +* `Use explicit constructor for SmartTask + `__ +* `Follow pigweed style for test files + `__ +* `Add OWNERS file + `__ +* `Delete unused build file + `__ + (issue `#307951383 `__) +* `Fix pragma_once lint + `__ + (issue `#307951383 `__) +* `Fix linter errors + `__ + (issue `#307951383 `__) +* `Fix bazel formatting + `__ + (issue `#307951383 `__) +* `Remove ICU from bazel build + `__ + (issue `#311449154 `__) +* `Refactor pw_bluetooth_sapphire & fix errors + `__ + (issue `#100593 `__) +* `Update copyright headers + `__ + +pw_build_info +------------- +* `Fix relative paths in Python tests + `__ + +pw_containers +------------- +A warning was added about ``pw::Vector`` being unsafe with +non-trivially-destructible, self-referencing types. See +`b/313899658 `_. + +* `Warn about unsafe Vector usage + `__ + (issue `#313899658 `__) +pw_format +--------- +A ``core::fmt`` macro helper was added. + +* `Add core::fmt macro helper + `__ + +.. _docs-changelog-20231201-pw_log: + +pw_log +------ +An initial Rust API has been added. + +* `Add initial Rust API + `__ + +pw_multibuf +----------- +* `Remove unused GN dep + `__ +* `Remove dep on external gtest + `__ +* `Make HeaderChunkRegionTracket public + `__ +* `Fix cmake build file + `__ + +pw_package +---------- +* `Add ICU package + `__ + (issue `#311449154 `__) + +pw_perf_test +------------ +The :ref:`docs ` have been refactored. + +* `Rename logging event handler files + `__ +* `Rework docs + `__ + +pw_presubmit +------------ +.. todo-check: disable + +* `Automatically compute trim_prefix + `__ + (issue `#282164634 `__) +* `Allow full issues.pigweed.dev urls in TODO links + `__ +* `Fix TestTodoCheck.test_one_bug_legacy() + `__ +* `No coverage upload for shadow builds + `__ + (issue `#282164634 `__) +* `Remove some unused constants + `__ +* `Add is_shadow/is_prod members to context + `__ +* `Refactor the coverage options + `__ + (issue `#282164634 `__) +* `Show diffs when parser tests fail + `__ +* `Trim paths in Bazel summaries + `__ +* `Correct the codesearch_host + `__ + (issue `#261779031 `__) +* `Correct host in coverage presubmit + `__ + (issue `#261779031 `__) +* `Fix coverage options + `__ + (issue `#261779031 `__) +* `Add Fuchsia style to todo_check_with_exceptions + `__ + (issue `#307951383 `__) +* `Create Sapphire presubmit step + `__ + (issue `#100593 `__) + +.. todo-check: enable + +pw_protobuf +----------- +* `Add common_py_pb2 target + `__ + (issue `#309351244 `__) + +pw_rpc +------ +* `Initialize serde_ members to nullptr + `__ + +pw_rpc_transport +---------------- +* `Unblock sockets when stopping + `__ + (issue `#309680612 `__) + +pw_sensor +--------- +* `Reserve SEED for configuring sensors + `__ +* `Claim SEED number for high level view + `__ + +pw_status +--------- +The :ref:`docs ` have been refactored to follow +our latest :ref:`docs-contrib-moduledocs`. + +* `Adopt latest docs standard + `__ + +pw_string +--------- +* `Add missing include + `__ + +pw_system +--------- +* `Load all domain tokens + `__ +* `Style fixes to Python scripts + `__ +* `Add missing dependency on pw_trace + `__ + +pw_tokenizer +------------ +* `Move entry header to a separate struct + `__ +* `Catch accidental use of test macro + `__ +* `Fix NULL dereference in fuzz harness + `__ +* `Move ReadUint32 + `__ + +pw_toolchain +------------ +The Arm toolchain has been updated to use the new toolchain specified +in :ref:`seed-0113`. A helper for registering C/C++ toolchains in Bazel +was added to enable upstream Pigweed to make changes without needing to +manually update downstream projects. See +:ref:`module-pw_toolchain-bazel-upstream-pigweed-toolchains`. + +* `Move ARM toolchain to new API + `__ + (issue `#309533028 `__) +* `Use action configs from LLVM tool repo + `__ + (issue `#311257445 `__) +* `Add Bazel toolchain registration helper + `__ + (issue `#301336229 `__) +* `Merge host toolchains + `__ +* `Expose non-hermetic toolchain + `__ + (issue `#299151946 `__) +* `Only fetch compatible Rust toolchains + `__ + +pw_toolchain/arm_clang +---------------------- +* `Reduce binary size + `__ + (issue `#254541584 `__) + +pw_toolchain_bazel +------------------ +Support for binding tools to toolchains was added. See :py:class:`pw_cc_tool` +and :py:class:`pw_cc_action_config`. Support for featureless sysroots was +added. See :py:attr:`pw_cc_toolchain.builtin_sysroot` and +:py:attr:`pw_cc_toolchain.cxx_builtin_include_directories`. + +* `Remove deprecated API + `__ + (issue `#309533028 `__) +* `Rename build file templates part 2/2 + `__ +* `Rename build file templates part 1/2 + `__ +* `Add LLVM clang tool template + `__ + (issue `#311257445 `__) +* `Add ARM GCC toolchain template + `__ + (issue `#309533028 `__) +* `Support featureless sysroots + `__ + (issue `#309533028 `__) +* `Mirror features to be flag sets + `__ + (issue `#309533028 `__) +* `Add initial pw_cc_action_config support + `__ + (issue `#309533028 `__) + +pw_transfer +----------- +Commands in the :ref:`integration test docs +` were updated and docs were +added that explain how to :ref:`run more than one instance of tests +in parallel `. + +* `Update integration test documentation + `__ +* `Set clients to transfer_v2 + `__ + (issue `#309686987 `__) +* `Limit to sending a single chunk in tests + `__ + (issue `#295037376 `__) +* `Don't "block-network" by default + `__ + (issue `#311297881 `__) +* `Use StatusCode in integration tests + `__ +* `Make integration_test_server testonly, fix fx roller + `__ + (issue `#312493408 `__) +* `Tag integration tests block-network + `__ + (issue `#311297881 `__) + +pw_unit_test +------------ +* `Skip googletest tests if not set + `__ + +pw_web +------ +* `Install Web Test Runner and dependencies + `__ + +Build +===== + +Bazel +----- +More Bazel information has been added to :ref:`docs-module-structure`. + +* `Add simple module configuration mechanism + `__ + (issue `#234872811 `__) +* `Tidy up WORKSPACE + `__ +* `Rename Python toolchains + `__ + (issue `#310293060 `__) +* `Remove py_proto_library wrapper + `__ + (issue `#266950138 `__) +* `Use py_proto_library from rules_python + `__ +* `Partial pw_system_console fix + `__ + (issue `#310307709 `__) + +Docs +==== +The tool that we use to semi-automate these changelog updates has been +added to the main Pigweed repository. Try out the tool on +:ref:`docs-contrib-changelog` and see ``//docs/_static/js/changelog.js`` +to view its implementation. + +* `Gerrit code coverage documentation + `__ + (issue `#282164634 `__) +* `Move copyright header info to style guide + `__ +* `Document the Test footer + `__ +* `Add changelog update instructions and tool + `__ +* `Update changelog + `__ + +SEEDs +===== +We now have an auto-generated :ref:`seed-0000` that shows you the current +status of all SEEDs. + +* `Generate the SEED index table + `__ +* (SEED-0114) `Update status; format header in table + `__ +* (SEED-0114) `Channels + `__ +* (SEED-0118) `Claim SEED number + `__ +* (SEED-0118) `Claim SEED number + `__ + +Third party +=========== +* `Add GN rules for ICU + `__ + (issue `#311449154 `__) + +------------ +Nov 15, 2023 +------------ Highlights (Nov 02, 2023 to Nov 15, 2023): * The API for writing proc macros with pw_format was simplified. @@ -30,8 +477,6 @@ Highlights (Nov 02, 2023 to Nov 15, 2023): ``ASSERT_OK_AND_ASSIGN``, ``StatusIs``, and ``IsOkAndHolds``. * Pigweed's :ref:`docs-mission` are now documented. -.. changelog_highlights_end - Active SEEDs ============ Help shape the future of Pigweed! Please leave feedback on the following active RFCs (SEEDs): diff --git a/pw_allocator/docs.rst b/pw_allocator/docs.rst index f56fd40ac8..24ae1727df 100644 --- a/pw_allocator/docs.rst +++ b/pw_allocator/docs.rst @@ -60,6 +60,8 @@ UniquePtr .. doxygenclass:: pw::allocator::UniquePtr :members: +.. _module-pw_allocator-test-support: + Test Support ============ This module also provides several utilities designed to make it easier to write @@ -182,6 +184,8 @@ interface, whos costs are shown below. .. include:: allocator_size_report +.. _module-pw_allocator-metric-collection: + Metric collection ================= Consumers can use an ``AllocatorMetricProxy`` to wrap an allocator and collect diff --git a/pw_toolchain/docs.rst b/pw_toolchain/docs.rst index 524a1e62bf..a12cdc6fd0 100644 --- a/pw_toolchain/docs.rst +++ b/pw_toolchain/docs.rst @@ -181,6 +181,8 @@ Pigweed provides a suite of building blocks for designing a custom C/C++ toolchain in Bazel. See the :ref:`module-pw_toolchain_bazel` module documentation for more information. +.. _module-pw_toolchain-bazel-upstream-pigweed-toolchains: + Upstream Pigweed Toolchains =========================== You can use Pigweed's upstream toolchains by calling diff --git a/pw_transfer/docs.rst b/pw_transfer/docs.rst index 3f7061c6b2..ee0cc2c333 100644 --- a/pw_transfer/docs.rst +++ b/pw_transfer/docs.rst @@ -621,6 +621,8 @@ implementations detect if their transfer peer is running the legacy protocol and automatically switch to it if required, even if they requested a newer protocol version. It is **strongly** unadvised to use the legacy protocol in new code. +.. _module-pw_transfer-integration-tests: + ----------------- Integration tests ----------------- @@ -688,6 +690,8 @@ change by adding to following line to the commit message footer: Cq-Include-Trybots: luci.pigweed.try:pigweed-linux-bzl-integration +.. _module-pw_transfer-parallel-tests: + Running the tests many times ============================ Because the tests bind to network ports, you cannot run more than one instance