Skip to content

Latest commit

 

History

History
180 lines (150 loc) · 13.5 KB

RELEASENOTES.md

File metadata and controls

180 lines (150 loc) · 13.5 KB

LinqToXsdCore Release Notes

Version 3.4.7

Nuget packages:

Version 3.4.6

Nuget packages:

Version 3.4.5

Nuget packages:

Version 3.4.4

Nuget packages:

Version 3.4.3

Nuget packages:

Version 3.4.2

Nuget packages:

  • https://www.nuget.org/packages/LinqToXsdCore/3.4.2
    • Fixed a code generation bug (exhibited in XmlSpec schema (xmlspec.xsd)) when the simple type enum for xlink:type attribute was not being generated.
    • Fixed a code generation bug whereby the wrong type name was referenced when the property name and type name were the same, and the XML schema did not have [Element Form Default="qualified"] set and the property type was reflecting an XSD union type (like the xml:lang attribute) (exhibited in 'W3C XMLSchema v1.xsd').
    • Fixes a code generation bug with certain XName fields (that are only referenced in the static constructor of a type) were not getting created.
    • Backported .NET 6 DateOnly and TimeOnly type serialisation for xs:date and xs:time types to .NET Standard 2.0 using Portable.System.DateTimeOnly; there remains a .NET 6 version and a .NET Standard 2.0 version of the XObjectsCore and LinqToXsd nuget packages, but are now functionally the same.

Version 3.4.1

Nuget packages:

  • https://www.nuget.org/packages/LinqToXsdCore/3.4.1
    • Fixes a null-reference error in the XListVisualizable which can cause debugger enumeration to fail in Visual Studio on an XTypedElement list.
    • The LinqToXsd code generator tool will now filter out XSDs that target v1.1 of XML Schema as .NET only supports v1.0.
    • Fixes a code generation bug that can be thrown in rare cases when the xs:NCName type is used in a schema.
    • The code generator will now generate a value?.ToString() expression on a property value setter when the property type is nullable.

Version 3.4.0

Nuget packages:

  • https://www.nuget.org/packages/LinqToXsdCore/3.4.0
    • <SplitCodeFiles By="Namespace" /> now works, but it requires a new File filename attribute on every <Namespace />. If you had set this unimplemented option in your config before upgrading, you will get an error and need to modify your config!
    • <NullableReferences> option should now be set inside <CodeGeneration>. It still works in <Configuration> for backward compatibility.
    • New options <UseDateOnly> and <UseTimeOnly> inside <CodeGeneration>. When true, .net 6 DateOnly and TimeOnly types will be generated for xs:date and xs:time properties.
    • Minor breaking change: if you used XObjectsCodeGen directly (as a library), a few public APIs have changed to support splitting files by namespace. There is no breaking change for users of LinqToXsd tool and XObjectsCore runtime.

Version 3.3.3

Nuget packages:

Version 3.3.2

Nuget packages:

  • https://www.nuget.org/packages/LinqToXsdCore/3.3.2
    • This update only applies to the LinqToXsd global dotnet tool; it fixes a bug whereby a class constructor was being generated for classes for XSD elements, whose schema types are simple types, and said simple types are defined as enum restrictions on string types (like NMToken or xs:string) and the class constructor accepted a value for the enum type. The functional constructor now converts from the given string value to the inner enum type by parsing the string value and convert it to it's proper inner enum type (stored in the TypedValue property).

Version 3.3.1

Nuget packages:

  • https://www.nuget.org/packages/LinqToXsdCore/3.3.1
    • This update only applies to the LinqToXsd global dotnet tool; it re-enables .NET Core 3.1 as a runtime target, and also adds .NET 5, alongside .NET 6 that was added in 3.3.0.
    • PDB debug information is now embedded inside the shipping assemblies.

Version 3.3.0

Nuget packages:

LinqToXsdCore 3.2.1 and XObjectsCodeGen 3.2.1 (no changes to XObjectsCore)

Nuget packages:

LinqToXsdCore 3.2.0, XObjectsCore 3.2.0 and XObjectsCodeGen 3.2.0

Nuget packages:

LinqToXsdCore 3.1.0 and XObjectsCore 3.1.0

Nuget packages:

  • https://www.nuget.org/packages/LinqToXsdCore/3.1.0
  • https://www.nuget.org/packages/XObjectsCore/3.1.0
    • Fixed a enum type generation bug that occurs when referencing locally defined enum types.
    • Also fixed another one enum generation bug for multiple inline enum types defined with the same name; the XSD spec allows for multiple inline enum types to share the same name so long as they're not defined in the same complex type or element, and are not global types.
    • Fixed an issue with ambiguous types where an element is a base type and a derrived type is used.

LinqToXsdCore 3.0.1 and XObjectsCore 3.0.1

Nuget packages:

LinqToXsdCore 3.0.0.12 and XObjectsCore 3.0.0.11

Nuget packages:

  • https://www.nuget.org/packages/LinqToXsdCore/3.0.0.12
  • https://www.nuget.org/packages/XObjectsCore/3.0.0.11
    • When a group of XSD files or a folder of them all import or include each other, LinqToXsd cannot decide which one to use as the entry point for code generation, so now the CLI throws an exception when that condition is met while trying to resolve which XSD file to use.
    • Reverts "Avoid type name conflicts in generated code" from previous release, as it broke the code generation of the BuildWrapperDictionary() method generated inside the LinqToXsdTypeManager; it adds typeof(void) expressions, which breaks untyped XElement type conversion. Previous (and correct) behavior was to add typeof(T) expressions where T was the generated complex or global element type.
    • Fixes an issue whereby setting a string value to an attribute whose type was AnyAtomicType resulted in an error.
    • Fixes an issue when using the static Parse() or Load() methods on an internal generated type.

LinqToXsdCore 3.0.0.11 and XObjectsCore 3.0.0.10

Nuget packages:

XObjectsCore 3.0.0.9

Nuget packages:

Added XTypedElementEqualityComparer and XTypedElementDeepEqualityComparer classes that implement IEqualityComparer{T} for the XTypedElement class.

LinqToXsdCore 3.0.0.10 and XObjectsCore 3.0.0.8

Nuget packages:

Modified the behaviour of retrieving the value of an attribute, when the schema type is anyAtomicType (which is the default for attributes when no type is given). The value literal is now returned as a string (pre-existing behaviour would throw an exception saying that anyAtomicType is not a supported conversion to the CLR type 'string').

XObjectsCore 3.0.0.7

Nuget packages:

LinqToXsdCore 3.0.0.9 and XObjectsCore 3.0.0.6

Nuget packages:

LinqToXsdCore 3.0.0.8

Nuget packages:

XObjectsCore 3.0.0.5 and LinqToXsdCore 3.0.0.7

Nuget packages:

XObjectsCore 3.0.0.4 and LinqToXsdCore 3.0.0.6

Nuget packages:

Fixes a bug that caused XTypedElement.Clone() to fail when generated code had the internal visibility modifier. This manifested in the CLI tool, when attempting to use it to generate an example configuration file linqtoxsd config 'file.xsd' -e.