# Changes Log - Okapi XLIFF Toolkit 1.1.6, Jul-29-2017

### Changes in version 1.1.6

- Breaking change: The `GroupOrUnitNode` abstract class has been replaced by the interface `IGroupOrUnitNode`. You can update your code with a search and replace as the lone method `isUnit()` is the same.
- Added the `annotateWithNote()` method to the `Fragment` class.
- Fixed issues causing local namespace declarations to be duplicated or missing in some cases.
- Implemented the `NSContext.getPrefixes()` method and added the `NSContext.containsPair()` method.
- Fixed issue where the `<notes>` element was written before any optional modules in `<file>` and `<group>`.
- Deprecated `isEnable()` and `setEnable()` in the Validation `Rule` class in favor of `isEnabled()` and `setEnabled()`.
- Added return of the object itself for several setter methods that were returning void previously.
- Implemented `IWithExtAttributes` for the `ExtElement` class. Note that the method `getAttributes()` has been deprecated in favor of `getExtAttributes()`.
- Added the `getStore()` method to the `IWithStore` interface.
- The `GlossEntry` methods `addTranslation()`, `setTerm()` and `setDefinition()` now return the created object instead of void.
- Added the `IWithGroupOrUnitNode` interface to access `FileNode` and `GroupNode` from a common set of methods.
- Added the `ExtensionsWriter` helper class to facilitate the output of extension elements and attributes.
- Added helper methods to add unit nodes and group nodes in an `XLIFFDocument` object.
- Added warnings if the `state` attribute is not `initial` and there is no `<target>` or `<target>` is empty and `<source>` is not. Resolves issue #16.
- Removed cyclic dependency between `XliffWalker` and `AbstractXliffWalkerStrategy` and implemented flexible XLIFF walker strategy.

### Changes in version 1.1.5

- Fixed error with `Unit.split()` where srcEnd was set to -1.
- Added support for trgEnd=-1 in `Unit.split()`.
- Now ending of CDATA section in original code is escaped.

### Changes in version 1.1.4

- Improved retrieval of matches. Resolves issue #13.

### Changes in version 1.1.3

- Added classes allowing traversal of the tree structure of an XLIFF document in a fashion similar to visitor pattern.

### Changes in version 1.1.2

- Added validation for lone `<sm/>`.
- Fixed validation for too many `<mda:metadata>`, `<ctr:changeTrack>` and `<val:validation>`.

### Changes in version 1.1.1

- Added `getFileNodeIds()` in `XLIFFDocument` and `getUnitNodes()` in `GroupNode`.
- Added `setLineBreak()` in `XLIFFDocument`.
- Remove indentation before `</skeleton>` that could cause syntax error.
- Added `addTranslation()` to the GlossEntry class.

### Changes in version 1.1

- Added support for the Change Tracking module.

### Changes in version 1.0.1

- Added verification to check that a target code with the same ID as a source code are indeed the two "corresponding" codes.
- Fixed check for hexadecimal values above 0x10FFFF that were incorrectly seen as valid Unicode code-points.
- Fixed links to repository (from Google Code to Bitbucket).