16 Qershor, pas gati njĂ« vit e gjysmĂ« zhvillimi, u lĂ«shua versioni 1.16 pugixml â njĂ« bibliotekĂ« tĂ« shpejtĂ« dhe shumĂ«platformĂ«s pĂ«r analizimin dhe pĂ«rpunimin e XML (licenca MIT).
Biblioteka ofron një ndërfaqe të ngjashme me DOM me mundësi për të parakaluar nodet e dokumentit dhe për të ndryshuar ato. Ajo gjithashtu mbështet XPath 1.0 dhe mbështetje të plotë për Unicode (UTF-8, UTF-16 (BE/LE), UTF-32 (BE/LE) dhe UCS-2), me konvertim automatiku të kodimeve.
Mbështetet përdorimi pa bibliotekën standarde dhe përjashtimet C++, si dhe mënyra "vetëm skedarë titujsh".
Ky Ă«shtĂ« njĂ« version jubile â kĂ«tĂ« vit projekti mbush 20 vjeç! MĂ« shumĂ« rreth historisĂ« sĂ« krijimit dhe zhvillimit tĂ« bibliotekĂ«s mund tĂ« lexoni nĂ« pugixml.org, GitHub ose nĂ« redaksinĂ« e parĂ« tĂ« lajmit.
- Ndryshimet në sjellje
- elementët me një nëndeg të zbrazët PCDATA tani dalin me etiketat të zbrazëta (nëse nuk përdoret parametri format_no_empty_element_tags).
- Përmirësime
- është shtuar opsioni PUGIXML_CHARCONV_FLOAT për konvertimin e numrave me pikë flotante duke përdorur ; kërkohet C++17 për këtë, e cila e bën konvertimin të pavarur nga lokaliteti dhe mund të përmirësojë performancën;
- janë shtuar funksionet xml_node::ensure_child dhe xml_node::ensure_attribute, të cilat kthejnë një nëndeg ose atribut me emrin e dhënë, duke e shtuar atë nëse nuk ishte aty;
- është përmirësuar performanca e kërkimeve të nodave dhe atributeve sipas emrit;
- ngarkimi i dokumentit nga një tampon i zbrazët nuk shkakton më alokim të memories.
- Përmirësimet XPath
- është përmirësuar performanca e kërkesave ku kryhet llogaritja ose krahasimi i vlerave të atributeve, për shembull @attr > 5;
- është përmirësuar performanca e kërkesave që zgjedhin nodet dhe atributet sipas emrit.
- Korrigjime gabimesh
- është rregulluar mbushja e grykës duke fshirë nënpjesët me një nivel shumë të thellë të vendosjes;
- është rregulluar mbushja e numrave të plotë që mund të shkaktonin dështime kur ngarkohej dokumente shumë të mëdha (> 1GB) në platformat 32-bit në mënyrën PUGIXML_WCHAR_MODE;
- është rregulluar një gabim dereferencimi i treguesve të nullit gjatë kopjimit të objekteve xpath_variable_set me variablat e stringjeve që kanë vlera të papërcaktuara.
- Përmirësimet e mbështetjes CMake
- është përmirësuar mbështetje për opsionin PUGIXML_BUILD_APPLE_FRAMEWORK;
- është shtuar opsioni CMake PUGIXML_INSTALL_SOURCE për instalimin e pugixml.cpp (dobishëm kur punohet në mënyrën "vetëm skedarë titujsh").
- Përmirësime të ndërsjelljes
- janë shtuar skedarë projekti dhe paketa NuGet për Visual Studio 2026;
- u korrigua problemi i pajtueshmërisë me modulët C++20 kur përfshihet skedari pugixml.hpp në fragnentit global të modulit;
- u korrigjuan paralajmërimet Clang dhe GCC -Wextra-semi-stmt, -Wsign-conversion dhe -Wuninitialized (GCC 16);
- u korrigua një gabim kompilimi me Embarcadero C++ XE5;
- u eliminuan disa alarmime të rreme të analizës statike.
Burimi: linux.org.ru




