diff --git a/docs/changelog.rst b/docs/changelog.rst index 8d7c3f2965..37da79a532 100644 --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -13,11 +13,456 @@ Talk to the team at Pigweed Live .. _docs-changelog-latest: +------------ +Feb 23, 2024 +------------ + +.. changelog_highlights_start + +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. + +.. 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 +------------ +* `Remove total_bytes metric + `__ +* `Expose TrackingAllocator's initialization state + `__ + +pw_assert +--------- +* `Apply formatting changes + `__ + +pw_assert_log +------------- +* `Fix Soong rules + `__ + (issue `#324266698 `__) +* `Fix missing lib in soong rule + `__ + +pw_bluetooth +------------ +* `Add Emboss rules to BUILD.bazel + `__ +* `Update emboss imports to match Bazel rule + `__ + +pw_build +-------- +* `Silence warnings from linker script test + `__ + +pw_bytes +-------- +* `Add missing export in soong rule + `__ + +pw_chrono_rp2040 +---------------- +* `Minor tweaks to documentation and test + `__ + (issue `#303297807 `__) + +pw_cli +------ +* `Add exit codes + `__ + +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 + `__ + +pw_containers +------------- +* `Add default move operator for FilteredView + `__ +* `Add move constructor to FiltertedView + `__ + +pw_digital_io_rp2040 +-------------------- +The new ``pw::digital_io::Rp2040Config`` struct enables you to configure +polarity for RP2040 GPIO pins. + +* `Config with polarity + `__ + (issue `#303255049 `__) + +pw_env_setup +------------ +* `Use amd64 host tools on arm64 + `__ + (issue `#325498131 `__) + +pw_function ----------- -Feb 9, 2024 +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 + `__ + +pw_fuzzer +--------- +* `Fix Bazel example, add presubmit test + `__ + (issue `#324617297 `__) + +pw_grpc +------- +* `Fix some minor bugs + `__ + +pw_hdlc +------- +* `Add android_library targets + `__ + (issue `#321155919 `__) + +pw_i2c +------ +The API reference for :cpp:class:`pw::i2c::RegisterDevice` is now published on +``pigweed.dev``. + +* `Doxygenify RegisterDevice + `__ + +pw_ide +------ +* `Fix environment inference + `__ + +pw_json +------- +The new :ref:`module-pw_json` module provides classes for serializing JSON. + +* `Classes for serializing JSON + `__ + +pw_kvs +------ +The :ref:`module-pw_kvs` docs were overhauled. + +* `Follow new module docs guidelines + `__ + +pw_log +------ +* `Add android_library targets + `__ + (issue `#321155919 `__) + +pw_log_android +-------------- +* `Fix missing libs in soong rule + `__ + +pw_metric +--------- +* `Fix Bazel build + `__ + (issue `#258078909 `__) + +pw_module +--------- +* `Add exit codes + `__ + +pw_multibuf ----------- -.. changelog_highlights_start +* `Fix soong support + `__ + (issue `#325320103 `__) + +pw_package +---------- +* `Update GoogleTest + `__ +* `Remove capture_output=True + `__ + +pw_preprocessor +--------------- +The :ref:`module-pw_preprocessor` reference is now being generated via Doxygen. + +* `Do not check for __VA_OPT__ on older compilers + `__ + (issue `#326135018 `__) +* `Switch to Doxygen + `__ +* `Use __VA_OPT__ when available + `__ + +pw_presubmit +------------ +.. todo-check: disable + +* `Allow markdown style TODOs and adjust rustdocs + `__ + (issue `#315389119 `__) +* `Log format --fix output + `__ +* `Fix formatting of typescript code + `__ +* `Disallow FIXME and recommend TODO + `__ +* `Allow pwbug.dev in TODOs + `__ +* `Allow Bazel issues in TODOs + `__ + +.. 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 `_). + +* `Remove use of deprecated Python API + `__ + (issue `#306195999 `__) +* `Add android_library targets + `__ + (issue `#321155919 `__) +* `Support legacy unsolicited responses + `__ + +pw_software_update +------------------ +* `Add java build objects + `__ +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 + `__ + (issue `#316067629 `__) +* `DigitalOutChipSelector + `__ + (issue `#303255049 `__) +* `Correct full-duplex behavior of linux_spi + `__ + (issue `#316067628 `__) + +pw_spi_rp2040 +------------- +The new ``pw::spi::Rp2040Initiator`` class is a Pico SDK userspace +implementation of Pigweed's SPI ``Initiator`` class. + +* `Initiator implementation + `__ + (issue `#303255049 `__) + +pw_stream +--------- +* `Fix Pigweed build after sync + `__ + (issue `#277108894 `__) + +pw_string +--------- +Debug error messages for assertions containing ``std::optional`` types have +been improved. + +* `Add ToString for std::optional + `__ + +pw_sync +------- +* `Add missing lib in soong rule + `__ + +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 `__). + +* `Fix link breakage on linux + `__ + (issue `#321306079 `__) +* `Proto migration stage 5/5 + `__ + (issue `#322850978 `__) +* `Proto migration stage 3/5 + `__ + (issue `#322850978 `__) +* `Proto migration stage 1.5/5 + `__ + (issue `#322850978 `__) +* `Proto migration stage 1/5 + `__ + (issue `#322850978 `__) + +pw_toolchain +------------ +* `Add missing #include + `__ +* `Rename `action_config_flag_sets` to `flag_sets` + `__ +* `Simplify macOS -nostdlib++ usage + `__ +* `Remove unnecessary toolchain arguments + `__ +* `Add missing macOS cxx_builtin_include_directories + `__ + (issue `#324652164 `__) + +pw_toolchain_bazel +------------------ +* `Use llvm-libtool-darwin on macOS + `__ + (issue `#297413805 `__) +* `Explicitly depend on rules_cc + `__ + +pw_transfer +----------- +* `Add an android_library for the Java client + `__ +* `Change class to parser + `__ +* `Fix integration test START packet issue + `__ + (issue `#322497491 `__) +* `Add GetResourceStatus method + `__ +* `Limit test to sending a single chunk + `__ +* `Remove/hide deprecated handle interfaces + `__ + +pw_watch +-------- +* `Add exit codes + `__ + +pw_web +------ +The log viewer now supports multiple log sources. + +* `NPM version bump to 0.0.14 + `__ +* `Enable multiple log sources + `__ + (issue `#325096310 `__) + +Build +===== +* `Fix docs build on mac-arm64 + `__ +* `Use correct host_cpu when disabling docs on Arm Macs + `__ +* `Remove docs from default build on Arm Macs + `__ + (issue `#315998985 `__) +* `Build for Java 11 + `__ + +Bazel +----- +* `Remove shallow_since attributes + `__ +* `Upgrade protobuf to 4.24.4 + `__ + (issue `#319717451 `__) + +Targets +======= +* (rp2040) `Replace rp2040 target with rp2040_pw_system + `__ +* (rp2040) `Custom libusb backend + `__ + +OS support +========== +* (Zephyr) `Change the pinned Zephyr commit + `__ +* (Zephyr) `Add zephyr's west CLI + `__ + +Docs +==== +`Breadcrumbs `_ are now +shown at the top of all docs pages except the homepage. + +* `Add breadcrumbs + `__ +* `Fix incorrect module name in changelog + `__ +* `Fix canonical URLs for all */docs.html pages + `__ +* `Fix typo in facades documentation + `__ +* `Fix 404s + `__ + (issue `#325086274 `__) + +SEEDs +===== +* (SEED-0125) `Claim SEED number + `__ +* `Mark legacy Sensor SEED as Rejected + `__ + +Third party +=========== +* `Roll FuzzTest and Abseil + `__ + +Miscellaneous +============= +* `Disable tests incompatible with rp2040 + `__ + (issue `#260624583 `__) +* `Fix uses of std::chrono literals + `__ +* (pigweed.json) `Disallow Rosetta + `__ + (issue `#315998985 `__) +* (renode) `Update renode to latest daily build + `__ + +----------- +Feb 9, 2024 +----------- Highlights (Jan 26, 2024 to Feb 9, 2024): * The new :ref:`module-pw_grpc` module provides classes that map between @@ -32,8 +477,6 @@ Highlights (Jan 26, 2024 to Feb 9, 2024): * ``pw_transfer`` now supports :ref:`resumable transfers `. -.. changelog_highlights_end - Active SEEDs ============ Help shape the future of Pigweed! Please visit :ref:`seed-0000`