154 lines
5.8 KiB
Markdown
154 lines
5.8 KiB
Markdown
|
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 tag.
|
||
|
* 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.
|
||
|
([Issue](https://github.com/beevik/etree/issues/53)).
|
||
|
* All characters are now properly escaped according to XML parsing rules.
|
||
|
([Issue](https://github.com/beevik/etree/issues/55)).
|
||
|
* 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 [`GetPath`](https://godoc.org/github.com/beevik/etree#Element.GetPath)
|
||
|
and [`GetRelativePath`](https://godoc.org/github.com/beevik/etree#Element.GetRelativePath)
|
||
|
functions to the [`Element`](https://godoc.org/github.com/beevik/etree#Element)
|
||
|
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
|
||
|
[`FindElement`](https://godoc.org/github.com/beevik/etree#Element.FindElement)
|
||
|
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.
|