Myhtml Versions Save

Fast C/C++ HTML 5 Parser. Using threads.

v4.0.5

5 years ago

Special thanks to Kirill Zhumarin for PRs.

v4.0.4

6 years ago

v4.0.2

6 years ago

v4.0.1

6 years ago

Special thanks for Alexander Fedyashov for help with automated package build.

v4.0.0

7 years ago
  • API breaking changes
  • MyHTML split to MyCORE, MyHTML, MyENCODING. MyCORE is a base module which include shared functions for all others modules. Each of the modules can build without other modules if he not dependent at it. It is good for those need only URL parse and not need other modules.
  • Removed all io print functions to file: myhtml_tree_print_by_node, myhtml_tree_print_node_children, myhtml_tree_print_node; Use serializations instead of their
  • If you use encoding enum, like MyHTML_ENCODING_UTF8, now it MyENCODING_UTF_8, i.e MyHTML_ENCODING_* => MyENCODING_*
  • Functions migrated to MyCORE from MyHTML: myhtml_incoming_buffer_* => mycore_incoming_buffer_*, myhtml_string* => mycore_string*, myhtml_utils* => mycore_utils*
  • Fully refactoring build system with GNU Make (Makefile), now it expects generally accepted parameters and rules, like install, clean, library and more
  • Tested create a DLL library for Windows OS
  • Support create ports for different OS or for simple change work with memory, io, threads (if build with threads, default)
  • Support add self modules for build library
  • Now all return statuses, like a myhtml_status_t, mycss_status_t changed to global mystatus_t (unsigned int)
  • Added forgot '\0' if text node ends with '\r' #91
  • Remove CMakeLists.txt
  • Added PKG-CONFIG *.pc after make command

v3.0.1

7 years ago

New Release v3.0.1

Fixed broken mapping for convert encoding functions in release 3.0.0 Release 3.0.0 removed

  • API breaking changes!!! See api_breaking_changes.md file
  • Sync with Specification (https://html.spec.whatwg.org/multipage/)
  • Fix problem with close token position in title tag (the inner essence)
  • Fix problem with detect SHIFT_JIS encoding
  • Added function myhtml_encoding_prescan_stream_to_determine_encoding to prescan a byte stream to determine its encoding. In other words, detect encoding in meta tag before start HTML parsing. See exapmle
  • Added function myhtml_encoding_name_by_id for get encoding name by id
  • Added function myhtml_encoding_extracting_character_encoding_from_charset
  • Added utils/mhash.* for create a hash table
  • Added function myhtml_node_tree for get current Tree from a node
  • Сonsumes less memory when initializing, 3MB => 1MB with no negative impact on performance. In the future, the memory will be consumed even less.
  • Now MyHTML_INSTALL_HEADER in cmake options set ON by default
  • Fixed broken mapping for convert encoding functions after release 3.0.0

Thanks!

v2.0.1

7 years ago

Special thanks to Kostya that found big bug!

v2.0.0

7 years ago
  • API Breaking Changes: Remove all functions associated with tag index: myhtml_tree_get_tag_index, myhtml_tag_index_*
  • Changes for work with threads
  • Removed example replacing_node_attributes_low_level.c. Example is not working correctly. Let the future
  • Fix for myhtml_string_destroy function. Sometimes the resources are not free.
  • Fix problem with serialization in UTF-8 (0xC2 0xA0)
  • Added AVL-Tree for utils

v1.0.4

7 years ago

v1.0.3

7 years ago
  • [https://github.com/lexborisov/myhtml/commit/873d0fa2cbe8ec4a3b8a50b649506e791f0907c7] Fixed attributes processing bug. Not cleared temp values after processing attribute key. What's in rare cases lead to segfault
  • [https://github.com/lexborisov/myhtml/issues/63] Fixes for tokenizer state problem with parse without build tree
  • [https://github.com/lexborisov/myhtml/issues/66#issuecomment-247941324] Fixed problem with append nodes to "tag index" in formatting reconstruction algorithm
  • [https://github.com/lexborisov/myhtml/issues/62] Fixed segfault if build without threads and used parse flag without process token
  • Changed rules for parse flag MyHTML_TREE_PARSE_FLAGS_SKIP_WHITESPACE_TOKEN. Now we skip ws tokens, but not for RCDATA, RAWTEXT, CDATA and PLAINTEXT
  • Added tree serialization by specification (see example)
  • Tested by 1 billion HTML pages (by commoncrawl.org)