# Changes from M21 to M22

- Changes from M21 to M22
  - Applications
  - Filters
  - Steps
  - Connectors
  - Filters Plugin for OmegaT
  - Libraries

## Applications

- Tikal

  - Made it possible to run tikal.sh from another directory on Mac OS X.
  - Updated the way the application root folder was computed to allow call from Network share.

- Rainbow

  - Fixed `-log` option to allow it anywhere in the command-line.

## Filters

- Table Filter

  - Fixed issue #300 (enhancement): Added a new Table Filter for 2-column (source + target), tab separated files.

- OpenXML Filter

  - Fixed issue #166: Text from mc:Fallback and mc:Choice Requites=“wps”, WordArt, TextArt, and Watermarks is handled properly now.
  - Fixed issue #169: Segmentation around inline codes seems to work properly.
  - Fixed issue #286: PPTX smart-tags are now imported.
  - Fixed issue #323: Files are not corrupted anymore when using text areas.
  - Fixed issue #324: Nested <w:p> merge properly now.
  - Fixed issue #325: The slides of PPTX documents are now extracted in order.
  - Fixed issue #329: Text from PPTX diagrams are now extracted.
  - Fixed issue #351: Creation of XLIFF work on documents with SmartArt graphics.

- XML Stream Filter (Abstract Markup Filter)

  - Fixed issue #332: When using the `global_cdata_subfilter` option, the filter will no longer generate extra segments consisting only of placeholders.
  - Fixed issue #339: The filter was not grouping the tags back properly when merging back.
  - Added handling of variable placeholders for the pre-defined settings for RESX files.

- ITS Filters (XML Filter and HTML5+ITS Filter)

  - Continued implementation of ITS 2.0 (See ITS Components for details)

- TMX Filter

  - Fixed the issue where `<it>` codes where mapped to placeholder rather than opening/closing internal codes.

- XLIFF Filter

  - Continued implementation of ITS 2.0: Improved support for LQI, added support for Provenance.

- Simplification Filter

  - Added new filter for resource simplification (removal of references and/or reducing the number of inline codes). See wiki for details: Simplification Filter.

- General

  - Filters that update language properties (like `xml:lang`) during merging will now be region-insensitive when doing so.

## Steps

- Term Extraction Step

  - Added support for Text Analysis annotations.
  - Made the three extraction methods options, and attached the relevant options to the statistical method.

- Full-Width Conversion Step

  - Added log message if at least one character was modified (per input file). This resolves issue #327.

- Enrycher Step

  - Improved hanlding of nested annotations.

- Batch TM Leveraging Step

  - Fixed issue #331: Entries with no text are now not sent for translation.

- Format Conversion Step

  - Fixed the issue where the “Output generic inline codes” was not recognized for the Tab-delimited table output.

- MS Batch Translation Step

  - MT candidate with a very low score (e.g. from error) are not output in the TMX.

- Space Checker Step

  - Improved reporting of errors and changes.
  - Fixed issue #346: Iterating through text fragments ran out of bounds. Indexing error was fixed.
  - Fixed issue #348: inline code index marker broken as a result of spacing changes. Index marker error was fixed.

- Translation Comparison Step

  - improved output statistics for the report. There is now more details and an edit effort score.
    See wiki for details: Translation Comparison Step.

- Consolidated Paragraph Alignment and Sentence Alignment steps

## Connectors

- Microsoft MT Connector

  - Improved error handling (e.g. problem with inline codes in result).

## Filters Plugin for OmegaT

    * Added *.xliff and *.sdlxliff as default extensions.
    * Changed default for isFileSupported() to return true (this
      allows user-defined extensions).

## Libraries

    * Updated XLIFF Writer to match ITS/XLIFF official mapping
      (http://www.w3.org/International/its/wiki/XLIFF_1.2_Mapping)
    * Fixed QueryUtil HTML-coded conversion methods to allow proper
      round-trip of `<it>` codes.
    * Added a new library okapi-lib-preprocessing, contains
      Preprocessing Filter (available only programmatically), and
      Simplification Filter (see wiki for details:
      [Simplification Filter](http://okapiframework.org/wiki/wiki/index.php?title=Simplification_Filter)).

    * Fixed [issue #347](https://gitlab.com/okapiframework/okapi/-/issues/347): FilterConfigurationMapper.editConfiguration() now uses
      `Class.getName()` like `addConfiguration()`.