{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":55808787,"defaultBranch":"main","name":"openthread","ownerLogin":"openthread","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2016-04-08T20:47:41.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/16142269?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1715617495.0","currentOid":""},"activityList":{"items":[{"before":"0a4d6d34a83eaf46aabc72defe0f2c48acead3bb","after":"848de78c6052d2005aed73c199ff83d34e7e8d3f","ref":"refs/heads/main","pushedAt":"2024-05-16T00:29:26.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jwhui","name":"Jonathan Hui","path":"/jwhui","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16142208?s=80&v=4"},"commit":{"message":"[dataset] enforce successful Dataset saves in non-volatile (#10237)\n\nThis commit updates error handling when saving Active/Pending\r\nOperational Datasets in non-volatile settings. Previously,\r\n`kErrorNotImplemented` was permitted as a return value due to legacy\r\nbehavior. Since non-volatile storage is now a mandatory requirement\r\nfor Thread operation, we enforce successful saves by asserting on any\r\nerror encountered during this process. Methods returning error types\r\nare updated, and some now return `void`.\r\n\r\nThe public APIs `otDatasetSetActive()` and `otDatasetSetPending()` are\r\naffected by this change. They now always return `OT_ERROR_NONE` and\r\ncan essentially be treated as having a void return type. The `otError`\r\nreturn type is maintained solely for backward compatibility.","shortMessageHtmlLink":"[dataset] enforce successful Dataset saves in non-volatile (#10237)"}},{"before":"6724a0bd85d13ffae7c675b0e8e4e5f26da5232a","after":"0a4d6d34a83eaf46aabc72defe0f2c48acead3bb","ref":"refs/heads/main","pushedAt":"2024-05-15T21:05:09.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jwhui","name":"Jonathan Hui","path":"/jwhui","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16142208?s=80&v=4"},"commit":{"message":"[routing-manager] utilize `Network::Leader::ContainsOmrPrefix()` (#10240)\n\nThis commit optimizes `RoutingManager`:\r\n\r\n- Replaces `RoutingManager::NetworkDataContainsOmrPrefix()` with\r\n `ContainsOmrPrefix()`.\r\n- Simplifies `OmrPrefixManager::ShouldAdvertiseLocalAsRio()` by\r\n utilizing `ContainsOmrPrefix()`.\r\n- Relocates `ContainsOmrPrefix()` to `network_data_leader.cpp` and\r\n removes its FTD-only restriction.","shortMessageHtmlLink":"[routing-manager] utilize Network::Leader::ContainsOmrPrefix() (#10240"}},{"before":"f97a01c40d8035f16ed10abd765d7687d77cac36","after":"6724a0bd85d13ffae7c675b0e8e4e5f26da5232a","ref":"refs/heads/main","pushedAt":"2024-05-15T21:04:13.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jwhui","name":"Jonathan Hui","path":"/jwhui","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16142208?s=80&v=4"},"commit":{"message":"[gitignore] add more temp files to `.gitignore` (#10243)","shortMessageHtmlLink":"[gitignore] add more temp files to .gitignore (#10243)"}},{"before":"6f0b62ff39991eaa975788ea886ed97fb9f4ded4","after":"f97a01c40d8035f16ed10abd765d7687d77cac36","ref":"refs/heads/main","pushedAt":"2024-05-15T18:04:37.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jwhui","name":"Jonathan Hui","path":"/jwhui","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16142208?s=80&v=4"},"commit":{"message":"[simulation] rename local host to local interface (#10241)\n\nThis commit renames command line argument --local-host to\r\n--local-interface to reduce confusion as discussed in #10194.\r\n\r\nThis commit also add help message for local interface.","shortMessageHtmlLink":"[simulation] rename local host to local interface (#10241)"}},{"before":"4fe428d0793231c1fa6dd378a3e4b172c21ed8f9","after":"6f0b62ff39991eaa975788ea886ed97fb9f4ded4","ref":"refs/heads/main","pushedAt":"2024-05-15T17:29:29.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jwhui","name":"Jonathan Hui","path":"/jwhui","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16142208?s=80&v=4"},"commit":{"message":"[gitignore] ignore files genereated by running toranj unit tests (#10242)","shortMessageHtmlLink":"[gitignore] ignore files genereated by running toranj unit tests (#10242"}},{"before":"f66f095d4dfbb4fe94725639b297bffb3e875773","after":"4fe428d0793231c1fa6dd378a3e4b172c21ed8f9","ref":"refs/heads/main","pushedAt":"2024-05-15T17:29:07.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jwhui","name":"Jonathan Hui","path":"/jwhui","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16142208?s=80&v=4"},"commit":{"message":"[network-data] optimize `ContainsOmrPrefix()` (#10239)\n\nThis commit simplifies the `Leader::ContainsOmrPrefix()` method by\r\neliminating the loop over sub-TLVs based on stable flag status. Since\r\nOMR prefixes must be marked as stable, the search for a given OMR\r\nprefix can be restricted to stable sub-TLV only.","shortMessageHtmlLink":"[network-data] optimize ContainsOmrPrefix() (#10239)"}},{"before":"0cd21e6137ec4ec7eaef6e4d08b9c6b0bc39c4dc","after":"f66f095d4dfbb4fe94725639b297bffb3e875773","ref":"refs/heads/main","pushedAt":"2024-05-15T17:28:20.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jwhui","name":"Jonathan Hui","path":"/jwhui","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16142208?s=80&v=4"},"commit":{"message":"[test] fix description for `test-028-border-agent-ephemeral-key.py` (#10238)","shortMessageHtmlLink":"[test] fix description for test-028-border-agent-ephemeral-key.py (#…"}},{"before":"02acc480dd1b64133ced5a2757fd1a3a8ea71bdd","after":"0cd21e6137ec4ec7eaef6e4d08b9c6b0bc39c4dc","ref":"refs/heads/main","pushedAt":"2024-05-15T17:27:23.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jwhui","name":"Jonathan Hui","path":"/jwhui","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16142208?s=80&v=4"},"commit":{"message":"[posix] add return of co-processor type in otSysInit and allow posix plat run with NCP (#10220)\n\nThis commit lets posix `otSysInit` return the Co-processor type by\r\nadding a field in `otPlatformConfig`. (This avoids breaking the\r\nexisting code that uses `otSysInit`.) Returning the Co-processor type\r\nallows the app layer has the information and can do\r\ninitialization. For example, the dbus server.\r\n\r\nThe commit also allows `otSysInit` and `otSysDeinit` to be completed\r\nwhen the co-processor type is NCP. This doesn't mean `ot-daemon` can\r\nwork with NCP now. But this is required by further developing NCP\r\nsupport in `otbr-agent` because these two methods are required. The\r\nnative posix app (ot-daemon) will still exit when it detects a\r\nco-processor other than RCP.\r\n\r\nWhen the co-processor type is RCP, `otSysInit` and `otSysDeinit` work\r\nas usual. When the type is NCP, only spinel manager will be\r\ninitialized and ot::Instance will not be created.","shortMessageHtmlLink":"[posix] add return of co-processor type in otSysInit and allow posix …"}},{"before":"83e2732bae248342b995f815d0873cab77de55ba","after":"02acc480dd1b64133ced5a2757fd1a3a8ea71bdd","ref":"refs/heads/main","pushedAt":"2024-05-14T21:28:02.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jwhui","name":"Jonathan Hui","path":"/jwhui","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16142208?s=80&v=4"},"commit":{"message":"[routing-manager] ignore checksum in RA hash calculation (#10230)\n\nThis commit modifies the `CalculateHash()` method to use a zero\r\nchecksum value for RA (ICMPv6) header for both received and emitted\r\nRA message. In prepared RA messages, the checksum is always set to\r\nzero, and the platform layer is responsible for calculating and\r\nupdating it. For a received RA, while platforms typically zero out\r\nthe checksum after validation, this behavior isn't explicitly\r\nrequired by `otPlatInfraIf` APIs. By ignoring the checksum(setting it\r\nto zero) during hash calculation, this change ensures correct\r\ncalculation regardless of platform behavior.\r\n\r\nThis commit also updates `test_routing_manager` to intentionally\r\nmodify the checksum field in an emitted RA message before passing it\r\nback to the OT stack. This validates the updated hash calculation\r\nbehavior.","shortMessageHtmlLink":"[routing-manager] ignore checksum in RA hash calculation (#10230)"}},{"before":"e27885ecb4b745fb819a2e311b37fda3bd79248f","after":"83e2732bae248342b995f815d0873cab77de55ba","ref":"refs/heads/main","pushedAt":"2024-05-14T19:12:18.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jwhui","name":"Jonathan Hui","path":"/jwhui","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16142208?s=80&v=4"},"commit":{"message":"[dataset] simplify dataset `Save()` methods (#10227)\n\nThis commit streamlines dataset-related helper methods:\r\n\r\n- Renames all methods that save local dataset to `SaveLocal()` for\r\n consistency and to distinguish them from `Save()` methods, which\r\n set the partition's dataset and perform additional checks\r\n (e.g., ensuring the timestamp is ahead).\r\n- Renames `SendSet()` to `SyncLocalWithLeader()` and passes `aDataset`\r\n as an input parameter to avoid redundant dataset reads.\r\n- Removes the now unnecessary `HandleDatasetUpdated()` method, as its\r\n functionality can be inlined within `SaveLocal(const Dataset &)`.\r\n- Consolidates additional dataset type-specific actions(e.g., starting\r\n a delay timer for Pending Dataset changes) into the base class\r\n `DatasetManager` methods `Save()` and `SaveLocal()`, simplifying\r\n the code and reducing redundancy.\r\n- Modifies `DatasetLocal` to provide a single `Save()` method with a\r\n `const Dataset &` input. `DatasetManager` now handles conversions\r\n from various dataset representations (e.g., component-wise\r\n structures or TLV sequences).","shortMessageHtmlLink":"[dataset] simplify dataset Save() methods (#10227)"}},{"before":"e47973a753386cb379fbe40427d60a360fcc3caa","after":"e27885ecb4b745fb819a2e311b37fda3bd79248f","ref":"refs/heads/main","pushedAt":"2024-05-14T18:04:56.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jwhui","name":"Jonathan Hui","path":"/jwhui","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16142208?s=80&v=4"},"commit":{"message":"[routing-manager] track origin of received RA messages (#10229)\n\nThis commit adds `RouterAdvOrigin` enumeration to track the origin of\r\na received RA message, whether it is from another router on the\r\ninfrastructure, or self-generated by either the `RoutingManager`\r\nmodule or another software entity running on the device.\r\n\r\nThis is used to exclude prefixes from self-generated `RoutingManager`\r\nRAs in the prefix table and simplifies learning and adopting of RA\r\nheaders from other software entities on the same device.\r\n\r\nThe origin is now logged when a new RA is received for improved\r\ndebugging.\r\n\r\nThis commit also updates `test_routing_manager` to pass back any sent\r\nRA messages to the OT stack. This validates the mechanism for\r\nidentifying self-generated RA messages.","shortMessageHtmlLink":"[routing-manager] track origin of received RA messages (#10229)"}},{"before":"a074684110c51be8f21a086ae1099e5935aaa0a3","after":"e47973a753386cb379fbe40427d60a360fcc3caa","ref":"refs/heads/main","pushedAt":"2024-05-14T15:53:54.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jwhui","name":"Jonathan Hui","path":"/jwhui","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16142208?s=80&v=4"},"commit":{"message":"[routing-manager] add section comments (#10228)\n\nThis commit enhances the readability of the `RoutingManager` class\r\ndefinition by adding comments to delineate different sections within\r\nthe code: Constants, typedefs, enumerations, nested classes and\r\nstructs, private methods, and variables.","shortMessageHtmlLink":"[routing-manager] add section comments (#10228)"}},{"before":"f12785def66514710d12a4f554ececc23fbcb472","after":"a074684110c51be8f21a086ae1099e5935aaa0a3","ref":"refs/heads/main","pushedAt":"2024-05-14T15:42:54.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jwhui","name":"Jonathan Hui","path":"/jwhui","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16142208?s=80&v=4"},"commit":{"message":"[clang-format] accept different patch versions of `clang-format` (#10042)\n\nHomebrew installation of clang-format (satisfying >14.0 requirement)\r\noutputs the following version string:\r\n```\r\nHomebrew clang-format version 14.0.6\r\n```\r\n\r\nThis change fixes the following error while running make-pretty:\r\n```\r\n *** ERROR: Homebrew clang-format version 14.0.6; clang-format 14.0 required\r\n```","shortMessageHtmlLink":"[clang-format] accept different patch versions of clang-format (#10042"}},{"before":"68b8c88e18987da7a0dea33bd3193bc0c9859c73","after":"f12785def66514710d12a4f554ececc23fbcb472","ref":"refs/heads/main","pushedAt":"2024-05-13T16:57:19.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jwhui","name":"Jonathan Hui","path":"/jwhui","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16142208?s=80&v=4"},"commit":{"message":"[dataset] add support for handling `MGMT_ACTIVE_REPLACE` on leader (#10201)","shortMessageHtmlLink":"[dataset] add support for handling MGMT_ACTIVE_REPLACE on leader (#…"}},{"before":"39ce8117a5f7e09ae4d27fa626387127f819ecdc","after":"68b8c88e18987da7a0dea33bd3193bc0c9859c73","ref":"refs/heads/main","pushedAt":"2024-05-13T16:38:22.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jwhui","name":"Jonathan Hui","path":"/jwhui","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16142208?s=80&v=4"},"commit":{"message":"[routing-manager] introduce `RoutePrefix` and `OnLinkPrefix` types (#10216)\n\nThis commit refactors and simplifies `RoutingManager`:\r\n\r\n- Introduces `OnLinkPrefix` and `RoutePrefix` classes, both derived\r\n from a common base class `LifetimedPrefix` (representing a prefix\r\n and its valid lifetime).\r\n- Replaces the originally dual-purpose `DiscoveredPrefixTable::Entry`\r\n (used for both route and on-link prefixes) with a new template\r\n `Entry`, specifically used with `OnLinkPrefix`, `RoutePrefix`,\r\n and also `Router`.\r\n- Updates `Router` to maintain separate lists for on-link and route\r\n prefixes.\r\n- Utilizes `OnLinkPrefix` in `PdPrefixManager` for tracking DHCPv6-PD\r\n prefixes.","shortMessageHtmlLink":"[routing-manager] introduce RoutePrefix and OnLinkPrefix types (#…"}},{"before":"7cc636ccce576e0246f5619a60b0736a3bea2fb1","after":"39ce8117a5f7e09ae4d27fa626387127f819ecdc","ref":"refs/heads/main","pushedAt":"2024-05-13T16:27:55.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jwhui","name":"Jonathan Hui","path":"/jwhui","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16142208?s=80&v=4"},"commit":{"message":"[simulation] support simulating radio over IPv6 (#10194)\n\nThis commit adds support to simulate Thread radio over IPv6.\r\n\r\nWith this commit, a simulation will be simulated over either IPv6 or IPv4.\r\nIf it's simulated on IPv6, it communicates with other simulation nodes\r\nin IPv6 group `ff02::116`. And if it's simulated on IPv4, it communicates\r\nwith other simulation nodes in IPv4 group `224.0.0.116`.\r\n\r\nNote that simulating virtual time is not included in this commit.","shortMessageHtmlLink":"[simulation] support simulating radio over IPv6 (#10194)"}},{"before":"32799f86b3d255592dd820bae987a0e41d92e7ae","after":null,"ref":"refs/heads/dependabot/github_actions/ossf/scorecard-action-2.3.3","pushedAt":"2024-05-13T16:24:55.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"}},{"before":"1fceb225b3858a990ffb6ce28f30b8b3dfba1614","after":"7cc636ccce576e0246f5619a60b0736a3bea2fb1","ref":"refs/heads/main","pushedAt":"2024-05-13T16:24:48.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jwhui","name":"Jonathan Hui","path":"/jwhui","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16142208?s=80&v=4"},"commit":{"message":"github-actions: bump ossf/scorecard-action from 2.3.1 to 2.3.3 (#10225)\n\nBumps [ossf/scorecard-action](https://github.com/ossf/scorecard-action) from 2.3.1 to 2.3.3.\r\n- [Release notes](https://github.com/ossf/scorecard-action/releases)\r\n- [Changelog](https://github.com/ossf/scorecard-action/blob/main/RELEASE.md)\r\n- [Commits](https://github.com/ossf/scorecard-action/compare/0864cf19026789058feabb7e87baa5f140aac736...dc50aa9510b46c811795eb24b2f1ba02a914e534)\r\n\r\n---\r\nupdated-dependencies:\r\n- dependency-name: ossf/scorecard-action\r\n dependency-type: direct:production\r\n update-type: version-update:semver-patch\r\n...\r\n\r\nSigned-off-by: dependabot[bot] \r\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>","shortMessageHtmlLink":"github-actions: bump ossf/scorecard-action from 2.3.1 to 2.3.3 (#10225)"}},{"before":null,"after":"32799f86b3d255592dd820bae987a0e41d92e7ae","ref":"refs/heads/dependabot/github_actions/ossf/scorecard-action-2.3.3","pushedAt":"2024-05-13T09:44:51.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"},"commit":{"message":"github-actions: bump ossf/scorecard-action from 2.3.1 to 2.3.3\n\nBumps [ossf/scorecard-action](https://github.com/ossf/scorecard-action) from 2.3.1 to 2.3.3.\n- [Release notes](https://github.com/ossf/scorecard-action/releases)\n- [Changelog](https://github.com/ossf/scorecard-action/blob/main/RELEASE.md)\n- [Commits](https://github.com/ossf/scorecard-action/compare/0864cf19026789058feabb7e87baa5f140aac736...dc50aa9510b46c811795eb24b2f1ba02a914e534)\n\n---\nupdated-dependencies:\n- dependency-name: ossf/scorecard-action\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] ","shortMessageHtmlLink":"github-actions: bump ossf/scorecard-action from 2.3.1 to 2.3.3"}},{"before":"0b114821d9ea8a6c2765e4e75416f6e97bc3be11","after":"1fceb225b3858a990ffb6ce28f30b8b3dfba1614","ref":"refs/heads/main","pushedAt":"2024-05-09T14:41:54.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jwhui","name":"Jonathan Hui","path":"/jwhui","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16142208?s=80&v=4"},"commit":{"message":"[cli] add UDP socket openness check before sending with `udp send` (#10206)\n\nProblem: Executing the `udp send` command in CLI without previously\r\nopening the example udp socket results in an unhandled null-pointer\r\nexception.\r\n\r\nSolution: Before anything is processed in the\r\n`UdpExample::Process(Arg aArgs[])` method, the UDP socket\r\nis checked whether it's open or not. If not, the method returns with\r\nOT_ERROR_INVALID_STATE error avoiding the null-pointer exception.","shortMessageHtmlLink":"[cli] add UDP socket openness check before sending with udp send (#…"}},{"before":"74573b5d3f65ef7c0168ea53a636d48b2e3ee368","after":"0b114821d9ea8a6c2765e4e75416f6e97bc3be11","ref":"refs/heads/main","pushedAt":"2024-05-09T14:39:19.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jwhui","name":"Jonathan Hui","path":"/jwhui","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16142208?s=80&v=4"},"commit":{"message":"[spinel] only request crash logs on RCP recovery if capable (#10213)\n\nDuring RCP recovery, the Host does not check if the RCP supports\r\nlogging a crash dump. This causes RCP recovery to fail when the RCP is\r\nbuilt with `OPENTHREAD_CONFIG_PLATFORM_LOG_CRASH_DUMP_ENABLE =\r\n0`. This bug was introduced in #10061\r\n\r\nThis commit will make the Host only request crash logs from the RCP if\r\nthe RCP supports it.","shortMessageHtmlLink":"[spinel] only request crash logs on RCP recovery if capable (#10213)"}},{"before":"8e3f51da841a1106a15f4b327edee700f6dd701a","after":"74573b5d3f65ef7c0168ea53a636d48b2e3ee368","ref":"refs/heads/main","pushedAt":"2024-05-09T02:53:25.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jwhui","name":"Jonathan Hui","path":"/jwhui","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16142208?s=80&v=4"},"commit":{"message":"[routing-manager] use `OwningList` for `Router` and `Entry` lists (#10214)\n\nThis change leverages `OwningList<>` to manage discovered routers and\r\nprefix entries within `RoutingManager`. This ensures automatic\r\ndeallocation of these items, streamlining memory management. It works\r\nindependently of whether the items are heap-allocated or from a\r\n`Pool`.","shortMessageHtmlLink":"[routing-manager] use OwningList for Router and Entry lists (#1…"}},{"before":"226f239c5d85bfc0eb02cd771ddca65a34ca8f73","after":"8e3f51da841a1106a15f4b327edee700f6dd701a","ref":"refs/heads/main","pushedAt":"2024-05-09T01:56:02.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jwhui","name":"Jonathan Hui","path":"/jwhui","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16142208?s=80&v=4"},"commit":{"message":"[dns] add checks for multi-label looped compressed DNS names (#10215)\n\nThis commit enhances `Dns::Name` to detect and handle cases where a\r\ncompressed DNS name contains a loop spanning multiple labels. The\r\n`test_dns` unit test has been updated to include test cases for these\r\ninvalid names.","shortMessageHtmlLink":"[dns] add checks for multi-label looped compressed DNS names (#10215)"}},{"before":"00f7c3131b8a44868ae51ea44dab374059280db6","after":"226f239c5d85bfc0eb02cd771ddca65a34ca8f73","ref":"refs/heads/main","pushedAt":"2024-05-08T18:32:42.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jwhui","name":"Jonathan Hui","path":"/jwhui","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16142208?s=80&v=4"},"commit":{"message":"[owning-list] add `RemoveAndFreeAllMatching()` to `OwningList` class (#10210)\n\nThis commit introduces a new method, `RemoveAndFreeAllMatching()`, to\r\nthe `OwningList` class. This method removes and frees all\r\nentries in the list that match a given indicator. This is used to\r\nsimplify the native mDNS implementation. The unit test\r\n`test_linked_list` is also updated to validate the newly added helper\r\nmethod.","shortMessageHtmlLink":"[owning-list] add RemoveAndFreeAllMatching() to OwningList class (#…"}},{"before":"383d0d28158969da2f00a1de291368a46986160f","after":"00f7c3131b8a44868ae51ea44dab374059280db6","ref":"refs/heads/main","pushedAt":"2024-05-08T18:29:25.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jwhui","name":"Jonathan Hui","path":"/jwhui","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16142208?s=80&v=4"},"commit":{"message":"[spinel] move definition of coprocessor type to `lib/spinel` (#10208)\n\nThis commit moves the definition of coprocessor_type from posix to\r\nlib/spinel directory. There are two reasons to do so:\r\n1. Allow platforms other than posix to access the definition. For\r\n example, nxp imt-rx.\r\n2. Allow the user (posix/main.c) of OT system API to access the\r\n definition. Currently the posix main depends on OT system API but\r\n doesn't depend on definitions in 'platform-posix.h'. This should be\r\n kept.","shortMessageHtmlLink":"[spinel] move definition of coprocessor type to lib/spinel (#10208)"}},{"before":"83af14a950f05046ebea7d1877799fbe8a85b7b3","after":"383d0d28158969da2f00a1de291368a46986160f","ref":"refs/heads/main","pushedAt":"2024-05-07T20:52:50.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jwhui","name":"Jonathan Hui","path":"/jwhui","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16142208?s=80&v=4"},"commit":{"message":"[routing-manager] add `CalculateExpirationTime()` (#10207)\n\nThis commit adds `CalculateExpirationTime()`, which simplifies the\r\ncalculation of expiration times of discovered prefix entry by\r\nclamping a given lifetime to the maximum value (in seconds) first\r\nbefore converting to milliseconds.","shortMessageHtmlLink":"[routing-manager] add CalculateExpirationTime() (#10207)"}},{"before":"6f0b7631e9394dc4274038ca4e1821fb7b81e80f","after":"83af14a950f05046ebea7d1877799fbe8a85b7b3","ref":"refs/heads/main","pushedAt":"2024-05-07T20:18:07.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jwhui","name":"Jonathan Hui","path":"/jwhui","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16142208?s=80&v=4"},"commit":{"message":"[dataset] send 'reject' response to `MGMT_SET` on non-leader (#10148)\n\nThis commit simplifies the code and adheres to the SHOULD\r\nrequirement in the Thread specification, which states: \"A Thread\r\nDevice that is not a Leader MUST NOT process this message. Instead it\r\nSHOULD respond with 'Reject' state value\".","shortMessageHtmlLink":"[dataset] send 'reject' response to MGMT_SET on non-leader (#10148)"}},{"before":"42ccf281fbca6bd7ca5b531b9e4debc760f866f2","after":"6f0b7631e9394dc4274038ca4e1821fb7b81e80f","ref":"refs/heads/main","pushedAt":"2024-05-07T19:24:37.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jwhui","name":"Jonathan Hui","path":"/jwhui","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16142208?s=80&v=4"},"commit":{"message":"[routing-manager] enhance and streamline `PdPrefixManager` (#10146)\n\nThis commit updates the `PdPrefixManager` class for improved\r\nreadability and efficiency:\r\n\r\n- Relocated all Prefix PD methods in the header file for logical\r\n grouping within the same `#if` block.\r\n- Reordered method definitions for better organization (e.g., moved\r\n `SetEnabled()` closer to the constructor, and logging-related\r\n methods to the end).\r\n- Renamed variables and types for conciseness (e.g., `Dhcp6PdState` to\r\n `State`).\r\n- Simplified prefix processing logic, regardless of whether it's from\r\n RA or directly set.\r\n- Moved additional functions into `PdPrefixManager::Process()`,\r\n including checking `mEnabled`, logging failures, and updating\r\n counters.\r\n- Optimized `Process()` to update the timer only when the prefix\r\n changes.\r\n- Introduced a new nested `PrefixEntry` class with helper methods like\r\n `IsFavoredOver()` and `IsEmpty()`, simplifying the code and\r\n improving readability.\r\n- The `IsFavoredOver()` method determines if one PD prefix is favored\r\n over another.","shortMessageHtmlLink":"[routing-manager] enhance and streamline PdPrefixManager (#10146)"}},{"before":"973e657c6b35e71e8bd437e4b43ebb77753bf025","after":"42ccf281fbca6bd7ca5b531b9e4debc760f866f2","ref":"refs/heads/main","pushedAt":"2024-05-06T19:18:06.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jwhui","name":"Jonathan Hui","path":"/jwhui","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16142208?s=80&v=4"},"commit":{"message":"[routing-manager] ensure correct handling of shorter PD prefix (#10145)\n\nThis commit corrects the order of calls to prefix methods `Tidy()` and\r\n`SetLength(kOmrPrefixLength)`. This was unintentionally reversed in\r\nPR #10000.\r\n\r\nPD prefixes can be shorter than `kOmrPrefixLength` (as allowed by\r\n`IsValidPdPrefix()`). To use them as OMR prefixes, `Tidy()` is called\r\nfirst to clear any extra bits before potentially extending the prefix\r\nto `kOmrPrefixLength`.","shortMessageHtmlLink":"[routing-manager] ensure correct handling of shorter PD prefix (#10145)"}},{"before":"62754567ba2e1b763b3f69a874e704d35b92c068","after":null,"ref":"refs/heads/dependabot/github_actions/codecov/codecov-action-4.3.1","pushedAt":"2024-05-06T18:45:26.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAESxWCOQA","startCursor":null,"endCursor":null}},"title":"Activity · openthread/openthread"}