| :tocdepth: 2 |
| |
| .. _docs-changelog: |
| |
| ===================== |
| What's New In Pigweed |
| ===================== |
| |
| -------------------------------- |
| Talk to the team at Pigweed Live |
| -------------------------------- |
| .. pigweed-live:: |
| |
| .. _docs-changelog-latest: |
| |
| ----------- |
| May 1, 2024 |
| ----------- |
| |
| .. changelog_highlights_start |
| |
| Highlights (Apr 19, 2024 to May 1, 2024): |
| |
| * **Thread kickoff via pw::Function:** Revamped the Thread API to use |
| pw::Function. The original Thread API was created before pw::Function was |
| stable; this change modernizes and increases usability of the Thread API. |
| * **Thread creation SEED:** Creating threads in Pigweed is difficult due to our |
| strict adherence to portability. We're considering creating an additional API |
| that is more usable but less portable than the current approach. |
| * **Transfer:** Adaptive windowing got a Java implementation, and improvements |
| to adaptive windowing in C++. |
| * **Bluetooth:** Initial CLs towards a Bluetooth proxy. |
| |
| .. 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 |
| ------------ |
| Added two new allocators: BuddyAlloctor and BumpAllocator (also known as an |
| arena allocator). Various cleanups and fixes, including splitting the |
| Block-based allocators to their own files. |
| |
| * `Add missing return statement |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/207171>`__ |
| (issue `#337761967 <https://issues.pigweed.dev/issues/337761967>`__) |
| * `Remove conflict marker |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/206590>`__ |
| * `Move FallbackAllocator implementation |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/206174>`__ |
| * `Clean up LibCAllocatorTest |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/206173>`__ |
| * `Move block allocators to separate files |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/198154>`__ |
| * `Add BuddyAllocator |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/195952>`__ |
| * `Make AllMetrics internal |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/205737>`__ |
| * `Fix SynchonizedAllocator data race |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/205753>`__ |
| (issue `#333386065 <https://issues.pigweed.dev/issues/333386065>`__) |
| * `Add BumpAllocator |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/195953>`__ |
| |
| pw_assert |
| --------- |
| * `Fix support for print_and_abort in Bazel |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/206853>`__ |
| (issue `#337271435 <https://issues.pigweed.dev/issues/337271435>`__) |
| |
| pw_async |
| -------- |
| * `Add missing dispatcher facades to CMake |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/204873>`__ |
| (issue `#335866562 <https://issues.pigweed.dev/issues/335866562>`__) |
| |
| pw_bluetooth |
| ------------ |
| Continue filling out Bluetooth packet definitions; as well as some API |
| extensions for e.g. RSSI control. |
| |
| * `Add header alias in command complete events |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/207552>`__ |
| (issue `#326499611 <https://issues.pigweed.dev/issues/326499611>`__) |
| * `Add Event Codes to emboss |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/207510>`__ |
| (issue `#338068316 <https://issues.pigweed.dev/issues/338068316>`__) |
| * `Add opcode_enum to command and response event |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/207335>`__ |
| (issue `#338068316 <https://issues.pigweed.dev/issues/338068316>`__) |
| * `Sync with recent APCF changes |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/205921>`__ |
| (issue `#336608891 <https://issues.pigweed.dev/issues/336608891>`__) |
| * `Define Common Data Types |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/207470>`__ |
| (issue `#336608891 <https://issues.pigweed.dev/issues/336608891>`__) |
| * `Add LoopbackCommandEvent |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/205920>`__ |
| (issue `#336579564 <https://issues.pigweed.dev/issues/336579564>`__) |
| * `Support Read RSSI command and event |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/205919>`__ |
| (issue `#336566041 <https://issues.pigweed.dev/issues/336566041>`__) |
| * `Comment why we include all emboss headers in emboss_test |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/203637>`__ |
| (issue `#326499611 <https://issues.pigweed.dev/issues/326499611>`__) |
| * `Correct emboss path in doc example |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/204811>`__ |
| (issue `#326499650 <https://issues.pigweed.dev/issues/326499650>`__) |
| |
| pw_bluetooth_* |
| -------------- |
| * `Formatting fixes |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/204750>`__ |
| |
| pw_bluetooth_proxy |
| ------------------ |
| Start building the Bluetooth proxy subsystem. |
| |
| * `Rename ProcessH4 to HandleH4 |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/207651>`__ |
| (issue `#326499611 <https://issues.pigweed.dev/issues/326499611>`__) |
| * `Rename passthrough_test.cc to proxy_host_test.cc |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/207670>`__ |
| (issue `#326499611 <https://issues.pigweed.dev/issues/326499611>`__) |
| * `Move ProxyHost methods to .cc |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/207333>`__ |
| (issue `#326499611 <https://issues.pigweed.dev/issues/326499611>`__) |
| * `Rename HciProxy to ProxyHost |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/207450>`__ |
| (issue `#326499611 <https://issues.pigweed.dev/issues/326499611>`__) |
| * `Delete policies functionality |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/207332>`__ |
| (issue `#326499611 <https://issues.pigweed.dev/issues/326499611>`__) |
| * `Add some emboss helper functions |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/205741>`__ |
| (issue `#326499611 <https://issues.pigweed.dev/issues/326499611>`__) |
| * `Template test emboss packet creation |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/205740>`__ |
| (issue `#326499611 <https://issues.pigweed.dev/issues/326499611>`__) |
| * `Fix ordering of TEST arguments |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/205739>`__ |
| (issue `#326499611 <https://issues.pigweed.dev/issues/326499611>`__) |
| |
| pw_build |
| -------- |
| * `Add a `test_main` param to `pw_cc_test` |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/206851>`__ |
| (issue `#337277617 <https://issues.pigweed.dev/issues/337277617>`__) |
| * `Fix using pw_cc_blob_library target in external repos |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/206552>`__ |
| |
| pw_build_info |
| ------------- |
| * `Make the python module importable |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/206030>`__ |
| |
| pw_cli |
| ------ |
| New SEED creation tool reduces the burden to create SEEDs. This will open the |
| door to more contributors creating SEEDs for Pigweed changes and enhancements. |
| |
| * `Add SEED creation to CLI tool |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/186762>`__ |
| * `Handle custom arguments in tools |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/204192>`__ |
| * `Add git_repo.py and test to Bazel build |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/204871>`__ |
| |
| pw_containers |
| ------------- |
| * `Omit size on FlatMap construction |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/201030>`__ |
| |
| pw_cpu_exception_cortex_m |
| ------------------------- |
| * `Add util_test to tests |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/207791>`__ |
| |
| pw_digital_io_linux |
| ------------------- |
| * `Move OwnedFd to its own header file |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/207831>`__ |
| |
| pw_env_setup |
| ------------ |
| * `Update default sysroot version |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/204244>`__ |
| (issue `#335438711 <https://issues.pigweed.dev/issues/335438711>`__) |
| |
| pw_format |
| --------- |
| * `Better explain core::fmt whitespace parsing in ccomments |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/206671>`__ |
| * `Add support for core::fmt style format strings |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/203830>`__ |
| |
| pw_grpc |
| ------- |
| * `Support fragmented gRPC messages if an allocator is provided |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/204431>`__ |
| (issue `#323924487 <https://issues.pigweed.dev/issues/323924487>`__) |
| |
| pw_module |
| --------- |
| * `Include :authors: in generated SEED file |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/206674>`__ |
| |
| pw_presubmit |
| ------------ |
| * `Separate 'bazel info' stderr |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/206350>`__ |
| (issue `#332357274 <https://issues.pigweed.dev/issues/332357274>`__) |
| * `Save 'bazel info output_base' |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/206270>`__ |
| * `Remove --verbose_explanations flag |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/205933>`__ |
| * `Use _LOG global for logging |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/205913>`__ |
| * `RST format updates |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/204241>`__ |
| * `Allow disabling hook creation |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/205912>`__ |
| * `Drop '.' from Bazel symlinks |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/204870>`__ |
| (issue `#332357274 <https://issues.pigweed.dev/issues/332357274>`__) |
| |
| pw_protobuf |
| ----------- |
| * `Fix support for import_prefix on protos with options |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/204671>`__ |
| |
| pw_rpc |
| ------ |
| Enhancements in pw_rpc to better integrate with pw_grpc. |
| |
| * `Add private method for sending internal::Packet directly |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/185669>`__ |
| (issue `#319162657 <https://issues.pigweed.dev/issues/319162657>`__) |
| |
| pw_rust |
| ------- |
| * `Build examples in presubmit |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/207338>`__ |
| (issue `#337951363 <https://issues.pigweed.dev/issues/337951363>`__) |
| * `Fix Rust tokenized logging example |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/206672>`__ |
| |
| pw_sensors |
| ---------- |
| Sensors subsystem continues moving along; note that most of the discussion and |
| development is happening in the SEEDs. |
| |
| * `Add support for triggers |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/203860>`__ |
| (issue `#293466822 <https://issues.pigweed.dev/issues/293466822>`__) |
| |
| pw_snapshot |
| ----------- |
| * `Add python processor tests |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/205761>`__ |
| * `Fix Bazel builds |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/205090>`__ |
| |
| pw_spi_mcuxpresso |
| ----------------- |
| * `Rename flexspi to flexio_spi |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/205711>`__ |
| * `Fix Bazel build |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/205710>`__ |
| |
| pw_stream_uart_mcuxpresso |
| ------------------------- |
| * `Add interrupt safe write-only UART stream |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/207414>`__ |
| |
| pw_string |
| --------- |
| * `Add ToString for iterables |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/206650>`__ |
| * `Add missing array include |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/204211>`__ |
| |
| pw_thread |
| --------- |
| API change to bring pw_thread up to date with pw::Function; see overview. |
| |
| * `Use pw::Function to start threads |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/205760>`__ |
| (issue `#243018475 <https://issues.pigweed.dev/issues/243018475>`__) |
| * `Fix pw_thread_zephyr compilability |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/206970>`__ |
| |
| pw_thread_threadx |
| ----------------- |
| * `Remove unused dependency |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/207191>`__ |
| |
| pw_tls_client |
| ------------- |
| * `Add CMake facades |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/204874>`__ |
| (issue `#335878898 <https://issues.pigweed.dev/issues/335878898>`__) |
| |
| pw_tokenizer |
| ------------ |
| Enhance the C++ host-side decoder to better handle the full suite of |
| capabilities, in particulaur, recursive decoding; also some build fixes. |
| |
| * `Add DecodeOptionallyTokenizedData |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/206070>`__ |
| * `Switch detokenize.h docs to Doxygen |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/205751>`__ |
| * `Support arbitrary recursion in C++ detokenizer |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/205770>`__ |
| * `Add missing CMake dep |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/204316>`__ |
| |
| pw_toolchain |
| ------------ |
| * `Add clang-tidy suggestion |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/206675>`__ |
| |
| pw_transfer |
| ----------- |
| Adaptive windowing improvements, including C++ enhancementsn to better handle |
| small window sizes, as well as adding a Java implementation. |
| |
| * `Add resource_id to all GetResourceStatus responses |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/207350>`__ |
| (issue `#336364832 <https://issues.pigweed.dev/issues/336364832>`__) |
| * `Assume a minimum window size when reserving space |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/206890>`__ |
| * `Attempt to recover when receiving invalid size |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/206632>`__ |
| * `Implement adaptive windowing in Java |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/147511>`__ |
| |
| pw_unit_test |
| ------------ |
| * `Add support for a test_main in CMake |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/204872>`__ |
| (issue `#335865646 <https://issues.pigweed.dev/issues/335865646>`__) |
| * `Standardize ASSERT_OK_AND_ASSIGN |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/205946>`__ |
| * `Clarify status macros are gunit-only |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/206050>`__ |
| * `Add IWYU export/private pragmas |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/204151>`__ |
| (issue `#335291547 <https://issues.pigweed.dev/issues/335291547>`__) |
| |
| pw_web |
| ------ |
| * `Fix icons in packaged version |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/207551>`__ |
| * `Fix text download format |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/206551>`__ |
| * `NPM version bump to 0.0.19 |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/206330>`__ |
| * `Add user guide page for features and filter syntax |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/203632>`__ |
| (issue `#307560371 <https://issues.pigweed.dev/issues/307560371>`__) |
| |
| Docs |
| ==== |
| |
| docs |
| ---- |
| * `Mention @deprecated in the Doxygen style guide |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/205762>`__ |
| * `Update module docs contributor guidelines |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/205742>`__ |
| * `Add GitHub pull request template |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/205810>`__ |
| * `Require Bazel+GN+CMake for new contributions |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/204650>`__ |
| * `Update changelog |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/204203>`__ |
| |
| SEEDs |
| ===== |
| * SEED-0124: `Getting Used Size from Multisink |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/188670>`__ |
| (issue `#326854807 <https://issues.pigweed.dev/issues/326854807>`__) landed |
| * SEED-0128: `Easier thread creation |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/206631>`__ started |
| * SEED-0129: `Support PW_ASSERT with non-argument message |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/207150>`__ started |
| |
| Miscellaneous |
| ============= |
| * `Run clang-format |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/207412>`__ |
| * `Remove remaining usages of legacy thread entry |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/206856>`__ |
| * `Replace `string_view&` with `string_view` |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/204591>`__ |
| |
| .bazelversion |
| ------------- |
| * `Add file |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/205918>`__ |
| (issue `#336617748 <https://issues.pigweed.dev/issues/336617748>`__) |
| |
| Third party |
| =========== |
| * boringssl: `Add CMake integration |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/204875>`__ |
| (issue `#335880025 <https://issues.pigweed.dev/issues/335880025>`__) |
| * emboss: `Update emboss repo to tag v2024.0419.155605 |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/204202>`__ |
| (issue `#335724776 <https://issues.pigweed.dev/issues/335724776>`__) |
| * emboss: `Use COMPILE_LANGUAGE:CXX |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/205670>`__ |
| (issue `#336267050 <https://issues.pigweed.dev/issues/336267050>`__) |
| * fuchsia: `Add defer.h to Bazel build defs |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/206854>`__ |
| (issue `#337275846 <https://issues.pigweed.dev/issues/337275846>`__) |
| * npm: `Update package-lock.json |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/207336>`__ |
| |
| ------------ |
| Apr 18, 2024 |
| ------------ |
| |
| .. changelog_highlights_start |
| |
| Highlights (Apr 4, 2024 to Apr 18, 2024): |
| |
| * The Python and C++ interfaces of ``pw_transfer`` now support |
| :ref:`adaptive windowing <module-pw_transfer-windowing>`. |
| * :ref:`SEED 0117: I3C <seed-0117>` was accepted. |
| * The new :ref:`docs-quickstart-zephyr` shows you how to set up a |
| C++-based Zephyr project that's ready to use Pigweed. |
| |
| .. 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 |
| ------------ |
| The new :cpp:class:`pw::allocator::TypedPool` class is a slab allocator |
| that can allocate a specific object with very low overhead. |
| ``pw::allocator::TypedPool`` is implemented using the new |
| :cpp:class:`pw::allocator::Pool` interface. |
| ``pw::allocator::TrackingAllocatorImpl`` was renamed to |
| ``pw::allocator::TrackingAllocator``. |
| |
| * `Add missing soong deps |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/203613>`__ |
| * `Add Pool |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/195540>`__ |
| * `Update OWNERS |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/203211>`__ |
| * `Rename TrackingAllocatorImpl |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/203150>`__ |
| (issue `#326509341 <https://issues.pigweed.dev/issues/326509341>`__) |
| |
| pw_async2 |
| --------- |
| The new :cpp:class:`pw::async2::PendableAsTask` class is a ``Task`` that |
| delegates to a type with a ``Pend`` method. |
| |
| * `Add PendableAsTask |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/201920>`__ |
| |
| pw_blob_store |
| ------------- |
| The ``pw_add_library()`` call for the ``pw_blob_store`` target now compiles |
| as ``STATIC`` instead of ``INTERFACE`` to be more in line with the Bazel |
| build. |
| |
| * `Fix CMakeLists.txt pw_add_library() |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/203134>`__ |
| |
| pw_bluetooth |
| ------------ |
| * `Formatting fixes |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/204315>`__ |
| * `LEGetVendorCapabilitiesCommandCompleteEvent v1.04 fields |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/204198>`__ |
| * `Add versions - LEGetVendorCapabilitiesCommandCompleteEvent |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/203795>`__ |
| (issue `#332924521 <https://issues.pigweed.dev/issues/332924521>`__) |
| * `Add EventMask and temp field in SetEventMaskCommand |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/192256>`__ |
| (issue `#42068631 <https://issues.pigweed.dev/issues/42068631>`__) |
| * `Store length max in virtual field |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/201794>`__ |
| * `Define LEReadMaximumAdvertisingDataLengthCommandComplete |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/201951>`__ |
| (issue `#312898345 <https://issues.pigweed.dev/issues/312898345>`__) |
| |
| pw_bluetooth_sapphire |
| --------------------- |
| In CIPD ``bt-host`` artifacts are now uploaded to ``fuchsia/prebuilt/bt-host``. |
| |
| * `Iterators |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/203855>`__ |
| (issue `#333448202 <https://issues.pigweed.dev/issues/333448202>`__) |
| * `Change CIPD upload path |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/202690>`__ |
| (issue `#321267610 <https://issues.pigweed.dev/issues/321267610>`__) |
| * `Bump @fuchsia_sdk |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/202490>`__ |
| (issue `#329933586, 321267476 <https://issues.pigweed.dev/issues/329933586, 321267476>`__) |
| |
| pw_build |
| -------- |
| * `Disable deprecated pragma warnings |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/203856>`__ |
| (issue `#333448202 <https://issues.pigweed.dev/issues/335328444, b/333448202>`__) |
| * `Iterators |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/203330>`__ |
| (issue `#335021928 <https://issues.pigweed.dev/issues/333448202, b/335024633, b/335021928>`__) |
| * `Collect wheel fix |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/202921>`__ |
| * `Disable C23 extension warnings |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/202830>`__ |
| (issue `#333712899 <https://issues.pigweed.dev/issues/333712899>`__) |
| |
| pw_build_android |
| ---------------- |
| * `Update module guidance |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/203910>`__ |
| * `Update cc_defaults guidance |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/203651>`__ |
| * `Make Common Backends static |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/202090>`__ |
| (issue `#331458726 <https://issues.pigweed.dev/issues/331458726>`__) |
| |
| pw_build_info |
| ------------- |
| * `Add missing header file for cmake |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/202210>`__ |
| |
| pw_cli |
| ------ |
| The following interfaces were moved from ``pw_presubmit`` to ``pw_cli`` |
| to make them more widely available: :py:class:`pw_cli.file_filter.FileFilter`, |
| :py:mod:`pw_cli.git_repo`, and :py:class:`pw_cli.tool_runner.ToolRunner`. |
| The new :py:func:`pw_cli.decorators.deprecated` decorator emits a |
| deprecation warning when the annotated function is used. |
| |
| * `Fix argument handling for GitRepo.has_uncommitted_changes() |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/204232>`__ |
| * `Fix subprocess runner arg concatenation |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/202844>`__ |
| * `Move FileFilter |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/194617>`__ |
| * `Fix commit fallback handling for GitRepo.list_files() |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/203790>`__ |
| * `Move git_repo to pw_cli |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/201279>`__ |
| * `Add Python deprecation decorator |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/202929>`__ |
| * `Update ToolRunner type hints |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/202737>`__ |
| * `Move ToolRunner |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/201278>`__ |
| |
| pw_containers |
| ------------- |
| * `Iterators |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/203330>`__ |
| (issue `#335021928 <https://issues.pigweed.dev/issues/333448202, b/335024633, b/335021928>`__) |
| |
| pw_cpu_exception_risc_v |
| ----------------------- |
| The new :ref:`module-pw_cpu_exception_risc_v` backend lays the foundation for |
| RISC-V CPU exception handling. |
| |
| * `Add initial backend structure |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/188230>`__ |
| |
| pw_env_setup |
| ------------ |
| * `clang |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/202591>`__ |
| (issue `#333448202 <https://issues.pigweed.dev/issues/333448202>`__) |
| |
| pw_hdlc |
| ------- |
| * `Iterators |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/203330>`__ |
| (issue `#335021928 <https://issues.pigweed.dev/issues/333448202, b/335024633, b/335021928>`__) |
| |
| pw_ide |
| ------ |
| * `Fixes to support changing working_dir |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/204430>`__ |
| (issue `#335628872 <https://issues.pigweed.dev/issues/335628872>`__) |
| * `Enable cmake.format.allowOptionalArgumentIndentation |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/203638>`__ |
| |
| pw_kvs |
| ------ |
| * `Make Key an alias for string_view |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/204590>`__ |
| * `Depend on libraries for fake flash and store tests for Bazel |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/202212>`__ |
| * `Add libraries to reuse partition and store tests for Bazel |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/202211>`__ |
| |
| pw_log_zephyr |
| ------------- |
| * `Tokenize Zephyr shell fprintf |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/202734>`__ |
| |
| pw_presubmit |
| ------------ |
| The following interfaces were moved from ``pw_presubmit`` to ``pw_cli`` |
| to make them more widely available: :py:class:`pw_cli.file_filter.FileFilter`, |
| :py:mod:`pw_cli.git_repo`, and :py:class:`pw_cli.tool_runner.ToolRunner`. |
| |
| * `Move FileFilter |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/194617>`__ |
| * `Add bthost_package step |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/203797>`__ |
| (issue `#332357274 <https://issues.pigweed.dev/issues/332357274>`__) |
| * `Don't overwrite Bazel stdout files |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/203796>`__ |
| (issue `#332357274 <https://issues.pigweed.dev/issues/332357274>`__) |
| * `Remove cmake_clang from quick presubmit |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/198050>`__ |
| * `Move git_repo to pw_cli |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/201279>`__ |
| * `Fix copy/paste bug in _value() |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/202913>`__ |
| * `Move ToolRunner |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/201278>`__ |
| |
| pw_protobuf |
| ----------- |
| |
| |
| * `Access raw proto values; change RPC packet channel ID |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/204152>`__ |
| |
| pw_rpc |
| ------ |
| The new :cpp:func:`pw::rpc::ChangeEncodedChannelId` function lets you rewrite |
| an encoded packet's channel ID in place. See :ref:`module-pw_rpc-remap`. |
| |
| * `Access raw proto values; change RPC packet channel ID |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/204152>`__ |
| * `Iterators |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/203330>`__ |
| (issue `#335021928 <https://issues.pigweed.dev/issues/333448202, b/335024633, b/335021928>`__) |
| |
| pw_rpc_transport |
| ---------------- |
| * `Soong lib names now follow style |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/203650>`__ |
| |
| pw_sensor |
| --------- |
| The new :ref:`module-pw_sensor` module is the start of the implementation |
| of :ref:`SEED 0119: Sensors <seed-0119>`. |
| |
| * `Fix Python install |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/204130>`__ |
| * `Add attribute support to sensor-desc CLI |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/203791>`__ |
| (issue `#293466822 <https://issues.pigweed.dev/issues/293466822>`__) |
| * `Create a sensor-desc CLI |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/203670>`__ |
| (issue `#293466822 <https://issues.pigweed.dev/issues/293466822>`__) |
| * `Update validator schema to JSON schema |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/202925>`__ |
| (issue `#293466822 <https://issues.pigweed.dev/issues/293466822>`__) |
| * `Provide a validator |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/202912>`__ |
| (issue `#293466822 <https://issues.pigweed.dev/issues/293466822>`__) |
| * `Add module stub |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/202911>`__ |
| (issue `#293466822 <https://issues.pigweed.dev/issues/293466822>`__) |
| |
| pw_snapshot |
| ----------- |
| * `Process snapshots based on CPU architecture |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/188232>`__ |
| |
| pw_spi_linux |
| ------------ |
| ``pw_spi_linux`` now has a basic :ref:`module-pw_spi_linux-cli` that lets |
| you read from and write to devices. |
| |
| * `Add pw_spi_linux_cli |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/201391>`__ |
| |
| pw_thread_freertos |
| ------------------ |
| * `Use TCB for running stack pointer |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/188231>`__ |
| |
| pw_tls_client |
| ------------- |
| * `Only include <sys/time.h> if available |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/202555>`__ |
| |
| pw_transfer |
| ----------- |
| The Python and C++ interfaces now support |
| :ref:`adaptive windowing <module-pw_transfer-windowing>`. |
| |
| * `Iterators |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/203330>`__ |
| (issue `#335021928 <https://issues.pigweed.dev/issues/333448202, b/335024633, b/335021928>`__) |
| * `Implement adaptive windowing in Python |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/147510>`__ |
| * `Implement adaptive windowing in C++ |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/146392>`__ |
| * `Convert arguments to std::fstream constructors |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/203151>`__ |
| (issue `#333957637 <https://issues.pigweed.dev/issues/333957637>`__) |
| |
| pw_web |
| ------ |
| * `Support creating client without using proto descriptor |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/203654>`__ |
| * `NPM version bump to 0.0.18 |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/203636>`__ |
| * `Fix string manipulation in download logs |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/203612>`__ |
| (issue `#331480903 <https://issues.pigweed.dev/issues/331480903>`__) |
| * `Use existing col data when adding new View |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/200290>`__ |
| (issue `#331439176 <https://issues.pigweed.dev/issues/331439176>`__) |
| * `Enable column order on init |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/201530>`__ |
| (issue `#329712468 <https://issues.pigweed.dev/issues/329712468>`__) |
| * `Fix test format of log-source.test |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/202392>`__ |
| (issue `#333379333 <https://issues.pigweed.dev/issues/333379333>`__) |
| |
| Build |
| ===== |
| |
| Bazel |
| ----- |
| * `Use remote cache in infra |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/202754>`__ |
| (issue `#312215590 <https://issues.pigweed.dev/issues/312215590>`__) |
| |
| Docs |
| ==== |
| The new :ref:`docs-quickstart-zephyr` shows you how to set up a C++-based |
| Zephyr project that's ready to use Pigweed. The API references for all |
| functions or methods that return a set of ``pw_status`` codes have been |
| refactored for consistency. The :ref:`docs-style-doxygen` has been revamped. |
| |
| * `Add pw_status table for API references |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/202739>`__ |
| * `Revamp Doxygen style guide |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/202590>`__ |
| * `Add Zephyr quickstart |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/196671>`__ |
| * `Update changelog |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/202150>`__ |
| |
| SEEDs |
| ===== |
| * (SEED-0117) `pw_i3c |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/178350>`__ |
| |
| Miscellaneous |
| ============= |
| * (clang) `Fix \`std::array\` iterators |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/202834>`__ |
| (issue `#333448202 <https://issues.pigweed.dev/issues/333448202>`__) |
| * (emboss) `Loosen Emboss cmake dependency tracking |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/202831>`__ |
| (issue `#333735460 <https://issues.pigweed.dev/issues/333735460>`__) |
| * (many) `Move maxDiff to be a class attribute |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/204150>`__ |
| |
| ----------- |
| Apr 4, 2024 |
| ----------- |
| .. _epoll: https://man7.org/linux/man-pages/man7/epoll.7.html |
| |
| Highlights (Mar 21, 2024 to Apr 4, 2024): |
| |
| * **New modules**: :ref:`module-pw_i2c_rp2040` is a Pico SDK implementation of |
| the ``pw_i2c`` interface, :ref:`module-pw_async2_epoll` is an |
| `epoll`_-based backend for ``pw_async2``, :ref:`module-pw_spi_linux` |
| is a Linux backend for ``pw_spi``, :ref:`module-pw_uart` provides |
| core methods for UART communication, and :ref:`module-pw_bluetooth_proxy` |
| provides a lightweight proxy host that can be placed between a Bluetooth |
| host and a Bluetooth controller to add functionality or inspection. |
| * **Docs updates**: Pigweed's main docs builder now builds the |
| :ref:`examples <seed-0122-examples>` repo; the examples will be available |
| at ``https://pigweed.dev/examples``. An experimental complete Doxygen API |
| reference is now being published to ``https://pigweed.dev/doxygen``. The |
| :ref:`module-pw_i2c` docs, :ref:`docs-style-rest`, and |
| :ref:`docs contributors homepage <docs-contrib-docs>` have been revamped. |
| * **Android platform updates**: Many modules were refactored to follow the |
| guidance in :ref:`module-pw_build_android` to make it easier to build them in |
| Soong. |
| |
| 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 |
| ------------ |
| The new :ref:`module-pw_allocator-api-capabilities` API lets derived allocators |
| describe what optional features they support. ``pw::Allocator::GetLayout()`` |
| has begun to be deprecated and replaced by ``pw::Allocator::GetRequestedLayout``, |
| ``pw::Allocator::GetUsableLayout()``, and ``pw::Allocator::GetAllocatedLayout()`` |
| to make it easier to distinguish between requested memory, usable memory, and |
| already used memory. Methods that took ``Layout`` arguments, such as |
| ``pw::Allocator::GetRequestedLayout()``, have been deprecated. |
| |
| * `Restore DoDeallocate with Layout |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/201670>`__ |
| (issue `#332510307 <https://issues.pigweed.dev/issues/332510307>`__) |
| * `Move Layout and UniquePtr to their own header files |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/199534>`__ |
| * `Remove Layout from Deallocate and Resize |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/198153>`__ |
| * `Add allocation detail storage to TrackingAllocator |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/198152>`__ |
| * `Distinguish between requested, usable, and allocated sizes |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/198150>`__ |
| * `Add Capabilities |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/197133>`__ |
| |
| pw_assert_log |
| ------------- |
| * `Follow Soong guidelines |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/197536>`__ |
| (issue `#328503970 <https://issues.pigweed.dev/issues/328503970>`__) |
| |
| pw_async2 |
| --------- |
| The new :cpp:class:`pw::async2::PendFuncTask` class delegates a task to a |
| provided function. |
| |
| * `Add Poll::Readiness helper |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/201910>`__ |
| * `Fix TSAN for dispatcher_thread_test |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/201850>`__ |
| * `Add PendFuncTask |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/199714>`__ |
| |
| pw_async2_epoll |
| --------------- |
| .. _epoll: https://man7.org/linux/man-pages/man7/epoll.7.html |
| |
| The new :ref:`module-pw_async2_epoll` module is an `epoll`_-based backend |
| for :ref:`module-pw_async2`. |
| |
| * `Epoll-backed async2 dispatcher |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/200233>`__ |
| |
| pw_bluetooth |
| ------------ |
| The :ref:`module-pw_bluetooth-usage` section now shows CMake usage and |
| the new :ref:`module-pw_bluetooth-contributing` section shows how to |
| contribute Emboss code. |
| |
| * `Define LEReadMaximumAdvertisingDataLengthCommandComplete |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/201951>`__ |
| (issue `#312898345 <https://issues.pigweed.dev/issues/312898345>`__) |
| * `Add more opcodes |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/201130>`__ |
| * `Add example of using to_underlying |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/200970>`__ |
| (issue `#326499650 <https://issues.pigweed.dev/issues/326499650>`__) |
| * `Emboss formatting tweak |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/200230>`__ |
| (issue `#331195584 <https://issues.pigweed.dev/issues/331195584>`__) |
| * `Add cmake to usage guide |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/200012>`__ |
| (issue `#326499587 <https://issues.pigweed.dev/issues/326499587>`__) |
| * `Add opcode_full field to emboss HCI headers |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/199553>`__ |
| (issue `#326499650 <https://issues.pigweed.dev/issues/326499650>`__) |
| * `Add enum for opcodes |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/199671>`__ |
| (issue `#326499650 <https://issues.pigweed.dev/issues/326499650>`__) |
| * `Update cmake targets to be consistent |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/200011>`__ |
| (issue `#326499587 <https://issues.pigweed.dev/issues/326499587>`__) |
| * `Update build files to be consistent |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/200010>`__ |
| (issue `#326499587 <https://issues.pigweed.dev/issues/326499587>`__) |
| * `Add emboss ReadBufferSize v1 event |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/199070>`__ |
| (issue `#326499650 <https://issues.pigweed.dev/issues/326499650>`__) |
| * `Add emboss contributing section to docs.rst |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/199531>`__ |
| (issue `#331195584 <https://issues.pigweed.dev/issues/331195584>`__) |
| * `protocol.h comments tweak |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/199532>`__ |
| (issue `#326499650 <https://issues.pigweed.dev/issues/326499650>`__) |
| |
| pw_bluetooth_proxy |
| ------------------ |
| The new :ref:`module-pw_bluetooth_proxy` module provides a lightweight |
| proxy host that can be placed between a Bluetooth host and a Bluetooth |
| controller to add functionality or inspection. |
| |
| * `Move to cpp23::to_underlying |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/200971>`__ |
| (issue `#331281133 <https://issues.pigweed.dev/issues/331281133>`__) |
| * `Use emboss OpCode enum |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/199554>`__ |
| (issue `#326499611 <https://issues.pigweed.dev/issues/326499611>`__) |
| * `Bluetooth proxy module and initial classes |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/197290>`__ |
| (issue `#326496952 <https://issues.pigweed.dev/issues/326496952>`__) |
| |
| pw_bluetooth_sapphire |
| --------------------- |
| ``pw_bluetooth_sapphire`` now supports emulation, Fuchsia unit testing, and |
| ARM64 build targets. |
| |
| * `Add arm64 release variant |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/202050>`__ |
| (issue `#332928957 <https://issues.pigweed.dev/issues/332928957>`__) |
| * `Stub bt-host CIPD manifest |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/201390>`__ |
| (issue `#332357274, 321267610 <https://issues.pigweed.dev/issues/332357274, 321267610>`__) |
| * `Fuchsia testing support |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/198270>`__ |
| (issue `#331692493, 42178254 <https://issues.pigweed.dev/issues/331692493, 42178254>`__) |
| * `Add emulator start workflow |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/200270>`__ |
| (issue `#321267689 <https://issues.pigweed.dev/issues/321267689>`__) |
| |
| pw_build |
| -------- |
| Modules can now be nested in subdirectories, which paves the way for |
| refactoring how modules are organized in the upstream Pigweed repo. |
| :ref:`module-pw_build-project_builder` is a new lightweight build command |
| for projects that need to run multiple commands to perform a build. |
| |
| * `Allow nesting Pigweed modules in subdirectories |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/201114>`__ |
| * `Add alwayslink option to pw_cc_blob_library |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/201110>`__ |
| * `ProjectBuilder documentation |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/200791>`__ |
| * `BuildRecipe auto_create_build_dir option |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/200830>`__ |
| * `Defer build directory existence check |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/200771>`__ |
| |
| pw_build_android |
| ---------------- |
| * `Define rule with static libs |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/200351>`__ |
| (issue `#331458726 <https://issues.pigweed.dev/issues/331458726>`__) |
| |
| pw_build_info |
| ------------- |
| The new ``pw::build_info::LogBuildId()`` function lets you print a GNU |
| build ID as hex. |
| |
| * `Add log function of GNU build ID |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/199471>`__ |
| * `Fix Bazel baremetal compatibility |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/199470>`__ |
| |
| pw_bytes |
| -------- |
| * `Add example to docs of using _b suffix |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/201350>`__ |
| |
| pw_channel |
| ---------- |
| The new :cpp:type:`pw::channel::LoopbackDatagramChannel` and |
| :cpp:type:`pw::channel::LoopbackByteChannel` aliases provide channel |
| implementations that read their own writes. The new |
| :cpp:class:`pw::channel::ForwardingChannelPair` class lets you connect two |
| subsystems with datagram channels without implementing a custom channel. |
| |
| * `Return status from PollReadyToWrite |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/200995>`__ |
| * `Rename methods to Pend prefix |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/201090>`__ |
| * `Add loopback channel |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/199150>`__ |
| * `Split open bits for read and write |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/199712>`__ |
| * `Seek is not async |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/199713>`__ |
| * `Set closed bit on FAILED_PRECONDITION |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/199710>`__ |
| * `Respect sibling closure |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/199035>`__ |
| * `Introduce forwarding channels |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/197353>`__ |
| |
| pw_chrono |
| --------- |
| * `Update OWNERS |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/200714>`__ |
| * `Follow Soong guidelines |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/198290>`__ |
| (issue `#328503970 <https://issues.pigweed.dev/issues/328503970>`__) |
| |
| pw_cli |
| ------ |
| The new ``pw_cli.alias`` Python module lets you create ``pw`` subcommands |
| that are effectively command line aliases. See :ref:`module-pw_cli-aliases`. |
| |
| * `Move plural() |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/201630>`__ |
| * `Move status_reporter to pw_cli |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/201113>`__ |
| * `Add pw ffx alias |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/200770>`__ |
| (issue `#329933586 <https://issues.pigweed.dev/issues/329933586>`__) |
| |
| pw_digital_io |
| ------------- |
| * `Update OWNERS |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/200752>`__ |
| |
| pw_emu |
| ------ |
| * `Fix a TypeError in TemporaryEmulator |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/200832>`__ |
| (issue `#316080297 <https://issues.pigweed.dev/issues/316080297>`__) |
| |
| pw_env_setup |
| ------------ |
| * `Run npm log viewer setup script after install |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/200211>`__ |
| |
| pw_function |
| ----------- |
| * `Define as cc_static_library |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/199092>`__ |
| (issue `#328503970 <https://issues.pigweed.dev/issues/328503970>`__) |
| |
| pw_hdlc |
| ------- |
| The new :cpp:class:`pw::hdlc::Router` class is an experimental async HDLC |
| router that uses :ref:`module-pw_channel`. |
| |
| * `Document members of router |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/201115>`__ |
| * `Add async router |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/195538>`__ |
| * `Fix sitenav |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/196499>`__ |
| |
| pw_i2c |
| ------ |
| The :ref:`module-pw_i2c` docs have been revamped. |
| |
| * `Revamp docs |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/196330>`__ |
| * `Update OWNERS |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/200752>`__ |
| * `Update OWNERS |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/200714>`__ |
| |
| pw_i2c_rp2040 |
| ------------- |
| The new :ref:`module-pw_i2c_rp2040` module implements the :ref:`module-pw_i2c` |
| interface using the Raspberry Pi Pico SDK. |
| |
| * `Initiator implementation |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/173552>`__ |
| (issue `#303255049 <https://issues.pigweed.dev/issues/303255049>`__) |
| |
| pw_ide |
| ------ |
| :py:func:`pw_ide.settings.PigweedIdeSettings.compdb_searchpaths` now accepts |
| globs. The new :py:func:`pw_ide.settings.PigweedIdeSettings.targets_exclude` |
| method lets you specify a list of GN targets that code analysis should ignore. |
| |
| * `Support comp DB search path globs |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/200908>`__ |
| * `Move status_reporter to pw_cli |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/201113>`__ |
| * `Support including and/or excluding targets |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/195975>`__ |
| |
| pw_libc |
| ------- |
| * `Include strncpy |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/199110>`__ |
| (issue `#316936782 <https://issues.pigweed.dev/issues/316936782>`__) |
| |
| pw_log |
| ------ |
| * `Follow Soong guidelines |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/197536>`__ |
| (issue `#328503970 <https://issues.pigweed.dev/issues/328503970>`__) |
| |
| pw_log_basic |
| ------------ |
| * `Fix Soong definitions |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/199034>`__ |
| (issue `#328503970 <https://issues.pigweed.dev/issues/328503970>`__) |
| |
| pw_log_null |
| ----------- |
| * `Define as cc_static_library |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/199090>`__ |
| (issue `#328503970 <https://issues.pigweed.dev/issues/328503970>`__) |
| |
| pw_log_tokenized |
| ---------------- |
| * `Define as cc_static_library |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/198735>`__ |
| (issue `#328503970 <https://issues.pigweed.dev/issues/328503970>`__) |
| |
| pw_minimal_cpp_stdlib |
| --------------------- |
| * `Clarify purpose |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/200792>`__ |
| |
| pw_module |
| --------- |
| * `Jinja template refactor |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/201751>`__ |
| * `Overwrite prompt with diff display |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/201851>`__ |
| * `Allow nesting Pigweed modules in subdirectories |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/201114>`__ |
| * `Add OWNERS file during module creation |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/200831>`__ |
| |
| pw_multibuf |
| ----------- |
| * `Replace Mutex with ISL |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/200996>`__ |
| * `Define as cc_static_library |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/199091>`__ |
| (issue `#328503970 <https://issues.pigweed.dev/issues/328503970>`__) |
| |
| pw_polyfill |
| ----------- |
| * `Define as cc_static_library |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/199094>`__ |
| (issue `#328503970 <https://issues.pigweed.dev/issues/328503970>`__) |
| * `Simplify backported features table |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/197891>`__ |
| |
| pw_preprocessor |
| --------------- |
| * `Define as cc_static_library |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/199031>`__ |
| (issue `#328503970 <https://issues.pigweed.dev/issues/328503970>`__) |
| |
| pw_presubmit |
| ------------ |
| Pigweed's main docs builder now builds the :ref:`examples <seed-0122-examples>` |
| repo; the examples will be available at ``https://pigweed.dev/examples``. |
| An experimental complete Doxygen API reference is now being published to |
| ``https://pigweed.dev/doxygen``. |
| |
| * `Include examples repo docs in docs_builder |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/201990>`__ |
| (issue `#300317433 <https://issues.pigweed.dev/issues/300317433>`__) |
| * `Move plural() |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/201630>`__ |
| * `Include doxygen html in docs_build |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/198553>`__ |
| * `Refactor Python Black formatter support |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/194417>`__ |
| * `Refactor Bazel formatter support |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/194416>`__ |
| * `Refactor GN formatting support |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/194415>`__ |
| (issue `#326309165 <https://issues.pigweed.dev/issues/326309165>`__) |
| * `Make ToolRunner capture stdout/stderr by default |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/200972>`__ |
| * `Update buildifier invocation |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/200350>`__ |
| * `Switch format test data to importlib |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/200790>`__ |
| * `Skip gn_teensy_build on mac-arm64 |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/199670>`__ |
| |
| pw_protobuf |
| ----------- |
| * `Support full java protos |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/200530>`__ |
| (issue `#329445249 <https://issues.pigweed.dev/issues/329445249>`__) |
| |
| pw_python |
| --------- |
| * `Update setup.sh requirements |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/200994>`__ |
| |
| pw_result |
| --------- |
| * `Avoid duplicate symbols with Soong |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/201277>`__ |
| (issue `#331458726 <https://issues.pigweed.dev/issues/331458726>`__) |
| * `Define as cc_static_library |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/199033>`__ |
| (issue `#328503970 <https://issues.pigweed.dev/issues/328503970>`__) |
| |
| pw_router |
| --------- |
| * `Define as cc_static_library |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/199130>`__ |
| (issue `#328503970 <https://issues.pigweed.dev/issues/328503970>`__) |
| * `Add Android common backends as dep |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/198390>`__ |
| (issue `#328503970 <https://issues.pigweed.dev/issues/328503970>`__) |
| |
| pw_rpc |
| ------ |
| * `List dependencies directly |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/199533>`__ |
| (issue `#331226283 <https://issues.pigweed.dev/issues/331226283>`__) |
| |
| pw_rpc_transport |
| ---------------- |
| * `Define as cc_static_library |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/199093>`__ |
| (issue `#328503970 <https://issues.pigweed.dev/issues/328503970>`__) |
| |
| pw_span |
| ------- |
| * `Define as cc_static_library |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/199032>`__ |
| (issue `#328503970 <https://issues.pigweed.dev/issues/328503970>`__) |
| |
| pw_spi |
| ------ |
| * `Update OWNERS |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/200752>`__ |
| * `Update OWNERS |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/200714>`__ |
| |
| pw_spi_linux |
| ------------ |
| Linux functionality that was previously in :ref:`module-pw_spi` has been |
| moved to its own module, :ref:`module-pw_spi_linux`. |
| |
| * `Move linux_spi from pw_spi to its own module |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/201351>`__ |
| |
| pw_status |
| --------- |
| The new ``pw::StatusWithSize::size_or()`` convenience method lets you return |
| a default size in place of ``pw::StatusWithSize::size()`` when the status is |
| not OK. |
| |
| * `Add StatusWithSize::size_or |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/198151>`__ |
| |
| pw_stream_shmem_mcuxpresso |
| -------------------------- |
| * `Fix interrupt pending check |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/198070>`__ |
| (issue `#330225861 <https://issues.pigweed.dev/issues/330225861>`__) |
| |
| pw_sync |
| ------- |
| * `Follow Soong guidelines |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/197872>`__ |
| (issue `#328503970 <https://issues.pigweed.dev/issues/328503970>`__) |
| |
| pw_sys_io |
| --------- |
| * `Update OWNERS |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/200714>`__ |
| * `Fix Soong definitions |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/199034>`__ |
| (issue `#328503970 <https://issues.pigweed.dev/issues/328503970>`__) |
| |
| pw_thread |
| --------- |
| * `Follow Soong guidance |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/199030>`__ |
| (issue `#328503970 <https://issues.pigweed.dev/issues/328503970>`__) |
| |
| pw_toolchain |
| ------------ |
| |
| |
| * `Fix Rust GN host build |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/201831>`__ |
| * `Define as cc_static_library |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/198734>`__ |
| (issue `#328503970 <https://issues.pigweed.dev/issues/328503970>`__) |
| * `Remove unusued source set |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/200190>`__ |
| (issue `#331260098 <https://issues.pigweed.dev/issues/331260098>`__) |
| * `LLVM compiler-rt builtins |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/198593>`__ |
| |
| pw_trace_tokenized |
| ------------------ |
| * `Fix static initialization |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/200232>`__ |
| |
| pw_transfer |
| ----------- |
| New ``pw_transfer`` macros: |
| :c:macro:`PW_TRANSFER_LOG_DEFAULT_CHUNKS_BEFORE_RATE_LIMIT`, |
| :c:macro:`PW_TRANSFER_LOG_DEFAULT_RATE_PERIOD_MS`, |
| :c:macro:`PW_TRANSFER_CONFIG_LOG_LEVEL`, and |
| :c:macro:`PW_TRANSFER_CONFIG_DEBUG_DATA_CHUNKS`. |
| |
| * `Make numerous logging adjustments |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/194750>`__ |
| |
| pw_uart |
| ------- |
| The new :ref:`module-pw_uart` module defines core methods for UART |
| communication. |
| |
| * `Create OWNERS |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/200750>`__ |
| * `Added UART interface |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/181710>`__ |
| |
| pw_unit_test |
| ------------ |
| * `Add failing results test record |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/197852>`__ |
| |
| pw_web |
| ------ |
| * `NPM version bump to 0.0.17 |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/201091>`__ |
| * `Fix logs not appearing in pw_console server |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/200793>`__ |
| (issue `#331483789 <https://issues.pigweed.dev/issues/331483789>`__) |
| |
| Build |
| ===== |
| |
| Bazel |
| ----- |
| * `Add missing Python deps |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/199850>`__ |
| (issue `#331267896 <https://issues.pigweed.dev/issues/331267896>`__) |
| * `Localize remaining backend label flags |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/199036>`__ |
| (issue `#329441699 <https://issues.pigweed.dev/issues/329441699>`__) |
| |
| Docs |
| ==== |
| * `Mention that Windows flow needs admin rights |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/202030>`__ |
| * `Update reST style guide |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/201650>`__ |
| * `Organize the documentation style guides |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/201116>`__ |
| * `Update references to quickstart/bazel |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/200131>`__ |
| (issue `#325472122 <https://issues.pigweed.dev/issues/325472122>`__) |
| * `Simplify module creation docs using script |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/200231>`__ |
| * `Generate doxygen html output locally |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/199711>`__ |
| * `Update changelog |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/198810>`__ |
| |
| SEEDs |
| ===== |
| * (SEED-0117) `Update status to Last Call |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/200710>`__ |
| * (SEED-0126) `Claim SEED number |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/200911>`__ |
| * (SEED-0127) `Reading sensor data |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/198134>`__ |
| |
| Third party |
| =========== |
| * (Emboss) `Assume newer emboss version 2/2 |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/197363>`__ |
| (issue `#329872338 <https://issues.pigweed.dev/issues/329872338>`__) |
| * (FreeRTOS) `Fix typo in docs |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/201330>`__ |
| * (Fuchsia) `Copybara import |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/200712>`__ |
| (issue `#331281133 <https://issues.pigweed.dev/issues/331281133>`__) |
| |
| Miscellaneous |
| ============= |
| * `Delete move constructors of buffer wrappers |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/200753>`__ |
| * (Soong) `Remove _headers from lib names |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/198330>`__ |
| (issue `#328503970 <https://issues.pigweed.dev/issues/328503970>`__) |
| * (mbedtls) `Avoid the use of unsupported libc functions |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/199131>`__ |
| (issue `#316936782 <https://issues.pigweed.dev/issues/316936782>`__) |
| * (nanopb) `Fix nanopb_pb2.py generation |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/200772>`__ |
| |
| ------------ |
| Mar 22, 2024 |
| ------------ |
| Highlights (Mar 7, 2024 to Mar 22, 2024): |
| |
| * Pigweed's minimum supported Python version was changed to 3.10. |
| * Setting the new ``pw_build_TEST_TRANSITIVE_PYTHON_DEPS`` flag to ``false`` |
| in your project's ``.gn`` file turns off testing and linting of transitive |
| dependencies in ``pw_python_package`` rules, which can speed up build |
| times significantly. |
| * The new :ref:`module-pw_log_android` module is a ``pw_log`` backend for |
| Android and the new :ref:`module-pw_build_android` module provides tools to |
| help build Pigweed in Android platform applications. |
| * :ref:`seed-0120` introduces ``pw_sensor``, a module that will handle |
| Pigweed's upcoming sensor framework. |
| * The new :c:macro:`PW_LOG_EVERY_N` and :c:macro:`PW_LOG_EVERY_N_DURATION` |
| macros provide rate-limited logging. |
| |
| 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 |
| ------------ |
| .. _//pw_allocator/examples: https://cs.opensource.google/pigweed/pigweed/+/main:pw_allocator/examples |
| |
| The :ref:`module-pw_allocator` docs have been revamped. Code examples from |
| the docs are now extracted from complete examples that are built and tested |
| alongside the rest of the main Pigweed repo; see `//pw_allocator/examples`_. |
| |
| * `Improve size report accuracy |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/196492>`__ |
| * `Add buffer utilities |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/195353>`__ |
| * `Improve UniquePtr ergonomics |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/196181>`__ |
| * `Various API modifications |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/195973>`__ |
| * `Add IsEqual |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/195954>`__ |
| * `Soft-deprecate heap_viewer.py |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/195253>`__ |
| (issue `#328648868 <https://issues.pigweed.dev/issues/328648868>`__) |
| * `Move code snippets from docs to examples |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/195190>`__ |
| (issue `#328076428 <https://issues.pigweed.dev/issues/328076428>`__) |
| * `Clean up sources files |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/194948>`__ |
| * `Remove erroneous quotes around tagline |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/195514>`__ |
| * `Refactor code size reports |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/194947>`__ |
| * `Remove metrics.cc |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/195450>`__ |
| (issue `#277108894 <https://issues.pigweed.dev/issues/277108894>`__) |
| * `Fix move semantics for UniquePtr |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/195470>`__ |
| * `Refactor docs |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/194871>`__ |
| (issue `#328076428 <https://issues.pigweed.dev/issues/328076428>`__) |
| * `Make metrics configurable |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/193621>`__ |
| (issue `#326509341 <https://issues.pigweed.dev/issues/326509341>`__) |
| |
| pw_assert |
| --------- |
| * `Add keep_dep tags to backend_impl |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/197531>`__ |
| (issue `#329441699 <https://issues.pigweed.dev/issues/329441699>`__) |
| * `Introduce :backend, :backend_impl |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/196531>`__ |
| (issue `#329441699 <https://issues.pigweed.dev/issues/329441699>`__) |
| * `Apply formatting fixes |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/195951>`__ |
| |
| pw_assert_basic |
| --------------- |
| * `Fix BUILD.bazel file |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/196292>`__ |
| (issue `#328679085 <https://issues.pigweed.dev/issues/328679085>`__) |
| |
| pw_bluetooth |
| ------------ |
| * `Add command complete event |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/196030>`__ |
| (issue `#311639690 <https://issues.pigweed.dev/issues/311639690>`__) |
| * `Add command complete event |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/195451>`__ |
| (issue `#311639690 <https://issues.pigweed.dev/issues/311639690>`__) |
| * `Add H4 packet indicators in emboss |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/195535>`__ |
| (issue `#326499682 <https://issues.pigweed.dev/issues/326499682>`__) |
| * `Reformat l2cap_frames.emb |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/194790>`__ |
| |
| pw_bluetooth_sapphire |
| --------------------- |
| * `Use amd64 SDK |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/197510>`__ |
| (issue `#330214852 <https://issues.pigweed.dev/issues/330214852>`__) |
| * `Fuchsia SDK example |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/196450>`__ |
| (issue `#42178254 <https://issues.pigweed.dev/issues/42178254>`__) |
| |
| pw_build |
| -------- |
| Setting the new ``pw_build_TEST_TRANSITIVE_PYTHON_DEPS`` flag to ``false`` |
| in your project's ``.gn`` file turns off testing and linting of transitive |
| dependencies in ``pw_python_package`` rules, which can speed up build |
| times significantly. |
| |
| * `Option to not transitively run py .tests and .lint deps |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/186195>`__ |
| |
| pw_build_android |
| ---------------- |
| The new :ref:`module-pw_build_android` module provides tools to help build |
| Pigweed in Android platform applications. |
| |
| * `Add new utils module |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/195139>`__ |
| (issue `#328503970 <https://issues.pigweed.dev/issues/328503970>`__) |
| |
| pw_bytes |
| -------- |
| The new :cpp:func:`pw::bytes::ExtractBits` helper extracts bits between |
| specified left bit and right bit positions. New Rust helpers were added; |
| see `Crate pw_bytes <./rustdoc/pw_bytes>`_. |
| |
| * `Add ExtractBits template |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/196310>`__ |
| (issue `#329435173 <https://issues.pigweed.dev/issues/329435173>`__) |
| * `Add Rust helpers for contcatenating const slices and strs |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/187651>`__ |
| |
| pw_channel |
| ---------- |
| Datagram-to-byte conversions must now be explicit. |
| |
| * `Enable GetWriteAllocator function |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/197534>`__ |
| * `Require explicit datagram-to-byte conversions |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/197650>`__ |
| * `Remove max_bytes argument from ReadPoll |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/197352>`__ |
| * `Support datagram-to-byte conversions |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/196210>`__ |
| * `Handle closed channels in base |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/194739>`__ |
| |
| pw_checksum |
| ----------- |
| * `Add missing #include <array> |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/196530>`__ |
| (issue `#329594026 <https://issues.pigweed.dev/issues/329594026>`__) |
| |
| pw_chre |
| ------- |
| * `Remove unused files |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/170792>`__ |
| |
| pw_containers |
| ------------- |
| * `ConstexprSort in FlatMap takes an iterator |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/197217>`__ |
| (issue `#330072104 <https://issues.pigweed.dev/issues/330072104>`__) |
| * `Add move constructors to queues |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/197072>`__ |
| |
| pw_digital_io_linux |
| ------------------- |
| The new ``pw_digital_io_linux`` CLI tool lets you configure a GPIO line as an |
| input and gets its value, or configure a line as an output and set its value. |
| |
| * `Add Android.bp |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/194432>`__ |
| * `Add test CLI |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/194431>`__ |
| |
| pw_docgen |
| --------- |
| * `Single-source the module metadata |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/193333>`__ |
| (issue `#292582625 <https://issues.pigweed.dev/issues/292582625>`__) |
| |
| pw_env_setup |
| ------------ |
| Pigweed's minimum supported Python version was changed to 3.10. |
| |
| * `Update min Python version to 3.10 |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/197332>`__ |
| (issue `#248257406 <https://issues.pigweed.dev/issues/248257406>`__) |
| * `Update CIPD rust version |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/194620>`__ |
| * `Use amd64 SDK |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/197510>`__ |
| (issue `#330214852 <https://issues.pigweed.dev/issues/330214852>`__) |
| * `Fuchsia SDK example |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/196450>`__ |
| (issue `#42178254 <https://issues.pigweed.dev/issues/42178254>`__) |
| |
| pw_format |
| --------- |
| Initital support for untyped specifiers (``%v``) was added. |
| |
| * `Enhance Rust tests to check for arguments |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/196433>`__ |
| (issue `#329507809 <https://issues.pigweed.dev/issues/https://pwbug.dev/329507809>`__) |
| * `Add initial support for untyped specifiers |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/187650>`__ |
| |
| pw_hdlc |
| ------- |
| The newly public :cpp:class:`pw::hdlc::Encoder` class supports gradually |
| encoding frames without ever holding an entire frame in memory at once. |
| |
| * `Expose Encoder |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/197535>`__ |
| |
| pw_hex_dump |
| ----------- |
| CMake support was added. |
| |
| * `Add CMake support |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/198170>`__ |
| |
| pw_json |
| ------- |
| * `Move examples outside of the pw namespace |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/195890>`__ |
| |
| pw_libc |
| ------- |
| * `Define LIBC_FAST_MATH for the faster integral fixed point sqrt |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/196350>`__ |
| (issue `#323425639 <https://issues.pigweed.dev/issues/323425639>`__) |
| * `Add uksqrtui to stdfix |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/196230>`__ |
| (issue `#323425639 <https://issues.pigweed.dev/issues/323425639>`__) |
| * `Include sqrtur and expk in stdfix |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/195256>`__ |
| (issue `#323425639 <https://issues.pigweed.dev/issues/323425639>`__) |
| |
| pw_log |
| ------ |
| The new :c:macro:`PW_LOG_EVERY_N` and :c:macro:`PW_LOG_EVERY_N_DURATION` |
| macros provide rate-limited logging. |
| |
| * `Add rate limit log statements |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/183870>`__ |
| * `Add keep_dep tags to backend_impl |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/197531>`__ |
| (issue `#329441699 <https://issues.pigweed.dev/issues/329441699>`__) |
| * `Introduce localized backend label flags |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/196498>`__ |
| (issue `#329441699 <https://issues.pigweed.dev/issues/329441699>`__) |
| * `Run bpfmt on all Android.bp |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/195490>`__ |
| (issue `#277108894 <https://issues.pigweed.dev/issues/277108894>`__) |
| |
| pw_log_android |
| -------------- |
| The new :ref:`module-pw_log_android` module is a ``pw_log`` backend for |
| Android. |
| |
| * `Fix Soong build |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/197830>`__ |
| * `Add pw_log_android_stderr |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/195050>`__ |
| (issue `#328281789 <https://issues.pigweed.dev/issues/328281789>`__) |
| * `Add module documentation |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/196410>`__ |
| |
| pw_malloc |
| --------- |
| * `Add backend label flags |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/196610>`__ |
| (issue `#329441699 <https://issues.pigweed.dev/issues/329441699>`__) |
| |
| pw_multibuf |
| ----------- |
| :cpp:class:`pw::multibuf::Stream` is a new multibuf-backed ``pw_stream`` |
| implementation that can read from and write to a multibuf. |
| :cpp:class:`pw::multibuf::SimpleAllocator` is a simple, first-fit variant |
| of :cpp:class:`pw::multibuf::MultiBufAllocator`. |
| |
| * `Add stream implementation |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/196354>`__ |
| * `Add empty() function |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/197351>`__ |
| * `Pass reference instead of pointer |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/197132>`__ |
| * `Add SimpleAllocator |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/195129>`__ |
| |
| pw_package |
| ---------- |
| * `Match Emboss version used by Bazel |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/197359>`__ |
| (issue `#329872338 <https://issues.pigweed.dev/issues/329872338>`__) |
| |
| pw_polyfill |
| ----------- |
| * `Update __cplusplus macro for C++23; support C |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/196113>`__ |
| * `Remove PW_INLINE_VARIABLE |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/196122>`__ |
| * `Detect C23 |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/195266>`__ |
| (issue `#326499611 <https://issues.pigweed.dev/issues/326499611>`__) |
| |
| pw_presubmit |
| ------------ |
| * `Suppress stdout option for rst_format |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/197890>`__ |
| * `Begin formatter modularization |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/193714>`__ |
| (issue `#326309165 <https://issues.pigweed.dev/issues/326309165>`__) |
| * `Switch default formatter to black |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/190453>`__ |
| (issue `#261025545 <https://issues.pigweed.dev/issues/261025545>`__) |
| * `Fuchsia SDK example |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/196450>`__ |
| (issue `#42178254 <https://issues.pigweed.dev/issues/42178254>`__) |
| |
| pw_rpc |
| ------ |
| * `Support full java protos |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/196231>`__ |
| (issue `#329445249 <https://issues.pigweed.dev/issues/329445249>`__) |
| * `Move some headers from srcs to hdrs |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/196850>`__ |
| (issue `#323749176 <https://issues.pigweed.dev/issues/323749176>`__) |
| * `Add TryFinish API for pw_rpc stream |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/195126>`__ |
| (issue `#328462705 <https://issues.pigweed.dev/issues/328462705>`__) |
| * `Remove deprecated functions from Java client |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/193503>`__ |
| |
| pw_rust |
| ------- |
| * `Tweak docs for Rust tokenized logging example |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/195351>`__ |
| |
| pw_sensor |
| --------- |
| :ref:`seed-0120` introduces ``pw_sensor``, a module that will handle |
| Pigweed's upcoming sensor framework. |
| |
| * `Add configuration SEED |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/183150>`__ |
| |
| pw_spi |
| ------ |
| * `Update Android.bp to conform with new style |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/197410>`__ |
| |
| pw_stream_shmem_mcuxpresso |
| -------------------------- |
| * `Fix interrupt pending check |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/198070>`__ |
| (issue `#330225861 <https://issues.pigweed.dev/issues/330225861>`__) |
| |
| pw_sync_stl |
| ----------- |
| * `Android.bp: Add missing dependency on pw_sync_headers |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/197030>`__ |
| |
| pw_sys_io |
| ---------- |
| * `Add backend label flags |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/196610>`__ |
| (issue `#329441699 <https://issues.pigweed.dev/issues/329441699>`__) |
| |
| pw_sys_io_rp2040 |
| ---------------- |
| * `Use callbacks to block on input |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/191490>`__ |
| (issue `#324633376 <https://issues.pigweed.dev/issues/324633376>`__) |
| |
| pw_sys_io_stm32cube |
| ------------------- |
| * `Fix build for f0xx, f1xx and f3xx families |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/195871>`__ |
| |
| pw_thread_zephyr |
| ----------------- |
| * `Apply formatting fixes |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/195951>`__ |
| |
| pw_tokenizer |
| ------------ |
| The Rust library's hashing code was updated to support multi-input hashing. |
| |
| * `Refactor Rust hash code to allow multi-input hashing |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/186310>`__ |
| |
| pw_transfer |
| ----------- |
| The TypeScript client now has an ``abort()`` method for ending a transfer |
| without a completion chunk and a ``terminate()`` method for ending a transfer |
| with a completion chunk. |
| |
| * `Inline TRANSFER_CLIENT_DEPS |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/198592>`__ |
| * `Support full java protos |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/196231>`__ |
| (issue `#329445249 <https://issues.pigweed.dev/issues/329445249>`__) |
| * `Add abort() and terminate() apis |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/194910>`__ |
| * `Update the proxy to only consider transfer chunks |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/196170>`__ |
| * `Fix Java client timeouts in terminating state |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/195123>`__ |
| |
| pw_unit_test |
| ------------ |
| The new :cpp:class:`pw::unit_test::TestRecordEventHandler` class is a |
| predefined event handler that outputs a test summary in Chromium JSON Test |
| Results format. |
| |
| * `Flag to disable cmake pw_add_test calls |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/197530>`__ |
| (issue `#330205620 <https://issues.pigweed.dev/issues/330205620>`__) |
| * `Add duplicate test case |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/197170>`__ |
| * `Localize the label flags |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/196670>`__ |
| (issue `#329441699 <https://issues.pigweed.dev/issues/329441699>`__) |
| * `Add test record event handler |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/194050>`__ |
| * `Adding googletest_handler_adapter to cmake |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/195070>`__ |
| |
| pw_watch |
| -------- |
| Changes to Emboss files now trigger rebuilds. |
| |
| * `Add emboss files to default watch patterns |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/195387>`__ |
| |
| pw_web |
| ------ |
| * `NPM version bump to 0.0.16 |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/198291>`__ |
| * `Update createLogViewer to use union types |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/198210>`__ |
| (issue `#330564978 <https://issues.pigweed.dev/issues/330564978>`__) |
| * `Include file information in browser logs |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/196510>`__ |
| (issue `#329680229 <https://issues.pigweed.dev/issues/329680229>`__) |
| * `NPM version bump to 0.0.15 |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/196120>`__ |
| |
| Build |
| ===== |
| |
| Bazel |
| ----- |
| The new :ref:`module-pw_build-bazel-pw_facade` Bazel macro makes it easier |
| to create a :ref:`facade <docs-facades>`. |
| |
| * `Remove the deprecated pw_cc_facade macro |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/196121>`__ |
| (issue `#328679085 <https://issues.pigweed.dev/issues/328679085>`__) |
| * `Treat Rust warnings as errors |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/196436>`__ |
| (issue `#329685244 <https://issues.pigweed.dev/issues/https://pwbug.dev/329685244>`__) |
| * `Localize backend label flags |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/196232>`__ |
| (issue `#329441699 <https://issues.pigweed.dev/issues/329441699>`__) |
| * `Use pw_facade |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/195383>`__ |
| (issue `#328679085 <https://issues.pigweed.dev/issues/328679085>`__) |
| * `Introduce pw_facade |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/193648>`__ |
| (issue `#328679085 <https://issues.pigweed.dev/issues/328679085>`__) |
| * `Fix bazel query |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/195138>`__ |
| |
| Language support |
| ================ |
| |
| Python |
| ------ |
| * `Use future annotations |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/198570>`__ |
| * `Use future annotations |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/198051>`__ |
| * `Remove PathOrStr variables |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/197538>`__ |
| * `Switch from typing.Optional[...] to "... | None" |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/197347>`__ |
| (issue `#248257406 <https://issues.pigweed.dev/issues/248257406>`__) |
| * `Switch from typing.Union to "|" |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/197346>`__ |
| (issue `#248257406 <https://issues.pigweed.dev/issues/248257406>`__) |
| * `Use argparse.BooleanOptionalAction |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/197345>`__ |
| (issue `#248257406 <https://issues.pigweed.dev/issues/248257406>`__) |
| * `Use pathlib.Path.is_relative_to() |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/197344>`__ |
| (issue `#248257406 <https://issues.pigweed.dev/issues/248257406>`__) |
| * `Switch from typing.Dict to dict |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/197343>`__ |
| (issue `#248257406 <https://issues.pigweed.dev/issues/248257406>`__) |
| * `Switch from typing.Tuple to tuple |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/197342>`__ |
| (issue `#248257406 <https://issues.pigweed.dev/issues/248257406>`__) |
| * `Switch from typing.List to list |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/197341>`__ |
| (issue `#248257406 <https://issues.pigweed.dev/issues/248257406>`__) |
| |
| OS support |
| ========== |
| |
| Zephyr |
| ------ |
| * `Add action for installing Zephyr SDK |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/194629>`__ |
| |
| Docs |
| ==== |
| The new :ref:`CLI style guide <docs-pw-style-cli>` outlines how CLI utilities |
| in upstream Pigweed should behave. |
| |
| .. todo-check: disable |
| |
| * `Add CLI style guide |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/197010>`__ |
| (issue `#329532962 <https://issues.pigweed.dev/issues/329532962>`__) |
| * `Move TODO style guide |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/197730>`__ |
| * `Fix redirect paths |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/197368>`__ |
| (issue `#324241028 <https://issues.pigweed.dev/issues/324241028>`__) |
| * `Fix code-block indentation |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/197533>`__ |
| * `Add redirects infrastructure and docs contributor section |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/197339>`__ |
| (issue `#324241028 <https://issues.pigweed.dev/issues/324241028>`__) |
| * `Fix some incorrect target names |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/196495>`__ |
| (issue `#329441699 <https://issues.pigweed.dev/issues/329441699>`__) |
| * `Fix mentions of sample_project |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/195974>`__ |
| (issue `#322859039 <https://issues.pigweed.dev/issues/322859039>`__) |
| * `TOC entry for API documentation from source |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/195970>`__ |
| * `Update changelog |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/195354>`__ |
| |
| .. todo-check: enable |
| |
| Third party |
| =========== |
| * `Minor build file formatting fixes |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/197369>`__ |
| * (Emboss) `Assume newer emboss version 1/2 |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/197362>`__ |
| (issue `#329872338 <https://issues.pigweed.dev/issues/329872338>`__) |
| * (STM32Cube) `Fix bazel hal driver build |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/195870>`__ |
| |
| ----------- |
| Mar 7, 2024 |
| ----------- |
| Highlights (Feb 22, 2024 to Mar 7, 2024): |
| |
| * The new :ref:`module-pw_digital_io_linux` module is a |
| :ref:`module-pw_digital_io` backend for Linux userspace. |
| * :cpp:class:`pw::multibuf::MultiBufAllocator` class is a new interface |
| for allocating ``pw::multibuf::MultiBuf`` objects. |
| * The ``pw_web`` log viewer now captures browser console logs. It also |
| now supports creating log stores and downloading logs from stores. |
| |
| 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 |
| ------------ |
| * `Remove split_free_list_allocator.cc from Android.bp |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/194551>`__ |
| * `Add missing dep |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/194231>`__ |
| * `Use BlockAllocator instead of alternatives |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/188354>`__ |
| * `Make TrackingAllocator correct by construction |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/193330>`__ |
| |
| pw_assert_log |
| ------------- |
| * `Depend on pw_log_headers in Android.bp |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/194434>`__ |
| * `Fix PW_HANDLE_CRASH to handle 0 args |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/194450>`__ |
| (issue `#327201811 <https://issues.pigweed.dev/issues/327201811>`__) |
| |
| pw_async2 |
| --------- |
| * `Address post-submit comments |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/194693>`__ |
| * `Add converting constructors to Poll |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/193593>`__ |
| |
| pw_blob_store |
| ------------- |
| * `Set module name to BLOB |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/195170>`__ |
| |
| pw_bluetooth |
| ------------ |
| * `Add hci_data.emb |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/194631>`__ |
| (issue `#311639690 <https://issues.pigweed.dev/issues/311639690>`__) |
| * `Add ISO feature bit to controllers |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/194550>`__ |
| * `Add ISO definitions to Controller |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/194470>`__ |
| |
| pw_build |
| -------- |
| * `Remove FUZZTEST_OPTS |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/189317>`__ |
| * `Fix ProjectBuilder recipe percentage |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/194392>`__ |
| |
| pw_config_loader |
| ---------------- |
| * `Support custom overloading rules |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/190833>`__ |
| |
| pw_containers |
| ------------- |
| * `Rename VariableLengthEntryQueue |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/187311>`__ |
| * `Rename VariableLengthEntryQueue files |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/187310>`__ |
| * `VariableLengthEntryQueue C++ API |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/169910>`__ |
| |
| pw_digital_io_linux |
| ------------------- |
| The new :ref:`module-pw_digital_io_linux` module is a |
| :ref:`module-pw_digital_io` backend for Linux userspace. |
| |
| * `Introduce new module |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/194430>`__ |
| |
| pw_json |
| ------- |
| * `Update example; fix typo and declaration order |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/194411>`__ |
| |
| pw_libc |
| ------- |
| * `Add stdfix target |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/194628>`__ |
| (issue `#323425639 <https://issues.pigweed.dev/issues/323425639>`__) |
| * `Facilitate next llvm-libc roll |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/194603>`__ |
| |
| pw_log |
| ------ |
| * `Fix stdout race in println_backend_test_test |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/195122>`__ |
| (issue `#328498798 <https://issues.pigweed.dev/issues/328498798>`__) |
| * `Add tests for Rust printf and println backends |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/194952>`__ |
| * `Show child docs in site nav |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/193830>`__ |
| * `Fix the Pigweed Soong build |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/193690>`__ |
| (issue `#277108894 <https://issues.pigweed.dev/issues/277108894>`__) |
| |
| pw_module |
| --------- |
| * `Remove README.md check |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/194934>`__ |
| (issue `#328265397 <https://issues.pigweed.dev/issues/328265397>`__) |
| |
| pw_multibuf |
| ----------- |
| The new :cpp:class:`pw::multibuf::MultiBufAllocator` class is an interface |
| for allocating ``pw::multibuf::MultiBuf`` objects. |
| |
| * `Add MultiBufAllocator interface |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/180840>`__ |
| * `Deduplicate const+non_const iterators |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/194405>`__ |
| * `Clean up API |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/194600>`__ |
| (issue `#327673957 <https://issues.pigweed.dev/issues/327673957>`__) |
| * `Add +=N and +n operators to iterator |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/194310>`__ |
| * `Add slicing operations to MultiBuf |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/192895>`__ |
| |
| pw_presubmit |
| ------------ |
| * `Remove unused presubmit step |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/194940>`__ |
| |
| pw_proto_compiler |
| ----------------- |
| * `strip_import_prefix + options |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/194949>`__ |
| (issue `#328311416 <https://issues.pigweed.dev/issues/328311416>`__) |
| |
| pw_result |
| --------- |
| * `Add constructor deduction guide |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/194612>`__ |
| |
| pw_rpc |
| ------ |
| The newly public :cpp:class:`pw::rpc::CloseAndWaitForCallbacks` function |
| abandons an RPC and blocks on the completion of any running callbacks. |
| |
| * `Expose CloseAndWaitForCallbacks in client call API |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/194697>`__ |
| |
| pw_rpc_transport |
| ---------------- |
| * `Add log for no packet available |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/194592>`__ |
| |
| pw_rust |
| ------- |
| * `Add Rust tokenized logging example |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/181268>`__ |
| |
| pw_stream_uart_mcuxpresso |
| ------------------------- |
| ``pw_stream_uart_mcuxpresso`` now supports direct memory access reads and |
| writes. |
| |
| * `Fix code examples in docs |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/194630>`__ |
| * `Implement DoRead DMA |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/192893>`__ |
| (issue `#325514698 <https://issues.pigweed.dev/issues/325514698>`__) |
| * `Implement DoWrite DMA |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/192892>`__ |
| (issue `#325514698 <https://issues.pigweed.dev/issues/325514698>`__) |
| * `Implement init / deinit |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/192891>`__ |
| (issue `#325514698 <https://issues.pigweed.dev/issues/325514698>`__) |
| * `USART DMA scaffolding |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/192890>`__ |
| (issue `#325514698 <https://issues.pigweed.dev/issues/325514698>`__) |
| |
| pw_string |
| --------- |
| ``pw::InlineByteString`` is a new alias of ``pw::InlineBasicString<std::byte>`` |
| that can be used as a simple and efficient byte container. |
| |
| * `Add ToString for Result and Poll |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/194621>`__ |
| * `Support InlineBasicString<std::byte>; InlineByteString alias |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/194710>`__ |
| (issue `#327497061 <https://issues.pigweed.dev/issues/327497061>`__) |
| |
| pw_sync |
| ------- |
| * `Allow implict conversion when moving BorrowedPointer |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/194394>`__ |
| |
| pw_tokenizer |
| ------------ |
| * `Fix missing bazel filegroup |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/194399>`__ |
| * `Add Detokenizer constructor with elf binary section |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/190650>`__ |
| * `Add code size optimization to Rust implementation |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/193504>`__ |
| |
| pw_toolchain_bazel |
| ------------------ |
| * `Apply more common attrs to cc_toolchain targets |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/194890>`__ |
| * `Support Windows in toolchain template build files |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/194591>`__ |
| |
| pw_transfer |
| ----------- |
| * `Respect user-specified resource size |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/194935>`__ |
| * `Temporarily disable broken integration test |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/194850>`__ |
| * `Only request a single chunk in test |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/194151>`__ |
| (issue `#323386167 <https://issues.pigweed.dev/issues/323386167>`__) |
| * `Fix WindowPacketDropper proxy filter |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/194030>`__ |
| (issue `#322497823 <https://issues.pigweed.dev/issues/322497823>`__) |
| |
| pw_unit_test |
| ------------ |
| The :ref:`module-pw_unit_test` docs have been revamped. Using the full upstream |
| GoogleTest backend with ``simple_printing_main`` in Bazel has been fixed. |
| |
| * `Update docs |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/193671>`__ |
| * `Fix googletest backend |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/190593>`__ |
| (issue `#324116813 <https://issues.pigweed.dev/issues/324116813>`__) |
| |
| pw_watch |
| -------- |
| ``pw_watch`` now rebuilds when Bazel files are changed. |
| |
| * `Add bazel files to default watch patterns |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/195310>`__ |
| (issue `#328619290 <https://issues.pigweed.dev/issues/328619290>`__) |
| |
| pw_web |
| ------ |
| The ``pw_web`` log viewer now captures browser console logs. It also |
| now supports creating log stores and downloading logs from stores. |
| |
| * `Capture browser logs in the log viewer |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/194451>`__ |
| (issue `#325096768 <https://issues.pigweed.dev/issues/325096768>`__) |
| * `Create log store and enable download logs from it |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/186874>`__ |
| (issue `#316966729 <https://issues.pigweed.dev/issues/316966729>`__) |
| |
| Bazel |
| ----- |
| * `Update rust_crates in Bazel WORKSPACE |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/194938>`__ |
| * `Mark more targets testonly |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/193626>`__ |
| (issue `#324116813 <https://issues.pigweed.dev/issues/324116813>`__) |
| |
| Docs |
| ==== |
| The new :ref:`protobuf style guide <docs-pw-style-protobuf>` describes how |
| protobufs should be styled throughout Pigweed. |
| |
| * `Add protobuf style guide |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/190723>`__ |
| (issue `#232867615 <https://issues.pigweed.dev/issues/232867615>`__) |
| * `Clarify that Pigweed doesn't support msan |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/194877>`__ |
| (issue `#234876100 <https://issues.pigweed.dev/issues/234876100>`__) |
| * `Clarify rvalue docs |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/194696>`__ |
| * `Reorder tocdepth and title |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/193970>`__ |
| * `Prefer rvalue references |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/193647>`__ |
| * `Update changelog |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/193620>`__ |
| |
| Third party |
| =========== |
| * `Android.bp: Export fuchsia_sdk_lib_stdcompat headers |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/194370>`__ |
| * (Emboss) `Support latest version of Emboss in GN |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/194876>`__ |
| * (Emboss) `Add CMake support for emboss |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/194400>`__ |
| (issue `#326500136 <https://issues.pigweed.dev/issues/326500136>`__) |
| * (FreeRTOS) `Tidy up Bazel build |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/193633>`__ |
| (issue `#326625641 <https://issues.pigweed.dev/issues/326625641>`__) |
| * (FreeRTOS) `Create Bazel build template |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/193645>`__ |
| (issue `#326625641 <https://issues.pigweed.dev/issues/326625641>`__) |
| * (STM32Cube) `Build template formatting fixes |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/194723>`__ |
| |
| Miscellaneous |
| ============= |
| * `Unrecommendify |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/194852>`__ |
| * `Clean up Python proto imports |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/193641>`__ |
| (issue `#241456982 <https://issues.pigweed.dev/issues/241456982>`__) |
| |
| ------------ |
| Feb 23, 2024 |
| ------------ |
| Highlights (Feb 9, 2024 to Feb 23, 2024): |
| |
| * The new :ref:`module-pw_json` module provides classes for serializing JSON. |
| * Raspberry Pi RP2040 support was expanded, including a new |
| ``pw::digital_io::Rp2040Config`` struct enables you to configure polarity for |
| RP2040 GPIO pins, and a new ``pw::spi::Rp2040Initiator`` class which is a |
| Pico SDK userspace implementation of Pigweed's SPI ``Initiator`` class. |
| * The new ``pw::spi::DigitalOutChipSelector`` class sets the state of a |
| :ref:`module-pw_digital_io` output when activated. |
| * The :ref:`module-pw_kvs` docs were overhauled. |
| |
| 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 |
| ------------ |
| * `Remove total_bytes metric |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/193251>`__ |
| * `Expose TrackingAllocator's initialization state |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/192570>`__ |
| |
| pw_assert |
| --------- |
| * `Apply formatting changes |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/193496>`__ |
| |
| pw_assert_log |
| ------------- |
| * `Fix Soong rules |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/190602>`__ |
| (issue `#324266698 <https://issues.pigweed.dev/issues/324266698>`__) |
| * `Fix missing lib in soong rule |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/192259>`__ |
| |
| pw_bluetooth |
| ------------ |
| * `Add Emboss rules to BUILD.bazel |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/192513>`__ |
| * `Update emboss imports to match Bazel rule |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/192392>`__ |
| |
| pw_build |
| -------- |
| * `Silence warnings from linker script test |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/191850>`__ |
| |
| pw_bytes |
| -------- |
| * `Add missing export in soong rule |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/192257>`__ |
| |
| pw_chrono_rp2040 |
| ---------------- |
| * `Minor tweaks to documentation and test |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/183730>`__ |
| (issue `#303297807 <https://issues.pigweed.dev/issues/303297807>`__) |
| |
| pw_cli |
| ------ |
| * `Add exit codes |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/192897>`__ |
| |
| pw_config_loader |
| ---------------- |
| The new ``skip_files__without_sections`` option enables you to just move on |
| to the next file rather than raise an exception if a relevant section doesn't |
| exist in a config file. |
| |
| * `Allow skipping files |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/191970>`__ |
| |
| pw_containers |
| ------------- |
| * `Add default move operator for FilteredView |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/192830>`__ |
| * `Add move constructor to FiltertedView |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/191832>`__ |
| |
| pw_digital_io_rp2040 |
| -------------------- |
| The new ``pw::digital_io::Rp2040Config`` struct enables you to configure |
| polarity for RP2040 GPIO pins. |
| |
| * `Config with polarity |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/176290>`__ |
| (issue `#303255049 <https://issues.pigweed.dev/issues/303255049>`__) |
| |
| pw_env_setup |
| ------------ |
| * `Use amd64 host tools on arm64 |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/192763>`__ |
| (issue `#325498131 <https://issues.pigweed.dev/issues/325498131>`__) |
| |
| pw_function |
| ----------- |
| The new ``//third_party/fuchsia:fit`` label flag enables Bazel-based projects |
| to provide an alternate implementation for ``fit()`` when needed. |
| |
| * `//third_party/fuchsia:fit label_flag |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/192391>`__ |
| |
| pw_fuzzer |
| --------- |
| * `Fix Bazel example, add presubmit test |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/191310>`__ |
| (issue `#324617297 <https://issues.pigweed.dev/issues/324617297>`__) |
| |
| pw_grpc |
| ------- |
| * `Fix some minor bugs |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/191831>`__ |
| |
| pw_hdlc |
| ------- |
| * `Add android_library targets |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/190930>`__ |
| (issue `#321155919 <https://issues.pigweed.dev/issues/321155919>`__) |
| |
| pw_i2c |
| ------ |
| The API reference for :cpp:class:`pw::i2c::RegisterDevice` is now published on |
| ``pigweed.dev``. |
| |
| * `Doxygenify RegisterDevice |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/191833>`__ |
| |
| pw_ide |
| ------ |
| * `Fix environment inference |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/191371>`__ |
| |
| pw_json |
| ------- |
| The new :ref:`module-pw_json` module provides classes for serializing JSON. |
| |
| * `Classes for serializing JSON |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/190458>`__ |
| |
| pw_kvs |
| ------ |
| The :ref:`module-pw_kvs` docs were overhauled. |
| |
| * `Follow new module docs guidelines |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/189430>`__ |
| |
| pw_log |
| ------ |
| * `Add android_library targets |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/190930>`__ |
| (issue `#321155919 <https://issues.pigweed.dev/issues/321155919>`__) |
| |
| pw_log_android |
| -------------- |
| * `Fix missing libs in soong rule |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/192258>`__ |
| |
| pw_metric |
| --------- |
| * `Fix Bazel build |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/190971>`__ |
| (issue `#258078909 <https://issues.pigweed.dev/issues/258078909>`__) |
| |
| pw_module |
| --------- |
| * `Add exit codes |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/192897>`__ |
| |
| pw_multibuf |
| ----------- |
| * `Fix soong support |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/192894>`__ |
| (issue `#325320103 <https://issues.pigweed.dev/issues/325320103>`__) |
| |
| pw_package |
| ---------- |
| * `Update GoogleTest |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/193250>`__ |
| * `Remove capture_output=True |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/192530>`__ |
| |
| pw_preprocessor |
| --------------- |
| The :ref:`module-pw_preprocessor` reference is now being generated via Doxygen. |
| |
| * `Do not check for __VA_OPT__ on older compilers |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/193434>`__ |
| (issue `#326135018 <https://issues.pigweed.dev/issues/326135018>`__) |
| * `Switch to Doxygen |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/192730>`__ |
| * `Use __VA_OPT__ when available |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/187099>`__ |
| |
| pw_presubmit |
| ------------ |
| .. todo-check: disable |
| |
| * `Allow markdown style TODOs and adjust rustdocs |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/192253>`__ |
| (issue `#315389119 <https://issues.pigweed.dev/issues/315389119>`__) |
| * `Log format --fix output |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/192394>`__ |
| * `Fix formatting of typescript code |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/192393>`__ |
| * `Disallow FIXME and recommend TODO |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/188367>`__ |
| * `Allow pwbug.dev in TODOs |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/191795>`__ |
| * `Allow Bazel issues in TODOs |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/190970>`__ |
| |
| .. todo-check: disable |
| |
| .. _docs-changelog-20240226-pw_rpc: |
| |
| pw_rpc |
| ------ |
| ``pw_rpc`` clients will once again accept unsolicited responses from ``pw_rpc`` |
| servers that were built prior to September 2022. Unsolicited responses, also |
| known as "open" requests, let a server send a message to a client prior to the |
| client sending a request. This change fixed an incompatibility in which |
| ``pw_rpc`` clients built after September 2022 would not accept unsolicited |
| responses from servers built before September 2022 (specifically, |
| change `#109077 <https://pwrev.dev/109077>`_). |
| |
| * `Remove use of deprecated Python API |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/187491>`__ |
| (issue `#306195999 <https://issues.pigweed.dev/issues/306195999>`__) |
| * `Add android_library targets |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/190930>`__ |
| (issue `#321155919 <https://issues.pigweed.dev/issues/321155919>`__) |
| * `Support legacy unsolicited responses |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/192311>`__ |
| |
| pw_software_update |
| ------------------ |
| * `Add java build objects |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/193410>`__ |
| |
| pw_spi |
| ------ |
| The new ``pw::spi::DigitalOutChipSelector`` class is an implementation of |
| ``pw::spi::ChipSelector`` that sets the state of a :ref:`module-pw_digital_io` |
| output when activated. |
| |
| * `Add Android.bp |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/192590>`__ |
| (issue `#316067629 <https://issues.pigweed.dev/issues/316067629>`__) |
| * `DigitalOutChipSelector |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/192790>`__ |
| (issue `#303255049 <https://issues.pigweed.dev/issues/303255049>`__) |
| * `Correct full-duplex behavior of linux_spi |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/192591>`__ |
| (issue `#316067628 <https://issues.pigweed.dev/issues/316067628>`__) |
| |
| pw_spi_rp2040 |
| ------------- |
| The new ``pw::spi::Rp2040Initiator`` class is a Pico SDK userspace |
| implementation of Pigweed's SPI ``Initiator`` class. |
| |
| * `Initiator implementation |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/192791>`__ |
| (issue `#303255049 <https://issues.pigweed.dev/issues/303255049>`__) |
| |
| pw_stream |
| --------- |
| * `Fix Pigweed build after sync |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/191250>`__ |
| (issue `#277108894 <https://issues.pigweed.dev/issues/277108894>`__) |
| |
| pw_string |
| --------- |
| Debug error messages for assertions containing ``std::optional`` types have |
| been improved. |
| |
| * `Add ToString for std::optional |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/192514>`__ |
| |
| pw_sync |
| ------- |
| * `Add missing lib in soong rule |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/192260>`__ |
| |
| pw_tokenizer |
| ------------ |
| The :ref:`module-pw_tokenizer` and :ref:`module-pw_snapshot` Python |
| libraries can now be used from Bazel as a result of the proto |
| migration. See issue `#322850978 <https://issues.pigweed.dev/issues/322850978>`__). |
| |
| * `Fix link breakage on linux |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/192511>`__ |
| (issue `#321306079 <https://issues.pigweed.dev/issues/321306079>`__) |
| * `Proto migration stage 5/5 |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/191270>`__ |
| (issue `#322850978 <https://issues.pigweed.dev/issues/322850978>`__) |
| * `Proto migration stage 3/5 |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/189696>`__ |
| (issue `#322850978 <https://issues.pigweed.dev/issues/322850978>`__) |
| * `Proto migration stage 1.5/5 |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/191834>`__ |
| (issue `#322850978 <https://issues.pigweed.dev/issues/322850978>`__) |
| * `Proto migration stage 1/5 |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/191135>`__ |
| (issue `#322850978 <https://issues.pigweed.dev/issues/322850978>`__) |
| |
| pw_toolchain |
| ------------ |
| * `Add missing #include |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/193430>`__ |
| * `Rename `action_config_flag_sets` to `flag_sets` |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/192911>`__ |
| * `Simplify macOS -nostdlib++ usage |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/192898>`__ |
| * `Remove unnecessary toolchain arguments |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/192896>`__ |
| * `Add missing macOS cxx_builtin_include_directories |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/192270>`__ |
| (issue `#324652164 <https://issues.pigweed.dev/issues/324652164>`__) |
| |
| pw_toolchain_bazel |
| ------------------ |
| * `Use llvm-libtool-darwin on macOS |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/190896>`__ |
| (issue `#297413805 <https://issues.pigweed.dev/issues/297413805>`__) |
| * `Explicitly depend on rules_cc |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/191430>`__ |
| |
| pw_transfer |
| ----------- |
| * `Add an android_library for the Java client |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/193534>`__ |
| * `Change class to parser |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/193550>`__ |
| * `Fix integration test START packet issue |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/192755>`__ |
| (issue `#322497491 <https://issues.pigweed.dev/issues/322497491>`__) |
| * `Add GetResourceStatus method |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/192810>`__ |
| * `Limit test to sending a single chunk |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/192510>`__ |
| * `Remove/hide deprecated handle interfaces |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/190972>`__ |
| |
| pw_watch |
| -------- |
| * `Add exit codes |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/192897>`__ |
| |
| pw_web |
| ------ |
| The log viewer now supports multiple log sources. |
| |
| * `NPM version bump to 0.0.14 |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/193510>`__ |
| * `Enable multiple log sources |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/192370>`__ |
| (issue `#325096310 <https://issues.pigweed.dev/issues/325096310>`__) |
| |
| Build |
| ===== |
| * `Fix docs build on mac-arm64 |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/192910>`__ |
| * `Use correct host_cpu when disabling docs on Arm Macs |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/192757>`__ |
| * `Remove docs from default build on Arm Macs |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/192754>`__ |
| (issue `#315998985 <https://issues.pigweed.dev/issues/315998985>`__) |
| * `Build for Java 11 |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/191830>`__ |
| |
| Bazel |
| ----- |
| * `Remove shallow_since attributes |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/193473>`__ |
| * `Upgrade protobuf to 4.24.4 |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/187431>`__ |
| (issue `#319717451 <https://issues.pigweed.dev/issues/319717451>`__) |
| |
| Targets |
| ======= |
| * (rp2040) `Replace rp2040 target with rp2040_pw_system |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/192516>`__ |
| * (rp2040) `Custom libusb backend |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/192630>`__ |
| |
| OS support |
| ========== |
| * (Zephyr) `Change the pinned Zephyr commit |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/192690>`__ |
| * (Zephyr) `Add zephyr's west CLI |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/190547>`__ |
| |
| Docs |
| ==== |
| `Breadcrumbs <https://en.wikipedia.org/wiki/Breadcrumb_navigation>`_ are now |
| shown at the top of all docs pages except the homepage. |
| |
| * `Add breadcrumbs |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/193508>`__ |
| * `Fix incorrect module name in changelog |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/193331>`__ |
| * `Fix canonical URLs for all */docs.html pages |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/193431>`__ |
| * `Fix typo in facades documentation |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/192710>`__ |
| * `Fix 404s |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/192251>`__ |
| (issue `#325086274 <https://issues.pigweed.dev/issues/325086274>`__) |
| |
| SEEDs |
| ===== |
| * (SEED-0125) `Claim SEED number |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/192110>`__ |
| * `Mark legacy Sensor SEED as Rejected |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/192250>`__ |
| |
| Third party |
| =========== |
| * `Roll FuzzTest and Abseil |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/189419>`__ |
| |
| Miscellaneous |
| ============= |
| * `Disable tests incompatible with rp2040 |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/192764>`__ |
| (issue `#260624583 <https://issues.pigweed.dev/issues/260624583>`__) |
| * `Fix uses of std::chrono literals |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/192515>`__ |
| * (pigweed.json) `Disallow Rosetta |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/188251>`__ |
| (issue `#315998985 <https://issues.pigweed.dev/issues/315998985>`__) |
| * (renode) `Update renode to latest daily build |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/192254>`__ |
| |
| ----------- |
| Feb 9, 2024 |
| ----------- |
| Highlights (Jan 26, 2024 to Feb 9, 2024): |
| |
| * The new :ref:`module-pw_grpc` module provides classes that map between |
| ``pw_rpc`` packets and HTTP/2 gRPC frames, allowing ``pw_rpc`` services to |
| be exposed as gRPC services. |
| * A lot of the remaining ``pw_toolchain_bazel`` feature work from |
| :ref:`seed-0113` was finished and rough edges were polished up. |
| * The new generic ``pw::allocator::BlockAllocator`` interface supported several |
| derived types that enable fine-grained control over how a block satisfies an |
| allocation request. |
| |
| * ``pw_transfer`` now supports :ref:`resumable transfers |
| <pw_transfer-nonzero-transfers>`. |
| |
| 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 |
| ------------ |
| * `Add CMake & Soong support |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/189360>`__ |
| |
| pw_allocator |
| ------------ |
| The new generic :cpp:class:`pw::allocator::BlockAllocator` interface supports |
| several derived types that enable fine-grained control over how a block |
| satisfies an allocation request. The new :cpp:func:`pw::allocator::GetLayout()` |
| method retrieves the layout that was used to allocate a given pointer. The new |
| :cpp:class:`pw::allocator::AllocatorSyncProxy` interface synchronizes access to |
| another allocator, allowing it to be used by multiple threads. |
| |
| * `Refactor metric collection for tests |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/190105>`__ |
| * `Add Allocator::GetLayout |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/187764>`__ |
| * `Add BlockAllocator |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/187657>`__ |
| * `Fix SynchronizedAllocator typo |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/190721>`__ |
| * `Streamline Block and improve testing |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/187656>`__ |
| * `Separate metrics from Fallback-, MultiplexAllocator |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/190253>`__ |
| * `Make TrackingAllocator::Init optional |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/190454>`__ |
| * `Check for integer overflow in Layout |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/187654>`__ |
| * `Add additional metrics |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/190250>`__ |
| * `Rename AllocatorMetricProxy to TrackingAllocator |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/190230>`__ |
| * `Add SynchronizedAllocator |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/189690>`__ |
| * `Fix typo |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/189717>`__ |
| * `Fix Allocator::Reallocate |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/189691>`__ |
| |
| pw_assert |
| --------- |
| * `Break out compatibility backend target |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/189106>`__ |
| (issue `#322057191 <https://issues.pigweed.dev/issues/322057191>`__) |
| |
| pw_async_basic |
| -------------- |
| * `Remove unneeded locks from test |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/190238>`__ |
| * `Test flake fix |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/189938>`__ |
| (issue `#323251704 <https://issues.pigweed.dev/issues/323251704>`__) |
| * `Fix data race in newly added test |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/189879>`__ |
| * `Fix ordering of tasks posted at same time |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/189784>`__ |
| |
| pw_bloat |
| -------- |
| The new boolean argument ``ignore_unused_labels`` for ``pw_size_report()`` |
| enables you to remove labels from the JSON size report that have a size of 0. |
| |
| * `Allow removal of zero sized labels |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/190599>`__ |
| (issue `#282057969 <https://issues.pigweed.dev/issues/282057969>`__) |
| |
| pw_bluetooth |
| ------------ |
| * `Add l2cap_frames.emb |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/185751>`__ |
| * `Fix typo in SbcAllocationMethod |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/190130>`__ |
| |
| pw_boot |
| ------- |
| * `Update status and general doc cleanup |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/189298>`__ |
| |
| pw_build |
| -------- |
| The new ``PW_USE_COLOR``, ``NO_COLOR``, and ``CLICOLOR_FORCE`` OS environment |
| variables enable you to control whether output in CI/CQ is color formatted. |
| |
| * `Add Fuchsia to TARGET_COMPATIBLE_WITH_HOST_SELECT |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/190714>`__ |
| * `Enable fixed point types for clang builds |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/190097>`__ |
| (issue `#323425639 <https://issues.pigweed.dev/issues/323425639>`__) |
| * `Support disabling colors |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/189611>`__ |
| (issue `#323056074 <https://issues.pigweed.dev/issues/323056074>`__) |
| |
| pw_bytes |
| -------- |
| * `Check for integer overflow |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/187655>`__ |
| |
| pw_channel |
| ---------- |
| The initial ``pw::channel::Channel`` class from :ref:`seed-0114` has been |
| introduced but it is experimental and should not be used yet. |
| |
| * `Docs fix |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/190624>`__ |
| * `Module for async data exchange with minimal copying |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/189284>`__ |
| |
| pw_cli |
| ------ |
| * `Add json_config_loader_mixin |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/190540>`__ |
| |
| pw_compilation_testing |
| ---------------------- |
| * `Do not expand regexes |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/191030>`__ |
| * `Minor improvements |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/189788>`__ |
| |
| pw_config_loader |
| ---------------- |
| The code from ``pw_cli`` related to looking up user-specific configuration |
| files has been moved to this separate module. |
| |
| * `Add support for nested keys |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/190673>`__ |
| * `Add tests |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/190672>`__ |
| * `Initial commit |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/190671>`__ |
| |
| pw_cpu_exception_cortex_m |
| ------------------------- |
| * `Handle ARM v8.1 case |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/189828>`__ |
| (issue `#311766664 <https://issues.pigweed.dev/issues/311766664>`__) |
| |
| pw_digital_io |
| ------------- |
| * `[[nodiscard]] on as() conversion functions |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/189815>`__ |
| * `Use pw::internal::SiblingCast |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/189015>`__ |
| |
| pw_env_setup |
| ------------ |
| * `Roll cipd |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/190737>`__ |
| (issue `#315378787 <https://issues.pigweed.dev/issues/315378787>`__) |
| * `Make npm actions more robust |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/189358>`__ |
| (issues `#323378974 <https://issues.pigweed.dev/issues/305042957>`__, |
| `#322437881 <https://issues.pigweed.dev/issues/322437881>`__, |
| `#323378974 <https://issues.pigweed.dev/issues/323378974>`__) |
| * `Only add mingw to PATH once |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/190030>`__ |
| (issue `#322437881 <https://issues.pigweed.dev/issues/322437881>`__) |
| |
| pw_format |
| --------- |
| * `Fix safe buildifier warnings |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/189716>`__ |
| (issue `#242181811 <https://issues.pigweed.dev/issues/242181811>`__) |
| |
| pw_function |
| ----------- |
| * `Follow new docs guidelines |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/188362>`__ |
| |
| pw_fuzzer |
| --------- |
| * `Fix Bazel run target instructions |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/188363>`__ |
| |
| pw_grpc |
| ------- |
| The new :ref:`module-pw_grpc` module is an implementation of the gRPC HTTP/2 |
| protocol. It provides classes that map between :ref:`module-pw_rpc` packets |
| and ``pw_grpc`` HTTP/2 frames, allowing ``pw_rpc`` services to be exposed as |
| gRPC services. |
| |
| * `Fix off-by-one error when handling DATA frames |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/190470>`__ |
| (issue `#323924487 <https://issues.pigweed.dev/issues/323924487>`__) |
| * `Add new module |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/186796>`__ |
| |
| pw_ide |
| ------ |
| * `Disable Python terminal activation in VSC |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/190592>`__ |
| * `Remove terminal env vars from VSC settings |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/188470>`__ |
| * `VSC extension 0.1.4 release |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/188742>`__ |
| |
| pw_presubmit |
| ------------ |
| Color formatting in CI/CQ has been improved for readability. |
| |
| * `Simplify 'gn gen' color logic |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/190239>`__ |
| * `Use color logic in gn gen call |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/189827>`__ |
| * `Apply color logic in more cases |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/189829>`__ |
| * `Support disabling colors |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/189611>`__ |
| (issue `#323056074 <https://issues.pigweed.dev/issues/323056074>`__) |
| |
| pw_protobuf |
| ----------- |
| * `Use pw::internal::SiblingCast |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/189015>`__ |
| |
| pw_random |
| --------- |
| * `Clean up build files |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/189779>`__ |
| |
| pw_result |
| --------- |
| * `Add missing libs in Soong blueprint |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/190950>`__ |
| |
| pw_rpc |
| ------ |
| * `Avoid undefined behavior when casting to rpc::Writer |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/189648>`__ |
| |
| pw_stream |
| --------- |
| * `Use pw::internal::SiblingCast |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/189015>`__ |
| |
| pw_target_runner |
| ---------------- |
| * `Remove .dev from path name |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/190450>`__ |
| |
| pw_thread |
| --------- |
| * `Incease the sleep duration in tests |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/190270>`__ |
| (issue `#321832803 <https://issues.pigweed.dev/issues/321832803>`__) |
| |
| pw_tokenizer |
| ------------ |
| :ref:`Troubleshooting docs <module-pw_tokenizer-gcc-template-bug>` were added |
| that explain how to workaround GCC's template function tokenization bug in GCC |
| releases prior to 14. |
| |
| * `Mention GCC template bug in the docs |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/189820>`__ |
| |
| pw_toolchain |
| ------------ |
| * `Disable unstable features in rust toolchains |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/189948>`__ |
| * `Fix divergent configuration in arm_clang M0+ toolchain |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/190196>`__ |
| * `Use less generic names for B1-B5 |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/189732>`__ |
| * `Use LLVM compiler-rt builtins |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/186232>`__ |
| * `Internal wrapper for casting between siblings |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/189014>`__ |
| (issue `#319144706 <https://issues.pigweed.dev/issues/319144706>`__) |
| * `Small docs update |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/189278>`__ |
| (issue `#300471936 <https://issues.pigweed.dev/issues/300471936>`__) |
| |
| pw_toolchain_bazel |
| ------------------ |
| A lot of the remaining ``pw_toolchain_bazel`` feature work from |
| :ref:`seed-0113` was finished and rough edges were polished up. |
| |
| * `Remove support for *_files |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/190810>`__ |
| (issue `#323448214 <https://issues.pigweed.dev/issues/323448214>`__) |
| * `Add support for setting environment variables |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/190154>`__ |
| (issue `#322872628 <https://issues.pigweed.dev/issues/322872628>`__) |
| * `Implement per-action files |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/190152>`__ |
| (issue `#322872628 <https://issues.pigweed.dev/issues/322872628>`__) |
| * `Migrate to PwToolInfo |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/190150>`__ |
| (issue `#322872628 <https://issues.pigweed.dev/issues/322872628>`__) |
| * `Pull file collection into config rule |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/189971>`__ |
| (issue `#322872628 <https://issues.pigweed.dev/issues/322872628>`__) |
| * `Implement pw_cc_provides |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/189112>`__ |
| (issue `#320177248 <https://issues.pigweed.dev/issues/320177248>`__) |
| * `Implement PwActionConfigInfo |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/189990>`__ |
| (issue `#322872628 <https://issues.pigweed.dev/issues/322872628>`__) |
| * `Create temporary variable |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/189970>`__ |
| (issue `#322872628 <https://issues.pigweed.dev/issues/322872628>`__) |
| * `Add a concept of well-known features |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/189050>`__ |
| (issue `#320177248 <https://issues.pigweed.dev/issues/320177248>`__) |
| * `Implement requires_any_of for flag sets |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/189111>`__ |
| (issue `#320177248 <https://issues.pigweed.dev/issues/320177248>`__) |
| * `Migrate to custom PwFeatureInfo |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/189030>`__ |
| (issue `#320177248 <https://issues.pigweed.dev/issues/320177248>`__) |
| * `Add custom PwFlagSetInfo |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/188990>`__ |
| (issue `#322872628 <https://issues.pigweed.dev/issues/322872628>`__) |
| * `Replace bazel_tools providers with PW providers |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/189110>`__ |
| (issue `#322872628 <https://issues.pigweed.dev/issues/322872628>`__) |
| * `Support regular binaries as tools |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/190151>`__ |
| (issue `#322872628 <https://issues.pigweed.dev/issues/322872628>`__) |
| |
| pw_transfer |
| ----------- |
| ``pw_transfer`` now supports :ref:`resumable transfers |
| <pw_transfer-nonzero-transfers>`. |
| |
| * `Account for remaining_bytes in payload buffer |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/190572>`__ |
| * `Rename TransferHandle -> Handle |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/189097>`__ |
| * `Add resumeable transfers |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/182830>`__ |
| * `Make cancellation a method on handles |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/189096>`__ |
| * `Allow setting a transfer resource size in C++ |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/189095>`__ |
| (issue `#319731837 <https://issues.pigweed.dev/issues/319731837>`__) |
| |
| pw_unit_test |
| ------------ |
| * `Remove obsolete label flag |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/190557>`__ |
| |
| Build |
| ===== |
| * (Bazel) `Update clang version |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/190256>`__ |
| |
| OS support |
| ========== |
| * (Zephyr) `Fix default logging in chromium CQ |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/190696>`__ |
| |
| Docs |
| ==== |
| * `Nest backends under respective facades in sitenav |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/190245>`__ |
| * `Add doxygengroup to the style guide |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/190625>`__ |
| * `Update homepage |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/190018>`__ |
| * `Update README links |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/189731>`__ |
| * `Fix module homepage canonical URLs |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/189773>`__ |
| (issue `#323077749 <https://issues.pigweed.dev/issues/323077749>`__) |
| * `Update Bazel quickstart output sample |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/189412>`__ |
| (issue `#300471936 <https://issues.pigweed.dev/issues/300471936>`__) |
| |
| SEEDs |
| ===== |
| * (SEED-0122) `Update status, add bug reference |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/189612>`__ |
| * `Fix pw_seed_index template deps |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/190675>`__ |
| * `Add authors to SEED document headers |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/189870>`__ |
| * (SEED-0119) `Add sensors SEED |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/182653>`__ |
| |
| Miscellaneous |
| ============= |
| * `Update the bootstrap script to have start/end guards |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/190451>`__ |
| * `Migrate bug numbers |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/189353>`__ |
| (issue `#298074672 <https://issues.pigweed.dev/issues/298074672>`__) |
| * `Upgrade mbedtls to 3.5.0 |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/189273>`__ |
| (issue `#319289775 <https://issues.pigweed.dev/issues/319289775>`__) |
| * `Fix clang-format findings |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/190090>`__ |
| |
| ------------ |
| Jan 26, 2024 |
| ------------ |
| 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. |
| |
| 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 :ref:`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 |
| to work with allocation metadata in a block's header and made it easier to |
| omit flag-related code for blocks. |
| * ``pw_cc_library`` has been replaced with the Bazel-native ``cc_library``. |
| * :ref:`docs-changelog-20240112-pw_thread_stl` disallowed |
| ``std::thread::detach()`` on Windows because it's known to randomly hang |
| indefinitely. |
| |
| 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 |
| ======= |
| |
| .. _docs-changelog-20240112-pw_allocator: |
| |
| pw_allocator |
| ------------ |
| A new template parameter, ``kNumExtraBytes``, was added to ``Block``. This |
| parameter reserves space in the block's header for storing and fetching |
| allocation metadata. |
| |
| The ``kMaxSize`` parameter was removed from ``Block`` |
| and replaced by ``kNumFlags`` to make it easier to omit flag-related code when |
| not needed and define fewer block types rather than one for each allocation |
| pool size. |
| |
| * `Fix source file list in soong rule |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/187127>`__ |
| * `Fix MulitplexAllocator's deps |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/186873>`__ |
| * `Add extra bytes to Block |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/185954>`__ |
| * `Add initializing constructors |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/185953>`__ |
| * `Add note to AllocatorMetricProxy tests |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/185952>`__ |
| |
| pw_bluetooth_sapphire |
| --------------------- |
| * `Advertise FCS Option |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/186850>`__ |
| (issue `#318002648 <https://issues.pigweed.dev/issues/318002648>`__) |
| * `Refactor method and variable names |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/182899>`__ |
| (issue `#312645622 <https://issues.pigweed.dev/issues/312645622>`__) |
| * `Revert commits to get to a known working state |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/183087>`__ |
| |
| pw_containers |
| ------------- |
| * `Remove DestructorHelper from vector |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/185521>`__ |
| (issue `#301329862 <https://issues.pigweed.dev/issues/301329862>`__) |
| |
| pw_doctor |
| --------- |
| * `Fix overridden package check |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/187110>`__ |
| |
| pw_emu |
| ------ |
| * `Remove psutil dependency |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/186830>`__ |
| (issue `#316080297 <https://issues.pigweed.dev/issues/316080297>`__) |
| |
| pw_env_setup |
| ------------ |
| * `Update ref to bazel version file |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/187118>`__ |
| * `Drop reference to rust version file |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/187113>`__ |
| * `Use correct arch for cipd in Bazel |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/184903>`__ |
| (issue `#234879770 <https://issues.pigweed.dev/issues/234879770>`__) |
| * `Switch to Fuchsia ninja CIPD package |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/184078>`__ |
| (issue `#311711323 <https://issues.pigweed.dev/issues/311711323>`__) |
| * `Prevent NPM output from interrupting bootstrap |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/186510>`__ |
| |
| pw_ide |
| ------ |
| The new ``pigweed.enforceExtensionRecommendations`` configuration option for |
| VS Code makes extension recommendation enforcement optional. When you set this |
| flag to ``true`` in your project's ``extension.json``, recommended extensions |
| will need to be installed and non-recommended extensions will need to be |
| disabled. |
| |
| You can now submit Pigweed issues through VS Code. Open the Command Palette |
| and type ``Pigweed: File Bug``. |
| |
| * `Add Jest testing to VSC extension |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/187126>`__ |
| * `Make VSC extension enforcement an option |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/187170>`__ |
| * `Support alternate \`clangd\` paths |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/186730>`__ |
| (issue `#318413766 <https://issues.pigweed.dev/issues/318413766>`__) |
| * `VSC extension 0.1.2 release |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/184907>`__ |
| * `Fix CLI command docs |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/184955>`__ |
| * `Allow submitting bugs from VSC |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/184908>`__ |
| * `Document \`compdb_gen_cmd\` |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/184899>`__ |
| * `Improve VSC extension UX |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/184990>`__ |
| |
| .. _docs-changelog-20240112-pw_log: |
| |
| pw_log |
| ------ |
| The Python API of the log decoder now accepts a ``logging.Logger`` or |
| ``logging.LoggerAdapter`` instance as the default device logger. Previously |
| it only accepted ``logging.Logger``. |
| |
| * `Let Device accept logger adapter |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/187119>`__ |
| |
| pw_log_zephyr |
| ------------- |
| * `Add missing include for tokenized logging |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/186810>`__ |
| |
| pw_multibuf |
| ----------- |
| * `Add soong support |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/186815>`__ |
| |
| pw_protobuf |
| ----------- |
| * `Fix bool overflow |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/186801>`__ |
| (issue `#318732334 <https://issues.pigweed.dev/issues/318732334>`__) |
| * `Fix nullptr dereference in fuzz test |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/186800>`__ |
| (issue `#314829525 <https://issues.pigweed.dev/issues/314829525>`__) |
| * `Don't crash on invalid field number |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/186724>`__ |
| (issue `#314803709 <https://issues.pigweed.dev/issues/314803709>`__) |
| * `Fix conflict in messages with fields named 'other' |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/186951>`__ |
| * `Properly fuzz nested encoders/decoders |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/186723>`__ |
| (issue `#314803709 <https://issues.pigweed.dev/issues/314803709>`__) |
| * `Fully qualify message namespace |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/186822>`__ |
| |
| pw_rpc |
| ------ |
| The new ``PW_RPC_METHOD_STORES_TYPE`` config option provides a way at runtime |
| to determine a method's type. This is useful when implementing a translation |
| layer from another RPC system. Most Pigweed projects won't need this feature so |
| it's disabled by default. |
| |
| * `Have Method optionally store it's MethodType |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/185773>`__ |
| * `Run tests with completion callback config enabled |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/187172>`__ |
| * `Add some missing deps in Bazel targets |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/186934>`__ |
| (issue `#318850523 <https://issues.pigweed.dev/issues/318850523>`__) |
| |
| pw_stream |
| --------- |
| * `Make stream adapters use reinterpret_cast |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/186766>`__ |
| (issue `#314829006 <https://issues.pigweed.dev/issues/314829006>`__) |
| |
| pw_system |
| --------- |
| See :ref:`docs-changelog-20240112-pw_log`. |
| |
| * `Let Device accept logger adapter |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/187119>`__ |
| |
| .. _docs-changelog-20240112-pw_thread_stl: |
| |
| pw_thread_stl |
| ------------- |
| Using ``std::thread::detach()`` on Windows has been disallowed. When compiling |
| with MinGW on Windows, ``std::thread::detach()`` is known to randomly hang |
| indefinitely. |
| |
| * `Don't allow std::thread::detach() on Windows |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/186570>`__ |
| (issue `#317922402 <https://issues.pigweed.dev/issues/317922402>`__) |
| |
| pw_tokenizer |
| ------------ |
| * `Fix undefined dereference in fuzz test |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/186821>`__ |
| (issue `#314829057 <https://issues.pigweed.dev/issues/314829057>`__) |
| * `Make Rust hashing function const |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/186273>`__ |
| |
| pw_toolchain |
| ------------ |
| ``pw_toolchain`` now adds ``-fno-ms-compatibility`` to ``cflags`` on Windows. |
| When building with ``clang`` on Windows targeting ``msvc``, ``clang`` |
| previously enabled a ``ms-compatibility`` mode that broke Pigweed's macro |
| magic. |
| |
| * `Remove duplicate config from Cortex-A32 toolchain |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/187270>`__ |
| * `Add -fno-ms-compatibility to cflags on Windows |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/187173>`__ |
| (issue `#297542996 <https://issues.pigweed.dev/issues/297542996>`__) |
| |
| pw_unit_test |
| ------------ |
| * `Fix sanitize(r) directive |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/186650>`__ |
| |
| pw_web |
| ------ |
| * `Fix autoscroll when window is resized |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/187193>`__ |
| (issue `#305022742 <https://issues.pigweed.dev/issues/305022742>`__) |
| |
| Build |
| ===== |
| |
| Bazel |
| ----- |
| All modules now support the injection of module configuration via |
| ``label_flags``. |
| |
| ``pw_cc_library`` has been replaced with the Bazel-native ``cc_library``. |
| |
| * `Update to Bazel 7.0.0 release version |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/186935>`__ |
| * `Add module configuration support |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/186725>`__ |
| (issue `#234872811 <https://issues.pigweed.dev/issues/234872811>`__) |
| * `Remove pw_cc_library |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/186770>`__ |
| (issue `#267498492 <https://issues.pigweed.dev/issues/267498492>`__) |
| * `Remove references to pw_cc_library |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/186765>`__ |
| (issue `#267498492 <https://issues.pigweed.dev/issues/267498492>`__) |
| * `Replace pw_cc_library with cc_library |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/186763>`__ |
| (issue `#267498492 <https://issues.pigweed.dev/issues/267498492>`__) |
| |
| OS support |
| ========== |
| |
| Zephyr |
| ------ |
| You can now enable the ``pw_thread/sleep.h`` library in your Zephyr project by |
| setting ``CONFIG_PIGWEED_THREAD_SLEEP=Y`` in your Kconfig. |
| |
| * `Link pw_thread.sleep with appropriate kConfig |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/186825>`__ |
| |
| Docs |
| ==== |
| * `Add example of conditionally enabling code based on module config |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/187171>`__ |
| * `Mention pw format tool |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/186851>`__ |
| * `Update changelog |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/186470>`__ |
| * `Rework first-time setup |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/185730>`__ |
| * `Add troubleshooting section to Bazel quickstart |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/186237>`__ |
| |
| SEEDs |
| ===== |
| * (SEED-0001) `Fix typo and formatting |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/187273>`__ |
| * (SEED-0114) `Fix Compiler Explorer link |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/187330>`__ |
| * (SEED-0122) `Claim SEED number |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/187120>`__ |
| |
| ------------ |
| Dec 29, 2023 |
| ------------ |
| Highlights (Dec 15, 2023 to Dec 29, 2023): |
| |
| * The new ``pw::allocator::MultiplexAllocator`` abstract class makes it easier |
| to dispatch between allocators depending on an app-specific request type ID. |
| * ``pw_base64`` now has initial Rust support. |
| * ``pw_malloc_freertos``, a new FreeRTOS backend for :ref:`module-pw_malloc`, |
| was added. |
| * The new ``pw::digital_io::Polarity`` helper enum makes it easier for backends |
| to map logical levels to physical levels. |
| * The Rust macro ``tokenize_to_buffer!`` in the ``pw_tokenizer`` Rust crate now |
| supports concatenation of format strings via the ``PW_FMT_CONCAT`` operator. |
| * The :ref:`module-pw_hdlc` and :ref:`module-pw_result` docs were updated to |
| follow our latest :ref:`docs-contrib-docs-modules`. |
| |
| 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 |
| ------------ |
| The new ``pw::allocator::MultiplexAllocator`` abstract class makes it easier to |
| dispatch between allocators depending on an app-specific request type ID. |
| |
| * `Add MultiplexAllocator |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/185027>`__ |
| * `Add WithMetrics interface |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/185296>`__ |
| * `Split up test utilities |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/185295>`__ |
| |
| pw_base64 |
| --------- |
| ``pw_base64`` now has initial Rust support. See `Crate pw_base64 |
| </rustdoc/pw_base64/>`_. |
| |
| * `Add initial Rust support |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/185210>`__ |
| |
| pw_containers |
| ------------- |
| * `Remove DestructorHelper from queues |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/185030>`__ |
| (issue `#301329862 <https://issues.pigweed.dev/issues/301329862>`__) |
| |
| pw_digital_io |
| ------------- |
| `pw::digital_io::Polarity <https://cs.opensource.google/pigweed/pigweed/+/main:pw_digital_io/public/pw_digital_io/polarity.h>`_ |
| was added to make it easier for backends to map logical levels to physical levels. |
| |
| * `Add helper Polarity enum |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/185435>`__ |
| |
| pw_emu |
| ------ |
| * `Use code-block instead of code |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/186170>`__ |
| |
| pw_hdlc |
| ------- |
| * `Follow new module docs guidelines |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/184799>`__ |
| |
| pw_malloc |
| --------- |
| ``pw_malloc_freertos``, a FreeRTOS backend for ``pw_malloc`` was added. |
| |
| * `Require specifying a backend in bazel build |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/185441>`__ |
| * `Add freertos backend |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/185452>`__ |
| |
| pw_presubmit |
| ------------ |
| * `Use local prettier + eslint versions |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/185144>`__ |
| |
| pw_result |
| --------- |
| * `Rework docs to new standard |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/185147>`__ |
| |
| pw_rpc |
| ------ |
| * `Adjust alarm_timer_test |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/186274>`__ |
| (issue `#317990451 <https://issues.pigweed.dev/issues/317990451>`__) |
| |
| pw_snapshot |
| ----------- |
| * `Clean up RISCV CpuArchitecture |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/185690>`__ |
| * `Add RISCV CpuArchitecture to metadata |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/185630>`__ |
| |
| pw_thread_stl |
| ------------- |
| * `Disable Bazel tests failing on Windows |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/186242>`__ |
| (issue `#317922402 <https://issues.pigweed.dev/issues/317922402>`__) |
| * `Disable tests failing on Windows |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/186253>`__ |
| (issue `#317922402 <https://issues.pigweed.dev/issues/317922402>`__) |
| |
| pw_tokenizer |
| ------------ |
| The Rust macro ``tokenize_to_buffer!`` now supports concatenation of format |
| strings via the ``PW_FMT_CONCAT`` operator. |
| |
| * `Support \`PW_FMT_CONCAT\` in \`tokenize_to_buffer!\` |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/185211>`__ |
| |
| pw_toolchain |
| ------------ |
| The need to provide an ``unknown`` value for various ``pw_cc_toolchain`` fields |
| has been removed. |
| |
| * `Remove "unknown" from various fields |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/185170>`__ |
| (issue `#315206506 <https://issues.pigweed.dev/issues/315206506>`__) |
| |
| pw_transfer |
| ----------- |
| * `Improve Python stream reopening and closing |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/184931>`__ |
| |
| pw_unit_test |
| ------------ |
| * `Silence ASAN error in TestInfo |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/185654>`__ |
| |
| pw_watch |
| -------- |
| * `Build directory exclude list handling |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/185772>`__ |
| (issue `#317241320 <https://issues.pigweed.dev/issues/317241320>`__) |
| |
| pw_web |
| ------ |
| * `Add state UI unit tests |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/184909>`__ |
| (issue `#316218222 <https://issues.pigweed.dev/issues/316218222>`__) |
| |
| SEEDs |
| ===== |
| * `Add facilitators to metadata and generated table |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/185932>`__ |
| * (SEED-0105) `Use code-block instead of code |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/186171>`__ |
| |
| ------------ |
| Dec 15, 2023 |
| ------------ |
| 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-docs-modules`. |
| * ``pw_system`` now supports an :ref:`extra logging channel |
| <module-pw_system-logchannel>`. |
| * ``pw_toolchain_bazel`` has a new :ref:`get started guide |
| <module-pw_toolchain_bazel-get-started>`. |
| |
| 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 |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/181432>`__ |
| |
| pw_allocator |
| ------------ |
| * `Fix metric disabling |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/185026>`__ |
| * `Add support for fuzzing Allocator implementations |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/178215>`__ |
| * `Use unit test framework |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/183270>`__ |
| |
| pw_analog |
| --------- |
| * `Use unit test framework |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/183270>`__ |
| |
| pw_async2 |
| --------- |
| We started implementing our new async API, :ref:`module-pw_async2`. |
| |
| * `Implement initial async API |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/182727>`__ |
| |
| pw_base64 |
| --------- |
| * `Use unit test framework |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/183299>`__ |
| |
| pw_blob_store |
| ------------- |
| * `Use unit test framework |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/183299>`__ |
| |
| pw_bluetooth |
| ------------ |
| * `Add LE Read Buffer Size [v2] command complete event |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/185070>`__ |
| (issue `#311639040 <https://issues.pigweed.dev/issues/311639040>`__) |
| * `Use unit test framework |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/184312>`__ |
| * `Fix LEExtendedCreateConnectionCommandV1 data interleaving |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/183950>`__ |
| (issue `#305976440 <https://issues.pigweed.dev/issues/305976440>`__) |
| * `Fix ExtendedCreateConnectionV1 |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/183930>`__ |
| (issue `#305976440 <https://issues.pigweed.dev/issues/305976440>`__) |
| * `Add new HCI definition |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/183771>`__ |
| (issue `#311639690 <https://issues.pigweed.dev/issues/311639690>`__) |
| * `Re-format emboss files |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/183770>`__ |
| |
| pw_bluetooth_sapphire |
| --------------------- |
| * `Read ISO data buffer info on startup |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/184052>`__ |
| (issue `#311639040 <https://issues.pigweed.dev/issues/311639040>`__) |
| * `LE Read Buffer Size [v2] |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/183772>`__ |
| (issue `#311639040 <https://issues.pigweed.dev/issues/311639040>`__) |
| * `Add LE Set Host Feature |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/184050>`__ |
| (issue `#311639040 <https://issues.pigweed.dev/issues/311639040>`__) |
| * `Update name of ISO host support bit |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/184051>`__ |
| (issue `#311639040 <https://issues.pigweed.dev/issues/311639040>`__) |
| * `Fix BrEdrConnectionManager.Inspect test |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/183304>`__ |
| (issue `#42086629 <https://issues.fuchsia.dev/issues/42086629>`__) |
| |
| pw_build |
| -------- |
| * `Fix use of TARGET_COMPATIBLE_WITH_HOST_SELECT in external repo |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/184095>`__ |
| |
| pw_bytes |
| -------- |
| * `Use unit test framework |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/183354>`__ |
| |
| pw_checksum |
| ----------- |
| * `Use unit test framework |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/183300>`__ |
| |
| pw_chrono |
| --------- |
| * `Use unit test framework |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/183300>`__ |
| |
| 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 |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/184970>`__ |
| |
| pw_console |
| ---------- |
| * `Disable private attr auto-completion |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/184644>`__ |
| |
| pw_containers |
| ------------- |
| * `Fix missing include |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/184961>`__ |
| * `Fix IntrusiveList::Item move assignment test |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/182951>`__ |
| (issue `#303634979 <https://issues.pigweed.dev/issues/303634979>`__) |
| * `Add missing dep for IntrusiveList test |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/184245>`__ |
| |
| pw_digital_io |
| ------------- |
| * `Use unit test framework |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/183301>`__ |
| |
| pw_docgen |
| --------- |
| We updated the docs server to use native hot reloading. |
| |
| * `Update Pigweed Live schedule |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/184960>`__ |
| * `Add new docs server |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/181011>`__ |
| |
| pw_emu |
| ------ |
| We're handling QEMU startup errors more gracefully now. |
| |
| * `Better handling for startup errors |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/184859>`__ |
| (issue `#315868463 <https://issues.pigweed.dev/issues/315868463>`__) |
| * `qemu: Improve the QMP handshake handling |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/184858>`__ |
| (issue `#315516286 <https://issues.pigweed.dev/issues/315516286>`__) |
| * `Link all the docs to each other |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/184310>`__ |
| * `Update docs to follow new guidelines |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/183223>`__ |
| |
| 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 |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/184639>`__ |
| * `Remove "untested" warning |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/182813>`__ |
| * `Use ARM protoc version on ARM Macs |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/184930>`__ |
| (issue `#315998985 <https://issues.pigweed.dev/issues/315998985>`__) |
| * `Fix typo in error message |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/184910>`__ |
| * `Add flag to disable Rosetta |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/184804>`__ |
| (issue `#315998985 <https://issues.pigweed.dev/issues/315998985>`__) |
| * `Retrieve armgcc for ARM Macs |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/184785>`__ |
| (issue `#315998985 <https://issues.pigweed.dev/issues/315998985>`__) |
| * `Change case of armgcc version |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/184798>`__ |
| (issue `#315998985 <https://issues.pigweed.dev/issues/315998985>`__) |
| * `Roll cipd client |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/184277>`__ |
| * `Bump executing Python package |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/183838>`__ |
| |
| pw_file |
| ------- |
| * `Use unit test framework |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/183301>`__ |
| |
| 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 |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/184200>`__ |
| |
| pw_fuzzer |
| --------- |
| * `Fix ambiguous reference to ContainerOf |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/184284>`__ |
| |
| pw_hdlc |
| ------- |
| * `Use unit test framework |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/183302>`__ |
| |
| pw_hex_dump |
| ----------- |
| * `Use unit test framework |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/183302>`__ |
| |
| pw_i2c |
| ------ |
| * `Use unit test framework |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/183302>`__ |
| |
| 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 |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/184992>`__ |
| * `Remove VSIX installation stuff |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/184991>`__ |
| * `Don't warn on missing extensions.json |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/184895>`__ |
| * `Alpha-sort the list of targets in VSC |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/184864>`__ |
| * `Auto-run build system command |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/184809>`__ |
| * `Update VSC Python config |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/184820>`__ |
| * `Fix condition for Windows platform |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/184730>`__ |
| * `Fix for clang installed to project dir |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/184010>`__ |
| (issue `#314693384 <https://issues.pigweed.dev/issues/314693384>`__) |
| |
| pw_kvs |
| ------ |
| * `Use unit test framework |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/183307>`__ |
| |
| pw_libc |
| ------- |
| * `Use unit test framework |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/183307>`__ |
| |
| pw_log |
| ------ |
| * `Use unit test framework |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/183307>`__ |
| |
| pw_malloc |
| --------- |
| * `Use unit test framework |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/183308>`__ |
| |
| pw_metric |
| --------- |
| * `Use unit test framework |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/183308>`__ |
| |
| pw_perf_test |
| ------------ |
| * `Refactor event handler types |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/179611>`__ |
| * `Use unit test framework |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/183309>`__ |
| |
| pw_presubmit |
| ------------ |
| * `Add LUCI_CONTEXT to ctx |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/184793>`__ |
| * `Merge some of the "misc" checks |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/184778>`__ |
| * `Better support downstream GnGenNinja use |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/183837>`__ |
| (issue `#314818274 <https://issues.pigweed.dev/issues/314818274>`__) |
| * `Automatically compute trim_prefix |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/183100>`__ |
| (issue `#282164634 <https://issues.pigweed.dev/issues/282164634>`__) |
| |
| pw_random |
| --------- |
| * `Use unit test framework |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/183350>`__ |
| |
| pw_result |
| --------- |
| * `Use unit test framework |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/183350>`__ |
| |
| pw_rust |
| ------- |
| * `Remove excess newline in doc command line |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/182451>`__ |
| |
| pw_snapshot |
| ----------- |
| * `Use unit test framework |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/183351>`__ |
| |
| pw_status |
| --------- |
| * `Docs tweak |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/185146>`__ |
| |
| pw_string |
| --------- |
| * `Fix string_test build error under new clang revision |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/184219>`__ |
| (issue `#315190328 <https://issues.pigweed.dev/issues/315190328>`__) |
| * `Add missing include |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/183233>`__ |
| (issue `#314130408 <https://issues.pigweed.dev/issues/314130408>`__) |
| |
| pw_symbolizer |
| ------------- |
| * `Fix symbolizer_test |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/184226>`__ |
| (issue `#315190328 <https://issues.pigweed.dev/issues/315190328>`__) |
| |
| pw_system |
| --------- |
| We added an :ref:`extra logging channel <module-pw_system-logchannel>`. |
| |
| * `Support extra logging channel |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/184410>`__ |
| (issue `#315540660 <https://issues.pigweed.dev/issues/315540660>`__) |
| |
| pw_thread |
| --------- |
| * `Use unit test framework |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/183352>`__ |
| |
| pw_tls_client |
| ------------- |
| * `Use unit test framework |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/183352>`__ |
| |
| pw_tokenizer |
| ------------ |
| * `Mark \`pw_tokenizer_core\` as \`no_std\` |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/183197>`__ |
| |
| pw_toolchain |
| ------------ |
| The Arm GCC toolchain now uses :ref:`module-pw_toolchain_bazel`. |
| |
| * `Move ARM toolchain to new API |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/183160>`__ |
| (issue `#309533028 <https://issues.pigweed.dev/issues/309533028>`__) |
| * `Use action configs from LLVM tool repo |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/183010>`__ |
| (issue `#311257445 <https://issues.pigweed.dev/issues/311257445>`__) |
| |
| pw_toolchain_bazel |
| ------------------ |
| Support for :py:attr:`additional_files` was added to reduce ``*_files`` |
| boilerplate. We added a new :ref:`get started guide |
| <module-pw_toolchain_bazel-get-started>`. |
| |
| * `Fix naming in docs |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/184753>`__ |
| * `Add misc_files group |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/184698>`__ |
| (issue `#305737273 <https://issues.pigweed.dev/issues/305737273>`__) |
| * `Add automagic toolchain file collection |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/184299>`__ |
| (issue `#305737273 <https://issues.pigweed.dev/issues/305737273>`__) |
| * `Add getting started guide |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/184281>`__ |
| (issue `#309533028 <https://issues.pigweed.dev/issues/309533028>`__) |
| * `Remove legacy tool API |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/184280>`__ |
| * `Remove deprecated API |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/183235>`__ |
| (issue `#309533028 <https://issues.pigweed.dev/issues/309533028>`__) |
| * `Rename build file templates part 2/2 |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/183187>`__ |
| |
| pw_trace |
| -------- |
| * `Use unit test framework |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/183355>`__ |
| |
| 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 |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/184638>`__ |
| (issue `#315459788 <https://issues.pigweed.dev/issues/315459788>`__) |
| * `Allow setting different timeouts for client and server |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/184210>`__ |
| * `Update integration test documentation |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/183163>`__ |
| (issue `#250947749 <https://issues.pigweed.dev/issues/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 |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/184911>`__ |
| (issue `#309665550 <https://issues.pigweed.dev/issues/309665550>`__) |
| * `Use googletest backend as a dep |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/184656>`__ |
| (issue `#315351886 <https://issues.pigweed.dev/issues/315351886>`__) |
| * `Fix building fuzztests with cmake |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/184268>`__ |
| * `Use unit test framework |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/183353>`__ |
| * `Create facade's header |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/183194>`__ |
| (issue `#309665550 <https://issues.pigweed.dev/issues/309665550>`__) |
| |
| pw_varint |
| --------- |
| * `Use unit test framework |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/183354>`__ |
| |
| pw_web |
| ------ |
| * `Handle unrequested responses after call_id changes |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/184320>`__ |
| * `Add support for call_id in RPC calls |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/160792>`__ |
| * `Add Mocha and Jest global vars to ESLint |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/183931>`__ |
| * `Switch to pre-made subset of icon fonts |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/156852>`__ |
| (issue `#287270736 <https://issues.pigweed.dev/issues/287270736>`__) |
| |
| Build |
| ===== |
| * `Set Zephyr toolchain to llvm in presubmit |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/179170>`__ |
| |
| Targets |
| ======= |
| * `Point deprecated flag to new backend |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/184262>`__ |
| * (stm32f429i_disc1) `Fix test runner |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/184378>`__ |
| |
| Language support |
| ================ |
| * (Python) `Remove references to non-existing setup.py |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/182770>`__ |
| |
| OS support |
| ========== |
| * (Zephyr) `Remove unecessary toolchain downloads & filter invalid targets |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/184072>`__ |
| |
| Docs |
| ==== |
| .. todo-check: disable |
| |
| * `Remove inaccurate #include statements |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/185190>`__ |
| (issue `#295023422 <https://issues.pigweed.dev/issues/295023422>`__) |
| * `Add Bazel code coverage TODO |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/182812>`__ |
| (issue `#304833225 <https://issues.pigweed.dev/issues/304833225>`__) |
| * `Add sort by alignment to size optimizations |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/184150>`__ |
| * `Fix build command typo |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/184170>`__ |
| * `Update changelog |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/183310>`__ |
| |
| .. todo-check: disable |
| |
| SEEDs |
| ===== |
| * `Always use build metadata titles in index table |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/183750>`__ |
| * (SEED-0001) `Add section about SEEDs & code changes |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/177084>`__ |
| * (SEED-0001) `Update number selection guidance |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/184223>`__ |
| * SEED-0117) `Open for comments |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/184795>`__ |
| * (SEED-0121) `Claim SEED number |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/184225>`__ |
| |
| Miscellaneous |
| ============= |
| * `Fix formatting after clang roll |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/184752>`__ |
| |
| ----------- |
| 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 |
| status of all SEEDs. |
| * We've started implementing a :ref:`Rust API for pw_log |
| <docs-changelog-20231201-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-docs-modules`. |
| |
| 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 |
| ------------ |
| The :ref:`docs <module-pw_alignment>` were updated to follow our new |
| :ref:`docs-contrib-docs-modules`. |
| |
| * `Follow the new docs guidelines |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/181432>`__ |
| |
| pw_allocator |
| ------------ |
| Utilities were added that make it easier to write tests for custom allocator |
| implementations. The metric collection API was refactored. CMake support for |
| heap poisoning was added. |
| |
| * `Fix use-after-free in ~AllocatorForTest |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/182950>`__ |
| * `Add AllocationTestHarness |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/183032>`__ |
| * `Add AllocationTestHarness |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/180532>`__ |
| * `Refactor metric collection |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/180456>`__ |
| * `Improve heap poisoning configuration |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/180372>`__ |
| |
| pw_bluetooth |
| ------------ |
| * `Add LE Set Host Feature command |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/181770>`__ |
| (issue `#311639040 <https://issues.pigweed.dev/issues/311639040>`__) |
| * `LE Request Peer SCA Complete event |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/182430>`__ |
| (issue `#311639272 <https://issues.pigweed.dev/issues/311639272>`__) |
| * `Fix LEExtendedAdvertisingReportData tx_power to be an Int |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/181756>`__ |
| |
| pw_bluetooth_sapphire |
| --------------------- |
| Migration of :ref:`module-pw_bluetooth_sapphire` into Pigweed has begun. |
| |
| * `Use pw_test_group for fuzzers target |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/183195>`__ |
| (issue `#307951383 <https://issues.pigweed.dev/issues/307951383>`__) |
| * `Use pw_fuzzer_group |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/183168>`__ |
| (issue `#307951383 <https://issues.pigweed.dev/issues/307951383>`__) |
| * `Add sales pitch & roadmap docs |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/181834>`__ |
| (issue `#312287470 <https://issues.pigweed.dev/issues/312287470>`__) |
| * `Add testonly to testing targets |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/182890>`__ |
| (issue `#136961 <https://issues.fuchsia.dev/issues/136961>`__) |
| * `Revert commits to get to a known working state |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/183014>`__ |
| * `Use Write instead of UncheckedWrite |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/182734>`__ |
| * `Remove now unnecessary use of std::optional |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/182490>`__ |
| (issue `#311256496 <https://issues.pigweed.dev/issues/311256496>`__) |
| * `Move LegacyLowEnergyScanner impl to base class |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/182017>`__ |
| (issue `#305975969 <https://issues.pigweed.dev/issues/305975969>`__) |
| * `Create new LowEnergyScanner polymorphic methods |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/182016>`__ |
| (issue `#305975969 <https://issues.pigweed.dev/issues/305975969>`__) |
| * `Extended scanning support, Fake(Controller|Peer) |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/182015>`__ |
| (issue `#305975969 <https://issues.pigweed.dev/issues/305975969>`__) |
| * `Remove fidl fuzzer from build |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/182714>`__ |
| (issue `#307951383 <https://issues.pigweed.dev/issues/307951383>`__) |
| * `Use explicit constructor for SmartTask |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/182013>`__ |
| * `Follow pigweed style for test files |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/182012>`__ |
| * `Add OWNERS file |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/181759>`__ |
| * `Delete unused build file |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/181830>`__ |
| (issue `#307951383 <https://issues.pigweed.dev/issues/307951383>`__) |
| * `Fix pragma_once lint |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/181394>`__ |
| (issue `#307951383 <https://issues.pigweed.dev/issues/307951383>`__) |
| * `Fix linter errors |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/181305>`__ |
| (issue `#307951383 <https://issues.pigweed.dev/issues/307951383>`__) |
| * `Fix bazel formatting |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/181303>`__ |
| (issue `#307951383 <https://issues.pigweed.dev/issues/307951383>`__) |
| * `Remove ICU from bazel build |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/181391>`__ |
| (issue `#311449154 <https://issues.pigweed.dev/issues/311449154>`__) |
| * `Refactor pw_bluetooth_sapphire & fix errors |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/173484>`__ |
| (issue `#42051324 <https://issues.fuchsia.dev/issues/42051324>`__) |
| * `Update copyright headers |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/177800>`__ |
| |
| pw_build_info |
| ------------- |
| * `Fix relative paths in Python tests |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/182681>`__ |
| |
| pw_containers |
| ------------- |
| A warning was added about ``pw::Vector`` being unsafe with |
| non-trivially-destructible, self-referencing types. See |
| `b/313899658 <https://issues.pigweed.dev/issues/313899658>`_. |
| |
| * `Warn about unsafe Vector usage |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/182970>`__ |
| (issue `#313899658 <https://issues.pigweed.dev/issues/313899658>`__) |
| |
| pw_format |
| --------- |
| A ``core::fmt`` macro helper was added. |
| |
| * `Add core::fmt macro helper |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/178537>`__ |
| |
| .. _docs-changelog-20231201-pw_log: |
| |
| pw_log |
| ------ |
| An initial Rust API has been added. |
| |
| * `Add initial Rust API |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/178538>`__ |
| |
| pw_multibuf |
| ----------- |
| * `Remove unused GN dep |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/183165>`__ |
| * `Remove dep on external gtest |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/183158>`__ |
| * `Make HeaderChunkRegionTracket public |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/183041>`__ |
| * `Fix cmake build file |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/182898>`__ |
| |
| pw_package |
| ---------- |
| * `Add ICU package |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/181269>`__ |
| (issue `#311449154 <https://issues.pigweed.dev/issues/311449154>`__) |
| |
| pw_perf_test |
| ------------ |
| The :ref:`docs <module-pw_perf_test>` have been refactored. |
| |
| * `Rename logging event handler files |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/178915>`__ |
| * `Rework docs |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/179610>`__ |
| |
| pw_presubmit |
| ------------ |
| .. todo-check: disable |
| |
| * `Automatically compute trim_prefix |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/183100>`__ |
| (issue `#282164634 <https://issues.pigweed.dev/issues/282164634>`__) |
| * `Allow full issues.pigweed.dev urls in TODO links |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/183095>`__ |
| * `Fix TestTodoCheck.test_one_bug_legacy() |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/183094>`__ |
| * `No coverage upload for shadow builds |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/183093>`__ |
| (issue `#282164634 <https://issues.pigweed.dev/issues/282164634>`__) |
| * `Remove some unused constants |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/183092>`__ |
| * `Add is_shadow/is_prod members to context |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/183077>`__ |
| * `Refactor the coverage options |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/182873>`__ |
| (issue `#282164634 <https://issues.pigweed.dev/issues/282164634>`__) |
| * `Show diffs when parser tests fail |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/182971>`__ |
| * `Trim paths in Bazel summaries |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/182952>`__ |
| * `Correct the codesearch_host |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/182850>`__ |
| (issue `#261779031 <https://issues.pigweed.dev/issues/261779031>`__) |
| * `Correct host in coverage presubmit |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/182702>`__ |
| (issue `#261779031 <https://issues.pigweed.dev/issues/261779031>`__) |
| * `Fix coverage options |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/182666>`__ |
| (issue `#261779031 <https://issues.pigweed.dev/issues/261779031>`__) |
| * `Add Fuchsia style to todo_check_with_exceptions |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/181433>`__ |
| (issue `#307951383 <https://issues.pigweed.dev/issues/307951383>`__) |
| * `Create Sapphire presubmit step |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/177453>`__ |
| (issue `#42051324 <https://issues.fuchsia.dev/issues/42051324>`__) |
| |
| .. todo-check: enable |
| |
| pw_protobuf |
| ----------- |
| * `Add common_py_pb2 target |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/182650>`__ |
| (issue `#309351244 <https://issues.pigweed.dev/issues/309351244>`__) |
| |
| pw_rpc |
| ------ |
| * `Initialize serde_ members to nullptr |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/182851>`__ |
| |
| pw_rpc_transport |
| ---------------- |
| * `Unblock sockets when stopping |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/181308>`__ |
| (issue `#309680612 <https://issues.pigweed.dev/issues/309680612>`__) |
| |
| pw_sensor |
| --------- |
| * `Reserve SEED for configuring sensors |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/182805>`__ |
| * `Claim SEED number for high level view |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/182673>`__ |
| |
| pw_status |
| --------- |
| The :ref:`docs <module-pw_status>` have been refactored to follow |
| our latest :ref:`docs-contrib-docs-modules`. |
| |
| * `Adopt latest docs standard |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/181181>`__ |
| |
| pw_string |
| --------- |
| * `Add missing include |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/183233>`__ |
| |
| pw_system |
| --------- |
| * `Load all domain tokens |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/181231>`__ |
| * `Style fixes to Python scripts |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/182661>`__ |
| * `Add missing dependency on pw_trace |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/181350>`__ |
| |
| pw_tokenizer |
| ------------ |
| * `Move entry header to a separate struct |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/183193>`__ |
| * `Catch accidental use of test macro |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/183192>`__ |
| * `Fix NULL dereference in fuzz harness |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/182710>`__ |
| * `Move ReadUint32 |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/169714>`__ |
| |
| 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 |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/183160>`__ |
| (issue `#309533028 <https://issues.pigweed.dev/issues/309533028>`__) |
| * `Use action configs from LLVM tool repo |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/183010>`__ |
| (issue `#311257445 <https://issues.pigweed.dev/issues/311257445>`__) |
| * `Add Bazel toolchain registration helper |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/183157>`__ |
| (issue `#301336229 <https://issues.pigweed.dev/issues/301336229>`__) |
| * `Merge host toolchains |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/181760>`__ |
| * `Expose non-hermetic toolchain |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/181330>`__ |
| (issue `#299151946 <https://issues.pigweed.dev/issues/299151946>`__) |
| * `Only fetch compatible Rust toolchains |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/181306>`__ |
| |
| pw_toolchain/arm_clang |
| ---------------------- |
| * `Reduce binary size |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/169576>`__ |
| (issue `#254541584 <https://issues.pigweed.dev/issues/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 |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/183235>`__ |
| (issue `#309533028 <https://issues.pigweed.dev/issues/309533028>`__) |
| * `Rename build file templates part 2/2 |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/183187>`__ |
| * `Rename build file templates part 1/2 |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/183186>`__ |
| * `Add LLVM clang tool template |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/182969>`__ |
| (issue `#311257445 <https://issues.pigweed.dev/issues/311257445>`__) |
| * `Add ARM GCC toolchain template |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/182968>`__ |
| (issue `#309533028 <https://issues.pigweed.dev/issues/309533028>`__) |
| * `Support featureless sysroots |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/181833>`__ |
| (issue `#309533028 <https://issues.pigweed.dev/issues/309533028>`__) |
| * `Mirror features to be flag sets |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/181832>`__ |
| (issue `#309533028 <https://issues.pigweed.dev/issues/309533028>`__) |
| * `Add initial pw_cc_action_config support |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/180842>`__ |
| (issue `#309533028 <https://issues.pigweed.dev/issues/309533028>`__) |
| |
| pw_transfer |
| ----------- |
| Commands in the :ref:`integration test docs |
| <module-pw_transfer-integration-tests>` were updated and docs were |
| added that explain how to :ref:`run more than one instance of tests |
| in parallel <module-pw_transfer-parallel-tests>`. |
| |
| * `Update integration test documentation |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/183163>`__ |
| * `Set clients to transfer_v2 |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/183050>`__ |
| (issue `#309686987 <https://issues.pigweed.dev/issues/309686987>`__) |
| * `Limit to sending a single chunk in tests |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/182665>`__ |
| (issue `#295037376 <https://issues.pigweed.dev/issues/295037376>`__) |
| * `Don't "block-network" by default |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/182010>`__ |
| (issue `#311297881 <https://issues.pigweed.dev/issues/311297881>`__) |
| * `Use StatusCode in integration tests |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/180828>`__ |
| * `Make integration_test_server testonly, fix fx roller |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/182019>`__ |
| (issue `#312493408 <https://issues.pigweed.dev/issues/312493408>`__) |
| * `Tag integration tests block-network |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/181297>`__ |
| (issue `#311297881 <https://issues.pigweed.dev/issues/311297881>`__) |
| |
| pw_unit_test |
| ------------ |
| * `Skip googletest tests if not set |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/183089>`__ |
| |
| pw_web |
| ------ |
| * `Install Web Test Runner and dependencies |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/181870>`__ |
| |
| Build |
| ===== |
| |
| Bazel |
| ----- |
| More Bazel information has been added to :ref:`docs-module-structure`. |
| |
| * `Add simple module configuration mechanism |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/181032>`__ |
| (issue `#234872811 <https://issues.pigweed.dev/issues/234872811>`__) |
| * `Tidy up WORKSPACE |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/181292>`__ |
| * `Rename Python toolchains |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/181762>`__ |
| (issue `#310293060 <https://issues.pigweed.dev/issues/310293060>`__) |
| * `Remove py_proto_library wrapper |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/180825>`__ |
| (issue `#266950138 <https://issues.pigweed.dev/issues/266950138>`__) |
| * `Use py_proto_library from rules_python |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/180537>`__ |
| * `Partial pw_system_console fix |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/181304>`__ |
| (issue `#310307709 <https://issues.pigweed.dev/issues/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-docs-changelog` and see ``//docs/_static/js/changelog.js`` |
| to view its implementation. |
| |
| * `Gerrit code coverage documentation |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/182799>`__ |
| (issue `#282164634 <https://issues.pigweed.dev/issues/282164634>`__) |
| * `Move copyright header info to style guide |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/182795>`__ |
| * `Document the Test footer |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/181752>`__ |
| * `Add changelog update instructions and tool |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/181765>`__ |
| * `Update changelog |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/181393>`__ |
| |
| SEEDs |
| ===== |
| We now have an auto-generated :ref:`seed-0000` that shows you the current |
| status of all SEEDs. |
| |
| * `Generate the SEED index table |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/181267>`__ |
| * (SEED-0114) `Update status; format header in table |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/182872>`__ |
| * (SEED-0114) `Channels |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/175471>`__ |
| * (SEED-0118) `Claim SEED number |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/182654>`__ |
| * (SEED-0118) `Claim SEED number |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/181837>`__ |
| |
| Third party |
| =========== |
| * `Add GN rules for ICU |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/181311>`__ |
| (issue `#311449154 <https://issues.pigweed.dev/issues/311449154>`__) |
| |
| ------------ |
| Nov 15, 2023 |
| ------------ |
| Highlights (Nov 02, 2023 to Nov 15, 2023): |
| |
| * The API for writing proc macros with pw_format was simplified. |
| * ``pw_emu`` added a command for resuming the execution of paused emulators |
| and now has limited support for inserting environment variables into |
| configuration entries. |
| * ``pw_ide`` can now output logs to files. |
| * ``pw_unit_test`` added support for GoogleTest's |
| ``ASSERT_OK_AND_ASSIGN``, ``StatusIs``, and ``IsOkAndHolds``. |
| * Pigweed's :ref:`docs-mission` are now documented. |
| |
| Active SEEDs |
| ============ |
| Help shape the future of Pigweed! Please leave feedback on the following active RFCs (SEEDs): |
| |
| * `SEED-0114: Channels |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/175471>`__ |
| * `SEED-0115: Sensors |
| <http://pigweed-review.googlesource.com/c/pigweed/pigweed/+/176760>`__ |
| * `SEED-0116: Sockets |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/177696>`__ |
| |
| Modules |
| ======= |
| |
| pw_allocator |
| ------------ |
| The ``...Unchecked`` methods have been removed from the |
| ``pw::allocator::Allocator`` interface and the NVI-style ``Do...`` methods |
| have been modified to take ``Layout`` parameters. |
| |
| * `Update interface based on final SEED-0110 design |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/176754>`__ |
| * `Refactor test support and example allocator |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/177653>`__ |
| (issue `#306686936 <https://issues.pigweed.dev/issues/306686936>`__) |
| |
| pw_analog |
| --------- |
| * `Mark libs as test only in bazel |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/179612>`__ |
| (issue `#309665550 <https://issues.pigweed.dev/issues/309665550>`__) |
| |
| pw_console |
| ---------- |
| ``SocketClient`` has been updated to support both IPv4 and IPv6 addresses |
| in addition to Unix sockets. |
| |
| * `Add docs banner |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/180824>`__ |
| * `Improve SocketClient addressing |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/178921>`__ |
| |
| pw_emu |
| ------ |
| There is now limited supported for inserting environment variable values |
| into configuration entries. A command for resuming the execution |
| of a paused emulator was added. |
| |
| * `Add support for substitutions in config entries |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/179150>`__ |
| (issue `#308793747 <https://issues.pigweed.dev/issues/308793747>`__) |
| * `Add resume command to CLI |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/179030>`__ |
| (issue `#308793747 <https://issues.pigweed.dev/issues/308793747>`__) |
| * `Fix CLI gdb and load commands |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/178922>`__ |
| (issue `#308793747 <https://issues.pigweed.dev/issues/308793747>`__) |
| |
| pw_env_setup |
| ------------ |
| * `Make pigweed_environment.gni content gni-relative |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/180991>`__ |
| * `Update Bazel to 7.0.0 pre-release |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/178950>`__ |
| |
| pw_format |
| --------- |
| The API for writing `proc macros </rustdoc/pw_format/#proc-macros>`__ that take |
| format strings and arguments was simplified. |
| |
| * `Add tests for macro helpers |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/181030>`__ |
| * `Generalize format macro handling |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/178132>`__ |
| |
| pw_fuzzer |
| --------- |
| * `Move \`Domain\` from fuzztest::internal to fuzztest |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/178213>`__ |
| * `Switch oss-fuzz build to Bazel |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/175618>`__ |
| |
| pw_i2c |
| ------ |
| * `Mark libs as test only in bazel |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/179836>`__ |
| (issue `#309665550 <https://issues.pigweed.dev/issues/309665550>`__) |
| |
| pw_ide |
| ------ |
| Logs can now be output to files. |
| |
| * `Set 3-space tabs in VS Code |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/179671>`__ |
| * `Support output to logs |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/163573>`__ |
| * `Remove redundant licence |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/179613>`__ |
| * `Remove clangd auto-restart |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/171691>`__ |
| * `Make Sphinx extensions upstream-only |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/171690>`__ |
| * `VSC extension 0.1.1 release |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/171070>`__ |
| |
| pw_perf_test |
| ------------ |
| * `Reogranize source files |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/178914>`__ |
| |
| pw_presubmit |
| ------------ |
| * `Create new fuzz program |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/181134>`__ |
| (issue `#311215681 <https://issues.pigweed.dev/issues/311215681>`__) |
| * `Add examples showing how to create formatters |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/180310>`__ |
| * `Correct coverage ref |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/179452>`__ |
| (issue `#279161371 <https://issues.pigweed.dev/issues/279161371>`__) |
| |
| pw_stream |
| --------- |
| * `Fix use of shutdown on Windows |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/180401>`__ |
| (issue `#309680612 <https://issues.pigweed.dev/issues/309680612>`__) |
| |
| pw_system |
| --------- |
| * `Add tracing to the demo system |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/168834>`__ |
| |
| pw_system_demo |
| -------------- |
| * `Add clang to default stm32f4 build |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/178930>`__ |
| (issue `#301079199 <https://issues.pigweed.dev/issues/301079199>`__) |
| |
| pw_tokenizer |
| ------------ |
| * `Add Java to supported languages list |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/179251>`__ |
| |
| pw_toolchain |
| ------------ |
| * `Set alwayslink = 1 when using --wrap |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/180930>`__ |
| * `Add objdump |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/175810>`__ |
| |
| pw_toolchain_bazel |
| ------------------ |
| Core building blocks from the :ref:`seed-0113` plan were implemented: |
| :py:class:`pw_cc_flag_set` and :py:class:`pw_cc_flag_group`. |
| |
| * `Introduce pw_cc_flag_set and pw_cc_flag_group |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/179932>`__ |
| (issue `#309533028 <https://issues.pigweed.dev/issues/309533028>`__) |
| |
| pw_trace_tokenized |
| ------------------ |
| * `Add a transfer based trace service |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/168833>`__ |
| |
| pw_transfer |
| ----------- |
| There's been a concerted effort to reduce ``pw_transfer`` test flakiness. |
| |
| * `Limit data sent in handler clear test |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/180951>`__ |
| (issue `#297355578 <https://issues.pigweed.dev/issues/297355578>`__) |
| * `Limit data sent in manual cancel test |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/180826>`__ |
| * `Use project-absolute imports for test fixture |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/180390>`__ |
| (issue `#310038737 <https://issues.pigweed.dev/issues/310038737>`__) |
| * `Prevent accidental timeouts in unit tests |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/180274>`__ |
| |
| pw_unit_test |
| ------------ |
| The :ref:`module-pw_unit_test-api-expect` and |
| :ref:`module-pw_unit_test-api-assert` APIs were documented. Support for |
| GoogleTest's ``ASSERT_OK_AND_ASSIGN``, ``StatusIs``, and ``IsOkAndHolds`` was |
| added. |
| |
| * `Document ASSERT_ and EXPECT_ macros |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/179873>`__ |
| * `Include the right gmock header |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/180030>`__ |
| (issue `#309665550 <https://issues.pigweed.dev/issues/309665550>`__) |
| * `Mark libs as test only in bazel |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/179874>`__ |
| (issue `#309665550 <https://issues.pigweed.dev/issues/309665550>`__) |
| * `Support *_NEAR, *_FLOAT_EQ, *_DOUBLE_EQ |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/179770>`__ |
| * `Allow googletest_test_matchers_test to run |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/179450>`__ |
| * `Add more googletest test matchers |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/179151>`__ |
| * `Add googletest test matchers |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/177878>`__ |
| |
| pw_watch |
| -------- |
| Support for ``httpwatcher`` was removed because it's not supported on modern |
| versions of Python. |
| |
| * `Remove httpwatcher support |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/179250>`__ |
| (issue `#304603192 <https://issues.pigweed.dev/issues/304603192>`__) |
| |
| pw_web |
| ------ |
| The log viewer has been polished and testing has been enhanced. |
| |
| * `Fix LogViewControls responsive behavior |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/179470>`__ |
| (issue `#308993282 <https://issues.pigweed.dev/issues/308993282>`__) |
| * `Resume autoscroll with clear logs event |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/179252>`__ |
| * `Fix clear logs due to error thrown handling input text |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/176867>`__ |
| * `Add manual testing page in docs |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/178923>`__ |
| (issue `#288587657 <https://issues.pigweed.dev/issues/288587657>`__) |
| |
| Build |
| ===== |
| * `Update the default C++ standard |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/178913>`__ |
| |
| Bazel |
| ----- |
| * `Upgrade nanopb version |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/180871>`__ |
| * `Update comment |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/180815>`__ |
| * `Set --incompatible_default_to_explicit_init_py |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/180454>`__ |
| (issue `#266950138 <https://issues.pigweed.dev/issues/266950138>`__) |
| * `Make pw_cc_library an alias for cc_library |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/178924>`__ |
| (issue `#267498492 <https://issues.pigweed.dev/issues/267498492>`__) |
| * `Don't disable use_header_modules |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/178565>`__ |
| (issue `#267498492 <https://issues.pigweed.dev/issues/267498492>`__) |
| |
| Targets |
| ======= |
| .. todo-check: disable |
| |
| * (``stm32f429i_disc1_stm32cube``) |
| `Update TODO |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/179172>`__ |
| |
| .. todo-check: enable |
| |
| Language support |
| ================ |
| * (Python) `Update constraint.list |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/179614>`__ |
| * (Python) `Upgrade parameterized package |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/179451>`__ |
| |
| Docs |
| ==== |
| A document about Pigweed's :ref:`docs-mission` was added. The |
| :ref:`style guide <docs-pw-style>` was split into multiple pages. |
| |
| * `Update Pigweed Live dates |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/181031>`__ |
| * `Add mission & philosophies |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/178910>`__ |
| * `Add Contribution Standards section |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/179171>`__ |
| * `Add details to codependent docs |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/179879>`__ |
| * `Update changelog |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/178911>`__ |
| (issue `#292247409 <https://issues.pigweed.dev/issues/292247409>`__) |
| * `Split the style guide: Doxygen & Sphinx |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/178912>`__ |
| * `Split the style guide: C++ |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/178952>`__ |
| * `Split the style guide: commit style |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/178490>`__ |
| |
| SEEDs |
| ===== |
| * (SEED-0110) `Correct status |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/179436>`__ |
| * (SEED-0110) `Memory Allocation Interfaces |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/168772>`__ |
| * (SEED-0113) `Add modular Bazel C/C++ toolchain API |
| <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/173453>`__ |
| |
| ----------- |
| Nov 3, 2023 |
| ----------- |
| Highlights (Oct 19, 2023 to Nov 3, 2023): |
| |
| * A lot more of the :cpp:class:`pw::multibuf::Chunk` API was implemented. |
| * :ref:`module-pw_format` is a new module dedicated to Rust format string parsing. |
| * The tokenizer prefix is now configurable via |
| ``PW_TOKENIZER_NESTED_PREFIX_STR``. |
| * References to C++14 have been removed throughout the codebase. Pigweed no |
| longer supports C++14; C++17 or newer is required. |
| * The upstream Pigweed GN build is now |
| :ref:`more isolated <docs-changelog-20231103-pw_build>` so that downstream |
| projects have less conflicts when importing Pigweed into their existing GN |
| build. |
| * Build configuration is moving away from Bazel macros like ``pw_cc_library`` |
| and towards the toolchain configuration so that downstream projects can have |
| :ref:`full control <docs-changelog-20231103-bazel>` over how Pigweed libraries |
| are built. |
| * New guidelines for authoring module docs have been published at |
| :ref:`docs-contrib-docs-modules`. :ref:`module-pw_string` is now an example |
| of a "golden" module docs set that follows the new guidelines. Please leave |
| feedback on the new guidelines (and module docs updated to follow the |
| guidelines) in `issue #309123039 <https://issues.pigweed.dev/issues/309123039>`__. |
| |
| |
| Active SEEDs |
| ============ |
| Help shape the future of Pigweed! Please leave feedback on the following active RFCs (SEEDs): |
| |
| * `SEED-0103: pw_protobuf Object Model <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/133971>`__ |
| * `SEED-0106: Project Template <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/155430>`__ |
| * `SEED-0110: Memory Allocation Interfaces <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/168772>`__ |
| * `SEED-0113: Modular Bazel C/C++ Toolchain API <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/173453>`__ |
| * `SEED-0114: Channels <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/175471>`__ |
| * `SEED-0115: Sensors <http://pigweed-review.googlesource.com/c/pigweed/pigweed/+/176760>`__ |
| * `SEED-0116: Sockets <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/177696>`__ |
| |
| Modules |
| ======= |
| |
| pw_allocator |
| ------------ |
| The docs now have an auto-generated size report. |
| ``pw::allocator::SplitFreeListAllocator`` has a new ``blocks()`` method for getting the |
| range of blocks being tracked. The class was also refactored to |
| use the existing ``Block`` API. The ``Block`` API itself was refactored to |
| encode offsets and flags into fields. |
| |
| * `Add size reporting <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/178370>`__ |
| * `Return Range from SplitFreeListAllocator <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/177807>`__ |
| * `Refactor SplitFreeListAllocator to use Block <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/176579>`__ |
| * `Refactor Block to use encoded offsets <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/176578>`__ |
| |
| pw_arduino_build |
| ---------------- |
| * `STM32 Core fixes <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/177750>`__ |
| |
| pw_assert |
| --------- |
| * `Update print_and_abort backend formatting <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/177845>`__ |
| |
| pw_bluetooth |
| ------------ |
| More :ref:`Emboss <module-pw_third_party_emboss>` definitions were added. |
| |
| .. todo-check: disable |
| |
| * `Add TODO for issue 308794058 <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/151070>`__ |
| (issue `#308794058 <https://issues.pigweed.dev/issues/308794058>`__) |
| * `Remove anonymous entry in LEPeerAddressTypeNoAnon <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/177881>`__ |
| * `Separate LEAddressType and LEExtendedAddressType <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/178010>`__ |
| * `Define LEExtendedCreateConnectionV1 Emboss structure <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/176574>`__ |
| (issue `#305976440 <https://issues.pigweed.dev/issues/305976440>`__) |
| * `Define LEEnhancedConnectionCompleteSubeventV1 <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/176576>`__ |
| (issue `#305976440 <https://issues.pigweed.dev/issues/305976440>`__) |
| * `Remove padding from Emboss command definitions <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/176772>`__ |
| |
| .. todo-check: enable |
| |
| .. _docs-changelog-20231103-pw_build: |
| |
| pw_build |
| -------- |
| Pigweed used to inject a selection of recommended configs into every ``pw_*`` |
| C/C++ target in the GN build. These were previously only possible to remove |
| with the ``remove_configs`` argument. These configs are now bundled with |
| toolchains instead, and if you don't use a Pigweed-style toolchain you'll |
| no longer need to find ways to strip the default configs from Pigweed build rules. |
| More importantly, this changes makes Pigweed's recommended configs behave |
| identically to other toolchain configs, and they're now more clearly part of |
| GN toolchain definitions. This change is transparent to most projects, but some |
| Pigweed customers have been asking for this for a while. |
| |
| The :ref:`module-pw_build-bazel-empty_cc_library` Bazel utility was added. |
| |
| * `Add empty_cc_library <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/178555>`__ |
| * `Remove pw_build_default_configs_in_toolchain <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/177894>`__ |
| * `Apply pigweed_default_configs in toolchain <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/120610>`__ |
| (issue `#260111641 <https://issues.pigweed.dev/issues/260111641>`__) |
| * `Fix blob attribute ordering <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/177458>`__ |
| * `Only use -Wextra-semi on C++ files with GCC <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/177171>`__ |
| (issues `#301262374 <https://issues.pigweed.dev/issues/306734552>`__, |
| `#301262374 <https://issues.pigweed.dev/issues/301262374>`__) |
| * `Silence Windows-specific warnings <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/177172>`__ |
| |
| pw_bytes |
| -------- |
| A new ``_b`` literal was added to make it easier to create bytes for tests |
| and constants. |
| |
| * `Add _b suffix for byte literals <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/178134>`__ |
| |
| pw_containers |
| ------------- |
| The reference docs for the variable length entry queue API in C and Python |
| were updated. |
| |
| * `Update VariableLengthEntryQueue size functions; cleanup <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/173454>`__ |
| |
| pw_digital_io_mcuxpresso |
| ------------------------ |
| * `Remove RT595 size def <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/178353>`__ |
| |
| pw_doctor |
| --------- |
| * `Trivial linter fixes <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/176939>`__ |
| |
| pw_emu |
| ------ |
| * `renode: Show more details when failing to connect <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/178563>`__ |
| (issue `#307736513 <https://issues.pigweed.dev/issues/307736513>`__) |
| |
| pw_env_setup |
| ------------ |
| ``pip`` has been pinned to ``23.2.1`` and ``pip-tools`` to ``7.3.0`` to |
| prevent dependency resolution problems. |
| |
| * `Pin pip and pip-tools <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/177834>`__ |
| * `Update protoc to 2@24.4 <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/177050>`__ |
| (issue `#306461552 <https://issues.pigweed.dev/issues/306461552>`__) |
| |
| pw_format |
| --------- |
| :ref:`module-pw_format` is a new module dedicated to Rust format string parsing. |
| |
| * `Correct crate name in docs <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/178078>`__ |
| * `Move Rust format string parsing into its own module <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/168362>`__ |
| |
| pw_fuzzer |
| --------- |
| * `Inline NonOkStatus() <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/178212>`__ |
| * `Fix instrumentation config <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/178214>`__ |
| |
| .. _docs-changelog-20231103-pw_hdlc: |
| |
| pw_hdlc |
| ------- |
| Using read callbacks in ``RpcClient`` is no longer accepted and the use of |
| ``CancellableReader`` is now enforced because it provides a safe and clean |
| shutdown process. |
| |
| * `Enforce use of CancellableReader <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/173618>`__ |
| (issue `#301496598 <https://issues.pigweed.dev/issues/301496598>`__) |
| |
| pw_libcxx |
| --------- |
| :ref:`module-pw_libcxx` is a new module that provides ``libcxx`` symbols and |
| will eventually facilitate pulling in headers as well. |
| |
| * `Add pw_libcxx library <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/144970>`__ |
| |
| pw_log |
| ------ |
| A :ref:`module-pw_log-bazel-backend_impl` label flag was added to Bazel to |
| avoid circular dependencies. |
| |
| * `Enable sandboxing for pigweed genrules <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/178550>`__ |
| (issue `#307824623 <https://issues.pigweed.dev/issues/307824623>`__) |
| * `Introduce backend_impl label flag <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/177842>`__ |
| (issue `#234877642 <https://issues.pigweed.dev/issues/234877642>`__) |
| |
| pw_multibuf |
| ----------- |
| A lot more of the :cpp:class:`pw::multibuf::Chunk` API was implemented. |
| |
| * `Add basic MultiBuf operations <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/178036>`__ |
| * `Add Chunk::Merge <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/177636>`__ |
| * `Fix TrackingAllocatorWithMemory UAF <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/177694>`__ |
| * `Add module and Chunk implementation <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/173951>`__ |
| |
| pw_package |
| ---------- |
| * `Use mirror for stm32cube <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/142510>`__ |
| (issue `#278914999 <https://issues.pigweed.dev/issues/278914999>`__) |
| * `Fix Zephyr URL <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/177456>`__ |
| |
| pw_presubmit |
| ------------ |
| A CSS formatter was added. |
| |
| * `Add basic CSS formatter <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/178810>`__ |
| (issue `#308948504 <https://issues.pigweed.dev/issues/308948504>`__) |
| * `Kalypsi-based coverage upload <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/175070>`__ |
| (issue `#279161371 <https://issues.pigweed.dev/issues/279161371>`__) |
| * `Handle missing upstream better <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/177038>`__ |
| (issue `#282808936 <https://issues.pigweed.dev/issues/282808936>`__) |
| * `Trivial linter fixes <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/176939>`__ |
| |
| pw_protobuf |
| ----------- |
| * `Enable sandboxing for pigweed genrules <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/178550>`__ |
| (issue `#307824623 <https://issues.pigweed.dev/issues/307824623>`__) |
| |
| pw_rpc |
| ------ |
| :ref:`pw::rpc::SynchronousCallFor() <module-pw_rpc-client-sync-call-wrappers>` |
| now supports :ref:`DynamicClient <module-pw_rpc_pw_protobuf-client>`. |
| |
| * `Update Java service error with tip <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/178812>`__ |
| (issue `#293361955 <https://issues.pigweed.dev/issues/293361955>`__) |
| * `Support DynamicClient with SynchronousCallFor API <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/177637>`__ |
| |
| pw_string |
| --------- |
| The docs were updated to match the new :ref:`docs-contrib-docs-modules`. |
| |
| * `Docs tweaks <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/177883>`__ |
| |
| pw_sys_io |
| --------- |
| Backends that depend on ``default_putget_bytes`` were updated to express the |
| dependency. |
| |
| * `Fix Bazel backends <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/177656>`__ |
| |
| pw_system |
| --------- |
| See :ref:`docs-changelog-20231103-pw_hdlc` for an explanation of the |
| ``CancellableReader`` change. |
| |
| * `Enforce use of CancellableReader <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/173618>`__ |
| (issue `#301496598 <https://issues.pigweed.dev/issues/301496598>`__) |
| |
| pw_tls_client |
| ------------- |
| * `Update to new boringssl API <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/178150>`__ |
| |
| pw_tokenizer |
| ------------ |
| The tokenizer prefix is now configurable via ``PW_TOKENIZER_NESTED_PREFIX_STR``. |
| |
| * `Enable sandboxing for pigweed genrules <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/178550>`__ |
| (issue `#307824623 <https://issues.pigweed.dev/issues/307824623>`__) |
| * `Let tokenizer prefix be configurable <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/177575>`__ |
| |
| pw_toolchain |
| ------------ |
| You can now set the ``dir_pw_third_party_builtins`` GN var to your |
| ``compiler-rt/builtins`` checkout to enable buildings LLVM ``builtins`` from |
| source instead of relying on a shipped ``libgcc``. |
| |
| * `Apply pigweed_default_configs in toolchain <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/120610>`__ |
| (issue `#260111641 <https://issues.pigweed.dev/issues/260111641>`__) |
| * `Build compiler-rt builtins to replace libgcc <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/144050>`__ |
| |
| pw_unit_test |
| ------------ |
| * `Pass verbose flag to TestRunner <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/177470>`__ |
| |
| pw_web |
| ------ |
| * `Limit component rerendering <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/177810>`__ |
| (issue `#307559191 <https://issues.pigweed.dev/issues/307559191>`__) |
| |
| Build |
| ===== |
| References to C++14 have been removed throughout the codebase. Pigweed no |
| longer supports C++14; C++17 or newer is required. |
| |
| * `Drop C++14 compatibility from the build and docs <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/177610>`__ |
| |
| .. _docs-changelog-20231103-bazel: |
| |
| Bazel |
| ----- |
| Build configuration is moving away from Bazel macros like ``pw_cc_library`` |
| and towards the toolchain configuration so that downstream projects can have |
| full control over how Pigweed libraries are built. |
| |
| * `Move Kythe copts to toolchain configuration <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/178592>`__ |
| (issue `#267498492 <https://issues.pigweed.dev/issues/267498492>`__) |
| * `Move warnings to toolchain configuration <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/178557>`__ |
| (issue `#240466562 <https://issues.pigweed.dev/issues/240466562>`__) |
| * `Silence warnings from external code <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/178436>`__ |
| (issue `#300330623 <https://issues.pigweed.dev/issues/300330623>`__) |
| * `stm32cube support <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/177134>`__ |
| * `Remove most copts from pw_cc_library macro <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/170824>`__ |
| (issue `#267498492 <https://issues.pigweed.dev/issues/267498492>`__) |
| |
| Targets |
| ======= |
| ``pw_assert_BACKEND`` for :ref:`target-host` was set to |
| ``print_and_abort_check_backend`` to enable compatibility with GoogleTest death |
| tests. |
| |
| * (``host``) `Change pw_assert_BACKEND <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/177835>`__ |
| |
| OS support |
| ========== |
| * (``zephyr``) `Update checkout to v3.5 <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/177669>`__ |
| |
| Docs |
| ==== |
| New guidelines for authoring module docs have been published at |
| :ref:`docs-contrib-docs-modules`. :ref:`module-pw_string` is now an example |
| of a "golden" module docs set that follows the new guidelines. Please leave |
| feedback on the new guidelines (and module docs updated to follow the |
| guidelines) in `issue #309123039 <https://issues.pigweed.dev/issues/309123039>`__. |
| |
| There's now a definition for :ref:`docs-glossary-facade` in the glossary. |
| |
| * `Update module docs authoring guidelines <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/177465>`__ |
| * `Fix nav and main content scrolling <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/178591>`__ |
| (issue `#303261476 <https://issues.pigweed.dev/issues/303261476>`__) |
| * `Add udev instructions to Bazel Get Started <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/178435>`__ |
| * `Add information on the experimental repo to contributing.rst <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/178272>`__ |
| * `Mention command for updating Py dep hashes <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/177799>`__ |
| * `Define facade in glossary <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/177632>`__ |
| * `Remove symlinks to files that were removed <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/177530>`__ |
| * `Mention upstream development guide in contributor guidelines <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/177459>`__ |
| * `Move all images out of the repo <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/176751>`__ |
| * `Update changelog <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/177085>`__ |
| (issue `#292247409 <https://issues.pigweed.dev/issues/292247409>`__) |
| * `Move CoC to Contributors section of sitenav <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/177071>`__ |
| |
| SEEDs |
| ===== |
| * (SEED-0107) `Update SEED references; fix typo <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/177698>`__ |
| * (SEED-0112) `Async Poll Model <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/168337>`__ |
| * (SEED-0115) `Fix link <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/177093>`__ |
| * (SEED-0116) `Claim SEED number <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/177697>`__ |
| |
| Third party |
| =========== |
| * (nanopb) `Detect protoc updates <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/177650>`__ |
| |
| ------------ |
| Oct 20, 2023 |
| ------------ |
| Highlights (Oct 5, 2023 to Oct 20, 2023): |
| |
| * ``pw_emu`` has launched! Check out :ref:`module-pw_emu` to get started. |
| See :ref:`seed-0108` for background. |
| * :ref:`module-pw_log-tokenized-args` are now supported. See :ref:`seed-0105` |
| for background. |
| * The new :cpp:class:`pw::allocator::UniquePtr` class offers a safer, simpler |
| RAII API for allocating individual values within an allocator. |
| * A few SEEDs were accepted: :ref:`seed-0105`, :ref:`seed-0109`, and |
| :ref:`seed-0111`. |
| * Lots of new docs, including a guide for |
| :ref:`getting started with Bazel <docs-get-started-bazel>`, a |
| conceptual explanation of :ref:`facades and backends <docs-facades>`, |
| and an eng blog post detailing :ref:`Kudzu <docs-blog-01-kudzu>`, an |
| electronic badge that the Pigweed team made for Maker Faire 2023. |
| |
| Active SEEDs |
| ============ |
| Help shape the future of Pigweed! Please leave feedback on the following active RFCs (SEEDs): |
| |
| * `SEED-0103: pw_protobuf Object Model <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/133971>`__ |
| * `SEED-0106: Project Template <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/155430>`__ |
| * `SEED-0110: Memory Allocation Interfaces <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/168772>`__ |
| * `SEED-0113: Modular Bazel C/C++ Toolchain API <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/173453>`__ |
| * `SEED-0114: Channels <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/175471>`__ |
| * `SEED-0115: Sensors <http://pigweed-review.googlesource.com/c/pigweed/pigweed/+/176760>`__ |
| |
| Modules |
| ======= |
| |
| pw_allocator |
| ------------ |
| The new :cpp:class:`pw::allocator::UniquePtr` class offers a safer, simpler |
| RAII API for allocating individual values within an allocator. |
| |
| * `Fix SplitFreeListAllocator region alignment <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/175232>`__ |
| * `Add UniquePtr\<T\> <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/176781>`__ |
| |
| pw_async |
| -------- |
| * `Add CMake support <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/175475>`__ |
| |
| pw_async_basic |
| -------------- |
| * `Add missing include <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/175476>`__ |
| * `Fix build error when using pw_async:heap_dispatcher <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/173480>`__ |
| |
| pw_bluetooth |
| ------------ |
| * `Define LEChannelSelectionAlgorithmSubevent <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/176577>`__ |
| * `Define LEScanTimeoutSubevent <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/176575>`__ |
| (issue `#265052417 <https://issues.pigweed.dev/issues/265052417>`__) |
| * `Use $size_in_bits instead of hardcoding size <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/176573>`__ |
| * `Switch from parameterized value to determining at run time <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/176572>`__ |
| (issue `#305975969 <https://issues.pigweed.dev/issues/305975969>`__) |
| * `Fix size reports <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/173620>`__ |
| |
| pw_build |
| -------- |
| :ref:`module-pw_build-bazel-pw_linker_script` now describes how to work |
| with linker scripts. |
| |
| * `Update pw_linker_script docs <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/174848>`__ |
| * `Move pw_linker_script rule definition <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/174872>`__ |
| |
| pw_chre |
| ------- |
| * `Remove TODOs for CHRE MacOS support <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/175490>`__ |
| |
| pw_cli |
| ------ |
| * `Honor NO_COLOR and CLICOLOR_FORCE <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/176860>`__ |
| * `Use typing.Literal <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/176778>`__ |
| |
| pw_digital_io |
| ------------- |
| * `Add Android.bp for proto/rpc <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/176270>`__ |
| |
| pw_emu |
| ------ |
| The module has launched! Check out :ref:`module-pw_emu` to get started. |
| |
| * `renode: Increase start timeout to 120s <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/176865>`__ |
| * `Fix pid file race condition <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/176782>`__ |
| * `mock_emu: start listening before making the port available <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/176856>`__ |
| (issue `#306155313 <https://issues.pigweed.dev/issues/306155313>`__) |
| * `qemu: Force using IPv4 <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/176430>`__ |
| (issue `#305810466 <https://issues.pigweed.dev/issues/305810466>`__) |
| * `Add renode support <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/173613>`__ |
| * `Add QEMU support <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/173612>`__ |
| * `core: Let the OS terminate foreground emulator processes <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/175638>`__ |
| * `Add user APIs and the command line interface <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/173611>`__ |
| * `Add core components <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/173610>`__ |
| * `Add Emulators Frontend module boilerplate <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/162096>`__ |
| |
| pw_env_setup |
| ------------ |
| * `Allow disabling CIPD cache <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/176650>`__ |
| * `Add prpc <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/175236>`__ |
| |
| pw_function |
| ----------- |
| * `Move pw_function_CONFIG to .gni <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/173652>`__ |
| |
| pw_hdlc |
| ------- |
| :ref:`module-pw_hdlc-api-rpc` now has much more information on how to use |
| ``pw_hdlc`` for RPC in Python. |
| |
| * `Update Python RPC documents <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/174825>`__ |
| |
| pw_i2c |
| ------ |
| * `Fix accidental c++2a <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/176511>`__ |
| * `Add Android.bp for i2c proto/rpc <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/176070>`__ |
| |
| pw_kvs |
| ------ |
| The new ``FlashPartitionWithLogicalSectors`` variant of ``FlashPartition`` |
| supports combining multiple physical ``FlashMemory`` sectors into a single |
| logical ``FlashPartition`` sector. |
| |
| * `Add FlashPartitionWithLogicalSectors <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/106917>`__ |
| |
| pw_log_tokenized |
| ---------------- |
| :ref:`module-pw_log-tokenized-args` are now supported. See :ref:`seed-0105` for background. |
| |
| * `Add tokenized string args support to log backend <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/164514>`__ |
| |
| pw_log_zephyr |
| ------------- |
| * `Clean-up unused dependencies from TOKENIZED_LIB <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/174813>`__ |
| |
| pw_minimal_cpp_stdlib |
| --------------------- |
| * `Support additional libraries <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/173814>`__ |
| * `Add Zephyr Kconfig to enable include path <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/173653>`__ |
| |
| pw_package |
| ---------- |
| * `Update boringssl commit & skip clang-tidy <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/175016>`__ |
| * `Update Emboss commit <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/173619>`__ |
| |
| pw_presubmit |
| ------------ |
| :ref:`module-pw_presubmit-presubmit-checks` has more guidance on when to use |
| ``--base`` and ``--full``. |
| |
| * `Add note about --full and --base <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/175633>`__ |
| |
| pw_snapshot |
| ----------- |
| * `More detokenization tests <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/176759>`__ |
| |
| pw_spi |
| ------ |
| * `Fix cmake integration <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/175190>`__ |
| |
| pw_sync_zephyr |
| -------------- |
| * `Add TimedThreadNotification::try_acquire_until <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/175478>`__ |
| |
| pw_system |
| --------- |
| The ``Device`` class's constructor now accepts a ``logger`` argument |
| that enables you to specify which logger should be used. |
| |
| * `Add option to pass logger to Device <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/175075>`__ |
| |
| pw_third_party_freertos |
| ----------------------- |
| * `Add arm_cm7_not_r0p1 <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/172382>`__ |
| |
| pw_thread |
| --------- |
| * `More detokenization tests <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/176759>`__ |
| |
| pw_thread_freertos |
| ------------------ |
| * `Fix extra wakeups when detaching threads <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/175310>`__ |
| (issue `#303885539 <https://issues.pigweed.dev/issues/303885539>`__) |
| |
| pw_tokenizer |
| ------------ |
| :ref:`module-pw_tokenizer-get-started-integration` has new guidance around |
| configuring linker scripts in Bazel. |
| |
| * `Expose linker_script in BUILD.bazel <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/175590>`__ |
| |
| pw_toolchain |
| ------------ |
| * `Exclude googletest from static analysis <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/173482>`__ |
| |
| pw_transfer |
| ----------- |
| * `Start the API reference <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/170011>`__ |
| (issue `#299147635 <https://issues.pigweed.dev/issues/299147635>`__) |
| |
| pw_web |
| ------ |
| * `Reduce table cell padding <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/176690>`__ |
| (issue `#305022558 <https://issues.pigweed.dev/issues/305022558>`__) |
| * `Fix invisible jump button <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/175330>`__ |
| * `Enable manual color scheme setting <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/173630>`__ |
| (issue `#301498553 <https://issues.pigweed.dev/issues/301498553>`__) |
| |
| Build |
| ===== |
| * `Fix pw_BUILD_BROKEN_GROUPS <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/176114>`__ |
| * `Update Android.bp <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/175631>`__ |
| (issue `#277108894 <https://issues.pigweed.dev/issues/277108894>`__) |
| |
| Bazel |
| ----- |
| * `Don't autodetect C++ toolchain <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/175613>`__ |
| (issue `#304880653 <https://issues.pigweed.dev/issues/304880653>`__) |
| * `Add O2 to arm_gcc toolchain <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/175536>`__ |
| (issue `#299994234 <https://issues.pigweed.dev/issues/299994234>`__) |
| |
| Targets |
| ======= |
| * (rp2040_pw_system) `Enable time slicing <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/175074>`__ |
| |
| OS support |
| ========== |
| * (zephyr) `Allow direct CMake inclusions <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/175477>`__ |
| |
| Docs |
| ==== |
| * `Move CoC to Contributors section of sitenav <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/177071>`__ |
| * `Create concepts section in sitenav <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/177037>`__ |
| * `Add facades and backends page <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/170602>`__ |
| * `Add Bazel getting started tutorial <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/176319>`__ |
| * `Remove css class on Kudzu image captions <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/176770>`__ |
| * `Kudzu photos <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/176710>`__ |
| * `Refactor the getting started section <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/176331>`__ |
| * `Add sitemap <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/176492>`__ |
| * `Add hat tip for pixel doubling technique <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/175639>`__ |
| * `Start eng blog and add Kudzu page <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/175619>`__ |
| * `Add Pigweed Live directive <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/174892>`__ |
| * `Add builder viz to CI/CQ intro <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/175414>`__ |
| (issue `#302680656 <https://issues.pigweed.dev/issues/302680656>`__) |
| * `Fix link <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/175415>`__ |
| (issue `#302680656 <https://issues.pigweed.dev/issues/302680656>`__) |
| * `Add changelog highlight <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/175231>`__ |
| * `Update changelog <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/174818>`__ |
| |
| SEEDs |
| ===== |
| A few SEEDs were accepted and a few more started. |
| |
| * (SEED-0105) `Add nested tokens to pw_tokenizer and pw_log <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/154190>`__ |
| * (SEED-0109) `Communication Buffers <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/168357>`__ |
| * (SEED-0111) `Update status, add link to SEED-0113 <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/176254>`__ |
| * (SEED-0111) `Make Bazel Pigweed's Primary Build System <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/171695>`__ |
| * (SEED-0113) `Claim SEED number (Modular Bazel C/C++ Toolchain API) <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/175510>`__ |
| * (SEED-0114) `Claim SEED number (Channels) <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/175412>`__ |
| * (SEED-0115) `Clain SEED number (Sensors) <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/176763>`__ |
| |
| Third party |
| =========== |
| * (boringssl) `Remove crypto_sysrand.cc <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/175017>`__ |
| * (fuchsia) `Copybara import <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/173651>`__ |
| * (fuchsia) `Update copybara with fit/defer.h <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/173481>`__ |
| |
| Miscellaneous |
| ============= |
| * `Update formatting for new clang version <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/175311>`__ |
| * `Use C++20 everywhere <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/174630>`__ |
| (issue `#303371098 <https://issues.pigweed.dev/issues/303371098>`__) |
| * (revert) `Use .test convention" <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/171793>`__ |
| * `Add generated Emboss code <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/176571>`__ |
| |
| ----------- |
| Oct 6, 2023 |
| ----------- |
| Highlights (Sep 21, 2023 to Oct 6, 2023): |
| |
| * We expanded our RP2040 support. See the new :ref:`module-pw_chrono_rp2040` |
| and :ref:`module-pw_digital_io_rp2040` modules. |
| * The :ref:`new CancellableReader class in pw_hdlc <docs-changelog-20231009-pw_hdlc>` |
| is an interface for receiving RPC packets that guarantees its read process can be |
| stopped. |
| * ``pw_rpc`` now :ref:`automatically generates a new DynamicClient interface |
| <docs-changelog-20231009-pw_rpc>` when dynamic allocation is enabled. |
| * The Python backend for ``pw_tokenizer`` now supports :ref:`tokenizing strings as |
| arguments <docs-changelog-20231009-pw_tokenizer>`. |
| * The ``pigweed_config`` mechanism in Bazel is now officially retired. |
| |
| Active SEEDs |
| ============ |
| Help shape the future of Pigweed! Please leave feedback on the following active RFCs (SEEDs): |
| |
| * `SEED-0103: pw_protobuf Object Model <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/133971>`__ |
| * `SEED-0105: Add nested tokens and tokenized args to pw_tokenizer and pw_log <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/154190>`__ |
| * `SEED-0106: Project Template <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/155430>`__ |
| * `SEED-0109: Communication Buffers <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/168357>`__ |
| * `SEED-0110: Memory Allocation Interfaces <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/168772>`__ |
| * `SEED-0111: Make Bazel Pigweed's Primary Build System <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/171695>`__ |
| * `SEED-0112: Async Poll Model <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/168337>`__ |
| |
| Modules |
| ======= |
| |
| .. _docs-changelog-20231009-pw_allocator: |
| |
| pw_allocator |
| ------------ |
| We added a bunch of new allocator APIs! ``AllocatorMetricProxy`` is a wrapper for |
| ``Allocator`` that tracks the number and total of current memory allocations as well |
| as peak memory usage. ``LibCAllocator`` is an allocator that uses ``malloc()`` and |
| ``free()``. ``NullAllocator`` is an allocator that always fails which is useful for |
| disallowing memory allocations under certain circumstances. ``SplitFreeListAllocator`` |
| uses a free list to reduce fragmentation. ``FallbackAllocator`` enables you to |
| specify primary and secondary allocators. |
| |
| * `Add Android.bp <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/173851>`__ |
| * `Add pool accessors <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/173615>`__ |
| * `Move Resize assertion <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/173614>`__ |
| * `Add AllocatorMetricProxy <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/172380>`__ |
| * `Add LibCAllocator <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/172232>`__ |
| * `Add NullAllocator <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/172233>`__ |
| * `Add SplitFreeListAllocator <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/172231>`__ |
| * `Add FallbackAllocator <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/171837>`__ |
| * `Generic interface for allocators <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/171709>`__ |
| |
| pw_analog |
| --------- |
| * `Migrate MicrovoltInput to Doxygen <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/170593>`__ |
| (issue `#299147635 <https://issues.pigweed.dev/issues/299147635>`__) |
| |
| pw_async |
| -------- |
| * `Add OWNERS file <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/173690>`__ |
| |
| pw_bloat |
| -------- |
| ``pw_size_report()`` has a new ``json_key_prefix`` argument which is an |
| optional prefix for key names in JSON size reports and a new |
| ``full_json_summary`` argument which provides more control over how |
| much detail is provided in a JSON size report. |
| |
| * `Update API to allow verbose json content <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/168718>`__ |
| (issue `#282057969 <https://issues.pigweed.dev/issues/282057969>`__) |
| |
| pw_bluetooth |
| ------------ |
| * `Format Emboss files <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/174832>`__ |
| * `Update comments in HCI event defs <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/174070>`__ |
| (issue `#265052417 <https://issues.pigweed.dev/issues/265052417>`__) |
| |
| pw_build |
| -------- |
| |
| |
| * `Fix path in Bazel pw_linker_script <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/174591>`__ |
| * `Expose pw_linker_script in Bazel <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/174590>`__ |
| (issue `#303482154 <https://issues.pigweed.dev/issues/303482154>`__) |
| * `Define empty configs <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/174490>`__ |
| * `Add bazel implementation of pw_cc_blob_library <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/173452>`__ |
| (issue `#238339027 <https://issues.pigweed.dev/issues/238339027>`__) |
| * `Clean up build_target.gni <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/120215>`__ |
| (issue `#260111641 <https://issues.pigweed.dev/issues/260111641>`__) |
| * `Allow add_global_link_deps to be overriden <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/150050>`__ |
| * `Expose pigweed_default_configs <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/173372>`__ |
| (issue `#260111641 <https://issues.pigweed.dev/issues/260111641>`__) |
| * `Apply -Wextra-semi to C code as well as C++ <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/172372>`__ |
| |
| pw_chre |
| ------- |
| * `Update bug numbers <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/172330>`__ |
| |
| pw_chrono |
| --------- |
| * `Add clarification to is_nmi_safe <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/174573>`__ |
| |
| pw_chrono_rp2040 |
| ---------------- |
| This module is a new ``pw::chrono::SystemClock`` backend for RP2040. |
| |
| * `System clock backend <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/174651>`__ |
| |
| pw_cli |
| ------ |
| * `Update requires script <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/126101>`__ |
| * `Narrow logic around colors <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/173232>`__ |
| |
| pw_containers |
| ------------- |
| There's a new C implementation for ``VariableLengthEntryDeque`` which is a |
| double-ended queue buffer that stores variable-length entries inline in a |
| circular (ring) buffer. The old ``VariableLengthEntryDeque`` was renamed |
| to ``VariableLengthEntryQueue``. |
| |
| * `Add missing <utility> include for std::move <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/173879>`__ |
| * `Rename to VariableLengthEntryQueue <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/173451>`__ |
| * `Rename files to variable_length_entry_queue <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/173450>`__ |
| * `VariableLengthEntryDeque Entry struct <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/173130>`__ |
| * `VariableLengthEntryDeque C implementation <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/169731>`__ |
| |
| pw_digital_io_rp2040 |
| -------------------- |
| This module is a new RP2040 backend for ``pw_digital_io``. |
| |
| * `Implementation <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/173550>`__ |
| (issue `#303255049 <https://issues.pigweed.dev/issues/303255049>`__) |
| |
| pw_env_setup |
| ------------ |
| We made the Pigweed bootstrap process on Windows more robust. |
| |
| * `Fix double bootstrap.bat failures on Windows <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/172416>`__ |
| (issue `#300992566 <https://issues.pigweed.dev/issues/300992566>`__) |
| * `Better highlight bootstrap failure <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/172415>`__ |
| * `Fix double bootstrap.bat failures on Windows <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/172410>`__ |
| (issue `#300992566 <https://issues.pigweed.dev/issues/300992566>`__) |
| |
| .. _docs-changelog-20231009-pw_hdlc: |
| |
| pw_hdlc |
| ------- |
| The new ``CancellableReader`` class is a new interface for receiving RPC |
| packets that guarantees its read process can be stopped. |
| |
| * `Add CancellableReader <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/172051>`__ |
| (issue `#294858483 <https://issues.pigweed.dev/issues/294858483>`__) |
| |
| pw_i2c |
| ------ |
| * `Fix docs to use MakeExpectedTransactionArray <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/173570>`__ |
| * `Add cmake integration <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/172210>`__ |
| |
| pw_kvs |
| ------ |
| The new ``FlashPartitionWithLogicalSectors`` C++ class supports combining |
| multiple physical ``FlashMemory`` sectors into a single logical |
| ``FlashPartition`` sector. |
| |
| * `Add FlashPartitionWithLogicalSectors <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/106917>`__ |
| |
| pw_libc |
| ------- |
| * `Don't implicitly link against global link_deps <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/150051>`__ |
| |
| pw_metric |
| --------- |
| * `Make constructors constexpr <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/172379>`__ |
| |
| pw_minimal_cpp_stdlib |
| --------------------- |
| * `Update to compile with stdcompat <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/173350>`__ |
| * `Namespace public/internal to module <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/173692>`__ |
| |
| pw_perf_test |
| ------------ |
| * `Gate on pw_chrono_SYSTEM_TIMER_BACKEND <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/174650>`__ |
| |
| pw_presubmit |
| ------------ |
| * `Allow dots in module part of commit message <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/174232>`__ |
| * `Use autodoc for context classes <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/169119>`__ |
| * `Allow passing kwargs to build.bazel <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/173853>`__ |
| (issue `#302045722 <https://issues.pigweed.dev/issues/302045722>`__) |
| * `No env_with_clang_vars with bazel <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/173656>`__ |
| |
| pw_ring_buffer |
| -------------- |
| * `Minor build and docs updates <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/173030>`__ |
| |
| .. _docs-changelog-20231009-pw_rpc: |
| |
| pw_rpc |
| ------ |
| If dynamic allocation is enabled via ``PW_RPC_DYNAMIC_ALLOCATION`` a new |
| ``DynamicClient`` is now generated which dynamically allocates the call |
| object with ``PW_RPC_MAKE_UNIQUE_PTR``. |
| |
| * `Generate DynamicClient that dynamically allocates call objects <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/168534>`__ |
| * `Add CancellableReader <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/172051>`__ |
| (issue `#294858483 <https://issues.pigweed.dev/issues/294858483>`__) |
| |
| pw_rpc_transport |
| ---------------- |
| * `Add a test loopback service registry <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/171114>`__ |
| (issue `#300663813 <https://issues.pigweed.dev/issues/300663813>`__) |
| |
| pw_stream |
| --------- |
| ``pw_stream`` now has initial support for ``winsock2``. |
| |
| * `Add Windows socket support <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/172413>`__ |
| |
| pw_sys_io_rp2040 |
| ---------------- |
| * `Renamed from pw_sys_io_pico <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/174910>`__ |
| |
| .. _docs-changelog-20231009-pw_tokenizer: |
| |
| pw_tokenizer |
| ------------ |
| The Python backend now supports nested hashing tokenization. See |
| :ref:`module-pw_tokenizer-nested-arguments`. |
| |
| * `Support nested hashing tokenization (python backend) <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/145339>`__ |
| (issue `#278890205 <https://issues.pigweed.dev/issues/278890205>`__) |
| * `Test for C99 support <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/170150>`__ |
| |
| pw_toolchain |
| ------------ |
| * `Add libc stub for gettimeofday, update visibility rules <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/173850>`__ |
| * `Link against pw_libc for host clang toolchains <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/151439>`__ |
| |
| pw_transfer |
| ----------- |
| * `Start the API reference <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/170011>`__ |
| (issue `#299147635 <https://issues.pigweed.dev/issues/299147635>`__) |
| * `Remove old test server <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/172951>`__ |
| (issue `#234875234 <https://issues.pigweed.dev/issues/234875234>`__) |
| |
| pw_unit_test |
| ------------ |
| * `Do not print contents of unknown objects <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/174911>`__ |
| * `Add more pw_unit_test_TESTONLY args <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/173670>`__ |
| (issue `#234873207 <https://issues.pigweed.dev/issues/234873207>`__) |
| * `Add pw_unit_test_TESTONLY build arg <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/171970>`__ |
| (issue `#234873207 <https://issues.pigweed.dev/issues/234873207>`__) |
| |
| pw_watch |
| -------- |
| * `Add link to served docs <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/173456>`__ |
| |
| pw_web |
| ------ |
| * `Make ongoing transfers accessible downstream <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/174231>`__ |
| * `TypeScript workarounds for disambiguation errors <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/173590>`__ |
| * `Throw error as an Error type <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/173051>`__ |
| * `Remove need for Buffer package in pw_hdlc <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/172377>`__ |
| * `Remove date-fns <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/172371>`__ |
| |
| Build |
| ===== |
| * `Fix extended default group <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/174574>`__ |
| (issue `#279161371 <https://issues.pigweed.dev/issues/279161371>`__) |
| * `Fix \`all\` target in GN build <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/173050>`__ |
| * `Add an extended default group <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/110391>`__ |
| |
| Bazel |
| ----- |
| * `Retire pigweed_config (part 3) <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/172411>`__ |
| * `Retire pigweed_config (part 2) <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/170058>`__ |
| (issue `#291106264 <https://issues.pigweed.dev/issues/291106264>`__) |
| |
| Docs |
| ==== |
| We started a :ref:`glossary <docs-glossary>` and added new docs about |
| :ref:`rollers <docs-rollers>` and :ref:`CI/CQ <docs-ci-cq-intro>`. |
| |
| * `Add docs on rollers <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/174770>`__ |
| (issue `#302680656 <https://issues.pigweed.dev/issues/302680656>`__) |
| * `Remove redundant auto-submit section <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/174890>`__ |
| (issue `#302680656 <https://issues.pigweed.dev/issues/302680656>`__) |
| * `Reformat CI/CQ Intro <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/174870>`__ |
| (issue `#302680656 <https://issues.pigweed.dev/issues/302680656>`__) |
| * `Move CI/CQ Intro to infra/ <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/174776>`__ |
| (issue `#302680656 <https://issues.pigweed.dev/issues/302680656>`__) |
| * `Address comments on CI/CQ intro <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/173932>`__ |
| (issue `#302680656 <https://issues.pigweed.dev/issues/302680656>`__) |
| * `Tidy up build system docs <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/173658>`__ |
| * `Fix typo <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/173872>`__ |
| * `Add CI/CQ Intro <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/173455>`__ |
| (issue `#302680656 <https://issues.pigweed.dev/issues/302680656>`__) |
| * `Add policy on incomplete docs changes <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/173617>`__ |
| * `Start the glossary <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/172952>`__ |
| * `Update changelog <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/172810>`__ |
| (issue `#292247409 <https://issues.pigweed.dev/issues/292247409>`__) |
| * `Add Doxygen @endcode guidance <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/172470>`__ |
| |
| SEEDs |
| ===== |
| * (SEED-0112) `Fix link <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/174771>`__ |
| |
| Miscellaneous |
| ============= |
| |
| pigweed.json |
| ------------ |
| * `Exclude patches.json from formatting <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/174230>`__ |
| (issue `#232234662 <https://issues.pigweed.dev/issues/232234662>`__) |
| |
| ------------ |
| Sep 22, 2023 |
| ------------ |
| Highlights (Sep 07, 2023 to Sep 22, 2023): |
| |
| * ``pw_tokenizer`` has :ref:`new C++ methods for detokenizing |
| Base64-encoded strings and new C functions for manually encoding tokenized |
| messages that contain integers <docs-changelog-pw_tokenizer-20230922>`. |
| * ``pw::rpc::SynchronousCall`` now supports the use of :ref:`custom response message |
| classes <docs-changelog-pw_rpc-20230922>`. |
| * The C API for ``pw_varint`` got :ref:`lots of ergonomic improvements |
| <docs-changelog-pw_varint-20230922>`. |
| * The new :ref:`docs-code_reviews` document outlines the upstream Pigweed code |
| review process. |
| |
| Active SEEDs |
| ============ |
| Help shape the future of Pigweed! Please leave feedback on the following active RFCs (SEEDs): |
| |
| * `SEED-0103: pw_protobuf Object Model <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/133971>`__ |
| * `SEED-0105: Add nested tokens and tokenized args to pw_tokenizer and pw_log <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/154190>`__ |
| * `SEED-0106: Project Template <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/155430>`__ |
| * `SEED-0109: Communication Buffers <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/168357>`__ |
| * `SEED-0110: Memory Allocation Interfaces <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/168772>`__ |
| * `SEED-0111: Future of Pigweed build systems <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/171695>`__ |
| * `SEED-0112: Async Poll Model <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/168337>`__ |
| |
| Modules |
| ======= |
| |
| pw function |
| ----------- |
| * `Sign conversion fixes <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/171832>`__ |
| (issue `#301079199 <https://issues.pigweed.dev/issues/301079199>`__) |
| |
| pw perf_test |
| ------------ |
| * `Sign conversion fixes <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/171832>`__ |
| (issue `#301079199 <https://issues.pigweed.dev/issues/301079199>`__) |
| |
| pw_analog |
| --------- |
| * `Migrate AnalogInput to Doxygen <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/170511>`__ |
| (issue `#299147635 <https://issues.pigweed.dev/issues/299147635>`__) |
| |
| pw_async |
| -------- |
| The ``Run*()`` methods of ``FakeDispatcher`` now return a boolean that indicates |
| whether any tasks were invoked. |
| |
| * `Return bool from FakeDispatcher Run*() methods <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/170599>`__ |
| |
| pw_async_basic |
| -------------- |
| ``release()`` is now only called outside of locked contexts to prevent an |
| issue where the thread wakes up and then immediately goes back to sleep. |
| An unnecessary 5-second wakeup has been removed from ``BasicDispatcher``. |
| |
| * `release outside of lock context <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/171103>`__ |
| * `Remove unnecessary 5-second wakeup <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/171102>`__ |
| |
| pw_base64 |
| --------- |
| The new ``pw::base64::IsValidChar()`` method can help you determine if a |
| character is valid Base64. |
| |
| * `Add base64 detokenizer handler <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/165010>`__ |
| |
| pw_bluetooth |
| ------------ |
| More :ref:`Emboss <module-pw_third_party_emboss>` definitions were added. |
| |
| * `Add ReadLocalSupportedCommandsCommandCompleteEvent Emboss <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/169877>`__ |
| * `Add LEReadLocalSupportedFeaturesCommandCompleteEvent <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/169931>`__ |
| * `Add ReadBufferSizeCommandComplete Emboss definition <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/169869>`__ |
| * `Add ReadBdAddrCommandCompleteEvent Emboss definition <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/170052>`__ |
| * `Add ReadLocalVersionInfoCommandCompleteEvent Emboss def <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/169951>`__ |
| * `Add LELongTermKeyRequestSubevent Emboss definition <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/169950>`__ |
| * `Add UserPasskeyNotificationEvent Emboss definition <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/169917>`__ |
| |
| pw_build |
| -------- |
| * `Apply -Wextra-semi to C code as well as C++ <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/172372>`__ |
| |
| pw_bytes |
| -------- |
| The ``AlignDown()``, ``AlignUp()``, and ``Padding()`` methods of ``pw_kvs`` |
| have moved to ``pw_bytes`` to enable ``pw_allocator`` to use them without |
| taking a dependency on ``pw_kvs``. |
| |
| * `Move Align functions from pw_kvs <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/171831>`__ |
| |
| pw_checksum |
| ----------- |
| * `Sign conversion fixes <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/171832>`__ |
| (issue `#301079199 <https://issues.pigweed.dev/issues/301079199>`__) |
| |
| pw_chre |
| ------- |
| The implementation of a module that will enable to work more seamlessly with |
| Android's `Context Hub Runtime Environment <https://source.android.com/docs/core/interaction/contexthub>`__ |
| has begun. |
| |
| * `Update bug numbers <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/172330>`__ |
| * `Minor fixes <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/171851>`__ |
| (issue `#301079509 <https://issues.pigweed.dev/issues/301079509>`__) |
| * `Fix build rules to use paramertized paths <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/171850>`__ |
| (issue `#298474212 <https://issues.pigweed.dev/issues/298474212>`__) |
| * `Split out shared_platform <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/170791>`__ |
| * `Write our own version.cc <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/170790>`__ |
| (issue `#300633363 <https://issues.pigweed.dev/issues/300633363>`__) |
| * `Add barebones CHRE <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/162510>`__ |
| (issue `#294106526 <https://issues.pigweed.dev/issues/294106526>`__) |
| |
| pw_console |
| ---------- |
| When invoking ``pw_console`` directly from Python, you can now provide arguments |
| through an ``argparse.Namespace`` instead of messing with ``sys.argv`` or forking |
| another process. |
| |
| * `Allow injecting args via Python call <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/172414>`__ |
| |
| pw_containers |
| ------------- |
| `MemorySanitizer <https://github.com/google/sanitizers/wiki/MemorySanitizer>`__ has |
| been disabled in some of the ``InlineDeque`` implementation to prevent some false |
| positive detections of uninitialized memory reads. |
| |
| * `Silence MSAN false positives <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/171990>`__ |
| |
| pw_env_setup |
| ------------ |
| Work continues on making the Windows bootstrap process more robust. |
| |
| * `Better highlight bootstrap failure <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/172415>`__ |
| * `Fix double bootstrap.bat failures on Windows <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/172410>`__ |
| (issue `#300992566 <https://issues.pigweed.dev/issues/300992566>`__) |
| * `Enable overriding Clang CIPD version <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/171838>`__ |
| * `PyPI version bump to 0.0.15 <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/171836>`__ |
| * `Add relative_pigweed_root to pigweed.json <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/171218>`__ |
| (issue `#300632028 <https://issues.pigweed.dev/issues/300632028>`__) |
| * `Roll cipd to 0f08b927516 <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/170452>`__ |
| |
| pw_function |
| ----------- |
| The documentation has been updated for accuracy. |
| |
| * `Update config.h comments <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/171250>`__ |
| * `Add configurable Allocator default <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/171130>`__ |
| * `Update example to match guidelines for parameters <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/170651>`__ |
| * `Add Allocator injection <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/170190>`__ |
| |
| pw_fuzzer |
| --------- |
| Conditional logic around fuzzing support has been refactored to allow for |
| dedicated targets based on specific conditions and to make it clearer |
| exactly what configurations and dependencies are being used. |
| |
| * `Refactor conditional GN targets <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/169712>`__ |
| |
| pw_ide |
| ------ |
| * `Reformat json files <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/172310>`__ |
| * `Fix clangd path on Windows <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/171099>`__ |
| * `Move VSC extension into npm package dir <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/170995>`__ |
| |
| pw_libc |
| ------- |
| The initial implementation work continues. |
| |
| * `Pull in 'abort' <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/138518>`__ |
| * `Use .test convention <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/171793>`__ |
| * `Use underscore prefixed variables <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/171792>`__ |
| * `Add documentation for pw_libc_source_set <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/171693>`__ |
| * `Pull in 'gmtime' <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/137699>`__ |
| * `Fix printf for newer llvm-libc commits <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/170831>`__ |
| * `Fix llvm-libc after internal assert changes <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/168830>`__ |
| |
| pw_log |
| ------ |
| The implementation work continues to enable an Android component to read logs |
| from a component running the ``pw_log_rpc`` service. |
| |
| * `Update Android.bp to generate RPC header files <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/169530>`__ |
| (issue `#298693458 <https://issues.pigweed.dev/issues/298693458>`__) |
| |
| pw_log_string |
| ------------- |
| * `Fix the default impl to handle zero length va args <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/169975>`__ |
| |
| pw_package |
| ---------- |
| Mirrors are now being used for various third-party dependencies. |
| |
| * `Use mirror for zephyrproject-rtos/zephyr <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/170355>`__ |
| (issue `#278914999 <https://issues.pigweed.dev/issues/278914999>`__) |
| * `Use Pigweed mirror for google/emboss <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/170356>`__ |
| (issue `#278914999 <https://issues.pigweed.dev/issues/278914999>`__) |
| * `Use mirror for raspberrypi/picotool <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/170040>`__ |
| (issue `#278914999 <https://issues.pigweed.dev/issues/278914999>`__) |
| |
| pw_polyfill |
| ----------- |
| * `Increase __GNUC__ for __constinit <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/171150>`__ |
| (issue `#300478321 <https://issues.pigweed.dev/issues/300478321>`__) |
| |
| pw_presubmit |
| ------------ |
| A new JSON formatting check has been added. The missing newline check has been |
| made more robust. |
| |
| * `Add JSON formatter <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/171991>`__ |
| * `Better handling of missing newlines <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/172230>`__ |
| (issue `#301315329 <https://issues.pigweed.dev/issues/301315329>`__) |
| * `Expand Bazel parser to tests <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/171890>`__ |
| * `Remove now-unnecessary flag <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/171670>`__ |
| (issue `#271299438 <https://issues.pigweed.dev/issues/271299438>`__) |
| * `Additional functions for handling gn args <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/170594>`__ |
| * `Include bazel_build in full program <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/170056>`__ |
| |
| pw_protobuf |
| ----------- |
| * `Fix "Casting..." heading level <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/171030>`__ |
| |
| .. _docs-changelog-pw_rpc-20230922: |
| |
| pw_rpc |
| ------ |
| ``pw::rpc::SynchronousCall`` now supports the use of custom response message |
| classes that set field callbacks in their constructor. See |
| :ref:`module-pw_rpc-client-sync-call-wrappers`. |
| |
| .. todo-check: disable |
| |
| * `Refer to bug in TODO and fix format <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/172453>`__ |
| * `Support custom response messages in SynchronousCall <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/170041>`__ |
| (issue `#299920227 <https://issues.pigweed.dev/issues/299920227>`__) |
| * `Add fuzz tests <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/143474>`__ |
| |
| .. todo-check: enable |
| |
| pw_stream |
| --------- |
| * `Add Windows socket support <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/172413>`__ |
| |
| pw_string |
| --------- |
| * `Fix signed integer overflow <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/171839>`__ |
| |
| pw_system |
| --------- |
| * `Add arm_none_eabi_gcc_support <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/158730>`__ |
| |
| pw_thread |
| --------- |
| * `Fix small typo in docs <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/171750>`__ |
| |
| .. _docs-changelog-pw_tokenizer-20230922: |
| |
| pw_tokenizer |
| ------------ |
| ``pw::tokenizer::Detokenizer`` has new ``DetokenizeBase64Message()`` and |
| ``DetokenizeBase64()`` methods for detokenizing Base64-encoded strings. |
| The new ``pw_tokenizer_EncodeInt()`` and ``pw_tokenizer_EncodeInt64()`` |
| functions in the C API make it easier to manually encode tokenized messages |
| with integers from C. |
| |
| * `C++ Base64 detokenization improvements <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/171675>`__ |
| * `Add base64 detokenizer handler <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/165010>`__ |
| * `C functions for encoding arguments <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/169976>`__ |
| |
| pw_toolchain |
| ------------ |
| ``arm_gcc`` now supports Cortex-M33. |
| |
| * `Add missing objcopy tool to bazel toolchains <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/171697>`__ |
| (issue `#301004620 <https://issues.pigweed.dev/issues/301004620>`__) |
| * `Add cpu flags to asmopts as well <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/171671>`__ |
| * `Add cortex-m33 support to arm_gcc <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/171237>`__ |
| |
| pw_toolchain_bazel |
| ------------------ |
| * `Support ar opts in pw_toolchain_features <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/171673>`__ |
| * `Add cortex-m7 constraint_value <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/171071>`__ |
| (issue `#300467616 <https://issues.pigweed.dev/issues/300467616>`__) |
| |
| .. _docs-changelog-pw_varint-20230922: |
| |
| pw_varint |
| --------- |
| The C encoding functions now have an output size argument, making them much |
| easier to use. There's a new macro for calculating the encoded size of an |
| integer in a C constant expression. Incremental versions of the encode and |
| decode functions have been exposed to support in-place encoding and decoding |
| with non-contiguous buffers. |
| |
| * `C API updates <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/170050>`__ |
| |
| pw_web |
| ------ |
| The ``ProgressStats`` and ``ProgressCallback`` types are now exported. |
| Styling and scrolling behavior in the log viewer has been improved. |
| |
| * `Remove need for Buffer package in pw_hdlc <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/172377>`__ |
| * `Remove date-fns <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/172371>`__ |
| * `Export ProgressStats, ProgressCallback types <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/171707>`__ |
| * `Add back 'buffer' dependency <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/171891>`__ |
| * `NPM version bump to 0.0.13 <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/171110>`__ |
| * `Improve scrolling behavior <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/171290>`__ |
| (issue `#298097109 <https://issues.pigweed.dev/issues/298097109>`__) |
| * `Fix leading white spaces, scrollbar size, and filters in quotes <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/170811>`__ |
| * `NPM version bump to 0.0.12 <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/170597>`__ |
| * `Fix column sizing & toggling, update UI <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/169591>`__ |
| * `Replace Map() with object in proto collection <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/170493>`__ |
| |
| pw_work_queue |
| ------------- |
| * `Don't lock around work_notification_ <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/170450>`__ |
| * `Migrate API reference to Doxygen <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/169830>`__ |
| (issue `#299147635 <https://issues.pigweed.dev/issues/299147635>`__) |
| |
| Build |
| ===== |
| * `Update Android.bp <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/171510>`__ |
| |
| Bazel |
| ----- |
| * `Add platform-printing aspect <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/122974>`__ |
| * `Retire pigweed_config (part 2) <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/170058>`__ |
| (issue `#291106264 <https://issues.pigweed.dev/issues/291106264>`__) |
| * `Retire pigweed_config (part 1) <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/168721>`__ |
| (issue `#291106264 <https://issues.pigweed.dev/issues/291106264>`__) |
| * `Remove -Wno-private-header from copts <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/170951>`__ |
| (issue `#240466562 <https://issues.pigweed.dev/issues/240466562>`__) |
| * `Remove bazelembedded dependency <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/170650>`__ |
| (issue `#297239780 <https://issues.pigweed.dev/issues/297239780>`__) |
| * `Move cxxopts out of bazelrc <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/170639>`__ |
| (issue `#269195628 <https://issues.pigweed.dev/issues/269195628>`__) |
| * `Use the same clang version as in GN <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/170638>`__ |
| * `Arm gcc configuration <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/168192>`__ |
| (issue `#297239780 <https://issues.pigweed.dev/issues/297239780>`__) |
| |
| Targets |
| ======= |
| * `Fix pico_sdk elf2uf2 on Windows <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/170770>`__ |
| * `Add pw_strict_host_clang_debug_dynamic_allocation tc <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/171674>`__ |
| |
| Docs |
| ==== |
| The new :ref:`docs-code_reviews` document outlines the upstream Pigweed code |
| review process. |
| |
| * `Add Doxygen @endcode guidance <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/172470>`__ |
| * `Clean up remaining instances of code:: <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/172050>`__ |
| (issue `#300317685 <https://issues.pigweed.dev/issues/300317685>`__) |
| * `Document code review process <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/171774>`__ |
| * `Add link to in-progress hardware targets <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/171239>`__ |
| * `Fix link title for pw_log <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/170670>`__ |
| * `Update changelog <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/170055>`__ |
| (issue `#292247409 <https://issues.pigweed.dev/issues/292247409>`__) |
| |
| SEEDs |
| ===== |
| * `Update process document <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/170390>`__ |
| * (SEED-0104) `Display Support <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/150793>`__ |
| * (SEED-0109) `Make link externally accessible <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/170043>`__ |
| * (SEED-0110) `Claim SEED number <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/170038>`__ |
| * (SEED-0111) `Claim SEED number <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/171672>`__ |
| * (SEED-0112) `Claim SEED number <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/168359>`__ |
| |
| Third party |
| =========== |
| * `Add public configs for FuzzTest deps <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/169711>`__ |
| |
| third_party/fuchsia |
| ------------------- |
| * `Copybara import <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/171010>`__ |
| * `Update patch script and patch <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/170890>`__ |
| * `Update patch <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/170794>`__ |
| * `Support specifying the Fuchsia repo to use <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/170170>`__ |
| |
| third_party/pico_sdk |
| -------------------- |
| * `Selectively disable elf2uf2 warnings <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/171072>`__ |
| (issue `#300474559 <https://issues.pigweed.dev/issues/300474559>`__) |
| * `Fix multicore source filename <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/170330>`__ |
| |
| Miscellaneous |
| ============= |
| .. todo-check: disable |
| |
| * `Use new TODO style <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/170730>`__ |
| * `Add toolchain team members <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/172170>`__ |
| * `Fix double bootstrap.bat failures on Windows" <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/172410>`__ |
| (issue `#300992566 <https://issues.pigweed.dev/issues/300992566>`__) |
| |
| .. todo-check: enable |
| |
| ----------- |
| Sep 8, 2023 |
| ----------- |
| Highlights (Aug 25, 2023 to Sep 8, 2023): |
| |
| * SEED :ref:`seed-0107` has been approved! Pigweed will adopt a new sockets API as |
| its primary networking abstraction. The sockets API will be backed by a new, |
| lightweight embedded-focused network protocol stack inspired by TCP/IP. |
| * SEED :ref:`seed-0108` has also been approved! Coming soon, the new ``pw_emu`` |
| module will make it easier to work with emulators. |
| |
| Active SEEDs |
| ============ |
| Help shape the future of Pigweed! Please leave feedback on the following active RFCs (SEEDs): |
| |
| * `SEED-0103: pw_protobuf Object Model <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/133971>`__ |
| * `SEED-0104: display support <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/150793>`__ |
| * `SEED-0105: Add nested tokens and tokenized args to pw_tokenizer and pw_log <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/154190>`__ |
| * `SEED-0106: Project Template <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/155430>`__ |
| * `SEED-0109: Communication Buffers <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/168357>`__ |
| |
| Modules |
| ======= |
| |
| pw_assert |
| --------- |
| We fixed circular dependencies in Bazel. |
| |
| * `Remove placeholder target <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/168844>`__ |
| * `Fix Bazel circular deps <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/160794>`__ |
| (issue `#234877642 <https://issues.pigweed.dev/issues/234877642>`__) |
| * `Introduce pw_assert_backend_impl <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/168774>`__ |
| (issue `#234877642 <https://issues.pigweed.dev/issues/234877642>`__) |
| |
| pw_bluetooth |
| ------------ |
| We added :ref:`Emboss <module-pw_third_party_emboss>` definitions. |
| |
| * `Add SimplePairingCompleteEvent Emboss definition <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/169916>`__ |
| * `Add UserPasskeyRequestEvent Emboss definition <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/169912>`__ |
| * `Add UserConfirmationRequestEvent Emboss definition <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/169871>`__ |
| * `Use hci.LinkKey in LinkKeyNotificationEvent.link_key <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/168858>`__ |
| * `Add IoCapabilityResponseEvent Emboss definition <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/168354>`__ |
| * `Add IoCapabilityRequestEvent Emboss definition <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/168353>`__ |
| * `Add EncryptionKeyRefreshCompleteEvent Emboss definition <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/168331>`__ |
| * `Add ExtendedInquiryResultEvent Emboss definition <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/168330>`__ |
| |
| pw_build |
| -------- |
| * `Force watch and default recipe names <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/169911>`__ |
| |
| pw_build_mcuxpresso |
| ------------------- |
| * `Output formatted bazel target <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/169740>`__ |
| |
| pw_cpu_exception |
| ---------------- |
| We added Bazel support. |
| |
| * `bazel build support <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/169733>`__ |
| (issue `#242183021 <https://issues.pigweed.dev/issues/242183021>`__) |
| |
| pw_crypto |
| --------- |
| The complete ``pw_crypto`` API reference is now documented on :ref:`module-pw_crypto`. |
| |
| * `Add API reference <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/169572>`__ |
| (issue `#299147635 <https://issues.pigweed.dev/issues/299147635>`__) |
| |
| pw_env_setup |
| ------------ |
| Banners should not print correctly on Windows. |
| |
| * `Add i2c protos to python deps <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/169231>`__ |
| * `Fix banner printing on Windows <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/169172>`__ |
| (issue `#289008307 <https://issues.pigweed.dev/issues/289008307>`__) |
| |
| pw_file |
| ------- |
| * `Add pw_file python package <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/168831>`__ |
| |
| pw_function |
| ----------- |
| The :cpp:func:`pw::bind_member()` template is now exposed in the public API. |
| ``bind_member()`` is useful for binding the ``this`` argument of a callable. |
| We added a section to the docs explaining :ref:`why pw::Function is not a |
| literal <module-pw_function-non-literal>`. |
| |
| * `Explain non-literal design rationale <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/168777>`__ |
| * `Expose \`bind_member\` <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/169123>`__ |
| |
| pw_fuzzer |
| --------- |
| We refactored ``pw_fuzzer`` logic to be more robust and expanded the |
| :ref:`module-pw_fuzzer-guides-reproducing_oss_fuzz_bugs` doc. |
| |
| * `Refactor OSS-Fuzz support <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/167348>`__ |
| (issue `#56955 <https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=56955>`__) |
| |
| pw_i2c |
| ------ |
| * `Use new k{FieldName}MaxSize constants to get buffer size <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/168913>`__ |
| |
| pw_kvs |
| ------ |
| We are discouraging the use of the shorter macros because they collide with |
| Abseil's logging API. |
| |
| * `Remove usage of pw_log/shorter.h API <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/169920>`__ |
| (issue `#299520256 <https://issues.pigweed.dev/issues/299520256>`__) |
| |
| pw_libc |
| ------- |
| ``snprintf()`` support was added. |
| |
| * `Import LLVM libc's snprintf <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/137735>`__ |
| |
| pw_log_string |
| ------------- |
| We added more detail to :ref:`module-pw_log_string`. |
| |
| * `Fix the default impl to handle zero length va args <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/169975>`__ |
| * `Provide more detail in the getting started docs <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/168934>`__ |
| (issue `#298124226 <https://issues.pigweed.dev/issues/298124226>`__) |
| |
| pw_log_zephyr |
| ------------- |
| It's now possible to define ``pw_log_tokenized_HandleLog()`` outside of Pigweed |
| so that Zephyr projects have more flexibility around how they capture tokenized |
| logs. |
| |
| * `Split tokenize handler into its own config <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/168612>`__ |
| |
| pw_package |
| ---------- |
| * `Handle failed cipd acl checks <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/168530>`__ |
| |
| pw_persistent_ram |
| ----------------- |
| * `Add persistent_buffer flat_file_system_entry <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/168832>`__ |
| |
| pw_presubmit |
| ------------ |
| We added a reStructuredText formatter. |
| |
| * `Make builds_from_previous_iteration ints <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/169721>`__ |
| (issue `#299336222 <https://issues.pigweed.dev/issues/299336222>`__) |
| * `Move colorize_diff to tools <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/168839>`__ |
| * `RST formatting <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/168541>`__ |
| |
| pw_protobuf |
| ----------- |
| ``max_size`` and ``max_count`` are now exposed in generated headers. |
| The new ``proto_message_field_props()`` helper function makes it easier to |
| iterate through a messages fields and properties. |
| |
| * `Expose max_size, max_count in generated header file <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/168973>`__ |
| (issue `#297364973 <https://issues.pigweed.dev/issues/297364973>`__) |
| * `Introduce proto_message_field_props() <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/168972>`__ |
| * `Change PROTO_FIELD_PROPERTIES to a dict of classes <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/168971>`__ |
| * `Rename 'node' to 'message' in forward_declare() <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/168970>`__ |
| * `Simplify unnecessary Tuple return type <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/168910>`__ |
| |
| pw_random |
| --------- |
| We're now auto-generating the ``XorShiftStarRng64`` API reference via Doxygen. |
| |
| * `Doxygenify xor_shift.h <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/164510>`__ |
| |
| pw_rpc |
| ------ |
| The new ``request_completion()`` method in Python enables you to send a |
| completion packet for server streaming calls. |
| |
| * `Add request_completion to ServerStreamingCall python API <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/168439>`__ |
| |
| pw_spi |
| ------ |
| * `Fix Responder.SetCompletionHandler() signature <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/169130>`__ |
| |
| pw_symbolizer |
| ------------- |
| The ``LlvmSymbolizer`` Python class has a new ``close()`` method to |
| deterministically close the background process. |
| |
| * `LlvmSymbolizer tool improvement <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/168863>`__ |
| |
| pw_sync |
| ------- |
| We added :ref:`module-pw_sync-genericbasiclockable`. |
| |
| * `Add GenericBasicLockable <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/165930>`__ |
| |
| pw_system |
| --------- |
| ``pw_system`` now supports different channels for primary and logging RPC. |
| |
| * `Multi-channel configuration <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/167158>`__ |
| (issue `#297076185 <https://issues.pigweed.dev/issues/297076185>`__) |
| |
| pw_thread_freertos |
| ------------------ |
| * `Add missing dep to library <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/169239>`__ |
| |
| pw_tokenizer |
| ------------ |
| We added :c:macro:`PW_TOKENIZE_FORMAT_STRING_ANY_ARG_COUNT` and |
| :c:macro:`PW_TOKENIZER_REPLACE_FORMAT_STRING`. We refactored the docs |
| so that you don't have to jump around the docs as much when learning about |
| key topics like tokenization and token databases. Database loads now happen |
| in a separate thread to avoid blocking the main thread. Change detection for |
| directory databases now works more as expected. The config API is now exposed |
| in the API reference. |
| |
| * `Remove some unused deps <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/169573>`__ |
| * `Simplify implementing a custom tokenization macro <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/169121>`__ |
| * `Refactor the docs to be task-focused <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/169124>`__ |
| * `Reload database in dedicated thread <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/168866>`__ |
| * `Combine duplicated docs sections <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/168865>`__ |
| * `Support change detection for directory dbs <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/168630>`__ |
| * `Move config value check to .cc file <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/168615>`__ |
| |
| pw_unit_test |
| ------------ |
| We added ``testing::Test::HasFailure()``, ``FRIEND_TEST``, and ``<<`` messages |
| to improve gTest compatibility. |
| |
| * `Add testing::Test::HasFailure() <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/168810>`__ |
| * `Add FRIEND_TEST <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/169270>`__ |
| * `Allow <<-style messages in test expectations <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/168860>`__ |
| |
| pw_varint |
| --------- |
| ``pw_varint`` now has a :ref:`C-only API <module-pw_varint-api-c>`. |
| |
| * `Add C-only implementation; cleanup <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/169122>`__ |
| |
| pw_web |
| ------ |
| Logs can now be downloaded as plaintext. |
| |
| * `Fix TypeScript errors in Device files <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/169930>`__ |
| * `Json Log Source example <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/169176>`__ |
| * `Enable downloading logs as plain text <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/168130>`__ |
| * `Fix UI/state bugs <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/167911>`__ |
| * `NPM version bump to 0.0.11 <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/168591>`__ |
| * `Add basic bundling tests for log viewer bundle <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/168539>`__ |
| |
| Build |
| ===== |
| |
| Bazel |
| ----- |
| * `Fix alwayslink support in MacOS host_clang <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/168614>`__ |
| (issue `#297413805 <https://issues.pigweed.dev/issues/297413805>`__) |
| * `Fix lint issues after roll <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/169611>`__ |
| |
| Docs |
| ==== |
| * `Fix broken links <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/169579>`__ |
| (issue `#299181944 <https://issues.pigweed.dev/issues/299181944>`__) |
| * `Recommend enabling long file paths on Windows <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/169578>`__ |
| * `Update Windows command for git hook <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/168592>`__ |
| * `Fix main content scrolling <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/168555>`__ |
| (issue `#297384789 <https://issues.pigweed.dev/issues/297384789>`__) |
| * `Update changelog <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/168540>`__ |
| (issue `#292247409 <https://issues.pigweed.dev/issues/292247409>`__) |
| * `Use code-block:: instead of code:: everywhere <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/168617>`__ |
| * `Add function signature line breaks <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/168554>`__ |
| * `Cleanup indentation <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/168537>`__ |
| |
| SEEDs |
| ===== |
| * `SEED-0108: Emulators Frontend <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/158190>`__ |
| |
| Third party |
| =========== |
| * `Add public configs for FuzzTest deps <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/169711>`__ |
| * `Reconfigure deps & add cflags to config <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/152691>`__ |
| |
| Miscellaneous |
| ============= |
| * `Fix formatting with new clang version <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/169078>`__ |
| |
| mimxrt595_evk_freertos |
| ---------------------- |
| * `Use config_assert helper <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/160378>`__ |
| |
| ------------ |
| Aug 25, 2023 |
| ------------ |
| Highlights (Aug 11, 2023 to Aug 25, 2023): |
| |
| * ``pw_tokenizer`` now has Rust support. |
| * The ``pw_web`` log viewer now has advanced filtering and a jump-to-bottom |
| button. |
| * The ``run_tests()`` method of ``pw_unit_test`` now returns a new |
| ``TestRecord`` dataclass which provides more detailed information |
| about the test run. |
| * A new Ambiq Apollo4 target that uses the Ambiq Suite SDK and FreeRTOS |
| has been added. |
| |
| Active SEEDs |
| ============ |
| Help shape the future of Pigweed! Please leave feedback on the following active RFCs (SEEDs): |
| |
| * `SEED-0103: pw_protobuf Object Model <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/133971>`__ |
| * `SEED-0104: display support <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/150793>`__ |
| * `SEED-0105: Add nested tokens and tokenized args to pw_tokenizer and pw_log <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/154190>`__ |
| * `SEED-0106: Project Template <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/155430>`__ |
| * `SEED-0108: Emulators Frontend <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/158190>`__ |
| |
| Modules |
| ======= |
| |
| pw_bloat |
| -------- |
| * `Fix typo in method name <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/166832>`__ |
| |
| pw_bluetooth |
| ------------ |
| The :ref:`module-pw_third_party_emboss` files were refactored. |
| |
| * `Add SynchronousConnectionCompleteEvent Emboss definition <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/167862>`__ |
| * `Add all Emboss headers/deps to emboss_test & fix errors <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/168355>`__ |
| * `Add InquiryResultWithRssiEvent Emboss definition <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/167859>`__ |
| * `Add DataBufferOverflowEvent Emboss definition <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/167858>`__ |
| * `Add LinkKeyNotificationEvent Emboss definition <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/167855>`__ |
| * `Add LinkKeyRequestEvent emboss definition <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/167349>`__ |
| * `Remove unused hci emboss files <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/167090>`__ |
| * `Add RoleChangeEvent emboss definition <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/167230>`__ |
| * `Add missing test dependency <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/167130>`__ |
| * `Add new hci subset files <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/166730>`__ |
| |
| pw_build |
| -------- |
| The ``pw_build`` docs were split up so that each build system has its own page |
| now. The new ``output_logs`` flag enables you to not output logs for ``pw_python_venv``. |
| |
| * `Handle read-only files when deleting venvs <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/167863>`__ |
| * `Split build system docs into separate pages <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/165071>`__ |
| * `Use pw_toolchain_clang_tools <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/167671>`__ |
| * `Add missing pw_linker_script flag <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/167632>`__ |
| (issue `#296928739 <https://issues.pigweed.dev/issues/296928739>`__) |
| * `Fix output_logs_ unused warning <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/166991>`__ |
| (issue `#295524695 <https://issues.pigweed.dev/issues/295524695>`__) |
| * `Don't include compile cmds when preprocessing ldscripts <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/166490>`__ |
| * `Add pw_python_venv.output_logs <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/165330>`__ |
| (issue `#295524695 <https://issues.pigweed.dev/issues/295524695>`__) |
| * `Increase size of test linker script memory region <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/164823>`__ |
| * `Add integration test metadata <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/154553>`__ |
| |
| pw_cli |
| ------ |
| * `Default change pw_protobuf default <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/126806>`__ |
| (issue `#266298474 <https://issues.pigweed.dev/issues/266298474>`__) |
| |
| pw_console |
| ---------- |
| * `Update web viewer to use pigweedjs <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/162995>`__ |
| |
| pw_containers |
| ------------- |
| * `Silence MSAN false positive in pw::Vector <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/167111>`__ |
| |
| pw_docgen |
| --------- |
| Docs builds should be faster now because Sphinx has been configured to use |
| all available cores. |
| |
| * `Remove top nav bar <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/168446>`__ |
| * `Parallelize Sphinx <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/164738>`__ |
| |
| pw_env_setup |
| ------------ |
| Sphinx was updated from v5.3.0 to v7.1.2. We switched back to the upstream Furo |
| theme and updated to v2023.8.19. The content of ``pigweed_environment.gni`` now |
| gets logged. There was an update to ensure that ``arm-none-eabi-gdb`` errors |
| propagate correctly. There is now a way to override Bazel build files for CIPD |
| repos. |
| |
| * `Upgrade sphinx and dependencies for docs <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/168431>`__ |
| * `Upgrade sphinx-design <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/168339>`__ |
| * `Copy pigweed_environment.gni to logs <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/167850>`__ |
| * `arm-gdb: propagate errors <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/165411>`__ |
| * `arm-gdb: exclude %VIRTUAL_ENV%\Scripts from search paths <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/164370>`__ |
| * `Add ability to override bazel BUILD file for CIPD repos <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/165530>`__ |
| |
| pw_function |
| ----------- |
| * `Rename template parameter <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/168334>`__ |
| |
| pw_fuzzer |
| --------- |
| * `Add test metadata <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/154555>`__ |
| |
| pw_hdlc |
| ------- |
| A new ``close()`` method was added to ``HdlcRpcClient`` to signal to the thread |
| to stop. |
| |
| * `Use explicit logger name <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/166591>`__ |
| * `Mitigate errors on Python background thread <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/162712>`__ |
| (issue `#293595266 <https://issues.pigweed.dev/issues/293595266>`__) |
| |
| pw_ide |
| ------ |
| A new ``--install-editable`` flag was added to install Pigweed Python modules |
| in editable mode so that code changes are instantly realized. |
| |
| * `Add cmd to install Py packages as editable <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/163572>`__ |
| * `Make VSC extension run on older versions <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/167054>`__ |
| |
| pw_perf_test |
| ------------ |
| * `Add test metadata <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/154554>`__ |
| |
| pw_presubmit |
| ------------ |
| ``pw_presubmit`` now has an ESLint check for linting and a Prettier check for |
| formatting JavaScript and TypeScript files. |
| |
| * `Add msan to OTHER_CHECKS <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/168325>`__ |
| (issue `#234876100 <https://issues.pigweed.dev/issues/234876100>`__) |
| * `Upstream constraint file output fix <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/166270>`__ |
| * `JavaScript and TypeScript lint check <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/165410>`__ |
| * `Apply TypeScript formatting <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/164825>`__ |
| * `Use prettier for JS and TS files <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/165390>`__ |
| |
| pw_rpc |
| ------ |
| A ``request_completion()`` method was added to the ``ServerStreamingCall`` |
| Python API. A bug was fixed related to encoding failures when dynamic buffers |
| are enabled. |
| |
| * `Add request_completion to ServerStreamingCall python API <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/168439>`__ |
| * `Various small enhancements <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/167162>`__ |
| * `Remove deprecated method from Service <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/165510>`__ |
| * `Prevent encoding failure when dynamic buffer enabled <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/166833>`__ |
| (issue `#269633514 <https://issues.pigweed.dev/issues/269633514>`__) |
| |
| pw_rpc_transport |
| ---------------- |
| * `Add simple_framing Soong rule <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/165350>`__ |
| |
| pw_rust |
| ------- |
| * `Update rules_rust to 0.26.0 <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/166831>`__ |
| |
| pw_stm32cube_build |
| ------------------ |
| * `Windows path fixes <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/167865>`__ |
| |
| pw_stream |
| --------- |
| Error codes were updated to be more accurate and descriptive. |
| |
| * `Use more appropriate error codes for Cursor <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/164592>`__ |
| |
| pw_stream_uart_linux |
| -------------------- |
| Common baud rates such as ``9600``, ``19200``, and so on are now supported. |
| |
| * `Add support for baud rates other than 115200 <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/165070>`__ |
| |
| pw_sync |
| ------- |
| Tests were added to make sure that ``pw::sync::Borrowable`` works with lock |
| annotations. |
| |
| * `Test Borrowable with Mutex, TimedMutex, and InterruptSpinLock <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/153575>`__ |
| (issue `#261078330 <https://issues.pigweed.dev/issues/261078330>`__) |
| |
| pw_system |
| --------- |
| The ``pw_system.device.Device`` Python class can now be used as a |
| `context manager <https://realpython.com/python-with-statement/>`_. |
| |
| * `Make pw_system.device.Device a context manager <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/163410>`__ |
| |
| pw_tokenizer |
| ------------ |
| ``pw_tokenizer`` now has Rust support. The ``pw_tokenizer`` C++ config API |
| is now documented at :ref:`module-pw_tokenizer-api-configuration` and |
| the C++ token database API is now documented at |
| :ref:`module-pw_tokenizer-api-token-databases`. When creating a token |
| database, parent directories are now automatically created if they don't |
| already exist. ``PrefixedMessageDecoder`` has been renamed to |
| ``NestedMessageDecoder``. |
| |
| * `Move config value check to .cc file <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/168615>`__ |
| * `Create parent directory as needed <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/168510>`__ |
| * `Rework pw_tokenizer.detokenize.PrefixedMessageDecoder <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/167150>`__ |
| * `Minor binary database improvements <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/167053>`__ |
| * `Update binary DB docs and convert to Doxygen <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/163570>`__ |
| * `Deprecate tokenizer buffer size config <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/163257>`__ |
| * `Fix instance of -Wconstant-logical-operand <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/166731>`__ |
| * `Add Rust support <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/145389>`__ |
| |
| pw_toolchain |
| ------------ |
| A new Linux host toolchain built using ``pw_toolchain_bazel`` has been |
| started. CIPD-provided Rust toolchains are now being used. |
| |
| * `Link against system libraries using libs not ldflags <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/151050>`__ |
| * `Use %package% for cxx_builtin_include_directories <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/168340>`__ |
| * `Extend documentation for tool prefixes <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/167633>`__ |
| * `Add Linux host toolchain <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/164824>`__ |
| (issue `#269204725 <https://issues.pigweed.dev/issues/269204725>`__) |
| * `Use CIPD provided Rust toolchains <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/166852>`__ |
| * `Switch macOS to use builtin_sysroot <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/165414>`__ |
| * `Add cmake helpers for getting clang compile+link flags <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/163811>`__ |
| |
| pw_unit_test |
| ------------ |
| ``run_tests()`` now returns the new ``TestRecord`` dataclass which provides |
| more detailed information about the test run. ``SetUpTestSuit()`` and |
| ``TearDownTestSuite()`` were added to improve GoogleTest compatibility. |
| |
| * `Add TestRecord of Test Results <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/166273>`__ |
| * `Reset static value before running tests <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/166590>`__ |
| (issue `#296157327 <https://issues.pigweed.dev/issues/296157327>`__) |
| * `Add per-fixture setup/teardown <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/165210>`__ |
| |
| pw_web |
| ------ |
| Log viewers are now drawn every 100 milliseconds at most to prevent crashes |
| when many logs arrive simultaneously. The log viewer now has a jump-to-bottom |
| button. Advanced filtering has been added. |
| |
| * `NPM version bump to 0.0.11 <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/168591>`__ |
| * `Add basic bundling tests for log viewer bundle <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/168539>`__ |
| * `Limit LogViewer redraws to 100ms <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/167852>`__ |
| * `Add jump to bottom button, fix UI bugs and fix state bugs <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/164272>`__ |
| * `Implement advanced filtering <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/162070>`__ |
| * `Remove object-path dependency from Device API <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/165013>`__ |
| * `Log viewer toolbar button toggle style <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/165412>`__ |
| * `Log-viewer line wrap toggle <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/164010>`__ |
| |
| Targets |
| ======= |
| |
| targets |
| ------- |
| A new Ambiq Apollo4 target that uses the Ambiq Suite SDK and FreeRTOS |
| has been added. |
| |
| * `Ambiq Apollo4 support <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/129490>`__ |
| |
| Language support |
| ================ |
| |
| Python |
| ------ |
| * `Upgrade mypy to 1.5.0 <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/166272>`__ |
| * `Upgrade pylint to 2.17.5 <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/166271>`__ |
| |
| Docs |
| ==== |
| Doxygen-generated function signatures now present each argument on a separate |
| line. Tabbed content looks visually different than before. |
| |
| * `Use code-block:: instead of code:: everywhere <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/168617>`__ |
| * `Add function signature line breaks <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/168554>`__ |
| * `Cleanup indentation <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/168537>`__ |
| * `Remove unused myst-parser <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/168392>`__ |
| * `Use sphinx-design for tabbed content <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/168341>`__ |
| * `Update changelog <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/164810>`__ |
| |
| SEEDs |
| ===== |
| :ref:`SEED-0107 (Pigweed Communications) <seed-0107>` was accepted and |
| SEED-0109 (Communication Buffers) was started. |
| |
| * `Update protobuf SEED title in index <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/166470>`__ |
| * `Update status to Accepted <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/167770>`__ |
| * `Pigweed communications <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/157090>`__ |
| * `Claim SEED number <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/168358>`__ |
| |
| Miscellaneous |
| ============= |
| |
| Build |
| ----- |
| * `Make it possible to run MSAN in GN <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/167112>`__ |
| |
| soong |
| ----- |
| * `Remove host/vendor properties from defaults <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/165270>`__ |
| |
| ------------ |
| Aug 11, 2023 |
| ------------ |
| Highlights (Jul 27, 2023 to Aug 11, 2023): |
| |
| * We're prototyping a Pigweed extension for VS Code. Learn more at |
| :ref:`docs-editors`. |
| * We added ``pw_toolchain_bazel``, a new LLVM toolchain for building with |
| Bazel on macOS. |
| * We are working on many docs improvements in parallel: auto-generating ``rustdocs`` |
| for modules that support Rust |
| (`example <https://pigweed.dev/rustdoc/pw_varint/>`_), refactoring the |
| :ref:`module-pw_tokenizer` docs, migrating API references to Doxygen, |
| fixing `longstanding docs site UI issues <https://issues.pigweed.dev/issues/292273650>`_, |
| and more. |
| |
| Active SEEDs |
| ============ |
| Help shape the future of Pigweed! Please leave feedback on the following active RFCs (SEEDs): |
| |
| * `SEED-0103: pw_protobuf Object Model <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/133971>`__ |
| * `SEED-0104: display support <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/150793>`__ |
| * `SEED-0105: Add nested tokens and tokenized args to pw_tokenizer and pw_log <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/154190>`__ |
| * `SEED-0106: Project Template <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/155430>`__ |
| * `SEED-0107: Pigweed communications <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/157090>`__ |
| * `SEED-0108: Emulators Frontend <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/158190>`__ |
| |
| Modules |
| ======= |
| |
| pw_alignment |
| ------------ |
| * `Fix typos <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/163250>`__ |
| |
| pw_analog |
| --------- |
| Long-term, all of our API references will be generated from header comments via |
| Doxygen. Short-term, we are starting to show header files directly within the |
| docs as a stopgap solution for helping Pigweed users get a sense of each |
| module's API. See :ref:`module-pw_analog` for an example. |
| |
| * `Include header files as stopgap API reference <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/161491>`__ |
| (issue `#293895312 <https://issues.pigweed.dev/issues/293895312>`__) |
| |
| pw_base64 |
| --------- |
| We finished migrating the ``pw_random`` API reference to Doxygen. |
| |
| * `Finish Doxygenifying the API reference <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/162911>`__ |
| * `Doxygenify the Encode() functions <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/156532>`__ |
| |
| pw_boot_cortex_m |
| ---------------- |
| * `Allow explict target name <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/159790>`__ |
| |
| pw_build |
| -------- |
| We added a ``log_build_steps`` option to ``ProjectBuilder`` that enables you |
| to log all build step lines to your screen and logfiles. |
| |
| * `Handle ProcessLookupError exceptions <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/163710>`__ |
| * `ProjectBuilder log build steps option <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/162931>`__ |
| * `Fix progress bar clear <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/160791>`__ |
| |
| pw_cli |
| ------ |
| We polished tab completion support. |
| |
| * `Zsh shell completion autoload <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/160796>`__ |
| * `Make pw_cli tab completion reusable <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/160379>`__ |
| |
| pw_console |
| ---------- |
| We made copy-to-clipboard functionality more robust when running ``pw_console`` |
| over SSH. |
| |
| * `Set clipboard fallback methods <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/150238>`__ |
| |
| pw_containers |
| ------------- |
| We updated :cpp:class:`filteredview` constructors and migrated the |
| ``FilteredView`` API reference to Doxygen. |
| |
| * `Doxygenify pw::containers::FilteredView <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/160373>`__ |
| * `Support copying the FilteredView predicate <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/160372>`__ |
| |
| pw_docgen |
| --------- |
| At the top of pages like :ref:`module-pw_tokenizer` there is a UI widget that |
| provides information about the module. Previously, this UI widget had links |
| to all the module's docs. This is no longer needed now that the site nav |
| automatically scrolls to the page you're on, which allows you to see the |
| module's other docs. |
| |
| * `Remove the navbar from the module docs header widget <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/162991>`__ |
| (issue `#292273650 <https://issues.pigweed.dev/issues/292273650>`__) |
| |
| pw_env_setup |
| ------------ |
| We made Python setup more flexible. |
| |
| * `Add clang_next.json <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/163810>`__ |
| (issue `#295020927 <https://issues.pigweed.dev/issues/295020927>`__) |
| * `Pip installs from CIPD <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/162093>`__ |
| * `Include Python packages from CIPD <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/162073>`__ |
| * `Remove unused pep517 package <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/162072>`__ |
| * `Use more available Python 3.9 <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/161492>`__ |
| (issue `#292278707 <https://issues.pigweed.dev/issues/292278707>`__) |
| * `Update Bazel to 2@6.3.0.6 <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/161010>`__ |
| |
| pw_ide |
| ------ |
| We are prototyping a ``pw_ide`` extension for VS Code. |
| |
| * `Restore stable clangd settings link <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/164011>`__ |
| * `Add command to install prototype extension <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/162412>`__ |
| * `Prototype VS Code extension <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/151653>`__ |
| |
| pw_interrupt |
| ------------ |
| We added a backend for Xtensa processors. |
| |
| * `Add backend for xtensa processors <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/160031>`__ |
| * `Tidy up target compatibility <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/160650>`__ |
| (issue `#272090220 <https://issues.pigweed.dev/issues/272090220>`__) |
| |
| pw_log_zephyr |
| ------------- |
| We encoded tokenized messages to ``pw::InlineString`` so that the output is |
| always null-terminated. |
| |
| * `Fix null termination of Base64 messages <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/163650>`__ |
| |
| pw_presubmit |
| ------------ |
| We increased |
| `LUCI <https://chromium.googlesource.com/infra/infra/+/main/doc/users/services/about_luci.md>`_ |
| support and updated the ``#pragma once`` check to look for matching ``#ifndef`` |
| and ``#define`` lines. |
| |
| * `Fix overeager format_code matches <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/162611>`__ |
| * `Exclude vsix files from copyright <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/163011>`__ |
| * `Clarify unicode errors <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/162993>`__ |
| * `Upload coverage json to zoss <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/162090>`__ |
| (issue `#279161371 <https://issues.pigweed.dev/issues/279161371>`__) |
| * `Add to context tests <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/162311>`__ |
| * `Add patchset to LuciTrigger <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/162310>`__ |
| * `Add helpers to LuciContext <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/162091>`__ |
| * `Update Python vendor wheel dir <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/161514>`__ |
| * `Add summaries to guard checks <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/161391>`__ |
| (issue `#287529705 <https://issues.pigweed.dev/issues/287529705>`__) |
| * `Copy Python packages <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/161490>`__ |
| * `Add ifndef/define check <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/152173>`__ |
| (issue `#287529705 <https://issues.pigweed.dev/issues/287529705>`__) |
| |
| pw_protobuf_compiler |
| -------------------- |
| We continued work to ensure that the Python environment in Bazel is hermetic. |
| |
| * `Use hermetic protoc <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/162913>`__ |
| (issue `#294284927 <https://issues.pigweed.dev/issues/294284927>`__) |
| * `Move reference to python interpreter <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/162932>`__ |
| (issue `#294414535 <https://issues.pigweed.dev/issues/294414535>`__) |
| * `Make nanopb hermetic <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/162313>`__ |
| (issue `#293792686 <https://issues.pigweed.dev/issues/293792686>`__) |
| |
| pw_python |
| --------- |
| We fixed bugs related to ``requirements.txt`` files not getting found. |
| |
| * `setup.sh requirements arg fix path <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/164430>`__ |
| * `setup.sh arg spaces bug <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/163510>`__ |
| |
| pw_random |
| --------- |
| We continued migrating the ``pw_random`` API reference to Doxygen. |
| |
| * `Doxygenify random.h <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/163730>`__ |
| |
| pw_rpc |
| ------ |
| We made the Java client more robust. |
| |
| * `Java client backwards compatibility <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/164515>`__ |
| * `Avoid reflection in Java client <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/162930>`__ |
| (issue `#293361955 <https://issues.pigweed.dev/issues/293361955>`__) |
| * `Use hermetic protoc <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/162913>`__ |
| (issue `#294284927 <https://issues.pigweed.dev/issues/294284927>`__) |
| * `Improve Java client error message for missing parser() method <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/159471>`__ |
| |
| pw_spi |
| ------ |
| We continued work on implementing a SPI responder interface. |
| |
| * `Responder interface definition <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/159230>`__ |
| |
| pw_status |
| --------- |
| We fixed the nesting on a documentation section. |
| |
| * `Promote Zephyr heading to h2 <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/160730>`__ |
| |
| pw_stream |
| --------- |
| We added ``remaining()``, ``len()``, and ``position()`` methods to the |
| ``Cursor`` wrapping in Rust. |
| |
| * `Add infalible methods to Rust Cursor <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/164271>`__ |
| |
| pw_stream_shmem_mcuxpresso |
| -------------------------- |
| We added the :ref:`module-pw_stream_shmem_mcuxpresso` backend for ``pw_stream``. |
| |
| * `Add shared memory stream for NXP MCU cores <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/160831>`__ |
| (issue `#294406620 <https://issues.pigweed.dev/issues/294406620>`__) |
| |
| pw_sync_freertos |
| ---------------- |
| * `Fix ODR violation in tests <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/160795>`__ |
| |
| pw_thread |
| --------- |
| * `Fix test_thread_context typo and presubmit <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/162770>`__ |
| |
| pw_tokenizer |
| ------------ |
| We added support for unaligned token databases and continued the |
| :ref:`seed-0102` update of the ``pw_tokenizer`` docs. |
| |
| * `Separate API reference and how-to guide content <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/163256>`__ |
| * `Polish the sales pitch <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/163571>`__ |
| * `Support unaligned databases <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/163333>`__ |
| * `Move the basic overview into getting started <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/163253>`__ |
| * `Move the case study to guides.rst <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/163255>`__ |
| * `Restore info that get lost during the SEED-0102 migration <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/163330>`__ |
| * `Use the same tagline on every doc <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/163332>`__ |
| * `Replace savings table with flowchart <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/158893>`__ |
| * `Ignore string nonliteral warnings <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/162092>`__ |
| |
| pw_toolchain |
| ------------ |
| We fixed a regression that made it harder to use Pigweed in an environment where |
| ``pw_env_setup`` has not been run and fixed a bug related to incorrect Clang linking. |
| |
| * `Optionally depend on pw_env_setup_CIPD_PIGWEED <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/163790>`__ |
| (issue `#294886611 <https://issues.pigweed.dev/issues/294886611>`__) |
| * `Prefer start-group over whole-archive <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/150610>`__ |
| (issue `#285357895 <https://issues.pigweed.dev/issues/285357895>`__) |
| |
| pw_toolchain_bazel |
| ------------------ |
| We added a an LLVM toolchain for building with Bazel on macOS. |
| |
| * `LLVM toolchain for macOS Bazel build <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/157634>`__ |
| (issue `#291795899 <https://issues.pigweed.dev/issues/291795899>`__) |
| |
| pw_trace_tokenized |
| ------------------ |
| We made tracing more robust. |
| |
| * `Replace trace callback singletons with dep injection <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/156912>`__ |
| |
| pw_transfer |
| ----------- |
| We made integration tests more robust. |
| |
| * `Fix use-after-destroy in integration test client <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/163252>`__ |
| (issue `#294101325 <https://issues.pigweed.dev/issues/294101325>`__) |
| * `Fix legacy binary path <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/162914>`__ |
| (issue `#294284927 <https://issues.pigweed.dev/issues/294284927>`__) |
| * `Mark linux-only Bazel tests <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/162094>`__ |
| (issue `#294101325 <https://issues.pigweed.dev/issues/294101325>`__) |
| |
| pw_web |
| ------ |
| We added support for storing user preferences in ``localStorage``. |
| |
| * `Fix TypeScript warnings in web_serial_transport.ts <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/164591>`__ |
| * `Add state for view number, search string, and columns visible <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/161390>`__ |
| * `Fix TypeScript warnings in transfer.ts <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/162411>`__ |
| * `Fix TypeScript warnings <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/162095>`__ |
| * `Remove dependency on 'crc' and 'buffer' NPM packages <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/160830>`__ |
| |
| Build |
| ===== |
| We made the Bazel system more hermetic and fixed an error related to not |
| finding the Java runtime. |
| |
| * `Do not allow PATH leakage into Bazel build <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/162610>`__ |
| (issue `#294284927 <https://issues.pigweed.dev/issues/294284927>`__) |
| * `Use remote Java runtime for Bazel build <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/160793>`__ |
| (issue `#291791485 <https://issues.pigweed.dev/issues/291791485>`__) |
| |
| Docs |
| ==== |
| We created a new doc (:ref:`docs-editors`) that explains how to improve Pigweed |
| support in various IDEs. We standardized how we present call-to-action buttons |
| on module homepages. See :ref:`module-pw_tokenizer` for an example. We fixed a |
| longstanding UI issue around the site nav not scrolling to the page that you're |
| currently on. |
| |
| * `Add call-to-action buttons <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/163331>`__ |
| * `Update module items in site nav <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/163251>`__ |
| * `Add editor support doc <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/110261>`__ |
| * `Delay nav scrolling to fix main content scrolling <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/162990>`__ |
| (issue `#292273650 <https://issues.pigweed.dev/issues/292273650>`__) |
| * `Suggest editor configuration <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/162710>`__ |
| * `Scroll to the current page in the site nav <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/162410>`__ |
| (issue `#292273650 <https://issues.pigweed.dev/issues/292273650>`__) |
| * `Add changelog <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/160170>`__ |
| (issue `#292247409 <https://issues.pigweed.dev/issues/292247409>`__) |
| |
| SEEDs |
| ===== |
| We created a UI widget to standardize how we present SEED status information. |
| See the start of :ref:`seed-0102` for an example. |
| |
| * `Create Sphinx directive for metadata <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/161517>`__ |
| |
| Third party |
| =========== |
| |
| third_party/mbedtls |
| ------------------- |
| * `3.3.0 compatibility <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/160790>`__ |
| (issue `#293612945 <https://issues.pigweed.dev/issues/293612945>`__) |
| |
| Miscellaneous |
| ============= |
| |
| OWNERS |
| ------ |
| * `Add kayce@ <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/163254>`__ |
| |
| ------------ |
| Jul 28, 2023 |
| ------------ |
| Highlights (Jul 13, 2023 to Jul 28, 2023): |
| |
| * `SEED-0107: Pigweed Communications <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/157090>`__, |
| a proposal for an embedded-focused network protocol stack, is under |
| discussion. Please review and provide your input! |
| * ``pw_cli`` now supports tab completion! |
| * A new UART Linux backend for ``pw_stream`` was added (``pw_stream_uart_linux``). |
| |
| Active SEEDs |
| ============ |
| * `SEED-0103: pw_protobuf Object Model <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/133971>`__ |
| * `SEED-0104: display support <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/150793>`__ |
| * `SEED-0105: Add nested tokens and tokenized args to pw_tokenizer and pw_log <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/154190>`__ |
| * `SEED-0106: Project Template <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/155430>`__ |
| * `SEED-0107: Pigweed communications <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/157090>`__ |
| * `SEED-0108: Emulators Frontend <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/158190>`__ |
| |
| Modules |
| ======= |
| |
| pw_allocator |
| ------------ |
| We started migrating the ``pw_allocator`` API reference to Doxygen. |
| |
| * `Doxygenify the freelist chunk methods <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/155395>`__ |
| |
| pw_async |
| -------- |
| We increased Bazel support. |
| |
| * `Fill in bazel build rules <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/156911>`__ |
| |
| pw_async_basic |
| -------------- |
| We reduced logging noisiness. |
| |
| * `Remove debug logging <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/158193>`__ |
| |
| pw_base64 |
| --------- |
| We continued migrating the ``pw_base64`` API reference to Doxygen. |
| |
| * `Doxygenify MaxDecodedSize() <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/157091>`__ |
| |
| pw_bloat |
| -------- |
| We improved the performance of label creation. One benchmark moved from 120 |
| seconds to 0.02 seconds! |
| |
| * `Cache and optimize label production <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/159474>`__ |
| |
| pw_bluetooth |
| ------------ |
| Support for 3 events was added. |
| |
| * `Add 3 Event packets & format hci.emb <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/157663>`__ |
| |
| pw_build |
| -------- |
| * `Fix progress bar clear <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/160791>`__ |
| * `Upstream build script fixes <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/159473>`__ |
| * `Add pw_test_info <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/154551>`__ |
| * `Upstream build script & presubmit runner <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/137130>`__ |
| * `pw_watch: Redraw interval and bazel steps <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/159490>`__ |
| * `Avoid extra newlines for docs in generate_3p_gn <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/150233>`__ |
| * `pip install GN args <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/155270>`__ |
| (issue `#240701682 <https://issues.pigweed.dev/issues/240701682>`__) |
| * `pw_python_venv generate_hashes option <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/157630>`__ |
| (issue `#292098416 <https://issues.pigweed.dev/issues/292098416>`__) |
| |
| pw_build_mcuxpresso |
| ------------------- |
| Some H3 elements in the ``pw_build_mcuxpresso`` docs were being incorrectly |
| rendered as H2. |
| |
| * `Fix doc headings <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/155570>`__ |
| |
| pw_chrono_freertos |
| ------------------ |
| We investigated what appeared to be a race condition but turned out to be an |
| unreliable FreeRTOS variable. |
| |
| * `Update SystemTimer comments <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/159231>`__ |
| (issue `#291346908 <https://issues.pigweed.dev/issues/291346908>`__) |
| * `Remove false callback precondition <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/156091>`__ |
| (issue `#291346908 <https://issues.pigweed.dev/issues/291346908>`__) |
| |
| pw_cli |
| ------ |
| ``pw_cli`` now supports tab completion! |
| |
| * `Zsh shell completion autoload <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/160796>`__ |
| * `Make pw_cli tab completion reusable <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/160379>`__ |
| * `Print tab completions for pw commands <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/160032>`__ |
| * `Fix logging msec timestamp format <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/159930>`__ |
| |
| pw_console |
| ---------- |
| Communication errors are now handled more gracefully. |
| |
| * `Detect comms errors in Python <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/155814>`__ |
| |
| pw_containers |
| ------------- |
| The flat map implementation and docs have been improved. |
| |
| * `Doxygenify pw::containers::FilteredView <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/160373>`__ |
| * `Support copying the FilteredView predicate <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/160372>`__ |
| * `Improve FlatMap algorithm and filtered_view support <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/156652>`__ |
| * `Improve FlatMap doc example <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/156651>`__ |
| * `Update FlatMap doc example so it compiles <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/156650>`__ |
| |
| pw_digital_io |
| ------------- |
| We continued migrating the API reference to Doxygen. An RPC service was added. |
| |
| * `Doxygenify the interrupt handler methods <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/154193>`__ |
| * `Doxygenify Enable() and Disable() <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/155817>`__ |
| * `Add digital_io rpc service <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/154974>`__ |
| |
| pw_digital_io_mcuxpresso |
| ------------------------ |
| We continued migrating the API reference to Doxygen. Support for a new RPC |
| service was added. |
| |
| * `Remove unneeded constraints <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/155394>`__ |
| |
| pw_docgen |
| --------- |
| Support for auto-linking to Rust docs (when available) was added. We also |
| explained how to debug Pigweed's Sphinx extensions. |
| |
| * `Add rustdoc linking support to pigweed-module tag <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/159292>`__ |
| * `Add extension debugging instructions <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/156090>`__ |
| |
| pw_env_setup |
| ------------ |
| There were lots of updates around how the Pigweed environment uses Python. |
| |
| * `pw_build: Disable pip version check <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/160551>`__ |
| * `Add docstrings to visitors <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/159131>`__ |
| * `Sort pigweed_environment.gni lines <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/158892>`__ |
| * `Mac and Windows Python requirements <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/158912>`__ |
| (issue `#292098416 <https://issues.pigweed.dev/issues/292098416>`__) |
| * `Add more Python versions <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/158891>`__ |
| (issue `#292278707 <https://issues.pigweed.dev/issues/292278707>`__) |
| * `Remove python.json from Bazel CIPD <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/158911>`__ |
| (issue `#292585791 <https://issues.pigweed.dev/issues/292585791>`__) |
| * `Redirect variables from empty dirs <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/158890>`__ |
| (issue `#292278707 <https://issues.pigweed.dev/issues/292278707>`__) |
| * `Split Python constraints per OS <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/157657>`__ |
| (issue `#292278707 <https://issues.pigweed.dev/issues/292278707>`__) |
| * `Add --additional-cipd-file argument <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/158170>`__ |
| (issue `#292280529 <https://issues.pigweed.dev/issues/292280529>`__) |
| * `Upgrade Python cryptography to 41.0.2 <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/157654>`__ |
| * `Upgrade ipython to 8.12.2 <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/157653>`__ |
| * `Upgrade PyYAML to 6.0.1 <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/157652>`__ |
| * `Add Python constraints with hashes <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/153470>`__ |
| (issue `#287302102 <https://issues.pigweed.dev/issues/287302102>`__) |
| * `Bump pip and pip-tools <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/156470>`__ |
| * `Add coverage utilities <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/155810>`__ |
| (issue `#279161371 <https://issues.pigweed.dev/issues/279161371>`__) |
| |
| pw_fuzzer |
| --------- |
| A fuzzer example was updated to more closely follow Pigweed code conventions. |
| |
| * `Update fuzzers to use Pigweed domains <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/148337>`__ |
| |
| pw_hdlc |
| ------- |
| Communication errors are now handled more gracefully. |
| |
| * `Detect comms errors in Python <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/155814>`__ |
| * `Add target to Bazel build <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/157651>`__ |
| |
| pw_i2c |
| ------ |
| An RPC service was added. Docs and code comments were updated to use ``responder`` |
| and ``initiator`` terminology consistently. |
| |
| * `Standardize naming on initiator/responder <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/159132>`__ |
| * `Add i2c rpc service <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/155250>`__ |
| |
| pw_i2c_mcuxpresso |
| ----------------- |
| * `Allow for static initialization of initiator <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/155790>`__ |
| * `Add test to ensure compilation of module <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/155390>`__ |
| |
| pw_ide |
| ------ |
| * `Support multiple comp DB search paths <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/144210>`__ |
| (issue `#280363633 <https://issues.pigweed.dev/issues/280363633>`__) |
| |
| pw_interrupt |
| ------------ |
| Work continued on how facade backend selection works in Bazel. |
| |
| * `Add backend for xtensa processors <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/160031>`__ |
| * `Tidy up target compatibility <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/160650>`__ |
| (issue `#272090220 <https://issues.pigweed.dev/issues/272090220>`__) |
| * `Remove cpu-based backend selection <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/160380>`__ |
| (issue `#272090220 <https://issues.pigweed.dev/issues/272090220>`__) |
| * `Add backend constraint setting <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/160371>`__ |
| (issue `#272090220 <https://issues.pigweed.dev/issues/272090220>`__) |
| * `Remove redundant Bazel targets <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/154500>`__ |
| (issue `#290359233 <https://issues.pigweed.dev/issues/290359233>`__) |
| |
| pw_log_rpc |
| ---------- |
| A docs section was added that explains how ``pw_log``, ``pw_log_tokenized``, |
| and ``pw_log_rpc`` interact with each other. |
| |
| * `Explain relation to pw_log and pw_log_tokenized <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/157231>`__ |
| |
| pw_package |
| ---------- |
| Raspberry Pi Pico and Zephyr support improved. |
| |
| * `Add picotool package installer <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/155791>`__ |
| * `Handle windows Zephyr SDK setup <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/157030>`__ |
| * `Run Zephyr SDK setup.sh after syncing from CIPD <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/156530>`__ |
| |
| pw_perf_test |
| ------------ |
| * `Remove redundant Bazel targets <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/154498>`__ |
| (issue `#290359233 <https://issues.pigweed.dev/issues/290359233>`__) |
| |
| pw_presubmit |
| ------------ |
| * `Add ifndef/define check <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/152173>`__ |
| (issue `#287529705 <https://issues.pigweed.dev/issues/287529705>`__) |
| * `Remove deprecated gn_docs_build step <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/159291>`__ |
| * `Fix issues with running docs_build twice <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/159290>`__ |
| * `Add Rust docs to docs site <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/157656>`__ |
| |
| pw_protobuf_compiler |
| -------------------- |
| * `Disable legacy namespace <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/157232>`__ |
| * `Transition to our own proto compiler rules <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/157033>`__ |
| (issue `#234874064 <https://issues.pigweed.dev/issues/234874064>`__) |
| * `Allow external usage of macros <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/155432>`__ |
| |
| pw_ring_buffer |
| -------------- |
| ``pw_ring_buffer`` now builds with ``-Wconversion`` enabled. |
| |
| * `Conversion warning cleanups <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/157430>`__ |
| (issue `#259746255 <https://issues.pigweed.dev/issues/259746255>`__) |
| |
| pw_rpc |
| ------ |
| * `Create client call hook in Python client <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/157870>`__ |
| * `Provide way to populate response callbacks during tests <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/156670>`__ |
| * `Add Soong rule for pwpb echo service <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/156270>`__ |
| |
| pw_rpc_transport |
| ---------------- |
| * `Add more Soong rules <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/155035>`__ |
| |
| pw_rust |
| ------- |
| We are preparing pigweed.dev to automatically link to auto-generated |
| Rust module documentation when available. |
| |
| * `Add combined Rust doc support <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/157632>`__ |
| * `Update @rust_crates sha <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/155051>`__ |
| |
| pw_spi |
| ------ |
| We updated docs and code comments to use ``initiator`` and ``responder`` |
| terminology consistently. |
| |
| * `Standardize naming on initiator/responder <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/159132>`__ |
| |
| pw_status |
| --------- |
| * `Add Clone and Copy to Rust Error enum <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/157093>`__ |
| |
| pw_stream |
| --------- |
| We continued work on Rust support. |
| |
| * `Fix Doxygen typo <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/154732>`__ |
| * `Add read_exact() an write_all() to Rust Read and Write traits <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/157094>`__ |
| * `Clean up rustdoc warnings <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/157092>`__ |
| * `Add Rust varint reading and writing support <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/156451>`__ |
| * `Refactor Rust cursor to reduce monomorphization <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/155391>`__ |
| * `Add Rust integer reading support <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/155053>`__ |
| * `Move Rust Cursor to it's own sub-module <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/155052>`__ |
| |
| pw_stream_uart_linux |
| -------------------- |
| A new UART Linux backend for ``pw_stream`` was added. |
| |
| * `Add stream for UART on Linux <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/156910>`__ |
| |
| pw_sync |
| ------- |
| C++ lock traits were added and used. |
| |
| * `Improve Borrowable lock traits and annotations <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/153573>`__ |
| (issue `#261078330 <https://issues.pigweed.dev/issues/261078330>`__) |
| * `Add lock traits <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/153572>`__ |
| |
| pw_sync_freertos |
| ---------------- |
| * `Fix ODR violation in tests <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/160795>`__ |
| |
| pw_sys_io |
| --------- |
| * `Add android to alias as host system <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/157871>`__ |
| (issue `#272090220 <https://issues.pigweed.dev/issues/272090220>`__) |
| * `Add chromiumos to alias as host system <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/155811>`__ |
| (issue `#272090220 <https://issues.pigweed.dev/issues/272090220>`__) |
| |
| pw_system |
| --------- |
| * `Update IPython init API <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/157872>`__ |
| * `Remove redundant Bazel targets <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/154497>`__ |
| (issue `#290359233 <https://issues.pigweed.dev/issues/290359233>`__) |
| |
| pw_tokenizer |
| ------------ |
| We refactored the ``pw_tokenizer`` docs to adhere to :ref:`seed-0102`. |
| |
| * `Update tagline, restore missing info, move sections <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/158192>`__ |
| * `Migrate the proto docs (SEED-0102) <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/157655>`__ |
| * `Remove stub sections and add guides link (SEED-0102) <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/157631>`__ |
| * `Migrate the custom macro example (SEED-0102) <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/157032>`__ |
| * `Migrate the Base64 docs (SEED-0102) <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/156531>`__ |
| * `Migrate token collision docs (SEED-0102) <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/155818>`__ |
| * `Migrate detokenization docs (SEED-0102) <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/155815>`__ |
| * `Migrate masking docs (SEED-0102) <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/155812>`__ |
| |
| pw_toolchain |
| ------------ |
| The build system was modified to use relative paths to avoid unintentionally |
| relying on the path environment variable. Map file generation is now optional |
| to avoid generating potentially large map files when they're not needed. |
| |
| * `Test trivially destructible class <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/159232>`__ |
| * `Make tools use relative paths <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/159130>`__ |
| (issue `#290848929 <https://issues.pigweed.dev/issues/290848929>`__) |
| * `Support conditionally creating mapfiles <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/157431>`__ |
| |
| pw_trace_tokenized |
| ------------------ |
| * `Replace singletons with dependency injection <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/155813>`__ |
| * `Remove redundant Bazel targets <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/154499>`__ |
| (issue `#290359233 <https://issues.pigweed.dev/issues/290359233>`__) |
| |
| pw_unit_test |
| ------------ |
| * `Update metadata test type for unit tests <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/154550>`__ |
| |
| pw_varint |
| --------- |
| * `Update Rust API to return number of bytes written <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/156450>`__ |
| |
| pw_watch |
| -------- |
| We fixed an issue where builds were getting triggered when files were opened |
| or closed without modication. |
| |
| * `Trigger build only on file modifications <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/157633>`__ |
| |
| pw_web |
| ------ |
| * `Remove dependency on 'crc' and 'buffer' NPM packages <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/160830>`__ |
| * `Update theme token values and usage <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/155970>`__ |
| * `Add disconnect() method to WebSerialTransport <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/156471>`__ |
| * `Add docs section for log viewer component <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/155050>`__ |
| |
| Build |
| ===== |
| |
| bazel |
| ----- |
| * `Add host_backend_alias macro <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/160550>`__ |
| (issue `#272090220 <https://issues.pigweed.dev/issues/272090220>`__) |
| * `Fix missing deps in some modules <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/160376>`__ |
| * `Support user bazelrc files <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/160030>`__ |
| * `Update rules_python to 0.24.0 <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/158913>`__ |
| (issue `#266950138 <https://issues.pigweed.dev/issues/266950138>`__) |
| |
| build |
| ----- |
| * `Use remote Java runtime for Bazel build <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/160793>`__ |
| (issue `#291791485 <https://issues.pigweed.dev/issues/291791485>`__) |
| * `Add Rust toolchain to Bazel macOS build <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/159491>`__ |
| (issue `#291749888 <https://issues.pigweed.dev/issues/291749888>`__) |
| * `Mark linux-only Bazel build targets <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/158191>`__ |
| |
| Targets |
| ======= |
| |
| targets/rp2040_pw_system |
| ------------------------ |
| Some of the Pico docs incorrectly referred to another hardware platform. |
| |
| * `Fix references to STM32 <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/157233>`__ |
| (issue `#286652309 <https://issues.pigweed.dev/issues/286652309>`__) |
| |
| Language support |
| ================ |
| |
| python |
| ------ |
| * `Remove setup.py files <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/159472>`__ |
| |
| rust |
| ---- |
| * `Add rustdoc links for existing crates <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/159470>`__ |
| |
| OS support |
| ========== |
| |
| zephyr |
| ------ |
| * `Add project name to unit test root <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/156850>`__ |
| * `Add pigweed root as module <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/156596>`__ |
| * `Fix setup.sh call <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/156591>`__ |
| |
| Docs |
| ==== |
| We added a feature grid to the homepage and fixed outdated info in various |
| docs. |
| |
| * `pigweed.dev feature grid <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/157658>`__ |
| * `Mention SEED-0102 in module_structure.rst <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/157234>`__ |
| (issue `#286477675 <https://issues.pigweed.dev/issues/286477675>`__) |
| * `Remove outdated Homebrew info in getting_started.rst <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/157291>`__ |
| (issue `#287528787 <https://issues.pigweed.dev/issues/287528787>`__) |
| * `Fix "gn args" examples which reference pw_env_setup_PACKAGE_ROOT <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/156452>`__ |
| * `Consolidate contributing docs in site nav <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/155816>`__ |
| |
| SEEDs |
| ===== |
| |
| SEED-0107 |
| --------- |
| * `Claim SEED number <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/157031>`__ |
| |
| SEED-0108 |
| --------- |
| * `Claim SEED number <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/158171>`__ |
| |
| Third party |
| =========== |
| |
| third_party |
| ----------- |
| * `Remove now unused rules_proto_grpc <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/157290>`__ |
| |
| third_party/mbedtls |
| ------------------- |
| * `3.3.0 compatibility <https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/160790>`__ |
| (issue `#293612945 <https://issues.pigweed.dev/issues/293612945>`__) |