# Versions & Functionality Levels (FLEVELs)

The Functionality Level (or FLEVEL) is an integer that signatures may use to define which versions of ClamAV the signature features support. It is up to the signature writers to select the correct FLEVEL or range of FLEVELs when writing a signature so that it does not cause failures in older versions of ClamAV.

Setting appropriate FLEVELs in signatures is particularly crucial when using features added in the last 3-4 major release versions.

## ClamAV Version to FLEVEL chart

Release Date | Release | FLEVEL | FunctionalityLevel (bytecode enum) | clamav lib | .so | freshclam lib | .so | API/ABI changes, major features, other notes
--- | --- | --- | --- | --- | --- | --- | --- | ---
n/a | 1.4.0 | 210 | FUNC_LEVEL_1_3 | n/a | n/a | n/a | n/a |
Feb-2023 | 1.3.0 | 200 | FUNC_LEVEL_1_3 | 12:02:00 | 12.0.2 | 3:01:00 | 3.0.1 | OneNote attachment extraction (CL_TYPE_ONENOTE); CL_TYPE_PYTHON_COMPILED (.pyc) file type recognition
Feb-2023 | 1.2.2 | 192 | FUNC_LEVEL_1_2 | 12:01:00 | 12.0.1 | 3:01:00 | 3.0.1 | Critical bug fixes
Feb-2023 | 1.0.5 | 165 | FUNC_LEVEL_1_0_5 | 11:00:00 | 11.0.0 | 2:02:00 | 2.0.2 | Critical bug fixes
Oct-2023 | 1.2.1 | 191 | FUNC_LEVEL_1_1 | 12:01:00 | 12.0.1 | 3:01:00 | 3.0.1 | Critical bug fixes
Oct-2023 | 1.1.3 | 183 | FUNC_LEVEL_1_1_3 | 12:00:00 | 12.0.0 | 3:00:00 | 3.0.0 | Critical bug fixes
Oct-2023 | 1.0.4 | 164 | FUNC_LEVEL_1_0_4 | 11:00:00 | 11.0.0 | 2:02:00 | 2.0.2 | Critical bug fixes
Oct-2023 | 0.103.11 | 132 | FUNC_LEVEL_0103_111 | 9:05:00 | 9.0.5 | 2:01:00 | 2.0.1 | Critical bug fixes
Aug-2023 | 1.2.0 | 190 | FUNC_LEVEL_1_2 | 12:01:00 | 12.0.1 | 3:01:00 | 3.0.1 | UDF partition support
Aug-2023 | 1.1.2 | 182 | FUNC_LEVEL_1_1_2 | 12:00:00 | 12.0.0 | 3:00:00 | 3.0.0 | Upgrade UnRAR library for security fix
Aug-2023 | 1.0.3 | 163 | FUNC_LEVEL_1_0_3 | 11:00:00 | 11.0.0 | 2:02:00 | 2.0.2 | Upgrade UnRAR library for security fix
Aug-2023 | 0.103.10 | 131 | FUNC_LEVEL_0103_10 | 9:05:00 | 9.0.5 | 2:01:00 | 2.0.1 | Upgrade UnRAR library for security fix
Aug-2023 | 1.1.1 | 181 | FUNC_LEVEL_1_1_1 | 12:00:00 | 12.0.0 | 3:00:00 | 3.0.0 | Critical bug fixes; Fix build issue with Rust 1.70+; Fix build issue with openssl 3 on macOS
Aug-2023 | 1.0.2 | 162 | FUNC_LEVEL_1_0_2 | 11:00:00 | 11.0.0 | 2:02:00 | 2.0.2 | Critical bug fixes; Fix build issue with Rust 1.70+; Fix build issue with openssl 3 on macOS
Aug-2023 | 0.103.9 | 130 | FUNC_LEVEL_0103_9 | 9:05:00 | 9.0.5 | 2:01:00 | 2.0.1 | Critical bug fixes
May-2023 | 1.1.0 | 180 | FUNC_LEVEL_1_1 | 12:00:00 | 12.0.0 | 3:00:00 | 3.0.0 | Added `cl_cvdgetage()` and `cl_engine_set_clcb_vba()` functions.
Feb-2023 | 1.0.1 | 161 | FUNC_LEVEL_1_0_1 | 11:00:00 | 11.0.0 | 2:02:00 | 2.0.2 | Critical bug fixes; Fix an allmatch detection issue with the preclass bytecode hook.
Feb-2023 | 0.105.2 | 152 | FUNC_LEVEL_0105_2 | 10:00:01 | 9.1.0 | 2:02:00 | 2.0.2 | Critical bug fixes; Fixed an issue loading Yara rules containing regex strings with an escaped forward-slash (/) followed by a colon (:).
Feb-2023 | 0.103.8 | 129 | FUNC_LEVEL_0103_8 | 9:05:00 | 9.0.5 | 2:01:00 | 2.0.1 | Critical bug fixes
Nov-2022 | 1.0.0 | 160 | FUNC_LEVEL_1_0 | 11:00:00 | 11.0.0 | 2:02:00 | 2.0.2 | Added `cl_cvdunpack()` API. Added unstable `clcb_file_inspection` callback, and `cl_engine_set_clcb_file_inspection()` API. All-match mode is now more reliable. Fix logical signature "Intermediates" feature.
May-2022 | 0.105.1 | 151 | FUNC_LEVEL_0105_1 | 10:00:01 | 9.1.0 | 2:02:00 | 2.0.2 | Fix logical signature "Intermediates" feature.
May-2022 | 0.105.0 | 150 | FUNC_LEVEL_0105 | 10:00:01 | 9.1.0 | 2:02:00 | 2.0.2 | Fuzzy image hash subsignatures; Fix byte-compare subsignature premature alert
Nov-2021 | 0.104.4 | 144 | FUNC_LEVEL_0104_4 | 10:00:01 | 9.1.0 | 2:02:00 | 2.0.2 | Fix logical signature "Intermediates" feature.
Nov-2021 | 0.104.3 | 143 | FUNC_LEVEL_0104_3 | 10:00:01 | 9.1.0 | 2:02:00 | 2.0.2 | Critical bug fixes; Fix byte-compare subsignature premature alert (0.104)
Nov-2021 | 0.104.2 | 142 | FUNC_LEVEL_0104_2 | 10:00:01 | 9.1.0 | 2:02:00 | 2.0.2 | Critical bug fixes
Nov-2021 | 0.104.1 | 141 | FUNC_LEVEL_0104_1 | 10:00:01 | 9.1.0 | 2:02:00 | 2.0.2 | Critical bug fixes
Nov-2021 | 0.103.7 | 128 | FUNC_LEVEL_0103_8 | 9:05:00 | 9.0.5 | 2:01:00 | 2.0.1 | Fix logical signature "Intermediates" feature.
Nov-2021 | 0.103.6 | 127 | FUNC_LEVEL_0103_6 | 9:05:00 | 9.0.5 | 2:01:00 | 2.0.1 | Critical bug fixes; Fix byte-compare subsignature premature alert (0.103)
Nov-2021 | 0.103.5 | 126 | FUNC_LEVEL_0103_5 | 9:05:00 | 9.0.5 | 2:01:00 | 2.0.1 | Critical bug fixes
Nov-2021 | 0.103.4 | 125 | FUNC_LEVEL_0103_4 | 9:05:00 | 9.0.5 | 2:01:00 | 2.0.1 | Critical bug fixes
Sep-2021 | 0.104.0 | 140 | FUNC_LEVEL_0104 | 10:00:01 | 9.1.0 | 2:02:00 | 2.0.2 | CMake stabilized (autotools removed); Added db load/compile/free callbacks to clamav.h API.
Jun-2021 | 0.103.3 | 124 | FUNC_LEVEL_0103_3 | 9:05:00 | 9.0.5 | 2:01:00 | 2.0.1 | Critical bug fixes
May-2021 | 0.103.2 | 123 | FUNC_LEVEL_0103_2 | 9:05:00 | 9.0.5 | 2:01:00 | 2.0.1 | Security fixes
Feb-2021 | 0.103.1 | 122 | FUNC_LEVEL_0103_1 | 9:05:00 | 9.0.5 | 2:01:00 | 2.0.1 | Fix PNG parser; Loosen GIF format validation (trailer byte); Fix scan issue on Windows RAM disks; Fix clamonacc FD-passing; Enable JPEG & TIFF validation; Add CL_TYPE_JPEG, CL_TYPE_TIFF; Adds ALERT_BROKEN_IMAGES scan heuristics option
Sep-2020 | 0.103.0 | 120 | FUNC_LEVEL_0103 | 9:05:00 | 9.0.5 | 2:01:00 | 2.0.1 | Add CL_TYPE_PNG, CL_TYPE_GIF; Add XLM macro detection; Add bzip2 & LZMA decompression functions to bytecode API
Jul-2020 | 0.102.4 | 115 | FUNC_LEVEL_0102_4 | 9:04:00 | 9.0.4 | 2:00:00 | 2.0.0 | Security fixes
May-2020 | 0.102.3 | 114 | FUNC_LEVEL_0102_3 | 9:04:00 | 9.0.4 | 2:00:00 | 2.0.0 | Security fixes
Feb-2020 | 0.102.2 | 113 | FUNC_LEVEL_0102_2 | 9:04:00 | 9.0.4 | 2:00:00 | 2.0.0 | Security fixes
Nov-2019 | 0.102.1 | 112 | FUNC_LEVEL_0102_1 | 9:04:00 | 9.0.4 | 2:00:00 | 2.0.0 | Security fixes; Significant load time improvement for LDBs with common pattern prefixes
Nov-2019 | 0.101.5 | 106 | FUNC_LEVEL_0101_5 | 9:04:00 | 9.0.4 |  |  | Security fixes; Significant load time improvement for LDBs with common pattern prefixes
Oct-2019 | 0.102.0 | 110 | FUNC_LEVEL_0102 | 9:04:00 | 9.0.4 | 2:00:00 | 2.0.0 | BytecodeKind: BC_ELF_UNPACKER, BC_MACHO_UNPACKER; Add CL_TYPE_EGG/CL_TYPE_EGG_SFX; Added scan time limit
Aug-2019 | 0.101.4 | 105 | FUNC_LEVEL_0101_4 | 9:04:00 | 9.0.4 |  |  | Security fixes; Added scan time limit, bzip vuln fix
Aug-2019 | 0.101.3 | 102 | FUNC_LEVEL_0101_3 | 9:03:00 | 9.0.3 |  |  | Security fixes; Flevel not incremented (whoops)
Mar-2019 | 0.101.2 | 102 | FUNC_LEVEL_0101_2 | 9:02:00 | 9.0.2 |  |  | Security fixes; Flevel not incremented (whoops)
Mar-2019 | 0.100.3 | 94 | FUNC_LEVEL_0100_3 | 8:02:01 | 7.1.2 |  |  | Security fixes
Jan-2019 | 0.101.1 | 102 | FUNC_LEVEL_0101_1 | 9:01:00 | 9.0.1 |  |  | Fix to clamav.h header; Adds clamav-types.h
Dec-2018 | 0.101.0 | 100 | FUNC_LEVEL_0101 | 9:00:00 | 9.0.0 |  |  | Non-backwards compatible API/ABI change: Added filename to scanfile & scandesc, and scan options became a struct; RAR5 Support; Byte-Compare Subsigs; Add CL_TYPE_LNK
Sep-2018 | 0.100.2 | 93 | FUNC_LEVEL_0100_2 | 8:01:01 | 7.1.1 |  |  | Security fixes; Some lenience changes to FreshClam
Jun-2018 | 0.100.1 | 92 | FUNC_LEVEL_0100_1 | 8:01:01 | 7.1.1 |  |  | Security fixes; Add support for HTTPS in ClamSubmit
Mar-2018 | 0.99.4 | 85 | FUNC_LEVEL_099_4 | 8:01:01 | 7.1.1 |  |  | Security fixes; Other important bug fixes
Mar-2018 | 0.100.0 | 90 | FUNC_LEVEL_0100 | 8:01:01 | 7.1.1 |  |  | Feature release 2 years in dev't; Many improvements; Notably Container/Intermediates changes; Changes to wildcard signatures; PE Imp-hash signatures
Jan-2018 | 0.99.3 | 84 | FUNC_LEVEL_099_3 | 8:01:01 | 7.1.1 |  |  | Security fixes; Minor bug fixes
May-2016 | 0.99.2 | 82 | FUNC_LEVEL_099_2 | 8:01:01 | 7.1.1 |  |  | Various bug fixes
Mar-2016 | 0.99.1 | 82 | FUNC_LEVEL_099_1 | 8:01:01 | 7.1.1 |  |  | Security fixes; HWP support
Jan-2016 | 0.98.6 | 79 | FUNC_LEVEL_098_6 | 7:25:01 | 6.1.25 |  |  | Security fixes; Other bug fixes
Dec-2015 | 0.99.0 | 81 | FUNC_LEVEL_099 | 8:01:01 | 7.1.1 |  |  | Add Yara and PCRE support; Add 'other' targets type (14) for non-listed target types; Improved on-access scanning.
May-2015 | 0.98.7 | 80 | FUNC_LEVEL_098_7 | 7:26:01 | 6.1.26 |  |  | Security fixes; MSXML & PDF fixes
Nov-2014 | 0.98.5 | 79 | FUNC_LEVEL_098_5 | 7:22:01 | 6.1.22 |  |  | Added internal target type (13); File properties JSON output.
Jun-2014 | 0.98.4 | 77 | FUNC_LEVEL_098_4 | 7:23:01 | 6.1.23 |  |  |
May-2014 | 0.98.3 | 77 | FUNC_LEVEL_098_3 | 7:22:01 | 6.1.22 |  |  |
May-2014 | 0.98.2 | 77 | FUNC_LEVEL_098_2 | 7:22:01 | 6.1.22 |  |  | Add engine_options bit field (and DisableCache option); Add stats callbacks and callback context
Jan-2014 | 0.98.1 | 76 | FUNC_LEVEL_098_1 | 7:20:01 | 6.1.20 |  |  | Added XZ support and ForceToDisk scan option; Added Libxml2 dependency + XAR, DMG, HFS+/HFSX support; Added FTM type 4 (for in-buffer partition magic, analogous to type 0 for files)
Sep-2013 | 0.98.0 | 74 | FUNC_LEVEL_098 | 7:18:01 | 6.1.18 |  |  | Add Target-Types 10 - 13 (PDF, FLASH, JAVA, and INTERNAL); Introduced: all-scan options, SWF and Java targets (11 & 12), "SE" offset modifier, ISO9660 scanning support, wild card `{}`-bracket notation for body-based signatures; Disabled SWF parser
May-2013 | 0.97.8 | 69 | FUNC_LEVEL_097_8 | 7:17:01 | 6.1.17 |  |  | Security fixes
Mar-2013 | 0.97.7 | 68 | FUNC_LEVEL_097_7 | 7:16:01 | 6.1.16 |  |  | Security fixes
Sep-2012 | 0.97.6 | 67 | FUNC_LEVEL_097_6 | 7:15:01 | 6.1.15 |  |  | Fixed error-handling issues
Jun-2012 | 0.97.5 | 65 | FUNC_LEVEL_097_5 | 7:14:01 | 6.1.14 |  |  | First Sourcefire ClamAV release
Mar-2012 | 0.97.4 | 64 | FUNC_LEVEL_097_4 | 7:13:01 | 6.1.13 |  |  | Support comment lines in ALL DB files
Oct-2011 | 0.97.3 | 63 | FUNC_LEVEL_097_3 | 7:12:01 | 6.1.12 |  |  |
Jul-2011 | 0.97.2 | 62 | FUNC_LEVEL_097_2 | 7:11:01 | 6.1.11 |  |  |
Jun-2011 | 0.97.1 | 61 | FUNC_LEVEL_097_1 | 7:10:01 | 6.1.10 |  |  |
Feb-2011 | 0.97.0 | 60 | FUNC_LEVEL_097 | 7:09:01 | 6.1.9 |  |  |
Nov-2010 | 0.96.5 | 58 | FUNC_LEVEL_096_5 | 7:07:01 | 6.1.7 |  |  |
Oct-2010 | 0.96.4 | 56 | FUNC_LEVEL_096_4 | 7:06:01 | 6.1.6 |  |  | Minimal FLEVEL allowed for all current bytecode signatures (quadratic load-time before this point)
Sep-2010 | 0.96.3 | 55 | FUNC_LEVEL_096_3 | 7:05:01 | 6.1.5 |  |  |
Aug-2010 | 0.96.2 | 54 | FUNC_LEVEL_096_2 | 7:04:01 | 6.1.4 |  |  |
May-2010 | 0.96.1 | 53 | FUNC_LEVEL_096_1 | 7:03:01 | 6.1.3 |  |  |
Mar-2010 | 0.96 | 51 | FUNC_LEVEL_096 | 7:02:01 | 6.1.2 |  |  | Add bytecode & CDB signatures, Ignores should use IGN2 (or take name field only from IGN)
Oct-2009 | 0.95.3 | 44 |  | 6:05:00 | 6.0.5 |  |  |
Jun-2009 | 0.95.2 | 43 |  | 6:04:00 | 6.0.4 |  |  |
May-2009 | 0.95.1 | 42 |  | 6:03:00 | 6.0.3 |  |  |
Mar-2009 | 0.95 | 41 |  | 6:02:00 | 6.0.2 |  |  | Ignores should use IGN format (including line number)

For more information on ClamAV file type support, see the File Types Reference.