diff --git a/regexes.yaml b/regexes.yaml index a0511ff9..939d207d 100644 --- a/regexes.yaml +++ b/regexes.yaml @@ -1005,6 +1005,11 @@ user_agent_parsers: # HTTrack crawler - regex: '\b(HTTrack) (\d+)\.(\d+)(?:[\.\-](\d+)|)' + # SerenityOS (https://serenityos.org) + # https://github.com/SerenityOS/serenity/blob/2e1bbcb0faeae92d7595b8e0b022a8cdcecca07e/Userland/Libraries/LibWeb/Loader/ResourceLoader.h#L27 + - regex: 'SerenityOS' + family_replacement: 'SerenityOS Browser' + os_parsers: ########## # HbbTV vendors @@ -1724,7 +1729,7 @@ os_parsers: # just os - regex: '(Windows|Android|WeTab|Maemo|Web0S)' - - regex: '(Ubuntu|Kubuntu|Arch Linux|CentOS|Slackware|Gentoo|openSUSE|SUSE|Red Hat|Fedora|PCLinuxOS|Mageia|(?:Free|Open|Net|\b)BSD)' + - regex: '(Ubuntu|Kubuntu|Arch Linux|CentOS|Slackware|Gentoo|openSUSE|SUSE|Red Hat|Fedora|PCLinuxOS|Mageia|SerenityOS|(?:Free|Open|Net|\b)BSD)' # Linux + Kernel Version - regex: '(Linux)(?:[ /](\d+)\.(\d+)(?:\.(\d+)|)|)' - regex: 'SunOS' diff --git a/tests/test_os.yaml b/tests/test_os.yaml index 91d1553f..b71223ee 100644 --- a/tests/test_os.yaml +++ b/tests/test_os.yaml @@ -3105,3 +3105,9 @@ test_cases: patch: patch_minor: + - user_agent_string: 'Mozilla/4.0 (SerenityOS; x86_64) LibWeb+LibJS (Not KHTML, nor Gecko) LibWeb' + family: 'SerenityOS' + major: + minor: + patch: + patch_minor: diff --git a/tests/test_ua.yaml b/tests/test_ua.yaml index f6cfd082..ff3e0c3d 100644 --- a/tests/test_ua.yaml +++ b/tests/test_ua.yaml @@ -8629,3 +8629,8 @@ test_cases: minor: '20' patch: '1' + - user_agent_string: 'Mozilla/4.0 (SerenityOS; x86_64) LibWeb+LibJS (Not KHTML, nor Gecko) LibWeb' + family: 'SerenityOS Browser' + major: + minor: + patch: