summaryrefslogtreecommitdiff
path: root/NEWS
diff options
context:
space:
mode:
Diffstat (limited to 'NEWS')
-rw-r--r--NEWS63
1 files changed, 57 insertions, 6 deletions
diff --git a/NEWS b/NEWS
index 03f5942..cd4e0ce 100644
--- a/NEWS
+++ b/NEWS
@@ -1,10 +1,61 @@
-Version 4.1.0
+Version 4.2.0
+
+ * In this version we have switched to the build2 build system. For the
+ step-by-step instructions on how to build XSD from source on all the
+ major platforms, see:
+
+ https://codesynthesis.com/products/xsd/doc/install-build2.xhtml
+
+ * In this version we have changed the default C++ standard that is used
+ by the generated code from C++98 to C++11. While you can still request
+ C++98 with the --std=c++98 option, note that this is the last release
+ that supports the C++98 standard and the next release will require C++11
+ or later (in fact, building the XSD compiler itself already requires
+ C++11 or later). Note also that the --std option now recognizes the
+ c++14, c++17, c++20, and c++23 additional values.
+
+ * This version will be the last release that supports Xerces-C++ earlier
+ than 3.1.0 and the next release will require Xerces-C++ 3.1.0 or later.
+
+ * New --file-list-only option that allows only writing the list of C++
+ files that would be generated without actually generating them.
+
+ * The --file-list option now recognize the `-` value as a request to write
+ to stdout.
+
+ * New --dep-file option that allows specifying the dependency file name.
+ It also allows writing the dependency information to stdout by specifying
+ `-` as this option's value.
+
+ * This version contains a large number of bug fixes and minor improvements
+ that have accumulated over the years.
C++/Tree
- * Support for abstract XML Schema types. The corresponding C++ classes
- now have _clone() declared pure virtual which prevents construction
- of their instances.
+ * Support for abstract XML Schema types. The corresponding C++ classes now
+ have the _clone() member function declared pure virtual which prevents
+ the construction of instances of such types.
+
+ Note that if after upgrading to this version you start getting C++
+ compile errors in the generated code with diagnostics saying that a
+ type cannot be instantiated because _clone() is pure virtual, then
+ it's a strong indication that this type (or its base) is polymorphic
+ and needs to be marked as such (see --polymorphic-type* options).
+
+ * New base_string() accessors in the xml_schema::{string,uri} types that
+ return the underlying string.
+
+ * Support for `ucc` (upper-camel-case) value in the --function-naming
+ option.
+
+ * New C++/Tree `secure` example (xsd-examples/cxx/tree/secure/) shows how
+ to perform more secure XML parsing by disabling the XML External Entity
+ (XXE) Processing. See the accompanying README file for details.
+
+Version 4.1.0
+
+ * This version was never released. It was skipped due to a minor versioning
+ scheme adjustment in the pre-release component when migrating to build2.
Version 4.0.0
@@ -608,7 +659,7 @@ Version 2.3.1
include the GPL banner in each generated file. Instead a short
notice about a required proprietary license is generated. You
should not use this option unless you have obtained a proprietary
- license from Code Synthesis Tools CC.
+ license from Code Synthesis.
* The default encoding for the 'char' character type is now UTF-8.
To get the previous behavior (local code page via the Xerces-C++
@@ -879,7 +930,7 @@ Version 2.0.0
* MSVC 7.1 has a limit on the length of the "if else if" chain. This
results in ICE when compiling generated code for enumerations with
a large number of values. This version addresses this issue. Thanks
- to Cyrille Chépélov <cyrille at chepelov.org> for reporting this and
+ to Cyrille Chépélov <cyrille at chepelov.org> for reporting this and
suggesting a fix.