What's Changed
Highlighted Fixes
- Use RAII for group session iteration by @andy31415 in #32970
- MinMDNS - do not ask for IP addresses for every SRV record that is seen by @andy31415 in #33095
- Fix handling of non-permitted messages in ExchangeContext. by @bzbarsky-apple in #33148
Bug Fixes
- [nrfconnect] Fix configuration of pigweed logger by @LuDuda in #36745
- [nrfconnect] Fix USB device initialization by @LuDuda in #36747
Bluetooth Related Changes
- Replaced nlunit-test with pw_unit_test in src/ble/tests/ by @mbknust in #32891
- Remove CHIPoBLE testing dead code by @arkq in #32910
- BTP engine unit test by @arkq in #32897
- Remove dead code from BLE layer class by @arkq in #33171
- Bring PR #31776(Adjust storage for large payloads) from tcp branch to master by @pidarped in #33001
- Unit tests for BLE layer class by @arkq in #33359
- Improve BTP engine logging by using ChipLogByteSpan by @arkq in #33435
- Make StringToUUID constexpr by @jlatusek in #33649
- Make BLE UUID string constants lowercase by @andy31415 in #33692
- [Tizen] Allow to pass CHIP error to device event by @arkq in #33744
- Remove obsolete functions from BlePlatformDelegate interface by @arkq in #33826
- Link all unit tests with string adapters for CHIP_ERROR by @arkq in #34332
- Return CHIP_ERROR from BlePlatformDelegate APIs by @arkq in #34387
- Use standard std::min std::max functions by @arkq in #36065
- Allow platforms to disable BLE-related device events and add BleLayer state accessors by @ksperling-apple in #37759
- Rework Darwin BLE layer by @ksperling-apple in #37704
- Add BLE APIs to allow commissioning using concatenated QR codes. by @bzbarsky-apple in #38922
- Implement the multiple-discriminators BLE connection API on Darwin. by @bzbarsky-apple in #38923
- Increase unit test code coverage of
ble/
by 1.6% by @LyudmilaKostanyan in #39618
Spec Alignment Changes
- Add StayActiveDuration to KeepActive in BridgedDevInfo by @tehampson in #34631
- Additional RVC Operational States and Errors by @kiel-apple in #38420
Transport/Messaging Layer Changes
- Log message send failures. by @bzbarsky-apple in #32742
- Add a lint for toplevel "using namespace" in headers. by @bzbarsky-apple in #32757
- [nrfconnect][zephyr] Improvements and Fixes for WiFi according to NCS 2.6.0 by @ArekBalysNordic in #32711
- Don't stringify PeerAddress in SendPreparedMessage if not logging it. by @bzbarsky-apple in #32821
- Log the node ID of the peer when we log that CASE timed out. by @bzbarsky-apple in #32820
- [ICD] Add Check-In message at boot logic and persistent subscription checks by @mkardous-silabs in #32613
- Update IsIPv6ULA by @achaulk-goog in #32879
- Refactored mDNS Browse Interface by @su-shanka in #32866
- Only implement fault injection with NLFAULTINJECTION on by @achaulk-goog in #32934
- Fix 32957 : Matter TV: commissioner passcode flow does not accept CommissionerPasscodeReady flag by @chrisdecenzo in #32958
- [TI] Update Number of LWIP Buffers, Fix ICD GPIO build error by @adabreuti in #33053
- [ICD] Update and Document ICDManager interface by @mkardous-silabs in #33081
- Replace nl-unit-test for pigweed for crypto by @jlatusek in #33042
- Replace nl-unit-test with pigweed for interaction_model by @jlatusek in #33160
- [Inet] Fix setting for CLOEXEC flag at socket creation by @gportay in #33164
- More IWYU across app/ & src/ by @achaulk-goog in #32952
- [Dnssd] Refactored DiscoveredNodeData definition and usage by @su-shanka in #33025
- Updated unit tests in src/protocols/bdx/tests/ to use PW instead of NL. by @feasel0 in #33084
- Updated unit tests in src/transport/retransmit/tests/ to use PW instead of NL. by @feasel0 in #33157
- Replace nl-unit-test with pigweed for system user_directed_commissioning by @jlatusek in #33163
- [crypto] PSA SPAKE2+ introduction by @ArekBalysNordic in #32924
- Fix initialization-order-fiasco by @mwswartwout in #32854
- [ICD] Add counter invalidation events to the ICD Test Event trigger handler by @mkardous-silabs in #33174
- [ICD] Fix comment mistakes from post-merge reviews by @mkardous-silabs in #33225
- [mrp] Make GetBackoff() use Timeout instead of Timestamp type by @Damian-Nordic in #33093
- Updated unit tests in src/transport/raw/tests/ to use PW instead of NL. by @feasel0 in #33099
- [ICD] Convert TestICDMonitoringTable to gTest by @mkardous-silabs in #33239
- Replace
DispatchSessionEvent
withNotifySessionHang
on sessions. by @andy31415 in #33259 - [ICD] Convert TestICDManager to gtest by @mkardous-silabs in #33269
- Make test setup functions terminate on error by @mbknust in #33002
- Refactored transport/raw/tests to more cleanly handle access to private members of TCPBase by @feasel0 in #33306
- [mrp] Increase default retry interval for Thread by @Damian-Nordic in #33314
- pw_unit_test migration: inet layer by @Alami-Amine in #33311
- [SecureChannel] Update Check-In Protocol Test vectors by @mkardous-silabs in #33272
- Add comments in SessionHandle explaining its intent by @andy31415 in #33271
- Linux tv-casting-app v1.3 IdentificationDeclaration message by @pgregorr-amazon in #33283
- Add some unit tests for ExchangeContext and ExchangeMessageDispatch. by @bzbarsky-apple in #33340
- [mrp] Make sure not all packet buffers are used for retransmissions by @Damian-Nordic in #33334
- [Silabs][Test driver]Fix efr32 assert due to missing init by @jmartinez-silabs in #33375
- [Dns-sd] Added Operational Discovery and made browse delegate common by @su-shanka in #32750
- Updated unit tests in src/transport/tests/ to use PW instead of NL. by @feasel0 in #33249
- Improve server logging on subscription failures. by @bzbarsky-apple in #33372
- Make test suite setup and teardown functions static by @mbknust in #33330
- [Silabs]Fix efr32 test driver event loop, run gtests, enable more test on efr… by @jmartinez-silabs in #33430
- Use data() instead of begin() in Protocols.cpp by @mwswartwout in #33476
- ESP32: Address -Wundef build errors and enable it for platform by @shubhamdp in #29728
- [Metrics] Metrics in core commissioning phase by @anush-apple in #33247
- Replace nl-unit-test with pigweed for messaging by @jlatusek in #33500
- Break the dependency between tests that use MessagingContext by @jlatusek in #33588
- Improve our various round-trip timeout computations. by @bzbarsky-apple in #33587
- Replace nl-unit-test with pigweed for protocols/secure_channel by @jlatusek in #33499
- Increase the poll rate for BDX diagnostic log downloads. by @bzbarsky-apple in #33741
- Changes for large Packetbuffer allocation to support TCP payloads by @pidarped in #33308
- Android tv-casting-app v1.3 Commissioner-Generated passcode flow by @pgregorr-amazon in #33680
- Close TCP connection when received message size is too large. by @pidarped in #33768
- Add new AddStatus overloads using ClusterStatusCode by @tcarmelveilleux in #33904
- Fix python Wi-Fi/Thread setup with manual code by @tcarmelveilleux in #33933
- [Metrics] Added additional metrics for CASE and Subscription by @anush-apple in #33934
- Making TestInetLayer an executable tool by @Alami-Amine in #33985
- Fix shutdown ordering issue in Server.cpp. by @bzbarsky-apple in #34035
- Choose logging backend on a per-target basis by @mbknust in #32119
- Feat: possibility to get node id of the unsolicited message sender by @j0tunn in #33704
- Post SecureSessionEstablished event when secure session is established by @wqx6 in #34051
- ReadClient: Truncate data version list during encoding if necessary by @ksperling-apple in #34111
- Zephyr standalone platform update by @QuentinCaldeira-eaton in #34135
- [Silabs] Enabling sleepy for 917soc with power manager by @chirag-silabs in #34086
- Minor fixes in TCP Disconnect. by @pidarped in #34142
- Darwin: Prohibit static initializers in Matter.framework by @ksperling-apple in #34168
- Log the peer when we send a Sigma1 message. by @bzbarsky-apple in #34268
- Revert "Darwin: Prohibit static initializers in Matter.framework" by @woody-apple in #34286
- Mark session for eviction on TCP Client side when disconnecting with peer. by @pidarped in #34451
- Add the missing implementation for BdxTransferSession::RejectTransfer. by @harimau-qirex in #34484
- Enable TCP Keepalive for the received connection on the Server. by @pidarped in #34602
- Add --wifipaf commission in chip-tool and apps of Linux platform by @crlonxp in #33977
- Fix Bootstrap error in Darwin platform after JAVA_PATH setting by @joonhaengHeo in #34608
- Fix logging of received message sizes. by @bzbarsky-apple in #34649
- Dump details about leaked ExchangeContexts before aborting by @ksperling-apple in #34617
- [TI] CC13x4_26x4 build fixes by @abiradarti in #34682
- Define an
ActionReturnStatus
for DataModel::Provider action returns by @andy31415 in #34708 - Fix not sending CDC message when passcode is cancelled on TV app by @lazarkov in #34507
- Fix test code build issues when INET_CONFIG_TCP_ENDPOINT is set to false by @pidarped in #35027
- [Silabs] Adding the gn build header for the lwip IPv4 and RS9116 by @chirag-silabs in #35142
- Abort BDX transfers as needed on controller shutdown. by @bzbarsky-apple in #35466
- Add GetNextAction API so that a caller that might want to implement a… by @nivi-apple in #35462
- Fix: drop poll timer to avoid crash after TransferFacilitator object destruction by @j0tunn in #34538
- [Logging] Use the ephemeral initiator node id in the logging message … by @vivien-apple in #35654
- [libfuzzer] Fuzzing different Transport Types for all-clusters-app by @Alami-Amine in #35629
- Additional socket checks for socket inet implementations by @andy31415 in #35674
- Rmp log source destination for txrx messages by @vivien-apple in #35672
- Fix passing fixed "kJoin" to sMulticastGroupHandler by @wilbur-se in #35807
- [RMP] Update the logs produce by the reliable message manager by @vivien-apple in #35649
- Enable MRP in WiFi-PAF commissioning by @crlonxp in #35500
- Refactoring random SetupPinCode generation into a method. by @Alami-Amine in #36009
- Replace nlSTATIC_ASSERT_PRINT with static_assert by @arkq in #36075
- Replace ReturnErrorCodeIf with VerifyOrReturnError by @arkq in #36083
- Re-enabling unit tests for EFR32 which had been disabled due to flash limitations by @feasel0 in #35456
- Improve Exit Error Handling for failures in PASE pairing requests by @Alami-Amine in #36160
- Switch lwIP to git submodule, update it. by @aalexanderr in #29056
- [pw_fuzzer] Adding a FuzzTest for fuzzing PASE by @Alami-Amine in #36171
- [pw_fuzzer] Add FuzzTests for PASE Message Receiving by @Alami-Amine in #36445
- Check whether we actually have a GroupId before trying to use it. by @bzbarsky-apple in #36729
- [Android][BDX] Fix crash when calling ResetTransfer by @yunhanw-google in #36728
- Fix missing include in transport/SessionDelegate.h by @soares-sergio in #36753
- Don't use default ctor for ChipDeviceEvent by @soares-sergio in #36768
- Fix Null Pointer Dereference in TCP Packet Handling by @BoB13-Matter in #36751
- Fix for Bug #36732 by @pidarped in #36879
- Fix for Bug #36731. by @pidarped in #36880
- [CASESession] refactoring and improving testability of Sigma1 sending and handling, and Sigma2 Sending by @Alami-Amine in #36679
- Select least peer active session by @DejinChen in #36936
- Add separate knob for TCP server listen enabling. by @pidarped in #36979
- Make
DecodeMRPParametersIfPresent()
andParseSigma1()
methods static + fix for TLV reading corner case by @Alami-Amine in #36956 - Restore original order of transports in TransportMgr. by @pidarped in #37050
- [Zephyr] Add implementation of POSIX API wrappers if necessary by @maciejbaczmanski in #37007
- Use separate randomized port for each TCP test case server listening. by @pidarped in #37144
- Handle the output event of type TransferSession::OutputEventType::kIn… by @nivi-apple in #37324
- Clarify logging during MRP retransmit backoff computation. by @bzbarsky-apple in #37369
- [CASESession] Factoring Out Sigma2 and Sigma3 Parsing Functions for Improved Testability by @Alami-Amine in #36941
- [CASESession] Follow up to refactoring Sigma Parsing functions PR by @Alami-Amine in #37425
- Reduce logging in BDXTransferSession by removing logging for BlockQue… by @nivi-apple in #37412
- Don't log kNone events in BdxTransferDiagnosticLog::HandleTransferSessionOutput. by @bzbarsky-apple in #37458
- [PASESession] TLV Reading Fixes by @Alami-Amine in #37383
- [Inet] fix UDP bind with OT stack sha 473af53 and newer by @marius-preda in #37579
- Adding MRP analytics delegate by @tehampson in #37439
- Rename ArraySize() to MATTER_ARRAY_SIZE() by @soares-sergio in #37660
- TCP: Use RunOnTCPIP() for the LwIP TCP EndPoint and create pre-allocated connection endpoint for listen endpoint by @wqx6 in #36962
- Check if a duplicated provider is present before loading into RAM by @silabs-olivierb in #37643
- Add retransmission count to MRP TransmitEvent by @tehampson in #37768
- Address post merge PR comments on MRP transmit analytics by @tehampson in #37846
- Remove the redundant chip:: prefix by @bukepo in #37898
- Fix MRP baseTimeout calculation for LIT by @yunhanw-google in #37696
- Fix TestInetEndPoint to pass even when computer is offline by @tcarmelveilleux in #38015
- CASE: move busy wait time parsing in status report module by @shubhamdp in #38491
- Darwin: Prohibit static initializers in Matter.framework by @ksperling-apple in #38447
- Add debug logs for test inet limits by @andy31415 in #38790
- Adds fix for integer overflow in TicksToMS function by @rosahay-silabs in #38757
- Fix inconsistency in how MRP delays are computed. by @bzbarsky-apple in #38855
- [Darwin][Network.framework] Do not include TCPEndPointImpl.h if TCP e… by @vivien-apple in #38909
- Postpone sending PAF packets while the wi-fi resource is unavailable by @crlonxp in #38968
- Fix crash when re-sending a message over MRP fails fatally. by @bzbarsky-apple in #39113
- Adding TC-SC-3.4 + Python Bindings for Fault Injection into Controller by @Alami-Amine in #38962
- [Zephyr] Fix nullptr dereference in InterfaceAddressIterator::Next by @adigie in #39194
- Don't build OpenThread when OS is Zephyr by @adigie in #39190
- Add ack latency to TransmitEvent for MRP transmit analytics by @tehampson in #39201
- Implement missing methods of InterfaceIterator for OpenThread endpoints by @adigie in #39193
- Fix InterfaceIterator for OpenThread endpoints by @adigie in #39192
- [TC-SC-3.4] Adding a Precondition of having an Established CASE Session with DUT before start of test by @Alami-Amine in #39246
- Adding TC-SC-3.5 script and CASESession Fault Injection Points by @Alami-Amine in #39199
- [Network.framework] Move UDPEndPointImplNetworkFramework files under src/platform/Darwin/inet by @vivien-apple in #39148
- [Darwin][Network.framework] Add src/platform/Darwin/system/SystemLaye… by @vivien-apple in #38912
- Add missing import and specify template argument by @zaid-google in #39253
- Reduce flake chance in MRP unit test by @tehampson in #39339
- [Darwin] Enable ARC globally for darwin builds by @vivien-apple in #39357
- [CASESession] Unit Test Cases for Bad Signatures failing CASE by @Alami-Amine in #39355
- [Silabs] Fixing the ipv4 build for the wifi devices by @chirag-silabs in #38830
- Make PeerAddress constructors constexpr. by @bzbarsky-apple in #39502
- Replace chip::Optional with std::optional in StatusIB and StatusCode by @andy31415 in #39474
- Move data model types from basic-types.h to DataModelTypes.h by @jennygaz in #39146
- PeerAddress comparison operator was not correct for some transports by @OlivierGre in #39563
- Add raw Zephyr SystemLayer implementation (noSelect) by @ArekBalysNordic in #39505
- Last round of improvements & cleanup to FabricTableImpl for TLS by @gmarcosb in #39518
Crypto Changes
- Add missing [[maybe_unused]] annotations in unit tests by @lpbeliveau-silabs in #33007
- [crypto] Log PSA crypto error codes in more places by @Damian-Nordic in #33403
- Fix for test hanging when no ProductID/VendorID is present by @adamb-q in #33546
- [ICD] Implement storing of persistent keys in PSA for ICD server by @maciejbaczmanski in #34925
- Migrate from deprecated OpenSSL SHA256_* APIs to EVP APIs by @Alami-Amine in #36386
- improve naming and description of parameters in CHIPCryptoPAL functions by @fessehaeve in #36470
- [Crypto] Replace OpenSSL-specific flag with public API to check SHA256 digest initialization by @Alami-Amine in #36608
- Make Hash_SHA256_stream::IsInitialized() protected by @Alami-Amine in #36633
- Make IsInitialized implementation in OpenSSL backward compatible with… by @Alami-Amine in #36634
- [Silabs] PSA Crypto PAL customized for EFR32. by @rcasallas-silabs in #36575
- [crypto] Fix initialization of psa key attributes by @adigie in #37255
- Fix and re-enable Zephyr native tests by @adigie in #37333
- [PSA] bugfix for potential buffer overflow from AES_CCM Encrypt/Decrypt by @Alami-Amine in #37337
- [crypto] Introduce PSAKeyAllocator by @ArekBalysNordic in #37332
- Fix unit test static analyzer warning in TestChipCryptoPAL by @tcarmelveilleux in #38304
- Add VidVerification payload generation to CHIPCryptoPAL by @tcarmelveilleux in #38284
- Introduce PEM encoder to CHIPCryptoPAL by @tcarmelveilleux in #39340
Core Library Changes
- [Android]CHIP_ERROR should be handled by Long in Java/Kotlin by @yunhanw-google in #32702
- Make default AddressResolve implementation the default by @ksperling-apple in #32824
- Set
cache flush
bit for commissionable node advertisement in MinMdns by @andy31415 in #32813 - Android - implement ChipDnssdStopBrowse by @pgregorr-amazon in #32801
- [dnssd] Allow selecting DNS-SD implementation at runtime by @kkasperczyk-no in #32829
- Add GN arg to enable logging of node Id in exchange context by @leonardmgh in #32670
- [Silabs] Migration to CMSIS OS2 api continuation. by @jmartinez-silabs in #32874
- Improve DNS-SD resolution logging. by @bzbarsky-apple in #32873
- Darwin: PlatformManagerImpl improvements by @ksperling-apple in #32904
- print the port data in DNS shell commands. by @DejinChen in #32982
- [WiFi][Shell] Wifi Shell updates to improve shell commands. by @mihai-ignat in #31684
- Replaced nlunit-test with pw_unit_test in src/lib/shell/ by @mbknust in #33066
- Replaced nlunit-test with pw_unit_test in src/lib/address_resolve/ by @mbknust in #33064
- Replaced nlunit-test with pw_unit_test in src/lib/asn1/ by @mbknust in #33061
- Replace some usages of chip::Optional with std::optional by @andy31415 in #33050
- Switched to pw_unit_test in src/lib/dnssd/minimal_mdns/records/ by @mbknust in #33070
- Convert a few more items to std::optional by @andy31415 in #33073
- Switched to pw_unit_test in src/lib/dnssd/minimal_mdns/responders/ by @mbknust in #33071
- Replaced nlunit-test with pw_unit_test in src/lib/core/ by @mbknust in #33062
- v1.3 Commissioner Passcode field for Linux and Android tv-casting-apps by @pgregorr-amazon in #33038
- Replaced nlunit-test with pw_unit_test in src/lib/format/ by @mbknust in #33063
- Add missing logging handler for embedded platforms for testing with Pigweed by @jlatusek in #33105
- Switched to pw_unit_test in src/lib/dnssd/minimal_mdns/tests/ by @mbknust in #33068
- Replaced nlunit-test with pw_unit_test in src/lib/dnssd/platform/ by @mbknust in #33072
- Switched to pw_unit_test in src/lib/dnssd/minimal_mdns/core/ by @mbknust in #33069
- Replaced nlunit-test with pw_unit_test in src/lib/dnssd/tests/ by @mbknust in #33045
- pw_unit_test migration: lib support batch #1 by @Alami-Amine in #33091
- pw_unit_test migration: lib support batch 2 by @Alami-Amine in #33144
- Add std::source_location to ChipError for C++20 builds by @mwswartwout in #32935
- [Chore] Convert chip::Optional to std::optional for dnssd/types.h by @andy31415 in #33179
- pw_unit_test migration: lib support batch 3 by @Alami-Amine in #33177
- pw_unit_test migration: lib support batch 4 by @Alami-Amine in #33199
- [chore] Replace all usages of chip::Optional with std::optional in src/lib/dnssd by @andy31415 in #33200
- pw_unit_test migration: lib support batch 5 by @Alami-Amine in #33238
- Add an explicit skip processing on error (do not attempt to use invalid data) by @andy31415 in #33296
- Remove extra logging in minmdns resolver. by @andy31415 in #33407
- [Linux] Initial implementation of fabric-admin to facilitate Fabric Synchronization by @yufengwangca in #33393
- Add log tag for fabric synchronization by @yufengwangca in #33446
- [shell] Reduce memory usage and boileplate code for subcommands by @Damian-Nordic in #33243
- Remove Interaction Model Engine dependency in WriteHandler by @yyzhong-g in #33426
- Add withSourceLocation param to ErrorStr by @mwswartwout in #33369
- Increase dnssd kHostNameMaxLength to 40 bytes by @yunhanw-google in #33468
- Add a pigweed-string-format adapter for CHIP_ERROR since that makes unit test debugability a LOT better by @andy31415 in #33505
- Fix template-id-cdtor error in static_support_smart_ptr.h by @yyzhong-g in #33491
- Compilation error fix source location in CHIPError by @jeffryjacobd in #33540
- Operational Discovery with Continuous Query Support for Linux by @su-shanka in #33402
- [MinMdns] do no stop a
browse
operation after the first result by @andy31415 in #33808 - Fix OperationalSessionSetup notifying success with inactive sessions by @ksperling-apple in #33822
- implement 'ReadAttribute' inside the
codegen-data-model
IM/DM split by @andy31415 in #33877 - [ICD] Add ClientType support to the ICDManager and ICD Management cluster by @mkardous-silabs in #33811
- Adopt ESP32 test driver to pw_unit_test output by @arkq in #34114
- Reset the state of DiscoveryImplPlatform to Uninitialized when ChipDnssdInit fails by @wqx6 in #34104
- Fix callback creation by @jlatusek in #34147
- Disentangle data model tests by moving fixtures into their own file by @ksperling-apple in #34154
- Move android's Logging.cpp to src/platform/android/ by @mbknust in #34192
- Fix codeql errors by @jlatusek in #34248
- ThreadOperationalDataset: various bug fixes by @ksperling-apple in #34331
- Log the peer ID when logging operational IP lookup results. by @bzbarsky-apple in #34381
- Fix DNS-SD TCP advertisement to use a bitmap for Client and Server. by @pidarped in #34289
- CHIPError.h comment typo by @jtung-apple in #34460
- [ICD] Implement the support of the ICD Check-In BackOff by @mkardous-silabs in #34482
- [Zephyr] Fix build issues with LTO by @Damian-Nordic in #34633
- Tidy up logging dependencies by @ksperling-apple in #34789
- fool 'streamer_esp32_write' caller if console disabled by @ribsey in #34773
- Re-Implement App Install flow by @lazarkov in #34141
- Make the TBRM tests work by @ksperling-apple in #34864
- [Silabs] Update platform source files by @mkardous-silabs in #34865
- Add configurable macros for min/max address resolve lookup time by @s-mcclain in #35102
- minimal_mdns: Fix filter for Compressed Fabric Id when browsing operational nodes by @wqx6 in #35063
- Added a CopyCharSpanToMutableCharSpanTruncate function. by @hicklin in #35360
- Add the ability for EventLoopHandlers to participate in a Select-based event loop by @ksperling-apple in #34433
- Add matter_enable_recommended meta-setting by @ksperling-apple in #34942
- Fixing UBSan issues that showed up in all-clusters app by @Alami-Amine in #35580
- [DNS-SD] Common Resolution Data such as the idle interval, active int… by @vivien-apple in #35650
- [Silabs] Fix some uart cli hang by @jmartinez-silabs in #35723
- Removed using namespace std from all files by @jadhavrohit924 in #35741
- Use LambdaBridge to safely invoke functions in GLib Matter context by @Alami-Amine in #35777
- [AddressResolver] Add a check in shutdown to avoid some crashes if so… by @vivien-apple in #35824
- Report mdns results from all interfaces instead of the highest priori… by @vivien-apple in #35597
- [pw_fuzzer] Fix build failure + add coverage to payload decoder fuzztest by @Alami-Amine in #35828
- Fix null pointer issue in CHIPMemString by @BoB13-Matter in #35840
- [Scenes] Mode Select Cluster Handler by @lpbeliveau-silabs in #30855
- Add a BigEndian::Reader to be the equivalent for LittleEndian::Reader by @andy31415 in #36195
- Make TLVReader/Writer consume slightly less flash by @andy31415 in #36286
- Create a Second Test Context for TestReadInteraction by @arkq in #36314
- Remove not-implemented methods from BufferWriter by @arkq in #36368
- Add a helper function to allow ErrorStr not using static char array by @yyzhong-g in #36391
- Add missing #include for size_t by @mspang in #36474
- [Silabs] Silabs Uart Shell fixes by @lpbeliveau-silabs in #36667
- Fix JniReferences::GetOptionalValue by @achaulk-goog in #36682
- Stop shell read loop if the input stream was closed by @arkq in #36675
- Add return value check for avoid interger overflow by @myddpp in #36686
- Enabled most unit tests for ESP32 by @feasel0 in #36738
- Create a
SpanSearchValue
class that allows tree-searching without extra intermediateif null/missing
checks. by @andy31415 in #36754 - Make AddressResolver not keep duplicate IP addresses in its cache by @andy31415 in #36861
- Simplify AutoCommissioner::SetCommissioningParameters by @ksperling-apple in #36896
- Add nullptr check for String TLV data with zero length by @BoB13-Matter in #36921
- Make chip::Optional be trivially destructible if the underlying type is. by @andy31415 in #37017
- [NXP] cli and zap fixes by @Martin-NXP in #37024
- Patch unsafe strlen in TLVWriter by @alexhqwang in #37065
- Fix typo in doc comment for CHIP_CONFIG_MAX_GROUP_KEYS_PER_FABRIC by @shubhamdp in #37100
- Switch DataModel::Provider to a span-based list iterator - flash and ram savings, simpler interface by @andy31415 in #37033
- Add the ability to read extra attributes during commissioning by @ksperling-apple in #36867
- Remove cluster objects dependency from platform by @andy31415 in #37124
- Darwin: Add MTRCommissioningParameters.readEndpointInformation by @ksperling-apple in #37118
- Remove unused code from Verhoeff library by @tersal in #37213
- Basic Unit Test for Verhoeff by @tersal in #37195
- Fix deregistering error formatter by @adigie in #37254
- Move OnboardingCodesUtil out of app/server by @adigie in #37401
- Fix incorrect comment in TLVWriter. by @bzbarsky-apple in #37459
- Fix method naming and cleanup FailSafeContext by @adigie in #37820
- Fix clang-tidy error in PersistedCounter.h by @adigie in #37855
- Stop advertising IPv4 addresses when IPv4 and IPv6 ports do not match. by @bzbarsky-apple in #38057
- Define LogModule enum using CHIP_LOGMODULES_ENUMERATE x-macros helper by @ksperling-apple in #38237
- Add log tag for camera by @yufengwangca in #38269
- Move
DataModelProvider::MetadataList
intosupport
aschip::ReadOnlyBuffer
by @andy31415 in #38364 - [Closures] Refactor ClosureControl cluster to use latest cluster template by @mkardous-silabs in #38396
- Implement VID Verification in OpCreds cluster (2/2) by @tcarmelveilleux in #38469
- [camera-app] Enable Fault injection to introduce faults in runtime by @yufengwangca in #38713
- Small bugfix and test improvements for VID Verification by @tcarmelveilleux in #38698
- Fix how std::to_underlying is pulled into namespace chip. by @bzbarsky-apple in #38723
- Implement python test script for WEBRTCR_2_1 by @yufengwangca in #38741
- Implement python test script for WEBRTCR_2_2 by @yufengwangca in #38740
- Further improvements to FabricTableImpl by @gmarcosb in #38846
- ThreadOperationalDataset: Fix typo in SetLength by @enkiusz in #39364
- Add VendorIdVerificationSigner cert support to SDK by @tcarmelveilleux in #39312
- Increase unit test coverage of minimal_mdns/core folder by @dmaranges-gd in #38906
- Fix typo in error message, update pull request template by @eseverson in #39532
- Improve template deduction rules for Span and List. by @bzbarsky-apple in #39691
Core Changes
- Use a copy constructor everytime we initialize a DataModel::AttributeEntry's instance with an assignment by @gabc-cpp in #39302
Controller Changes
- [ICD] Expose ActiveModeDuration, ActiveModeThreshold, IdleModeDuration to application by @yunhanw-google in #32494
- [Android] Plumb ActiveModeDuration, ActiveModeThreshold, IdleModeDuration to android by @yunhanw-google in #32768
- Setup controller by storage fabric, without providing NOC chain by @DejinChen in #32194
- [Linux] Handle BLE scan timeout in BLEManager instead of scanner class by @arkq in #32770
- Add DeviceController deleteFromFabricTableOnShutdown option by @ksperling-apple in #32846
- Avoid zombie DeviceControllerSystemState by @ksperling-apple in #32903
- Separate out attribute access interface registry/cache, remove free functions from InteractionModelEngine.h by @andy31415 in #32954
- Split out
AttributeAccessInterface.h
into separate headers/cpp for each underlying class by @andy31415 in #32984 - [Python] Create pairingDelegate for each DeviceController by @tianfeng-yang in #32369
- DeviceControllerFactory: Add InitAndRetainSystemState by @ksperling-apple in #32998
- Prevent unclean dealloc of SystemState by @ksperling-apple in #33128
- [Python] Fix OnRead[Event|Attribute]DataCallback for Arm64 Apple Patform devices by @agners in #33178
- Stop talking about "pairing" in logs. by @bzbarsky-apple in #33233
- Some interface cleanup and make AttributeValueEncoder/Decoder more similar by @andy31415 in #33028
- [Python] Implement async friendly GetConnectedDevice by @agners in #32760
- [Android] Implement qr code generator by @joonhaengHeo in #33381
- [Python] Eliminate ZCLSubscribeAttribute by @agners in #33337
- Converted unit tests in src/controller/tests/data_model from NL to PW. by @feasel0 in #33371
- Converted src/controller/tests from NL to PW unit tests. by @feasel0 in #33351
- Darwin: Namespace common class names by @kiel-apple in #33459
- TC-IDM-10.2: Add test for provisional clusters by @cecille in #33361
- [Python] Eliminate ZCLReadAttribute/ZCLSend by @agners in #33428
- [Python] Call SDK asyncio friendly by @agners in #32764
- [Android] Fix QR Code parsing about vendor info by @joonhaengHeo in #33486
- remove provisional from boolean state configuration and valve config clusters by @fessehaeve in #33543
- Add basic support for App Install Flow by @lazarkov in #33445
- [Android] ICD checkin message can't receive in some Android device by @joonhaengHeo in #33561
- [ICD] Reset mNeedIcdRegistration to false when starting the commision flow by @yunhanw-google in #33574
- [Python] Make AttributePath more pythonic by @agners in #33571
- Remove provisionality for oven op-state and oven mode clusters by @rbultman in #33550
- Remove provisional from evse, evse mode, epm, eem, power topology by @jamesharrow in #33558
- fix build error "more than one files found with path 'META-INF/main.kotlin_module by @nicelyjust in #33648
- Removed provisional from MWO mode and control clusters by @rbultman in #33548
- [Python] Remove obsolete callback handling by @agners in #33665
- [Python] Add "automation" level to log defines by @agners in #33670
- TC-IDM-10.2: checks for non-spec clusters by @cecille in #33695
- [Python] Remove obsolete logging callbacks by @agners in #33718
- [python] Add ICD support to Python binding by @erjiaqing in #33533
- Add Compare IPAddress in OndiscoveredNode by @joonhaengHeo in #33583
- Python wheels: move template into its own gni by @cecille in #33739
- [Python] Drop network lock by @agners in #33720
- TC-OPCREDS-3.2: Add by @gvargas-csa in #32182
- [Python] Remove Python Bluetooth and ChipStack event loop integration by @agners in #33775
- [Python] Add TriggerResubscribeIfScheduled to SubscriptionTransaction by @agners in #33774
- [Chip-tool] Fix heap memory increase in interactive mode by @joonhaengHeo in #33838
- Make laundry dryer control cluster not provisional by @rbultman in #33551
- Remove unnecessary error log from CurrentFabricRemover by @agners in #33896
- [Python] Use thread-safe futures for concurrent operations by @agners in #33891
- Add LargePayload flag in GetConnectedDevice() API by @pidarped in #33887
- [Android] Implement remove ICD Client Info by @joonhaengHeo in #33843
- Mark AutoRelockTime attribute of the Door Lock cluster as optional in the XML by @Thirsrin in #33701
- Avoid errors when using on-network commissioning by @agners in #33880
- Add success message on removing current fabric by @agners in #33914
- [Python] Drop unnecessary null termination by @agners in #33915
- [Python] Store original PyChipError in ChipStackException by @agners in #33954
- Post certification checks script by @cecille in #33256
- [Python] Make Commissioning APIs more pythonic and consistent by @agners in #33905
- [Python] Fix DeviceProxyWrapper del by @agners in #34011
- [Python] Reset chip error in test commissioner by @agners in #34001
- [Android] Support ICD LIT Device using commissionDevice by @joonhaengHeo in #33975
- Fix comments to right variable by @joonhaengHeo in #33939
- [Python] Convert DiscoverCommissionableNodes to asyncio by @agners in #34033
- Update App Install Flow & Attribute Retrieval Status Errors by @lazarkov in #33981
- ZAP regen on master by @andy31415 in #34088
- Auto-commissioner: support secondary network interface commissioning by @DejinChen in #33801
- Add a String Echo Request and Echo Response Command to the Unit testing cluster by @pidarped in #34004
- XML changes for OccupancySensing rev 5 by @tcarmelveilleux in #34163
- Update UniqueID in the BasicInformationCluster to align with the spec by @yufengwangca in #34166
- [Scenes] AttributeValue refactor by @lpbeliveau-silabs in #33260
- [DRYERCTRL] Align description with spec by @rbultman in #34236
- Fix numbering and maturity level of TBR Management XML by @tcarmelveilleux in #34261
- Adding new python test arguments design pattern for the default test on tests.yaml by @vatsalghelani-csa in #34277
- [Python] Adjust logging levels in Python controller by @agners in #34346
- [Python] Avoid RuntimeException if APIs with future raise an error by @agners in #34354
- [Python] Fix build without host unit test config by @agners in #34368
- Add an Action Switch endpoint to all-clusters-app by @tcarmelveilleux in #34355
- Prefix
InteractionModel
namespace withprotocols
by @andy31415 in #34376 - Run the zap_convert_all.py script on the tree. by @bzbarsky-apple in #34357
- [Python] Add missing attribute read parameters to docs by @agners in #34380
- [Python] Fix subscription error handling and re-subscription by @agners in #34372
- [Python] Only auto re-subscribe after initial subscription by @agners in #34370
- Add OCW verifier, pass params between fabric bridge & admin by @samadDotDev in #34209
- [ICD] Update ICDM XML to match latest spec by @mkardous-silabs in #34446
- Darwin: Avoid calling DnssdServer::StartServer() when not initialized by @ksperling-apple in #34465
- Add target endpoint to
CommissioningWindowOpener
by @samadDotDev in #34425 - Add TransportPayloadCapability flag for GetConnectedDevices() API in ChipDeviceCtrl.py and Script bindings by @pidarped in #34450
- Add fabric sync related changed into bridge device info cluster by @tehampson in #34336
- Spec rename of HomeLocationStruct to LocationDescriptorStruct by @tehampson in #34525
- Add water heater management cluster sdk support by @PeterC1965 in #34339
- Add support for global structs/enums/bitmaps to Python codegen. by @bzbarsky-apple in #34561
- Add WHM to the all clusters app by @PeterC1965 in #34456
- Add Thread Border Router Management cluster server implementation and Generic Thread BR delegate by @wqx6 in #33872
- TC-CCTRL-2.2: Test + Mocks by @cecille in #34568
- Add TC feature definitions to General Commissioning Cluster XML files by @swan-amazon in #34604
- Fix TC-SWTCH-1.1 by @tcarmelveilleux in #34642
- Fixed ReviewFabricRestrictions command args by @tleacmcsa in #34647
- API renames:
chip::app::InteractionModel::*
becomeschip::app::DataModel
and renamedDataModel
toProvider
by @andy31415 in #34520 - fixing type hints errors on python controller code by @Alami-Amine in #34415
- Update global data types to use the new XML representation by @hicklin in #34680
- Fix ZAP CI with just regen by @tehampson in #34745
- Remove StatusIB::InitFromChipError. by @bzbarsky-apple in #34712
- Updates Service Area with name changes since 0.7 by @hicklin in #34711
- Create relative position namespace by @hicklin in #34701
- Service Area: Remove nullable qualities to match the latest spec by @hicklin in #34732
- TBRM: Add missing PendingDatasetTimestamp attribute and CASE session check by @wqx6 in #34768
- Update service area xml from 07 by @hicklin in #34738
- python: Add direct attribute paths to Read by @cecille in #34833
- Improve the AreaStructureWrapper by @hicklin in #34814
- Enable building python controller with no TCP by @cecille in #34888
- Updated WHM XML to align to spec PR 10028 by @jamesharrow in #34560
- [Android] Implement Establish PASE Connection for SetupCode by @joonhaengHeo in #34971
- Python testing: Fix reporting on setup_class error by @cecille in #35016
- Update the preset handle field in the SetActivePresetRequest c… by @nivi-apple in #35105
- Update PositionTag and AreaDesc field names by @hicklin in #35094
- AccountLogin Login/Logout command support by @mthiesc in #34162
- Remove DuplicatedAreas error by @hicklin in #35126
- TV App - Add validation for invalid product and vendor id. by @lazarkov in #35157
- Add missing occupancy event by @tcarmelveilleux in #35220
- Adding TimeoutMs to KeepActive command by @tehampson in #35154
- Remove RemovedOn attribute from ECOINFO cluster by @tehampson in #34988
- Add water heater to energy management app by @jamesharrow in #34886
- Update CommissionerControlCluster xml definition to align with spec by @yufengwangca in #35272
- Address various DEM testing issues by @PeterC1965 in #35067
- [ICD] Fix multiple check-in/peer node ids handling in icd client by @yunhanw-google in #35304
- [Android][ICD] Fix ICDDeviceInfo by @yunhanw-google in #35340
- Fix kotlin tests, remove unused code by @achaulk-goog in #32880
- TC-IDM-XX: try both PASE and CASE for basic comp tests. by @cecille in #35109
- Update the FS XML definitions to align with spec update by @yufengwangca in #35381
- Auto-commissioner: remove primary network config if failed in commissioning SecondaryNetworkInterface by @DejinChen in #35255
- Switch: Fix cluster revision in XML to match new spec by @cecille in #35440
- Ensure all derived clusters have the base enum values by @tcarmelveilleux in #35489
- NetworkCommissioning: Disconnect previous network when trying a new by @DejinChen in #35256
- Add DataModel::Provider Invoke usage by @andy31415 in #35540
- Tracing: Create leading directories if they don't exist by @arkq in #35668
- [Fabric-Sync] Run MCORE-FS-1.3 and MCORE-FS-1.4 on CI by @arkq in #35402
- [Android][ICD]Fix invalid signature for ICD onRefresh by @yunhanw-google in #35714
- Add missing support for returning credential data in GetCredentialStatusResponse. by @bzbarsky-apple in #35732
- remove a call of
emberAfContainsAttribute
when using the data model provider interface by @andy31415 in #35746 - Update ZAP schema & add ThreeLevelAutoEnum by @gmarcosb in #35775
- Remove
event list attribute
support in the SDK by @andy31415 in #35874 - Add ability to report endpoint device types in the DataModel::Provider interface by @andy31415 in #35861
- Remove provisional status of Fabric Sync bits to align with the spec by @yufengwangca in #35912
- Add provisional General Commissioning Cluster TCUpdateDeadline attribute by @swan-amazon in #35903
- Make use of DataModel::Provider device type resolution in the access control by @andy31415 in #35862
- [Java]Fix errorcode in GetConnectedDeviceCallbackForTestJni by @yunhanw-google in #35958
- [Android] Add StayActive support during commission flow for LIT by @yunhanw-google in #35959
- [Python] Fix the value type of enumeration kUnknownEnumValue by @tianfeng-yang in #35963
- [Android] Fix crash when handling jStayActiveMsec by @yunhanw-google in #35997
- [Python] fixed subscription crash by @tianfeng-yang in #32257
- [Python] Improve type hints of cluster objects by @agners in #29966
- Fix unmatched Register/UnregisterReadHandlerAppCallback calls by @arkq in #36119
- Add an ALL_EVENTS maps in symmetry to ALL_ATTRIBUTES by @cecille in #35661
- DEMM, EVSEM, WHM, EEVSE, DEM, EWATERHTR zap XML out of date with 1.4 specs by @jamesharrow in #36155
- Remove event list from generated code by @cecille in #34997
- Camera AVStreamMgmt xml updates by @pidarped in #36133
- Use pointer for subject descriptor in datamodel provider instead of std::optional by @andy31415 in #36246
- Event validation simplification - pull logic into InteractionModelEngine.cpp only by @andy31415 in #36251
- Factor out common parts of list iterators into shared super-classes. by @bzbarsky-apple in #36279
- [Java][Controller] Add custom cert support for java controller by @yunhanw-google in #33342
- [Matter.framework] Invalidate the CASE session if something calls Tri… by @vivien-apple in #36298
- Stop main event loop when shell prompt exits by @arkq in #36433
- Camera AVStreamMgmt SDK changes for spec updates by @pidarped in #36447
... and many more changes