blob: 64507e7c64b8752cc3fd7320420452a1e8251c23 [file] [log] [blame]
<!--
***************************************************************
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
***************************************************************
-->
<html>
<head>
<title>Apache UIMA v2.8.0 Release Notes</title>
</head>
<body>
<h1>Apache UIMA (Unstructured Information Management Architecture) v2.8.0 Release Notes</h1>
<h2>Contents</h2>
<p>
<a href="#what.is.uima">What is UIMA?</a><br/>
<a href="#major.changes">Major Changes in this Release</a><br/>
<a href="#get.involved">How to Get Involved</a><br/>
<a href="#report.issues">How to Report Issues</a><br/>
<a href="#list.issues">List of JIRA Issues Fixed in this Release</a><br/>
</p>
<h2><a id="what.is.uima">1. What is UIMA?</a></h2>
<p>
Unstructured Information Management applications are
software systems that analyze large volumes of
unstructured information in order to discover knowledge
that is relevant to an end user. UIMA is a framework and
SDK for developing such applications. An example UIM
application might ingest plain text and identify
entities, such as persons, places, organizations; or
relations, such as works-for or located-at. UIMA enables
such an application to be decomposed into components,
for example "language identification" -&gt; "language
specific segmentation" -&gt; "sentence boundary
detection" -&gt; "entity detection (person/place names
etc.)". Each component must implement interfaces defined
by the framework and must provide self-describing
metadata via XML descriptor files. The framework manages
these components and the data flow between them.
Components are written in Java or C++; the data that
flows between components is designed for efficient
mapping between these languages. UIMA additionally
provides capabilities to wrap components as network
services, and can scale to very large volumes by
replicating processing pipelines over a cluster of
networked nodes.
</p>
<p>
Apache UIMA is an Apache-licensed open source
implementation of the UIMA specification (that
specification is, in turn, being developed concurrently
by a technical committee within
<a href="http://www.oasis-open.org">OASIS</a>,
a standards organization). We invite and encourage you
to participate in both the implementation and
specification efforts.
</p>
<p>
UIMA is a component framework for analysing unstructured
content such as text, audio and video. It comprises an
SDK and tooling for composing and running analytic
components written in Java and C++, with some support
for Perl, Python and TCL.
</p>
<h2><a id="major.changes">Major Changes in this Release</a></h2>
<h3>Iterating over sorted indexes performance improvement</h3>
<p>Sorted index usage by iterators is monitored, and when it is determined that
a particular index is no longer being updated and is experiencing poor performance due to
merging of subindexes for the subtypes being iterated over, a one-time conversion
of this index to a "flattened" version is done; the flattened form incurs the cost
of merging subindexes once, and for subsequent uses, iteration speed is improved.
Any update that affects this flattened index will cause it to be discarded and
not used for subsequent iterations. Performance improvement should be seen for the
perhaps common use case where one annotator creates and indexes instances of a type and its subtypes,
and subsequent annotators read and perhaps update these,
but don't add or remove entries of this type/subtypes from the index.
Jira issue <a target="_blank" href="https://issues.apache.org/jira/browse/UIMA-4357">UIMA-4357</a></p>
<h3>Other major changes</h3>
<ul><li>The Document Analyzer's Java-based Cas Viewer was extended to support being
able to select which annotations are highlighted, using a selection approach where you can
specify a type plus a feature of that type plus one or more values of that feature.
Jira issue <a target="_blank" href="https://issues.apache.org/jira/browse/UIMA-3374">UIMA-3374</a></li>
<li>Performance for iterators over UIMA Set Indexes was improved.
Jira issue: <a target="_blank" href="https://issues.apache.org/jira/browse/UIMA-4345">UIMA-4345</a>.</li>
</ul>
<h3>API changes</h3>
<p>Note that we have moved to a more formal semantic versioning, following
the ideas in <a target="_blank" href="http://semver.org/">http://semver.org/</a>.</p>
<p>
There were no API changes that affect backward compatibility. Some new APIs were added or extended.</p>
<ul>
<li>Add back the API <code>alreadyCopied</code> that was accidentally removed in the CasCopier class in version 2.7.0.
Jira issue: <a target="_blank" href="https://issues.apache.org/jira/browse/UIMA-4428">UIMA-4428</a>.</li>
<li>add new variants of <code>getAllIndexedFS, getIndex, and getAnnotationIndex</code> which take an additional argument
that specifies the JCas class, and permits these to return the correct generically typed indexes.
Jira issue: <a target="_blank" href="https://issues.apache.org/jira/browse/UIMA-4299">UIMA-4299</a>.</li>
</ul>
<h2><a id="list.issues">Full list of JIRA Issues Fixed in this Release</a></h2>
Click <a href="issuesFixed/jira-report.html">issuesFixed/jira-report.hmtl</a> for the list of
issues fixed in this release.
<h2><a id="get.involved">How to Get Involved</a></h2>
<p>
The Apache UIMA project really needs and appreciates any contributions,
including documentation help, source code and feedback. If you are interested
in contributing, please visit
<a href="http://uima.apache.org/get-involved.html">
http://uima.apache.org/get-involved.html</a>.
</p>
<h2><a id="report.issues">How to Report Issues</a></h2>
<p>
The Apache UIMA project uses JIRA for issue tracking. Please report any
issues you find at
<a href="http://issues.apache.org/jira/browse/uima">http://issues.apache.org/jira/browse/uima</a>
</p>
</body>
</html>