{"id":164720,"date":"2026-03-15T23:12:54","date_gmt":"2026-03-15T21:12:54","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/lexbor-2-7-0"},"modified":"2026-03-15T23:12:54","modified_gmt":"2026-03-15T21:12:54","slug":"lexbor-2-7-0","status":"publish","type":"post","link":"https:\/\/prohoster.info\/en\/blog\/news\/lexbor-2-7-0","title":{"rendered":"lexbor 2.7.0","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><noindex>      <noindex><\/p>\n<p>On March 13, after four months of development, the release of the high-performance library 2.7.0 took place <a rel=\"nofollow\" href=\"https:\/\/lexbor.com\/\">lexbor<\/a>, designed for processing HTML 5 and CSS formats.<\/p>\n<p><\/noindex><\/noindex> <\/p>\n<p>Key features of the project:<\/p>\n<ul>\n<li>full support for WHATWG, W3C, and Unicode specifications: <a rel=\"nofollow\" href=\"https:\/\/html.spec.whatwg.org\/multipage\">HTML5<\/a>, <a rel=\"nofollow\" href=\"https:\/\/drafts.csswg.org\/css-syntax-3\">CSS Syntax 3<\/a>, <a rel=\"nofollow\" href=\"https:\/\/encoding.spec.whatwg.org\/\">Encoding<\/a>, <a rel=\"nofollow\" href=\"https:\/\/url.spec.whatwg.org\/\">URL<\/a>, <a rel=\"nofollow\" href=\"https:\/\/www.unicode.org\/reports\/tr15\">Unicode Standard Annex #15<\/a>, <a rel=\"nofollow\" href=\"https:\/\/www.unicode.org\/reports\/tr46\">Unicode Technical Standard #46<\/a>, <a rel=\"nofollow\" href=\"https:\/\/www.rfc-editor.org\/rfc\/inline-errata\/rfc3492.html\">Punycode<\/a>, <a rel=\"nofollow\" href=\"https:\/\/www.unicode.org\/reports\/tr15\">Unicode Standard Annex #15<\/a>, <a rel=\"nofollow\" href=\"https:\/\/unicode.org\/reports\/tr46\">Unicode Technical Standard #46<\/a>;<\/li>\n<li>manipulation of DOM elements and attributes: adding, modifying, deleting, etc.;<\/li>\n<li>support for parsing HTML fragments;<\/li>\n<li>passing all DOM tree construction tests;<\/li>\n<li><a rel=\"nofollow\" href=\"https:\/\/lexbor.com\/fuzzers\">tested<\/a> on over 200 million HTML pages using ASAN;<\/li>\n<li>support for determining encoding from the byte stream;<\/li>\n<li>CSS style analysis in tag attributes and in the &lt;style&gt; tag;<\/li>\n<li>searching HTML elements using CSS selectors;<\/li>\n<li>support for 40 encodings in encoding and decoding;<\/li>\n<li>support for unbuffered and buffered encoding and decoding;<\/li>\n<li>written in C (C99 standard) without third-party dependencies and distributed under the Apache 2.0 license;<\/li>\n<li>the library is divided into modules (Core, CSS, DOM, Encoding, Engine, HTML, NS, Punycode, Selectors, Tag, Unicode, URL, Utils), which can be compiled and used as separate libraries (with the CMake option LEXBOR_BUILD_SEPARATELY=ON);<\/li>\n<li>third-party bindings and wrappers for the languages <a rel=\"nofollow\" href=\"https:\/\/github.com\/kostya\/lexbor\">Crystal<\/a>, <a rel=\"nofollow\" href=\"https:\/\/github.com\/trikko\/parserino\">\u200b\u200bD\u200b\u200b<\/a>, <a rel=\"nofollow\" href=\"https:\/\/git.pleroma.social\/pleroma\/elixir-libraries\/fast_html\">Elixir<\/a>, <a rel=\"nofollow\" href=\"https:\/\/github.com\/MichaelHatherly\/Lexbor.jl\">Julia<\/a>, <a rel=\"nofollow\" href=\"https:\/\/github.com\/php\/php-src\/tree\/master\/ext\/lexbor\">PHP<\/a>, <a rel=\"nofollow\" href=\"https:\/\/github.com\/rushter\/selectolax#available-backends\">Python<\/a> and <a rel=\"nofollow\" href=\"https:\/\/github.com\/serpapi\/nokolexbor\">Ruby<\/a>.<\/li>\n<\/ul>\n<p>Key Changes:<\/p>\n<ul>\n<li>Support for amalgamation (merging source files into one file) has been added. This simplifies the integration of the library into projects \u2014 it is enough to connect one file instead of using the entire build system. For more details, see <a rel=\"nofollow\" href=\"https:\/\/lexbor.com\/amalgamation\/\">the documentation<\/a>.<\/li>\n<li>A large-scale refactoring of the code responsible for parsing CSS has been carried out in preparation for the implementation of layout.<\/li>\n<li>Input stream checks in the HTML parser have been added (this is necessary solely for outputting parsing errors per the specification). Disabled by default, see\u00a0<a rel=\"nofollow\" href=\"https:\/\/lexbor.com\/modules\/html\/#tokenizer-options\">html\/#tokenizer-options<\/a>.<\/li>\n<li>Preparation of the code for the release of the layout engine.<\/li>\n<li>General improvements and bug fixes.<\/li>\n<\/ul>\n<p>Source: <a \ncontent=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.linux.org.ru\/news\/development\/18242477\">linux.org.ru<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>13 \u043c\u0430\u0440\u0442\u0430, \u043f\u043e\u0441\u043b\u0435 \u0447\u0435\u0442\u044b\u0440\u0451\u0445 \u043c\u0435\u0441\u044f\u0446\u0435\u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438, \u0441\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u0432\u044b\u043f\u0443\u0441\u043a 2.7.0 \u0432\u044b\u0441\u043e\u043a\u043e\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 lexbor, \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u043d\u043e\u0439 \u0434\u043b\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0444\u043e\u0440\u043c\u0430\u0442\u043e\u0432 HTML 5 \u0438 CSS. \u041e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0430: \u043f\u043e\u043b\u043d\u0430\u044f \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0439 WHATWG, W3C \u0438 Unicode: HTML5, CSS Syntax 3, Encoding, URL\u200b, Unicode Standard Annex #15, Unicode Technical Standard #46, Punycode, Unicode Standard Annex #15, Unicode Technical Standard #46; \u043c\u0430\u043d\u0438\u043f\u0443\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430\u043c\u0438 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":8,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-164720","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"13 \u043c\u0430\u0440\u0442\u0430, \u043f\u043e\u0441\u043b\u0435 \u0447\u0435\u0442\u044b\u0440\u0451\u0445 \u043c\u0435\u0441\u044f\u0446\u0435\u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438, \u0441\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u0432\u044b\u043f\u0443\u0441\u043a 2.7.0 \u0432\u044b\u0441\u043e\u043a\u043e\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 lexbor, \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u043d\u043e\u0439 \u0434\u043b\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0444\u043e\u0440\u043c\u0430\u0442\u043e\u0432.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Erik Peterson\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/en\/blog\/news\/lexbor-2-7-0\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47lexbor 2.7.0 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"13 \u043c\u0430\u0440\u0442\u0430, \u043f\u043e\u0441\u043b\u0435 \u0447\u0435\u0442\u044b\u0440\u0451\u0445 \u043c\u0435\u0441\u044f\u0446\u0435\u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438, \u0441\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u0432\u044b\u043f\u0443\u0441\u043a 2.7.0 \u0432\u044b\u0441\u043e\u043a\u043e\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 lexbor, \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u043d\u043e\u0439 \u0434\u043b\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0444\u043e\u0440\u043c\u0430\u0442\u043e\u0432.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/en\/blog\/news\/lexbor-2-7-0\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2026-03-15T21:12:54+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2026-03-15T21:12:54+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47lexbor 2.7.0 | ProHoster","description":"On March 13, after four months of development, the release of the high-performance library lexbor 2.7.0, designed for processing formats, took place.","canonical_url":"https:\/\/prohoster.info\/en\/blog\/news\/lexbor-2-7-0","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"en_US","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47lexbor 2.7.0 | ProHoster","og:description":"13 \u043c\u0430\u0440\u0442\u0430, \u043f\u043e\u0441\u043b\u0435 \u0447\u0435\u0442\u044b\u0440\u0451\u0445 \u043c\u0435\u0441\u044f\u0446\u0435\u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438, \u0441\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u0432\u044b\u043f\u0443\u0441\u043a 2.7.0 \u0432\u044b\u0441\u043e\u043a\u043e\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 lexbor, \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u043d\u043e\u0439 \u0434\u043b\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0444\u043e\u0440\u043c\u0430\u0442\u043e\u0432.","og:url":"https:\/\/prohoster.info\/en\/blog\/news\/lexbor-2-7-0","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2026-03-15T21:12:54+00:00","article:modified_time":"2026-03-15T21:12:54+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":[],"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts\/164720","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/comments?post=164720"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts\/164720\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/media?parent=164720"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/categories?post=164720"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/tags?post=164720"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}