You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by re...@apache.org on 2022/03/11 11:17:44 UTC

[uima-uimaj] branch UIMA-6395-Apache-UIMA-Java-SDK-3.3.0-release updated: [UIMA-6395] Apache UIMA Java SDK 3.3.0 release

This is an automated email from the ASF dual-hosted git repository.

rec pushed a commit to branch UIMA-6395-Apache-UIMA-Java-SDK-3.3.0-release
in repository https://gitbox.apache.org/repos/asf/uima-uimaj.git


The following commit(s) were added to refs/heads/UIMA-6395-Apache-UIMA-Java-SDK-3.3.0-release by this push:
     new fb32eb2  [UIMA-6395] Apache UIMA Java SDK 3.3.0 release
fb32eb2 is described below

commit fb32eb21470294bde83733c9875c43ea91b97381
Author: Richard Eckart de Castilho <re...@apache.org>
AuthorDate: Fri Mar 11 12:17:37 2022 +0100

    [UIMA-6395] Apache UIMA Java SDK 3.3.0 release
    
    - Updated README.md
    - Renamed RELEASE_NOTES.html to RELEASE_NOTES.md
    - Updated RELEASE_NOTES.md
---
 README.md          |   4 +-
 RELEASE_NOTES.html | 190 -----------------------------------------------------
 RELEASE_NOTES.md   | 114 ++++++++++++++++++++++++++++++++
 3 files changed, 116 insertions(+), 192 deletions(-)

diff --git a/README.md b/README.md
index 20d2654..1ea6d14 100644
--- a/README.md
+++ b/README.md
@@ -28,7 +28,7 @@ to your project:
 <dependency>
   <groupId>org.apache.uima</groupId>
   <artifactId>uimaj-core</artifactId>
-  <version>3.2.0</version>
+  <version>3.3.0</version>
 </dependency>
 ```
 
@@ -39,7 +39,7 @@ Apache uimaFIT is a separate dependency that you can add:
 <dependency>
   <groupId>org.apache.uima</groupId>
   <artifactId>uimafit-core</artifactId>
-  <version>3.2.0</version>
+  <version>3.3.0</version>
 </dependency>
 ```
 
diff --git a/RELEASE_NOTES.html b/RELEASE_NOTES.html
deleted file mode 100644
index 3dc20e0..0000000
--- a/RELEASE_NOTES.html
+++ /dev/null
@@ -1,190 +0,0 @@
-	<!--
-    ***************************************************************
-    * 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 v3.2.0 Release Notes</title>
-</head>
-<body>
-<h1>Apache UIMA (Unstructured Information Management Architecture) v3.2.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">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">Notable changes in this release</a></h2>
-
-<ul>
-  <li>Added AnnotationPredicates utility class providing various predicates testing how annotations
-      relate to each other (e.g. covering, being covered by, following, preceding, etc.)</li>
-  <li>Added single-int arg version of select.startAt()</li>
-  <li>Added trim method to AnnotationFS</li>
-  <li>Added ability to serialize as XMIs as XML 1.1</li>
-  <li>Added ability to serialize as XMIs pretty-printed using CasIOUtils</li>
-  <li>Added typed parameter support to PEARs</li>
-  <li>Improve performance of setting up JCas classes by reducing sync lock contention</li>
-  <li>Improved speed of constructing aggregate engines</li>
-  <li>Fixed de-serialization of array subtypes in form 6 binary CASes</li>
-  <li>Fixed parameter-fetching methods PearSpecifier_impl not returning null because they promise not to</li>
-  <li>Fixed logs being spammed with "Import by location/name..." messages</li>
-  <li>Fixed numerous bugs and inconsistencies in the SelectFS implementation</li>
-  <li>Fixed CAS-transportable Java objects not being properly deserialized</li>
-  <li>Fixed FSArray.spliterator() to work in PEAR scenarios</li>
-  <li>Fixed memory leak in FSClassRegistry in scenarios with large numbers of dynamically created classloaders</li>
-  <li>Fixed oddball "race" condition when initializing JCas classes</li>
-  <li>Fixed problem when reading mixed sets of binary CASes from UIMAv2 and UIMAv3</li>
-  <li>Fixed IndexOutOfBoundsException in CVD</li>
-  <li>Fixed bug causing Annotation to be returned when asking JCas for a specific type</li>
-  <li>Fixed ability to install PEARs into directories containing XML special characters in the name</li>
-  <li>Fixed not-indexed document annotation being wrongly added back to the index during de-serialization</li>
-  <li>Fixed index protection for cases that no FSes were indexed</li>
-  <li>Fixed concurrent binary serialization producing corrupt output</li>
-  <li>Fixed deep cloning of AnalysisEngineDescription</li>
-  <li>Fixed race condition in type system consolidation</li>
-  <li>Fixed re-initialization of multi-view CAS with a different type system</li>
-  <li>Fixed logger silently discarding a parameter in some cases (placeholder filler or throwable)</li>
-  <li>No longer ship Pack200-compressed versions of the Eclipse plugins</li>
-  <li>Converted UIMAv3 User's Guide from DocBook to Asciidoc</li>
-</ul>
- 
-<h3>API changes</h3>
-
-<h4>SelectFS API with zero-width annotations</h4>
-
-<p>The behavior of the selectFS API changes in this release, in particular with respect to the 
-handling of zero-width annotations (those that have the same start and end position). The behavior
-has been made to align with the new annotation predicates, the details of which are described in the
-UIMAv3 User's Guide.
-</p>
-
-<h4>SelectFS API with negative shift on bounded selections</h4>
-
-<p>The <code>shifted</code> operation can no longer be used to expand a selection beyond its
-selection boundaries. Consider the following example:<p>
-
-<pre><code>
-t1 = new Token(0,1)
-t2 = new Token(2,3)
-t3 = new Token(4,5)
-t4 = new Token(6,7)
-t5 = new Token(8,9)
-</code></pre>
-
-<p>In previous versions, was also possible to use a negative shift with a bounding operator such as
-<code>following</code>, <code>coveredBy</code>, etc. and it would call <code>moveToPrevious</code>
-on the internal iterator of the selection operation, causing it to return annotations occurring
-before the bounds e.g.:
-
-<pre><code>
-select().shifted(-1).following(t3) => {t3, t4, t5}
-</code></pre>
-
-<p>This was found to be inconsistent behavior. The iterator used for the selection (which can also be 
-obtained by calling <code>fsIterator()</code>) should respect the bounds.</p>
-
-<p>As of this UIMA version, using <code>shifted</code> with a negative argument in conjunction with
-a bounding operator will trigger a warning in the logs and return an empty result.</p>
-
-<pre><code>
-select().shifted(-1).following(t3) => {}
-select().following(t3) => {t4, t5}
-</code></pre>
-
-<h4>SelectFS API with Backwards selection with startAt</h4>
-
-<p>In previous versions, the using the <code>moveTo</code> operation backwards iterators obtained
-through <code>SelectFSs</code> did never ignore type priorities - even though <code>SelectFSs</code>
-by default should ignore them.</p>
- 
-<h2><a id="list.issues">Full list of JIRA Issues affecting this Release</a></h2>
-Click <a href="issuesFixed/jira-report.html">issuesFixed/jira-report.hmtl</a> for the list of 
-issues affecting this release.    
-
-<p>Please use the mailing lists 
-( http://uima.apache.org/mail-lists.html ) 
-for feedback.</p> 
- 
-<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>
\ No newline at end of file
diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md
new file mode 100644
index 0000000..1265655
--- /dev/null
+++ b/RELEASE_NOTES.md
@@ -0,0 +1,114 @@
+<!--
+***************************************************************
+* 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.
+***************************************************************
+-->
+   
+# Apache UIMA (Unstructured Information Management Architecture) v3.3.0 Release Notes
+
+## Contents
+
+[What is UIMA?](#what.is.uima)  
+[Major Changes in this Release](#major.changes)  
+[How to Get Involved](#get.involved)  
+[How to Report Issues](#report.issues)  
+[List of JIRA Issues Fixed in this Release](#list.issues)  
+
+## <a id="what.is.uima">What is UIMA?</a>
+
+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" -> "language specific segmentation" -> "sentence boundary detection" ->
+"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.
+
+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
+[OASIS](http://www.oasis-open.org), a standards organization). We invite and encourage you to
+participate in both the implementation and specification efforts.
+
+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.
+
+## <a id="major.changes">Notable changes in this release</a>
+
+* [UIMA-6418] Added support for component parameters of type "long" and "double" 
+* [UIMA-6358] Added platform-independent methods for setting the datapath in a resource manager
+* [UIMA-6374] Added an extensive CAS (de)serialization test suit
+* [UIMA-6412] Changed CPMEngine from using a thread group to using an executor service
+* [UIMA-6389] Fixed exceptions being swallowed when using Log4J2 through its SLF4J API
+* [UIMA-6386] Fixed wrong UIMA session being set on the ConfigurationManager in aggregates
+* [UIMA-6390] Fixed NPE when trying to access config names of fresh context
+* [UIMA-6378] Fixed build on Java 16
+* [UIMA-6393] Fixed circular imports in descriptors breaking the resource manager cache
+* [UIMA-6367] Fixed JCas cover annotation created in PEAR context being replaced by index operations
+* [UIMA-6388] Fixed CAS.select(null) returning all annotations instead of throwing an exception
+* [UIMA-6423] Fixed selecting a non-existing type returning all types instead of throwing an exception
+* [UIMA-6421] Fixed range check when injecting a String value into StringArray slot to throw an exception
+* [UIMA-6400] Fixed leaking ThreadLocal in UimaContextHolder
+* [UIMA-6398] Fixed memory leak in UIMA loggers and loggers using the wrong classloader for i18n messages
+* [UIMA-6413] Fixed memory leak in FSClassRegistry
+* [UIMA-6377] Fixed spurious multipleReferencesAllowed warning when serializing empty arrays
+* [UIMA-6372] Upgraded to JUnit 5
+* [UIMA-6373] Format UIMA Core Java SDK codebase
+
+### API changes
+
+#### SelectFS API with null or non-existing types
+
+When providing `null` or as a type or an non-existing type to a `select` call, then an exception is
+is thrown. Previously, all annotations were returned instead. To explicitly select any type, use
+the new `anyType()` instead of calling `type(null)`.
+
+#### ResourceManager datapath methods
+
+The methods `getDataPath()` and `setDataPath(String)` which were accepting/returning paths using 
+platform-specific path separators have been deprepcated. Instead, use the new 
+`setDataPathElements(File/String...)` and `getDataPathElements()` methods.
+
+#### JUnit upgrade
+
+The JUnit module has been upgraded from JUnit 4 to JUnit 5 along with the rest of the test code
+switching to JUnit 5. If you use the unit test helpers from this module, you also have to upgrade
+your tests to JUnit 5.
+
+## <a id="list.issues">Full list of JIRA Issues affecting this Release</a>
+
+Click [issuesFixed/jira-report.hmtl](issuesFixed/jira-report.html) for the list of issues affecting
+this release.
+
+Please use the mailing lists ( http://uima.apache.org/mail-lists.html ) for feedback.
+
+## <a id="get.involved">How to Get Involved</a>
+
+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 
+[http://uima.apache.org/get-involved.html](http://uima.apache.org/get-involved.html).
+
+## <a id="report.issues">How to Report Issues</a>
+
+The Apache UIMA project uses JIRA for issue tracking. Please report any issues you find at 
+[http://issues.apache.org/jira/browse/uima](http://issues.apache.org/jira/browse/uima).
\ No newline at end of file