docs: Moved all changelog contents to changes.txt

git-svn-id: http://pugixml.googlecode.com/svn/trunk@548 99668b35-9821-0410-8761-19e4c4f06640
This commit is contained in:
arseny.kapoulkine 2010-06-27 21:31:32 +00:00
parent 819c54e3ae
commit d862deefcf
2 changed files with 146 additions and 152 deletions

View File

@ -1,146 +1,169 @@
1.07.2010 - v0.9 //[changes_last_version```
[clog 1.07.2010 - version 0.9]
Major release, featuring extended and improved Unicode support, miscellaneous performance improvements, bug fixes and more. Major release, featuring extended and improved Unicode support, miscellaneous performance improvements, bug fixes and more.
Major Unicode improvements: * Major Unicode improvements:
Introduced encoding support (automatic/manual encoding detection on load, manual encoding selection on save, conversion from/to UTF8, UTF16 LE/BE, UTF32 LE/BE) # Introduced encoding support (automatic/manual encoding detection on load, manual encoding selection on save, conversion from/to UTF8, UTF16 LE/BE, UTF32 LE/BE)
Introduced wchar_t mode (you can set PUGIXML_WCHAR_MODE define to switch pugixml internal encoding from UTF8 to wchar_t; all functions are switched to their Unicode variants) # Introduced wchar_t mode (you can set PUGIXML_WCHAR_MODE define to switch pugixml internal encoding from UTF8 to wchar_t; all functions are switched to their Unicode variants)
Load/save functions now support wide streams # Load/save functions now support wide streams
Bug fixes: * Bug fixes:
Fixed document corruption on failed parsing bug # Fixed document corruption on failed parsing bug
XPath string <-> number conversion improvements (increased precision, fixed crash for huge numbers) # XPath string <-> number conversion improvements (increased precision, fixed crash for huge numbers)
Improved DOCTYPE parsing: now parser recognizes all well-formed DOCTYPE declarations # Improved DOCTYPE parsing: now parser recognizes all well-formed DOCTYPE declarations
Fixed xml_attribute::as_uint() for large numbers (i.e. 2^32-1) # Fixed xml_attribute::as_uint() for large numbers (i.e. 2^32-1)
Specification changes: * Specification changes:
parse() API changed to load_buffer/load_buffer_inplace/load_buffer_inplace_own; load_buffer APIs do not require zero-terminated strings. # parse() API changed to load_buffer/load_buffer_inplace/load_buffer_inplace_own; load_buffer APIs do not require zero-terminated strings.
Renamed as_utf16 to as_wide # Renamed as_utf16 to as_wide
Changed xml_node::offset_debug return type and xml_parse_result::offset type to ptrdiff_t # Changed xml_node::offset_debug return type and xml_parse_result::offset type to ptrdiff_t
Nodes/attributes with empty names are now printed as :anonymous # Nodes/attributes with empty names are now printed as :anonymous
Performance improvements: * Performance improvements:
Optimized document parsing and saving # Optimized document parsing and saving
Changed internal memory management: internal allocator is used for both metadata and name/value data; allocated pages are deleted if all allocations from them are deleted # Changed internal memory management: internal allocator is used for both metadata and name/value data; allocated pages are deleted if all allocations from them are deleted
Optimized memory consumption: sizeof(xml_node_struct) reduced from 40 bytes to 32 bytes on x86 # Optimized memory consumption: sizeof(xml_node_struct) reduced from 40 bytes to 32 bytes on x86
Optimized debug mode parsing/saving by order of magnitude # Optimized debug mode parsing/saving by order of magnitude
Miscellaneous: * Miscellaneous:
All STL includes except <exception> in pugixml.hpp are replaced with forward declarations # All STL includes except <exception> in pugixml.hpp are replaced with forward declarations
Compatibility: * Compatibility:
parse() and as_utf16 are left for compatibility (these functions are deprecated and will be removed in pugixml-1.0) # parse() and as_utf16 are left for compatibility (these functions are deprecated and will be removed in version 1.0)
Wildcard functions, document_order/precompute_document_order functions, format_write_bom_utf8 and parse_wnorm_attribute flags are deprecated and will be removed in version 1.0 # Wildcard functions, document_order/precompute_document_order functions, format_write_bom_utf8 and parse_wnorm_attribute flags are deprecated and will be removed in version 1.0
xpath_type_t enumeration was renamed to xpath_value_type # xpath_type_t enumeration was renamed to xpath_value_type; xpath_type_t is deprecated and will be removed in version 1.0
```//]
[clog 8.11.2009 - version 0.5]
8.11.2009 - v0.5
Major bugfix release. Changes: Major bugfix release. Changes:
XPath bugfixes: * XPath bugfixes:
Fixed translate(), lang() and concat() functions (infinite loops/crashes) # Fixed translate(), lang() and concat() functions (infinite loops/crashes)
Fixed compilation of queries with empty literal strings ("") # Fixed compilation of queries with empty literal strings ("")
Fixed axis tests: they never add empty nodes/attributes to the resulting node set now # Fixed axis tests: they never add empty nodes/attributes to the resulting node set now
Fixed string-value evaluation for node-set (the result excluded some text descendants) # Fixed string-value evaluation for node-set (the result excluded some text descendants)
Fixed self:: axis (it behaved like ancestor-or-self::) # Fixed self:: axis (it behaved like ancestor-or-self::)
Fixed following:: and preceding:: axes (they included descendent and ancestor nodes, respectively) # Fixed following:: and preceding:: axes (they included descendent and ancestor nodes, respectively)
Minor fix for namespace-uri() function (namespace declaration scope includes the parent element of namespace declaration attribute) # Minor fix for namespace-uri() function (namespace declaration scope includes the parent element of namespace declaration attribute)
Some incorrect queries are no longer parsed now (i.e. foo: *) # Some incorrect queries are no longer parsed now (i.e. foo: *)
Fixed text()/etc. node test parsing bug (i.e. foo[text()] failed to compile) # Fixed text()/etc. node test parsing bug (i.e. foo[text()] failed to compile)
Fixed root step (/) - it now selects empty node set if query is evaluated on empty node # Fixed root step (/) - it now selects empty node set if query is evaluated on empty node
Fixed string to number conversion ("123 " converted to NaN, "123 .456" converted to 123.456 - now the results are 123 and NaN, respectively) # Fixed string to number conversion ("123 " converted to NaN, "123 .456" converted to 123.456 - now the results are 123 and NaN, respectively)
Node set copying now preserves sorted type; leads to better performance on some queries # Node set copying now preserves sorted type; leads to better performance on some queries
Miscellaneous bugfixes: * Miscellaneous bugfixes:
Fixed xml_node::offset_debug for PI nodes # Fixed xml_node::offset_debug for PI nodes
Added empty attribute checks to xml_node::remove_attribute # Added empty attribute checks to xml_node::remove_attribute
Fixed node_pi and node_declaration copying # Fixed node_pi and node_declaration copying
Const-correctness fixes # Const-correctness fixes
Specification changes: * Specification changes:
xpath_node::select_nodes() and related functions now throw exception if expression return type is not node set (instead of assertion) # xpath_node::select_nodes() and related functions now throw exception if expression return type is not node set (instead of assertion)
xml_node::traverse() now sets depth to -1 for both begin() and end() callbacks (was 0 at begin() and -1 at end()) # xml_node::traverse() now sets depth to -1 for both begin() and end() callbacks (was 0 at begin() and -1 at end())
In case of non-raw node printing a newline is output after PCDATA inside nodes if the PCDATA has siblings # In case of non-raw node printing a newline is output after PCDATA inside nodes if the PCDATA has siblings
UTF8 -> wchar_t conversion now considers 5-byte UTF8-like sequences as invalid # UTF8 -> wchar_t conversion now considers 5-byte UTF8-like sequences as invalid
New features: * New features:
Added xpath_node_set::operator[] for index-based iteration # Added xpath_node_set::operator[] for index-based iteration
Added xpath_query::return_type() # Added xpath_query::return_type()
Added getter accessors for memory-management functions # Added getter accessors for memory-management functions
[clog 17.09.2009 - version 0.42]
17.09.2009 - v0.42
Maintenance release. Changes: Maintenance release. Changes:
Fixed deallocation in case of custom allocation functions or if delete[] / free are incompatible
XPath parser fixed for incorrect queries (i.e. incorrect XPath queries should now always fail to compile) * Bug fixes:
Added PUGIXML_API/PUGIXML_CLASS/PUGIXML_FUNCTION configuration macros to control class/function attributes # Fixed deallocation in case of custom allocation functions or if delete[] / free are incompatible
Const-correctness fixes for find_child_by_attribute # XPath parser fixed for incorrect queries (i.e. incorrect XPath queries should now always fail to compile)
Improved compatibility (miscellaneous warning fixes, fixed cstring include dependency for GCC) # Const-correctness fixes for find_child_by_attribute
Fixed iterator begin/end and print function to work correctly for empty nodes # Improved compatibility (miscellaneous warning fixes, fixed cstring include dependency for GCC)
Added xml_attribute::set_value overloads for different types # Fixed iterator begin/end and print function to work correctly for empty nodes
* New features:
# Added PUGIXML_API/PUGIXML_CLASS/PUGIXML_FUNCTION configuration macros to control class/function attributes
# Added xml_attribute::set_value overloads for different types
8.02.2009 - v0.41 8.02.2009 - v0.41
Maintenance release. Changes: Maintenance release. Changes:
Fixed bug with node printing (occasionally some content was not written to output stream) * Bug fixes:
# Fixed bug with node printing (occasionally some content was not written to output stream)
[clog 18.01.2009 - version 0.4]
18.01.2009 - v0.4
Changes: Changes:
Bugs: * Bug fixes:
Documentation fix in samples for parse() with manual lifetime control # Documentation fix in samples for parse() with manual lifetime control
Fixed document order sorting in XPath (it caused wrong order of nodes after xpath_node_set::sort and wrong results of some XPath queries) # Fixed document order sorting in XPath (it caused wrong order of nodes after xpath_node_set::sort and wrong results of some XPath queries)
Node printing changes: * Node printing changes:
Single quotes are no longer escaped when printing nodes # Single quotes are no longer escaped when printing nodes
Symbols in second half of ASCII table are no longer escaped when printing nodes; because of this, format_utf8 flag is deleted as it's no longer needed and format_write_bom is renamed to format_write_bom_utf8. # Symbols in second half of ASCII table are no longer escaped when printing nodes; because of this, format_utf8 flag is deleted as it's no longer needed and format_write_bom is renamed to format_write_bom_utf8.
Reworked node printing - now it works via xml_writer interface; implementations for FILE* and std::ostream are available. As a side-effect, xml_document::save_file now works without STL. # Reworked node printing - now it works via xml_writer interface; implementations for FILE* and std::ostream are available. As a side-effect, xml_document::save_file now works without STL.
New features: * New features:
Added unsigned integer support for attributes (xml_attribute::as_uint, xml_attribute::operator=) # Added unsigned integer support for attributes (xml_attribute::as_uint, xml_attribute::operator=)
Now document declaration (<?xml ...?>) is parsed as node with type node_declaration when parse_declaration flag is specified (access to encoding/version is performed as if they were attributes, i.e. doc.child("xml").attribute("version").as_float()); corresponding flags for node printing were also added # Now document declaration (<?xml ...?>) is parsed as node with type node_declaration when parse_declaration flag is specified (access to encoding/version is performed as if they were attributes, i.e. doc.child("xml").attribute("version").as_float()); corresponding flags for node printing were also added
Added support for custom memory management (see set_memory_management_functions for details) # Added support for custom memory management (see set_memory_management_functions for details)
Implemented node/attribute copying (see xml_node::insert_copy_* and xml_node::append_copy for details) # Implemented node/attribute copying (see xml_node::insert_copy_* and xml_node::append_copy for details)
Added find_child_by_attribute and find_child_by_attribute_w to simplify parsing code in some cases (i.e. COLLADA files) # Added find_child_by_attribute and find_child_by_attribute_w to simplify parsing code in some cases (i.e. COLLADA files)
Added file offset information querying for debugging purposes (now you're able to determine exact location of any xml_node in parsed file, see xml_node::offset_debug for details) # Added file offset information querying for debugging purposes (now you're able to determine exact location of any xml_node in parsed file, see xml_node::offset_debug for details)
Improved error handling for parsing - now load(), load_file() and parse() return xml_parse_result, which contains error code and last parsed offset; this does not break old interface as xml_parse_result can be implicitly casted to bool. # Improved error handling for parsing - now load(), load_file() and parse() return xml_parse_result, which contains error code and last parsed offset; this does not break old interface as xml_parse_result can be implicitly casted to bool.
[clog 31.10.2007 - version 0.34]
31.10.2007 - v0.34
Maintenance release. Changes: Maintenance release. Changes:
Improved compatibility (supported Digital Mars C++, MSVC 6, CodeWarrior 8, PGI C++, Comeau, supported PS3 and XBox360) * Bug fixes:
Fixed bug with loading from text-mode iostreams # Fixed bug with loading from text-mode iostreams
Fixed leak when transfer_ownership is true and parsing is failing # Fixed leak when transfer_ownership is true and parsing is failing
Fixed bug in saving (\r and \n are now escaped in attribute values) # Fixed bug in saving (\r and \n are now escaped in attribute values)
PUGIXML_NO_EXCEPTION flag for platforms without exception handling # Renamed free() to destroy() - some macro conflicts were reported
Renamed free() to destroy() - some macro conflicts were reported
* New features:
# Improved compatibility (supported Digital Mars C++, MSVC 6, CodeWarrior 8, PGI C++, Comeau, supported PS3 and XBox360)
# PUGIXML_NO_EXCEPTION flag for platforms without exception handling
[clog 21.02.2007 - version 0.3]
21.02.2007 - v0.3
Refactored, reworked and improved version. Changes: Refactored, reworked and improved version. Changes:
Interface: * Interface:
Added XPath # Added XPath
Added tree modification functions # Added tree modification functions
Added no STL compilation mode # Added no STL compilation mode
Added saving document to file # Added saving document to file
Refactored parsing flags # Refactored parsing flags
Removed xml_parser class in favor of xml_document # Removed xml_parser class in favor of xml_document
Added transfer ownership parsing mode # Added transfer ownership parsing mode
Modified the way xml_tree_walker works # Modified the way xml_tree_walker works
Iterators are now non-constant # Iterators are now non-constant
Implementation: * Implementation:
Support of several compilers and platforms # Support of several compilers and platforms
Refactored and sped up parsing core # Refactored and sped up parsing core
Improved standard compliancy # Improved standard compliancy
Added XPath implementation # Added XPath implementation
Fixed several bugs # Fixed several bugs
[clog 6.11.2006 - version 0.2]
6.11.2006 - v0.2
First public release. Changes: First public release. Changes:
Introduced child_value(name) and child_value_w(name) * Bug fixes:
Fixed child_value() (for empty nodes) # Fixed child_value() (for empty nodes)
Fixed xml_parser_impl warning at W4 # Fixed xml_parser_impl warning at W4
parse_eol_pcdata and parse_eol_attribute flags + parse_minimal optimizations
Optimizations of strconv_t * New features:
# Introduced child_value(name) and child_value_w(name)
# parse_eol_pcdata and parse_eol_attribute flags + parse_minimal optimizations
# Optimizations of strconv_t
[clog 15.07.2006 - version 0.1]
15.07.2006 - v0.1
First private release for testing purposes First private release for testing purposes

View File

@ -52,38 +52,9 @@ If filing an issue is not possible due to privacy or other concerns, you can con
Only changes since version 0.5 are listed here; you can [@changes.txt view the full changelog here]. Only changes since version 0.5 are listed here; you can [@changes.txt view the full changelog here].
Version 0.9: [template clog[cont] '''<bridgehead renderas="sect5">'''[cont]'''</bridgehead>''']
[import changes.txt]
* Major Unicode improvements: [changes_last_version]
# Introduced encoding support (automatic/manual encoding detection on load, manual encoding selection on save, conversion from/to UTF8, UTF16 LE/BE, UTF32 LE/BE)
# Introduced wchar_t mode (you can set PUGIXML_WCHAR_MODE define to switch pugixml internal encoding from UTF8 to wchar_t; all functions are switched to their Unicode variants)
# Load/save functions now support wide streams
* Bug fixes:
# Fixed document corruption on failed parsing bug
# XPath string <-> number conversion improvements (increased precision, fixed crash for huge numbers)
# Improved DOCTYPE parsing: now parser recognizes all well-formed DOCTYPE declarations
# Fixed xml_attribute::as_uint() for large numbers (i.e. 2^32-1)
* Specification changes:
# parse() API changed to load_buffer/load_buffer_inplace/load_buffer_inplace_own; load_buffer APIs do not require zero-terminated strings.
# Renamed as_utf16 to as_wide
# Changed xml_node::offset_debug return type and xml_parse_result::offset type to ptrdiff_t
# Nodes/attributes with empty names are now printed as :anonymous
* Performance improvements:
# Optimized document parsing and saving
# Changed internal memory management: internal allocator is used for both metadata and name/value data; allocated pages are deleted if all allocations from them are deleted
# Optimized memory consumption: sizeof(xml_node_struct) reduced from 40 bytes to 32 bytes on x86
# Optimized debug mode parsing/saving by order of magnitude
* Miscellaneous:
# All STL includes except <exception> in pugixml.hpp are replaced with forward declarations
* Compatibility:
# parse() and as_utf16 are left for compatibility (these functions are deprecated and will be removed in pugixml-1.0)
# Wildcard functions, document_order/precompute_document_order functions, format_write_bom_utf8 and parse_wnorm_attribute flags are deprecated and will be removed in version 1.0
# xpath_type_t enumeration was renamed to xpath_value_type
[endsect] [/changelog] [endsect] [/changelog]