Skip to content

Releases: apache/uima-uimaj

Apache UIMA Java SDK 3.5.0

06 Nov 11:56
Compare
Choose a tag to compare

Apache UIMA (Unstructured Information Management Architecture) v3.5.0 Release Notes

Contents

What is UIMA?
Major Changes in this Release
List of JIRA Issues Fixed in this Release
How to Get Involved
How to Report Issues

What is UIMA?

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, 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++.

Notable changes in this release

This is a feature and bug fix release.

System requirements updated

  • Minimum Java version required: 17 or later
  • Minimum Eclipse version required: 4.25 (2022-09)

What's Changed

  • ⭐️ Issue #327: Provide a BOM
  • ⭐️ Issue #341: Deploy Eclipse feature definitions to Maven repo
  • 🦟 Issue #315: ThreadContextClassLoader ignored by ResourceManager when extension classloader is set
  • 🦟 Issue #320: Copy of FsIterator_set_sorted_pear does not retain position
  • 🦟 Issue #337: Component description editor may not open in Eclipse
  • 🦟 Issue #346: Helper annotation created by subiterator may remain in CAS
  • 🦟 Issue #345: Certain select operations deplete FS ID pool
  • ⚙️ Issue #319: SelectFSs_impl.close() creates stream just to close it
  • ⚙️ Issue #331: Convert remaining documentation to asciidoc
  • ⚙️ Issue #335: Remove dependency on JUnit 4 and JUnit Assert
  • ⚙️ Issue #350: Clean up and modernize code
  • 🩹 Issue #317: Update dependencies
  • 🩹 Issue #325: Update dependencies
  • 💀 Issue #339: Drop CasAnnotationViewerApplet and CasTreeViewerApplet

Full Changelog: rel/uimaj-3.4.1...rel/uimaj-3.5.0

How to Get Involved

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.

How to Report Issues

The Apache UIMA project uses GitHub for issue tracking. Please report any issues you find at
https://github.com/apache/uima-uimaj/issues.

Download

The official release comes with verifiable signatures and hashes and can be downloaded from the Apache UIMA homepage: https://uima.apache.org/downloads.cgi

Note that in particular the Source code" links below do not provide official release artifacts. It is only as a convenience by GitHub.

Convenience binaries are provided via Maven Central: https://search.maven.org/search?q=g:org.apache.uima

Apache UIMA Java SDK 3.4.1

24 Feb 11:22
Compare
Choose a tag to compare

Apache UIMA (Unstructured Information Management Architecture) v3.4.1 Release Notes

Contents

What is UIMA?
Major Changes in this Release
List of JIRA Issues Fixed in this Release
How to Get Involved
How to Report Issues

What is UIMA?

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, 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.

Notable changes in this release

This is a feature fix release.

What's Changed

  • 🦟 Issue #304: Unable to deserialize CAS if last element on the heap is an empty array by @reckart in #305
  • 🦟 Issue #306: Cannot install Ruta 3.3.0 workbench against UIMA 3.4.0 Eclipse plugins by @reckart in #307
  • 🦟 Issue #303: Build fails on Windows if namespace contains whitespace by @reckart in #309
  • 🩹 Issue #302: Update dependencies by @reckart in #308

Full Changelog: rel/uimaj-3.4.0...rel/uimaj-3.4.1

How to Get Involved

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.

How to Report Issues

The Apache UIMA project uses GitHub for issue tracking. Please report any issues you find at
https://github.com/apache/uima-uimaj/issues.

Download

The official release comes with verifiable signatures and hashes and can be downloaded from the Apache UIMA homepage: https://uima.apache.org/downloads.cgi

Note that in particular the Source code" links below do not provide official release artifacts. It is only as a convenience by GitHub.

Convenience binaries are provided via Maven Central: https://search.maven.org/search?q=g:org.apache.uima

Apache UIMA Java SDK 3.4.0

02 Feb 08:23
Compare
Choose a tag to compare

Apache UIMA (Unstructured Information Management Architecture) v3.4.0 Release Notes

Contents

What is UIMA?
Major Changes in this Release
List of JIRA Issues Fixed in this Release
How to Get Involved
How to Report Issues

What is UIMA?

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, 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.

Notable changes in this release

This is a feature fix release.

What's Changed

Improvements

  • ⭐️ [UIMA-6474] Switch to getDataPathElements() in UIMA context by @reckart in #216
  • ⭐️ Issue #226: Provide SPI interfaces to locate descriptors by @reckart in #227, #237, #249
  • ⭐️ Issue #225: Improve deployment in OSGi environments by @reckart in #232, #244, #250
  • ⭐️ Issue #245: Utility method for loading type systems in SPI providers by @reckart in #246
  • ⭐️ Issue #247: RelativePathResolver should consider TCCL by @reckart in #248
  • ⭐️ Issue #268: UIMA components log and then re-throw exceptions which usually leads to errors being logged twice by @reckart in #279

Bugs fixed

  • 🦟 Issue #252: Potential failure to look up FsGenerator3 in OSGI-like contexts by @reckart in #253
  • 🦟 Issue #265: Unable to release without auto-staging by @reckart in #282
  • 🦟 Issue #266: Unable to install UIMA 3.3.1 Eclipse Plugins in Eclipse 2022-09 by @reckart in #274
  • 🦟 Issue #267: UIMA Log4jLogger_impl not compatible with log4j 2.18.0+ by @reckart in #269, #280
  • 🦟 Issue #272: select on FSArray seems broken by @reckart in #277, #278, #291
  • 🦟 Issue #275: Improved error message made it even more misleading by @reckart in #276
  • 🦟 Issue #285: NPE while deserializing an XMI in a PEAR context by @reckart in #287

Refactorings

  • ⚙️ [UIMA-6440] Stage release artifacts as part of the build by @reckart in #199
  • ⚙️ [UIMA-6443] Fresh Eclipse update site for every release by @reckart in #200
  • ⚙️ [UIMA-6462] Avoid deploy broken checksum files for p2content.xml and artifacts.xml in feature modules by @reckart in #205
  • ⚙️ [UIMA-6463] Use toolchains to ensure compatibility with Java 1.8 by @reckart in #206
  • ⚙️ [UIMA-6436] Move maintainer documentation from website into maintainer guide by @reckart in #197, #217
  • ⚙️ Issue #230: Remove version overrides in Maven plugin modules by @reckart in #231
  • ⚙️ Issue #228: Move the UimaDecompiler class by @reckart in #229
  • ⚙️ Issue #283: Update issue report generation by @reckart in #284
  • ⚙️ Issue #292: Make CAS serialization tests more robust by @reckart in #293
  • ⚙️ Issue #298 - SHA512 checksums contain wrong file name by @reckart in #299
  • ⚙️ Issue #300: Differences between source ZIP and repository tag by @reckart in #301
  • 🩹 [UIMA-6459] Upgrade dependencies by @reckart in #204, #207
  • 🩹 Issue #270: Update dependencies by @reckart in #271, #273, #290

For a full list of issues affecting this release, please see:

How to Get Involved

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.

How to Report Issues

The Apache UIMA project uses GitHub for issue tracking. Please report any issues you find at
https://github.com/apache/uima-uimaj/issues.

Download

The official release comes with verifiable signatures and hashes and can be downloaded from the Apache UIMA homepage: https://uima.apache.org/downloads.cgi

Note that in particular the Source code" links below do not provide official release artifacts. It is only as a convenience by GitHub.

Convenience binaries are provided via Maven Central: https://search.maven.org/search?q=g:org.apache.uima

Apache UIMA Java SDK 3.3.1

03 Nov 10:35
Compare
Choose a tag to compare

Apache UIMA (Unstructured Information Management Architecture) v3.3.1 Release Notes

Contents

What is UIMA?
Major Changes in this Release
How to Get Involved
How to Report Issues

What is UIMA?

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, 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.

Notable changes in this release

This is a bug fix release.

Bugs fixed

  • 🦟 Issue #255: File handle leak accessing performanceTuning.properties
  • 🦟 Issue #240: Helper annotation created by SelectFS should not survive
  • 🦟 Issue #238: Form 6 serializes non-reachable FSes but should not
  • 🦟 Issue #235: Misleading error message when JCas type is not registered
  • 🦟 [UIMA-6479] PearPackagingMavenPlugin has ancient JUnit dependency
  • 🦟 [UIMA-6473] CasToComparableText is broken

Improvements

  • ⭐️ Issue #222: Support comparing test files irrespective of line endings
  • ⭐️ [UIMA-6480] Add tests with empty arrays to CAS de/ser-suite

Refactoring

  • ⚙️ [UIMA-6454] Update dependencies
  • ⚙️ [UIMA-6463] Use toolchains to ensure compatibility with Java 1.8
  • ⚙️ [UIMA-6469] Cleaning up file handling code

For a full list of issues affecting this release, please see:

How to Get Involved

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.

How to Report Issues

The Apache UIMA project uses GitHub for issue tracking. Please report any issues you find at
https://github.com/apache/uima-uimaj/issues.

Download

The official release comes with verifiable signatures and hashes and can be downloaded from the Apache UIMA homepage: https://uima.apache.org/downloads.cgi

Note that in particular the Source code" links below do not provide official release artifacts. It is only as a convenience by GitHub.

Convenience binaries are provided via Maven Central: https://search.maven.org/search?q=g:org.apache.uima

Apache UIMA Java SDK 3.3.0

11 May 07:46
Compare
Choose a tag to compare

Contents

What is UIMA?
Major Changes in this Release
How to Get Involved
How to Report Issues
List of JIRA Issues Fixed in this Release
Download

What is UIMA?

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, 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.

Notable changes in this release

  • [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-6431] Added support for using lambda functions as CAS processors
  • [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.

Full list of JIRA Issues affecting this Release

Click issuesFixed/jira-report.hmtl for the list of issues affecting
this release.

Please use the mailing lists ( http://uima.apache.org/mail-lists.html ) for feedback.

How to Get Involved

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.

How to Report Issues

The Apache UIMA project uses GitHub for issue tracking. Please report any issues you find at
[https://github.com/apache/uima-uimaj/issues).

Download

The official release comes with verifiable signatures and hashes and can be downloaded from the Apache UIMA homepage: https://uima.apache.org/downloads.cgi

Note that in particular the Source code" links below do not provide official release artifacts. It is only as a convenience by GitHub.

Convenience binaries are provided via Maven Central: https://search.maven.org/search?q=g:org.apache.uima