Downloads

Downloads come in two flavors:

  • Binary (bin): This download is intended for end users who wish to use DDMSence in their own projects. It contains the compiled DDMSence JAR files, the complete API documentation (which is also available online), source code for the sample applications, and supporting 3rd-party JAR files. Sample applications can be run from the command line.
  • Source (src): This download is intended for developers who wish to see what DDMSence is doing under the hood. It contains source code for the main library, unit tests, and the sample applications, as well as supporting 3rd-party JAR files. The included build.xml file allows you to compile source code, run unit tests, generate API documentation, or even generate the "bin"-flavored archive with Apache Ant. I have also included a .project file if you wish to import the project into Eclipse.

Regardless of your choice, you will need a JRE or JDK which supports Java 1.6 or higher.

Latest Release: v2.4.0

Version 2.4.0 (11/20/2014) is a stable release which improves the handling of date values in various components (Issue #221). It is backwards compatible with all versions since v2.0.0.

DDMSence and Maven

The DDMSence JAR file is also available in the Maven Central Repository. It can be added to your pom.xml file as shown in Figure 1.

<dependency>
   <groupId>net.urizone</groupId>
   <artifactId>ddmsence</artifactId>
   <version>2.4.0</version>
</dependency>

Figure 1. Setting up DDMSence as a Maven dependency

Versioning

DDMSence will follow a "major.minor.patch" versioning system for as long as it makes sense to do so:

  • A change in major version will generally include major architecture changes and may break backwards compatibility in non-trivial ways.
  • A change in minor version can include new features and bug fixes. On rare occasions, minor releases may break backwards compatibility, but the changes will require minimal upgrade effort.
  • A change in patch version will be limited to bug fixes.

If a new version is listed as "backwards compatible", it means that you can update to the new version without changing any of your code that worked with the old version. All changes which are not backwards compatible will be linked from this page with information on how to upgrade your old code.

Previous Release

Version 2.3.0 (05/30/2014) is a stable release which adds built-in support for JSON output. It is backwards compatible with all versions since v2.0.0. Additional information about JSON output can be found in Tutorial #1: Essentials.

Ancient Releases

Earlier versions of DDMSence are no longer available for download (although they can still be built from the tagged source code). Historical information about earlier releases can be found below.

Version 2.2.1 (05/13/2014) is a stable release which is backwards compatible with all versions since v2.0.0. It is functionally equivalent to v2.2.0, but has been recompiled to run with Java 1.6 (Issue #215). If v2.2.0 is already working for you, there is no need to upgrade at this time.

Version 2.2.0 (12/15/2013) is a stable release, which adds support for DDMS 5.0. It is backwards compatible with all versions since v2.0.0. API documentation has also been updated, making it easier to track components across DDMS versions. Release notes describing what's new in DDMS 5.0 and DDMSence v2.2.0 are also available.

Version 2.1.0 (01/19/2013) is a stable release, which adds support for DDMS 4.1. It is backwards compatible with v2.0.0. Because DDMS 4.1 shares an XML namespace with DDMS 4.0.1, older 4.0.1 metacards are validated against the DDMS 4.1 schemas in this release.

Version 2.0.0 (12/01/2011) is a stable, major release, which adds support for DDMS 4.0.1. It is not backwards compatible with previous versions. Upgrading your existing code to use this version should be straightforward, but may require a non-trivial effort. An Upgrade Guide is available for migrating from v1.x.x to v2.x.x.

Version 1.11.0 (07/17/2011) is a stable release, which adds support for XSLT2-based Schematron validation (Issue #79), improved performance when using multiple Controlled Vocabularies (Issue #90), and a few minor bug fixes. This release is backwards compatible with v1.10.0.

Version 1.10.0 (07/05/2011) is a stable release, which adds support for DDMS 3.1 (Issue #82 - 85). It is not backwards compatible with earlier versions.

Version 1.9.1 (06/02/2011) is a stable patch release, which corrects a few minor bugs related to the lazily instantiated lists in the Component Builder framework (Issue #76, Issue #77 and Issue #78). It is backwards compatible with all versions since v1.4.0.

Version 1.9.0 (05/24/2011) is a stable release, which makes the Component Builder framework more amenable to web-based forms by implementing the Serializable interface and using lazily instantiated lists for child components (Issue #74 and Issue #75). It is backwards compatible with all versions since v1.4.0.

Version 1.8.0 (05/13/2011) is a stable release, which adds mutable Builders for all DDMS components (Issue #68). It is backwards compatible with all versions since v1.4.0.

Version 1.7.2 (03/10/2011) is a stable patch release, which corrects syntax errors in the sample Schematron files (Issue #67), and adds "3.0.1" as an alias for DDMS 3.0 (Issue #69). It is backwards compatible with all versions since v1.4.0.

Version 1.7.1 (11/16/2010) is a stable patch release, which corrects a very minor issue where northbound latitude values were validated as longitudes (Issue #65). It is backwards compatible with all versions since v1.4.0.

Version 1.7.0 (09/18/2010) is a stable release, which allows toggling between errors and warnings on Intelligence Community Controlled Vocabulary validation (Issue #36) and adds support for swappable Controlled Vocabulary files (Issue #59). It is backwards compatible with all versions since v1.4.0.

Version 1.6.0 (09/07/2010) is a stable release, which updates bundled schemas and files for DDMS 3.0. Because the changes mainly affected the ISM Controlled Vocabulary files, this release is still backwards compatible with all versions since v1.4.0.

Version 1.5.1 (07/07/2010) is a stable patch release, which fixes a Glassfish deployment issue. It is backwards compatible with all versions since v1.4.0.

Version 1.5.0 (07/05/2010) is a stable release, and adds DDMSReader support for Strings, Readers, and InputStreams. It also updates the bundled version of XOM to 1.2.6. This release is backwards compatible with v1.4.0.

Version 1.4.0 (06/08/2010) is a stable release, and changes configurable property support to be code-driven rather than property-file driven. It is not backwards compatible with earlier versions.

Version 1.3.2 (05/14/2010) is a stable patch release, which fixes four minor bugs. It is backwards compatible with all versions since v1.1.0.

Version 1.3.1 (05/09/2010) is a stable patch release, which fixes a bug related to namespace resolution when working with more than one version of DDMS at a time. It is backwards compatible with all versions since v1.1.0.

Version 1.3.0 (05/07/2010) is a stable release, and adds support for custom validation through the ISO Schematron standard. It is backwards compatible with all versions since v1.1.0.

Version 1.2.1 (04/24/2010) is a stable patch release, which fixes a bug where QNames were compared based on namespace prefixes rather than URIs. It is backwards compatible with v1.2.0 and v1.1.0.

Version 1.2.0 (04/21/2010) is a stable release, and adds support for configurable properties. It also has improved unit tests and documentation. It is backwards compatible with v1.1.0.

Version 1.1.0 (04/08/2010) is a stable release, and adds support for DDMS 2.0 and the Extensible Layer. It is not backwards compatible with earlier versions.

Version 1.0.0 (04/01/2010) is the first official stable release of DDMSence.

Version 0.9.d (03/29/2010) includes further validation improvements. This version is believed to be stable, and is intended to be the test candidate for v1.0.0. It is backwards compatible with v0.9.c.

Version 0.9.c (03/25/2010) adds warning support to the validation system. This version is believed to be stable, and is intended to be a limited audience release for early feedback. It is not backwards compatible with earlier versions.

Version 0.9.b (03/24/2010) is the initial beta release. This version is believed to be stable, and is intended to be a limited audience release for early feedback.