commit c1e402598d Author: Anders Broman Date: Wed Jul 10 06:27:36 2024 +0000 Thrift: fix incorrect proto_depth calculation In case a sub-dissector handles a command containing structures, the current depth was not incremented for the content of the structure itself and, more importantly, was improperly decremented when exiting the structure. In most cases, the bug could be hidden by the parent element correctly resetting the value to its expected current state but when the structure is the element type of a container (list, set, map), the sequence of structures would decrement the count below 0, resulting in an underflow that triggers the ei_thrift_too_many_subtypes expert info. This issue does not affect the standard Thrift dissector that follows a different path. (cherry picked from commit 4a9802621e3c3b523c509383d604bbb2677b0214) Co-authored-by: Triton Circonflexe commit f1bb1ea947 Author: Gerald Combs Date: Tue Jul 9 18:14:59 2024 -0700 Prep for 4.2.6 [skip ci] commit 27a738f3cc Author: Uli Heilmeier Date: Tue Jul 9 16:25:11 2024 +0000 SIP: decoding for quoted value of utran-cell-id-3gpp According to RFC7315 value for utran-cell-id-3gpp is token / quoted-string Fixes: #19917 (cherry picked from commit aa69a037691a97c67a754b81e06f0e6d948b1f13) Co-authored-by: Uli Heilmeier commit 21691ee1c7 Author: John Thacker Date: Tue Jul 9 19:18:49 2024 +0000 Shellcheck updates Fix a few shellcheck warnings and add tools/rpm-setup.sh. [skip ci] (cherry picked from commit e49d6dd7cb3b1bdc6c4f7e28cebe51d8a73df8d9) Co-authored-by: Gerald Combs commit 6637edf6d3 Author: Gerald Combs Date: Sat Jul 6 20:27:55 2024 -0500 GitLab CI: Use Mino mc on Ubuntu Switch to minio mc on Ubuntu. Unlike `aws s3 cp` it can copy multiple files. It should also reduce the Ubuntu image size a bit. (cherry picked from commit d7eefd41a2b03bf72547901cd7e6b729f217793a) Conflicts: .gitlab-ci.yml commit 2e321b6357 Author: Gerald Combs Date: Sun Jul 7 09:25:57 2024 +0000 [Automatic update for 2024-07-07] Update manuf, services enterprise numbers, translations, and other items. commit d4e7dfb50b Author: Gerald Combs Date: Sat Jul 6 22:17:58 2024 -0500 GitLab CI: Switch to clang 18 commit 6606c20e92 Author: Uli Heilmeier Date: Fri Jul 5 10:18:11 2024 +0000 DCHP: Fix Relay Agent Information Source Port Fixes: #19909 (cherry picked from commit acd8dca562a07a6811788617bdca03f4f3a27753) Co-authored-by: Uli Heilmeier commit ccfaadf39f Author: Gerald Combs Date: Sun Jun 30 09:25:42 2024 +0000 [Automatic update for 2024-06-30] Update manuf, services enterprise numbers, translations, and other items. commit d29df12f71 Author: John Thacker Date: Fri Jun 28 11:14:09 2024 +0000 Qt: Keep axes in sync for Window Scaling graph The unacked bytes makes sense as a percentage of the window size, so keep the two axes in sync, while one axis has the color and title for the unacked bytes, while the other has the color and title of the window size. Fixup 259bbbff2a5257319ff69aa32cc377fc501eb022 (cherry picked from commit ac81cdbc92b62f04f979ffbe40679fae7f948c7a) Co-authored-by: John Thacker commit f97cd68ea4 Author: John Thacker Date: Wed Jun 26 11:01:44 2024 +0000 idl2wrs.c: Fix generation of idl2wrs-dissectors This hasn't worked since 8ca846436d14da6079a51da4111a860e0f357c36 (September 24, 2016) because the code actually depended on atoi failing silently and returning 0 when faced with a non integer. Switch the ws_strtou32 call to being *after* the checks for the special values '*' and ']'. We don't need to copy the result into a string buffer and compare, because ws_strtou32 with a NULL end of string pointer will err in the cases where the comparison would fail. (cherry picked from commit f3f19e8fbb972a49fa3d141e59ef3d9a007a24aa) Co-authored-by: John Thacker commit ad95284883 Author: Guy Harris Date: Wed Jun 26 05:58:34 2024 +0000 prefs: Add one space back to gui.debounce_timer description The previous fix accidentally missed adding one trailing space in a line. Fixes: fe98af0e30 ("prefs: Get rid of line continuations for gui.debounce.timer description") (cherry picked from commit 2f19d0db5c22635171f07c4bd1858ae5ba9e9609) Co-authored-by: Paul Aurich commit 687213a9f4 Author: John Thacker Date: Tue Jun 25 18:46:42 2024 +0000 WiSUN: correct offset logic errors Change local variable `offset` from a `guint8` to a `guint` in two functions with loops, to prevent a potential infinite loop from overflowing the variable. Change `dissect_wisun_nrie()` to return the number of bytes it dissected, since that's how `dissect_wisun_hie()` seemingly expects it to behave. It previously returned the new offset at the end of what it dissected -- which is how several `dissect_...()` functions in this dissector are expected to behave, but this is not one of them. (This inconsistency adds friction when maintaining this dissector and should be addressed at some point.) (cherry picked from commit 6931eb67e7a3fd7a2ad115f3523fb0a4778c885f) Co-authored-by: David Perry commit dbad9729ec Author: Peter Wu Date: Tue Jun 25 10:33:01 2024 +0000 Qt: fix unreadable syntax filter in dark mode on KDE with Qt 6 KDE Plasma 6.1.0 with the Breeze Dark theme on Qt 6.7.1 and Windows 11 with a high contrast theme have an unreadable display filter field. It displays white text on a bright green or red background, see #18246. This was caused by an invalid assumption that `colorScheme()` only returns two values, Light and Black. It can also return Unknown which does not imply Light. Make sure to fallback and check the actual colors. Link: https://gitlab.com/wireshark/wireshark/-/issues/18246#note_1958637216 Link: https://code.qt.io/cgit/qt/qtbase.git/tree/src/gui/platform/unix/qgenericunixthemes.cpp?h=6.7.2#n1132 Link: https://code.qt.io/cgit/qt/qtbase.git/tree/src/plugins/platforms/windows/qwindowstheme.cpp?h=6.7.2#n549 Fixes: v4.1.1rc0-163-g0573bbaed6 ("Qt: Dark mode updates") (cherry picked from commit 333adde36f5d614176c3a44c7d3357af67da451c) Co-authored-by: Peter Wu commit 0cb98e630b Author: Guy Harris Date: Tue Jun 25 04:24:18 2024 +0000 prefs: Get rid of line continuations for gui.debounce.timer description Due to the use of line continuations here, the preference description written into the wireshark preferences file ends up with excessive whitespace. Before: ``` % tshark -G defaultprefs | grep -B2 debounce # How long to wait (in milliseconds) before processing computationally intensive user input. If you type quickly, consider lowering the value for a 'snappier' experience. If you type slowly, consider increasing the value to avoid performance issues. This is currently used to delay searches in View -> Internals -> Supported Protocols and Preferences -> Advanced menu. # A decimal number #gui.debounce.timer: 400 % ``` After: ``` % ./run/tshark -G defaultprefs | grep -B2 debounce # How long to wait (in milliseconds) before processing computationally intensive user input. If you type quickly, consider lowering the value for a 'snappier' experience. If you type slowly, consider increasing the value to avoid performance issues.This is currently used to delay searches in View -> Internals -> Supported Protocols and Preferences -> Advanced menu. # A decimal number #gui.debounce.timer: 400 % ``` Fixes: 9e1905f88d ("Preferences: Support configuring debounce timers") (cherry picked from commit fe98af0e300c83d7b87391628e3c1a4176ab6c4a) Co-authored-by: Paul Aurich commit e081baf9ec Author: John Thacker Date: Mon Jun 24 19:30:50 2024 +0000 Qt: Write gui.fileopen_remembered_dir to recent with native separators QFileInfo().absolutePath() always uses '/' as the directory separator. When writing the path to the recent file, use native separators (i.e. '\' on Windows.) This affects things more when using the native Win32 API (so 4.2 and earlier), but also makes the recent file and certain error and warning pop-ups look normal to Windows users. Fix #19891 (cherry picked from commit b14ceeb6b6116b8858056f9322954f880b79b9ae) Co-authored-by: John Thacker commit ac51b76cad Author: John Thacker Date: Mon Jun 24 13:52:32 2024 +0000 idl2wrs: Update generator to match recent commit Update wireshark_gen.py for the change made in commit fd64746f44899d6685b959507c85867a03c54537 so it produces the same result. We still need to regenerate the dissectors after the changes in commit 32c2ab79a778f88f0f4b852034feada0345fe099. (cherry picked from commit 7a69039fbb52bd55e86aa1100cf254fd3d07524e) Co-authored-by: John Thacker commit 730fa7a38b Author: Gerald Combs Date: Sun Jun 23 09:26:15 2024 +0000 [Automatic update for 2024-06-23] Update manuf, services enterprise numbers, translations, and other items. commit 11b71ab3f7 Author: John Thacker Date: Wed Jun 19 22:13:49 2024 +0000 radius: Switch back to the previous FILE if an $INCLUDE doesn't open Save the previous FILE pointer so we can switch back to it if a file name listed in an $INCLUDE doesn't open, instead of leaving it null, so that any subsequent read attempts (or attempts to close it at the end) don't crash. Fix #6466. (The other parts of the issue have been fixed.) (cherry picked from commit ef37a3e41e32f96d19d684e0873b51a31069184b) Co-authored-by: John Thacker commit cb890416db Author: John Thacker Date: Wed Jun 19 12:52:09 2024 -0400 release notes: Mention fix to TCP Stream Graph tcptrace Related to #19846 commit 2c0e45eb92 Author: Gerald Combs Date: Sun Jun 16 09:26:25 2024 +0000 [Automatic update for 2024-06-16] Update manuf, services enterprise numbers, translations, and other items. commit c1885eb7a5 Author: Guy Harris Date: Sat Jun 15 07:13:39 2024 +0000 log3gpp: Fix read of uninitialized data. Clang static analysis reports that subsecond_decimals_buf[1] through [3] might be used uninitialized. This is because the array is being NUL-terminated, but the NUL-termination is not relevant (and is in fact erroneous) when the array is being directly evaluated one character at a time and assumed to be only digits. The NUL-termination can be removed (and the array size reduced by one) and instead we directly initialize to '0' any characters not read from the source line. (cherry picked from commit 6ead3e26572ebc5be814206f4a5a833866eb4f32) Co-authored-by: Darius Davis commit f30a10ae2f Author: Niels Widger Date: Fri Jun 14 12:33:51 2024 +0000 capinfos: Fix printing packet comment headers with -TM Commit 45772de9 added support for printing packet comments to `capinfos` with new flags `-p`/`-P` as well as including them in the machine-readable `-M` and table report machine-readable `-TM` outputs. Unfortunately, the commit contained a bug when `-TM` was specified causing none of the `Packet %d Comment` headers for packet comments being printed. This made the output decidedly less machine-readable. This commit fixes this bug, ensuring that `-TM` output includes the correct headers for captures containing packet comments. Previously, in `print_stats_table_header` we used `g_malloc0` to allocate a buffer `buf` large enough to hold the `Packet %d Comment` header for any packet with a frame number from 1 to 2^64. Unfortunately, since this buffer was initialized with `NULL` bytes, using `strlen(buf)` as the `n` argument to `snprintf` when writing the `Packet %d Comment` header to `buf` always led to it writing 0 bytes to `buf`. This is turn led `print_stats_table_header_label` to always get an empty string as its argument, meaning no `Packet %d Comment` header was printed. The result of this bug was that the actual packet comment values were printed, but without the accompanying `Packet %d Comment` header. Below is an example of the previous, broken behavior: $ capinfos -TM comment-test.pcapng File name File type File encapsulation File time precision Packet size limit Packet size limit min (inferred) Packet size limit max (inferred) Number of packets File size (bytes) Data size (bytes) Capture duration (seconds) Start time End time Data byte rate (bytes/sec) Data bit rate (bits/sec) Average packet size (bytes) Average packet rate (packets/sec) SHA256 SHA1 Strict time order Capture hardware Capture oper-sys Capture application Capture comment /root/comment-test.pcapng pcapng ether microseconds (not set) n/a n/a 19 3944 2990 2.660439 2022-12-24 17:31:05.387079 2022-12-24 17:31:08.047518 1123.87 8991.00 157.37 7.14 e3ab39da3be87894a58e622dd08505b94f37bc5e478099037dcd03333a87c8b3 5afe04e6f4d5f485aad8b38ee42c54ee4fd6256e True Editcap (Wireshark) 3.6.19 (Git commit c38a01f797b1) Frame two comment Frame 6 has a comment Frame 10 with _markdown_ **markdown**\r\n\r\n## Headers too\r\n\r\n[and a link!](https://www.google.com) Frame 14 comment multiline\n\nHello there! and here is an example of the new, fixed behavior: $ capinfos -TM comment-test.pcapng File name File type File encapsulation File time precision Packet size limit Packet size limit min (inferred) Packet size limit max (inferred) Number of packets File size (bytes) Data size (bytes) Capture duration (seconds) Start time End time Data byte rate (bytes/sec) Data bit rate (bits/sec) Average packet size (bytes) Average packet rate (packets/sec) SHA256 SHA1 Strict time order Capture hardware Capture oper-sys Capture application Capture comment Packet 2 Comment Packet 6 Comment Packet 10 Comment Packet 14 Comment /home/niels/Downloads/comment-test.pcapng pcapng ether microseconds (not set) n/a n/a 19 3944 2990 2.660439 2022-12-24 12:31:05.387079 2022-12-24 12:31:08.047518 1123.87 8991.00 157.37 7.14 e3ab39da3be87894a58e622dd08505b94f37bc5e478099037dcd03333a87c8b3 5afe04e6f4d5f485aad8b38ee42c54ee4fd6256e True Editcap (Wireshark) 3.6.19 (Git commit c38a01f797b1) Frame two comment Frame 6 has a comment Frame 10 with _markdown_ **markdown**\r\n\r\n## Headers too\r\n\r\n[and a link!](https://www.google.com) Frame 14 comment multiline\n\nHello there! (cherry picked from commit 5a94fd5022d9a6100090fb0f22de99801cfc9101) Co-authored-by: Niels Widger commit 83b9ca9263 Author: Gerald Combs Date: Sun Jun 9 09:25:58 2024 +0000 [Automatic update for 2024-06-09] Update manuf, services enterprise numbers, translations, and other items. commit 6efb981fb7 Author: Guy Harris Date: Thu Jun 6 17:28:53 2024 +0000 mergecap: prevent appending to an input file Prevent the infinite loop described in #19402 by refusing to operate if asked to append to an output file that is also one of the inputs. Uses `files_identical()` from wsutil. (cherry picked from commit 3b63098fb1e2b7f8fe350989bb973d8323464639) Co-authored-by: David Perry commit 52084eab98 Author: John Thacker Date: Thu Jun 6 01:08:10 2024 +0000 Qt: Allow the Learn links to word wrap Over the course of the 4.0 series the Sharkfest, Discord, and Donation links were added to the Welcome page. They are now the limiting factor in the application page width. For some language translations they are even longer. Some of the "Learn" links have multiple words, like "Questions and Answers," or "Wireshark Discord." Allow the multiword link titles to word wrap. Fix #19861 (cherry picked from commit 389151f569600f5340845879f7d3a5b783b6ea57) Co-authored-by: John Thacker commit d64dcbe0d6 Author: John Thacker Date: Thu Jun 6 00:18:46 2024 +0000 E212: Fix a duplicate entry in mnc value_string (cherry picked from commit 19405895f6c9602002b9eed0a3884765018b019f) ac6ab8cf E212: Fix a duplicate entry in mnc value_string Co-authored-by: Martin Mathieson commit eca87127fd Author: John Thacker Date: Mon Jun 3 20:05:25 2024 -0400 Qt: Fix byte view text wrapping with Qt <= 5.10 There's at least two concepts that might be described as the width of a string of characters; the width of a box that surrounds the existing characters, and the width that measures where to place the next characer. The former has always been obtained from QFontMetrics::boundingRect(text).width(), but prior to Qt 5.11 QFontMetrics::width(text) gave the latter. This led to many people using the latter when they usually wanted the former. Thus in Qt 5.11 QFontMetrics::width() was deprecated for QFontMetrics::horizontalAdvance(). In our case, we really want horizontalAdvance, because we're manually drawing characters. It makes a difference because for non ASCII characters we use the UTF-8 middle dot character, which has a lot of necessary blank space before and after it where other characters shouldn't be drawn. With some fonts and scalings using the width of the bounding rectangle makes our lines too short and the end of the ASCII text wraps, when there's lots of non ASCII / middle dots. So on Qt 5.10 and earlier, use the width() function that is equivalent to horizontalAdvance (een though it is marked obsolete for later versions.) Fix #18096 commit eeab1dbeaf Author: John Thacker Date: Mon Jun 3 13:03:28 2024 +0000 Qt: Make it possible to clear Comments from all interfaces We only add an entry for an interface if it has a non-empty Comment (aka user description). That means we need to make sure that the map has a default empty QStringList for that pref so we can set it to the empty string; otherwise, if some interfaces have Comments, but the user tries to the clear the comments from all interfaces, it won't work. The map won't have an entry for that pref, so it won't get changed to the empty string. The same is true for the Monitor Mode setting. (cherry picked from commit f622eac21f24b450076fb85bac3b40f58eca2ecc) Co-authored-by: John Thacker commit e128c2804e Author: Gerald Combs Date: Sun Jun 2 09:26:34 2024 +0000 [Automatic update for 2024-06-02] Update manuf, services enterprise numbers, translations, and other items. commit c15c3f9b18 Author: John Thacker Date: Sat Jun 1 12:23:13 2024 +0000 Qt: Fix leak on CaptureFileDialog preview of file with errors Remember to call wtap_close when the preview stats have an error to avoid leaking the file. (cherry picked from commit c29c1bb27ce6a4ab50866ea3b580af859d44323b) Co-authored-by: John Thacker commit 825070af48 Author: John Thacker Date: Sat Jun 1 02:22:01 2024 +0000 test: skip test_sharkd_req_follow_http2 test if no http2 support Originally reported downstream in Gentoo at https://bugs.gentoo.org/933290. This is the same kind of thing as https://gitlab.com/wireshark/wireshark/-/merge_requests/9029. (cherry picked from commit cc8264d68f638c72ada1e94a9913902462c1a25a) Co-authored-by: Sam James commit 182646016c Author: Martin Mathieson Date: Fri May 31 15:44:21 2024 +0000 Protobuf: don't write beyond end of array commit d61af59a94 Author: John Thacker Date: Fri May 31 12:54:10 2024 +0000 Qt: Fix CaptureOptionsDialog tooltip for stop files spinbox The tooltip for the stop files spinbox is accidentally duplicated from the stop number of packets spinbox. (cherry picked from commit 8b9c3c620e983ec4e63cfeda2f5de449f2bd3ace) Co-authored-by: John Thacker commit 2e88a7ca5f Author: Pascal Quantin Date: Fri May 31 10:40:32 2024 +0200 NAS 5GS: fix dissection of extended rejected NSSAI IE (cherry picked from commit adb9543df7a312e9309f0b54eeab62249de54d84) Conflicts: epan/dissectors/packet-nas_5gs.c commit df91454779 Author: John Thacker Date: Wed May 29 15:06:27 2024 +0000 MySQL: Handle DATETIME if the column definition is unsigned At least some captures mark DATETIMEs with the UNSIGNED flag in the column defintion. Dissect those too. Dissect #19859. (cherry picked from commit 9962a87a8a02ec09a98e2f34dcb5095bf409c3c4) Co-authored-by: John Thacker commit cef77b8fed Author: John Thacker Date: Wed May 29 14:22:43 2024 +0000 SPRT: Fix crash SDP can setup a RTP conversation with a setup frame before the current frame, which changes the dissection on the second pass. If in the period in the middle there is a SPRT packet, it can be dissected differently on the second pass, and the SPRT conversation data won't be found on the second pass. Fix #19559 (at least prevent the crash. There's some more cleanup that should happen.) (cherry picked from commit 05f6364cbd766e8758f98c5ee2070aef27c1ffef) Co-authored-by: John Thacker commit 9797333ed5 Author: John Thacker Date: Mon May 27 10:33:39 2024 +0000 Qt: Only remove and delete the FunnelTextDialog's own buttons FunnelTextDialog has a static global map of all the buttons. When closing a dialog, only delete the buttons from that dialog's button box, not all the button from all the dialogs in the map. Fix #18386 (cherry picked from commit d40040eac72bd3ceb51cdd1b99b9553c3f7aa48c) Co-authored-by: John Thacker commit 7d95ca8f3d Author: Gerald Combs Date: Sun May 26 09:25:08 2024 +0000 [Automatic update for 2024-05-26] Update manuf, services enterprise numbers, translations, and other items. commit ebac462611 Author: Niels Widger Date: Thu May 23 18:15:32 2024 +0000 sharkd: Fix bad "stream"/"sub_stream" reponse fields in "frame" method In 289a1590, a new `followers` response field was added to `sharkd`'s `frame` method with a mandatory `stream` field and an optional `sub_stream` field. These fields contain the stream and sub-stream index numbers for the conversation, which were obtained in `sharkd_followers_visit_layers_cb` using `get_follow_conv_func`. This function takes two `guint` pointers which are set by the protocol. In reality, not all protocols (SIP for example) set the `stream` pointer parameter passed to `get_follow_conv_func`, meaning the value of the mandatory `stream` response field came from uninitialized memory. This led to non-sensical `stream` response field values such as `-2071892000` or `1726050272` being sent. To fix this issue, this commit makes both the `stream` and `sub_stream` response fields optional by updating `sharkd_followers_visit_layers_cb` to only output these fields if `get_follow_stream_count_func` (for `stream`) or `get_follow_sub_stream_id_func` (for `sub_stream`) do not return `NULL`. This seems to be how `FollowStreamDialog::follow` in `ui/qt/follow_stream_dialog.cpp` determines whether the `stream` and `sub_stream` pointers passed to `get_follow_conv_func` can be assumed to have been set. This also avoids the awkward need for a sentinel value such as `SUBSTREAM_UNUSED` to determine if `get_follow_conv_func` set `sub_stream`. Finally, use the more appropriate `%u` format verb instead of `%d` in calls to `sharkd_json_value_anyf` when outputting the `stream` and `sub_stream` fields, which both come from a `guint` and are thus unsigned. (cherry picked from commit aa760445c39255d6f914cd5a48c8bacdcd1237a9) Co-authored-by: Niels Widger commit 6d0aee9a39 Author: Pascal Quantin Date: Tue May 21 11:49:52 2024 +0000 RLC LTE: fix dissection of EUTRA DL CCCH messages (cherry picked from commit 0c3bf2d77e32e08011e5567ede189b45947805ca) Co-authored-by: Pascal Quantin commit f29bc46988 Author: John Thacker Date: Mon May 20 11:24:19 2024 +0000 Qt: Switch rwin_graph axes depending on TCP Stream graph selected Fix #19846 (cherry picked from commit 8f6822071ee44931a9594a282bc4e3649bd7153a) Co-authored-by: John Thacker commit 710b34cda3 Author: Jeff Dyer Date: Wed Jan 10 16:12:35 2024 +0000 NAS 5GS: set subdissector for SMS NAS messages in HTTP2 (cherry picked from commit 885e638a03bccdc212b51ff5517b394ab029da37) Closes #19845 commit b794e7985c Author: Gerald Combs Date: Sun May 19 09:25:28 2024 +0000 [Automatic update for 2024-05-19] Update manuf, services enterprise numbers, translations, and other items. commit 76ee960786 Author: John Thacker Date: Thu May 16 14:37:34 2024 +0000 tools: Update alpine-setup Alpine Linux defaults to the BusyBox ash, in bash compatible mode supporting `set -e -u -o pipefail` and the rest of the setup script, so use that. Install bash just in case because some of our other scripts might have some bashisms, I haven't checked. Update to Qt6 and add opencore-amr-dev and libcap-setcap to the optional packages, since all currently supported (and some out of support) Alpine releases have them. Lua 5.4 will be in another commit just to ease backporting this to 4.2 (cherry picked from commit 7bf71c0b3a5aa4122b2eed154119d3d59f5bc355) Co-authored-by: John Thacker commit 7587228433 Author: John Thacker Date: Thu May 16 14:11:19 2024 +0000 CMake: Look for the lua library with versioned suffixes Alpine Linux puts not just the include files but also the library in a versioned subdirectory, so look for it there too. Fix #19841 (cherry picked from commit 59b376dce046eb4f739a70f49c20ac9da9cab794) Co-authored-by: John Thacker commit dd7f53165b Author: Gerald Combs Date: Wed May 15 12:55:25 2024 -0700 Version: 4.2.5 → 4.2.6 [skip ci]