Project: NeuVector (Provisioning / Security & Compliance)
File: RELEASE_NOTES.md

Release v1.2.0 ============== New Features Add the ability to write XML fragments using Token WriteTo functions. Add the ability to re-indent an XML element as though it were the root of the document. Add a ReadSettings option to preserve CDATA blocks when reading and XML document. Release v1.1.4 ============== New Features Add the ability to preserve whitespace in leaf elements during indent. Add the ability to suppress a document-trailing newline during indent. Add choice of XML attribute quoting style (single-quote or double-quote). Removed Features Removed the CDATA preservation change introduced in v1.1.3. It was implemented in a way that broke the ability to process XML documents encoded using non-UTF8 character sets. Release v1.1.3 ============== XML reads now preserve CDATA sections instead of converting them to standard character data. Release v1.1.2 ============== Fixed a path parsing bug. The `Element.Text` function now handles comments embedded between character data spans. Release v1.1.1 ============== Updated go version in `go.mod` to 1.20 Release v1.1.0 ============== New Features New attribute helpers. Added the `Element.SortAttrs` method, which lexicographically sorts an element's attributes by key. New `ReadSettings` properties. Added `Entity` for the support of custom entity maps. New `WriteSettings` properties. Added `UseCRLF` to allow the output of CR-LF newlines instead of the default LF newlines. This is useful on Windows systems. Additional support for text and CDATA sections. The `Element.Text` method now returns the concatenation of all consecutive character data tokens immediately following an element's opening tag. Added `Element.SetCData` to replace the character data immediately following an element's opening tag with a CDATA section. Added `Element.CreateCData` to create and add a CDATA section child `CharData` token to an element. Added `Element.CreateText` to create and add a child text `CharData` token to an element. Added `NewCData` to create a parentless CDATA section `CharData` token. Added `NewText` to create a parentless text `CharData` token. Added `CharData.IsCData` to detect if the token contains a CDATA section. Added `CharData.IsWhitespace` to detect if the token contains whitespace inserted by one of the document Indent functions. Modified `Element.SetText` so that it replaces a run of consecutive character data tokens following the element's opening tag (instead of just the first one). New "tail text" support. Added the `Element.Tail` method, which returns the text immediately following an element's closing

Added the `Element.SetTail` method, which modifies the text immediately following an element's closing tag. New element child insertion and removal methods. Added the `Element.InsertChildAt` method, which inserts a new child token before the specified child token index. Added the `Element.RemoveChildAt` method, which removes the child token at the specified child token index. New element and attribute queries. Added the `Element.Index` method, which returns the element's index within its parent element's child token list. Added the `Element.NamespaceURI` method to return the namespace URI associated with an element. Added the `Attr.NamespaceURI` method to return the namespace URI associated with an element. Added the `Attr.Element` method to return the element that an attribute belongs to. New Path filter functions. Added `[local-name()='val']` to keep elements whose unprefixed tag matches the desired value. Added `[name()='val']` to keep elements whose full tag matches the desired value. Added `[namespace-prefix()='val']` to keep elements whose namespace prefix matches the desired value. Added `[namespace-uri()='val']` to keep elements whose namespace URI matches the desired value. Bug Fixes A default XML `CharSetReader` is now used to prevent failed parsing of XML documents using certain encodings. (). All characters are now properly escaped according to XML parsing rules. (). The `Document.Indent` and `Document.IndentTabs` functions no longer insert empty string `CharData` tokens. Deprecated `Element` The `InsertChild` method is deprecated. Use `InsertChildAt` instead. The `CreateCharData` method is deprecated. Use `CreateText` instead. `CharData` The `NewCharData` method is deprecated. Use `NewText` instead. Release v1.0.1 ============== Changes Added support for absolute etree Path queries. An absolute path begins with `/` or `//` and begins its search from the element's document root. Added and functions to the type. Breaking changes A path starting with `//` is now interpreted as an absolute path. Previously, it was interpreted as a relative path starting from the element whose method was called. To remain compatible with this release, all paths prefixed with `//` should be prefixed with `.//` when called from any element other than the document's root. [edit 2/1/2019*]: Minor releases should not contain breaking changes. Even though this breaking change was very minor, it was a mistake to include it in this minor release. In the future, all breaking changes will be limited to major releases (e.g., version 2.0.0). Release v1.0.0 ============== Initial release.