diff options
-rw-r--r-- | docs/changelog.rst | 330 | ||||
-rw-r--r-- | pw_build/bazel.rst | 2 | ||||
-rw-r--r-- | pw_polyfill/docs.rst | 2 | ||||
-rw-r--r-- | pw_preprocessor/docs.rst | 2 |
4 files changed, 333 insertions, 3 deletions
diff --git a/docs/changelog.rst b/docs/changelog.rst index 76f334bef..e77ecc701 100644 --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -14,10 +14,336 @@ Discuss what's new with the Pigweed team .. _docs-changelog-latest: ------------ -Jan 12, 2024 +Jan 26, 2024 ------------ .. changelog_highlights_start +Highlights (Jan 12, 2024 to Jan 26, 2024): + +* The new :ref:`docs-bazel-integration` guide shows you how to integrate a + single Pigweed module into an existing Bazel project. +* Initial support for :py:class:`pw_cc_feature` has been added, which completes + the initial set of rules required for building toolchains with + :ref:`module-pw_toolchain_bazel`. +* A longstanding GCC bug that caused tokenized logging within a function + template to not work has been fixed. +* The new :ref:`module-pw_build-bazel-pw_cc_binary_with_map` Bazel rule enables + generating a ``.map`` file when building a binary. +* The new :cpp:func:`pw::bytes::SignExtend` template enables expanding the nth + bit to the left up to the size of the destination type. +* The new ``pw::kvs::FlashMemory::EndOfWrittenData()`` method returns the first + byte of erased flash that has no more written bytes. +* ``pw_polyfill/static_assert.h`` now provides a C23-style ``static_assert()``. + See :ref:`module-pw_polyfill-static_assert`. +* The new ``PW_ADD_OVERFLOW``, ``PW_SUB_OVERFLOW``, and ``PW_MUL_OVERFLOW`` + macros can be used to `check for integer overflows + <module-pw_preprocessor-integer-overflow>`_. +* The ``//pw_toolchain_bazel`` directory is now configured to be compiled as a + standalone Bazel module. +* The C++ client for :ref:`module-pw_transfer` now uses handles for + cancellation. +* A link to each module's source code and issues is now auto-generated in the + ``pigweed.dev`` site nav. + +.. 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_allocator +------------ +* `Add SplifFreeListAllocator fuzzer + <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/178216>`__ + +pw_bluetooth +------------ +* `Add advertising packet content filter emboss definitions + <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/188314>`__ +* `Add android multiple advertising emboss structures + <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/188313>`__ +* `Add a2dp remaining offload emboss structures + <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/188311>`__ +* `Move emboss structures from hci_commands to hci_common + <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/188312>`__ +* `Reorganize hci_vendor.emb + <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/188310>`__ +* `Add new event definitions + <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/188150>`__ + (issue `#311639432 <https://issues.pigweed.dev/issues/311639432>`__) + +pw_build +-------- +The new :ref:`module-pw_build-bazel-pw_cc_binary_with_map` Bazel rule enables +you to generate a ``.map`` file when building a binary. + +* `Add pw_cc_binary variant to generate .map files + <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/187710>`__ + (issue `#319746242 <https://issues.pigweed.dev/issues/319746242>`__) + +pw_bytes +-------- +The :cpp:class:`pw::ByteBuilder` API reference is now being auto-generated +via Doxygen. The new :cpp:func:`pw::bytes::SignExtend` template enables +expanding the nth bit to the left up to the size of the destination type. + +* `Fix compilation error occured with Werror=all + <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/188890>`__ +* `Update documentation + <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/188462>`__ +* `SignExtend template + <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/188456>`__ + (issue `#321114167 <https://issues.pigweed.dev/issues/321114167>`__) +* `Make _b literals error on values >255 + <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/188208>`__ + +pw_compilation_testing +---------------------- +* `Skip tests excluded by the preprocessor + <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/188650>`__ + (issue `#321088147 <https://issues.pigweed.dev/issues/321088147>`__) + +pw_console +---------- +* `Upgrade to ptpython 3.0.25 + <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/188146>`__ + (issue `#320509105 <https://issues.pigweed.dev/issues/320509105>`__) + +pw_containers +------------- +The destructors for ``pw::InlineQueue``, ``pw::InlineDeque``, and +``pw::Vector`` are now protected to prevent use with ``delete`` or +``std::unique_ptr`` and to prevent unusable declarations. + +* `Protected InlineQueue/Deque<T> destructor + <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/187802>`__ +* `Make Vector<T> destructor protected + <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/187801>`__ + +pw_digital_io +------------- +The private virtual API requirements for +:cpp:class:`pw::digital_io::DigitalIoOptional` are now documented because +they are needed when implementing concrete backends for ``pw_digital_io``. + +* `Document the private virtual API requirements + <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/187669>`__ +* `Remove conditional interrupt disabling requirements + <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/187668>`__ + +pw_doctor +--------- +* `Update expected tools on POSIX + <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/188102>`__ + (issue `#315998985 <https://issues.pigweed.dev/issues/315998985>`__) + +pw_env_setup +------------ +* `Retrieve qemu on ARM Macs + <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/187806>`__ + (issue `#315998985 <https://issues.pigweed.dev/issues/315998985>`__) + +pw_hdlc +------- +* `Remove unused targets + <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/188226>`__ +* `Remove unused rpc packet processor target + <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/188233>`__ + +pw_ide +------ +* `Fix typo + <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/188423>`__ +* `Launch activated terminals in VSC + <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/187195>`__ + (issue `#318583596 <https://issues.pigweed.dev/issues/318583596>`__) +* `VSC extension 0.1.3 release + <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/186726>`__ + +pw_kvs +------ +The new ``pw::kvs::FlashMemory::EndOfWrittenData()`` method returns the first +byte of erased flash that has no more written bytes. + +* `Add EndOfWrittenData() + <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/188872>`__ + +pw_persistent_ram +----------------- +* `Add more tests to PersistentBuffer + <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/188106>`__ + (issue `#320538351 <https://issues.pigweed.dev/issues/320538351>`__) + +pw_polyfill +----------- +``pw_polyfill/static_assert.h`` now provides a C23-style ``static_assert()``. +See :ref:`module-pw_polyfill-static_assert`. + +* `Remove _Static_assert workaround + <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/188277>`__ +* `Provide static_assert polyfill for C + <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/188137>`__ + +pw_preprocessor +--------------- +The new ``PW_ADD_OVERFLOW``, ``PW_SUB_OVERFLOW``, and ``PW_MUL_OVERFLOW`` +macros can be used to `check for integer overflows +<module-pw_preprocessor-integer-overflow>`_. + +* `Add integer-overflow macros + <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/187653>`__ + +pw_presubmit +------------ +* `Add more info to todo summary + <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/188750>`__ +* `Trim paths in ninja summary + <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/188070>`__ +* `No copyright for MODULE.bazel.lock + <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/188170>`__ +* `Exclude docs on Mac ARM hosts + <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/187784>`__ + (issue `#315998985 <https://issues.pigweed.dev/issues/315998985>`__) + +pw_protobuf +----------- +* `Fix another &*nullptr in test + <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/188717>`__ +* `Fix undefined pointer deref in fuzz test + <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/188281>`__ +* `Fix out-of-range read + <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/188095>`__ + (issue `#314803709 <https://issues.pigweed.dev/issues/314803709>`__) + +pw_thread +--------- +* `Add missing include + <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/189212>`__ + +pw_tokenizer +------------ +A longstanding GCC bug that caused tokenized logging within a function template +to not work has been fixed. + +* `Compensate for GCC template bug + <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/188424>`__ + (issue `#321306079 <https://issues.pigweed.dev/issues/321306079>`__) +* `Allow use of static_assert in C99 test + <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/188357>`__ +* `Adjust rustdocs deps to only be in std environments + <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/188138>`__ + +pw_tool +------- +This incomplete module has been deleted. + +* `Delete module + <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/188919>`__ + +pw_toolchain_bazel +------------------ +The ``//pw_toolchain_bazel`` directory is now configured to be compiled as a +standalone Bazel module. Initial support for :py:class:`pw_cc_feature` has been +added, which completes the initial set of rules required for building +toolchains with :ref:`module-pw_toolchain_bazel`. + +* `Remove deprecated action names + <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/188991>`__ + (issue `#320177248 <https://issues.pigweed.dev/issues/320177248>`__) +* `Migrate to type-safe action names + <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/187896>`__ + (issue `#320177248 <https://issues.pigweed.dev/issues/320177248>`__) +* `Require action labels in providers + <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/188810>`__ + (issue `#320177248 <https://issues.pigweed.dev/issues/320177248>`__) +* `Define actions names as labels + <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/187895>`__ + (issue `#320177248 <https://issues.pigweed.dev/issues/320177248>`__) +* `Make the pw_toolchain repository into a bazel module + <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/187932>`__ + (issue `#320177248 <https://issues.pigweed.dev/issues/320177248>`__) +* `Add pw_cc_feature + <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/181755>`__ + (issue `#309533028 <https://issues.pigweed.dev/issues/309533028>`__) +* `Set exec_transition_for_inputs to False + <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/188361>`__ + (issue `#321268080 <https://issues.pigweed.dev/issues/321268080>`__) +* `Remove check_deps_provide + <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/187894>`__ + (issue `#320177248 <https://issues.pigweed.dev/issues/320177248>`__) + +pw_transfer +----------- +The C++ client for :ref:`module-pw_transfer` now uses handles for +cancellation. + +* `Remove duplicated Builder call + <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/188855>`__ +* `Use handles for cancellation in C++ client + <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/134290>`__ + (issue `#272840682 <https://issues.pigweed.dev/issues/272840682>`__) + +pw_web +------ +* `Init. improvements to resize performance + <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/188050>`__ + (issue `#320475138 <https://issues.pigweed.dev/issues/320475138>`__) + +Build +===== +* `Use Python 3.11 + <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/182191>`__ + (issue `#310293060 <https://issues.pigweed.dev/issues/310293060>`__) +* `Use pre-release of rules_python + <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/188852>`__ + (issue `#310293060 <https://issues.pigweed.dev/issues/310293060>`__) +* `Use rules_python in Bazel build files + <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/188690>`__ + +Targets +======= + +host_device_simulator +--------------------- +* `Update docs + <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/187430>`__ + +Docs +==== +* `How to use a single Pigweed module in Bazel + <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/188922>`__ +* `Add pre-reqs for non-Debian Linux distros + <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/188770>`__ + (issue `#320519800 <https://issues.pigweed.dev/issues/320519800>`__) +* `Auto-generate module source code and issues URLs + <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/187312>`__ +* `Minor updates to the FAQ + <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/188252>`__ +* `Update changelog + <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/187614>`__ + +SEEDs +===== +* (SEED-0123) `Claim SEED number + <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/188140>`__ +* (SEED-0124) `Claim SEED number + <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/188671>`__ + +Miscellaneous +============= +* `Remove module-level README.md files + <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/188374>`__ +* `Fix how we ignore bazel- directories + <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/188940>`__ + +------------ +Jan 12, 2024 +------------ Highlights (Dec 29, 2023 to Jan 12, 2024): * :ref:`docs-changelog-20240112-pw_allocator` added parameter to make it easier @@ -28,8 +354,6 @@ Highlights (Dec 29, 2023 to Jan 12, 2024): ``std::thread::detach()`` on Windows because it's known to randomly hang indefinitely. -.. changelog_highlights_end - Active SEEDs ============ Help shape the future of Pigweed! Please visit :ref:`seed-0000` diff --git a/pw_build/bazel.rst b/pw_build/bazel.rst index a56be9702..35e689b4e 100644 --- a/pw_build/bazel.rst +++ b/pw_build/bazel.rst @@ -329,6 +329,8 @@ Example } // namespace my::stuff +.. _module-pw_build-bazel-pw_cc_binary_with_map: + pw_cc_binary_with_map --------------------- The ``pw_cc_binary_with_map`` rule can be used to build a binary like diff --git a/pw_polyfill/docs.rst b/pw_polyfill/docs.rst index 49a049a62..00fee3925 100644 --- a/pw_polyfill/docs.rst +++ b/pw_polyfill/docs.rst @@ -99,6 +99,8 @@ Backported features - ``pw_span/span.h`` - ``pw::span`` +.. _module-pw_polyfill-static_assert: + ------------------------------------------------ Adapt code to compile with different C standards ------------------------------------------------ diff --git a/pw_preprocessor/docs.rst b/pw_preprocessor/docs.rst index cb8d018b9..3cb4ff847 100644 --- a/pw_preprocessor/docs.rst +++ b/pw_preprocessor/docs.rst @@ -264,6 +264,8 @@ a single line if necessary. Whenever possible, fix the underlying issues about which the compiler is warning, rather than silencing the diagnostics. +.. _module-pw_preprocessor-integer-overflow: + Integer with Overflow Checking ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ``pw_preprocessor/compiler.h`` provides macros for performing arithmetic |