An overview of development status, version numbering and quality management.

Software Releases

veraPDF Prototyping

We’re currently in the the prototyping phase, our future plans are on our Roadmap page. Right now we’re focusing on PDF/A validation fundamentals and making regular software releases as we develop new features.

Versioning

We’ve adopted semantic versioning with the proviso that we’ll be delivering 0.x.x software at least until the end of PREFORMA’s prototyping phase at the end of 2016. Using a 0 major version number frees us from the obligations of the “meaningful” use of the version numbers during prototyping, where we’ll be delivering two types of releases:

  • development releases which will have odd numbered minor versions, e.g. 0.1.x, 0.3.x, 0.15.x, etc. and
  • official releases with even numbered minor versions, e.g. 0.2.x, 0.12.x, etc..

Get the Latest veraPDF Installer

Our installer is currently in a java based installer with supporting scripts to start the installer.

veraPDF for WindowsveraPDF for MacveraPDF for Linux

Installation instructions are available here.

Development Downloads

We’re making all of our successful development snapshots available in our downloads area. The latest development release can always be obtained at this link http://downloads.verapdf.org/dev/verapdf-installer.zip.

We emphasise that these are development prototypes with accompanying bugs and missing features. You’re welcome to try them at your own risk, but we offer no support or guarantees.

GitHub

veraPDF’s GitHub page.

A beginners guide to veraPDF projects

The veraPDF Validation Model Projects

We’re developing the PDF/A validation model in a domain specific language using Xtext in two GitHub projects. These model projects both produce Java Archives (JARs) for use by the library project and veraPDF model developers. The initial release will see both dependency projects moved from a 0.1.x to a 0.3.x development release with a single 0.2.x release to our Maven repository.

veraPDF-model-syntax

The veraPDF-model-syntax project:

  • defines the Xtext grammar for the model DSL; and
  • provides Eclipse IDE support for developing the model.
veraPDF-model

The veraPDF-model project describes the veraPDF PDF/A validation model using the DSL. The description is used to generate Java interface definitions for the model for implementation in the veraPDF-library.

The veraPDF Validation Library

The veraPDF-library project implements the model API and calls the Apache PDFBox project’s PDF parser in order to populate it. The library is available in 3 forms:

  • a Java Archive (JAR) distribution available through Maven for developers wishing to use our PDF Validation engine in their own software;
  • a simple GUI application for desktop users; and
  • a command line application for experienced users.

Validation Profiles and Test corpora

README files provide download and build instructions.

The test files (corpora) are also assembled on GitHub. Unreviewed submissions can be found in the staging branch.


Software Quality

Developing PDF/A validator that’s supported by the whole PDF industry means following software development best practices.
We’re creating a Continuous Deployment/Release environment so that software’s available as soon as it’s ready.

Travis-CI

All of our software projects are registered with the Travis-CI hosted Continuous integration service. The veraPDF organisation page shows all of our software projects and their current build status.

Jenkins

We’re using the OPF hosted Jenkins server. The current status of all active veraPDF jobs can be seen here. The software delivery pipeline for the veraPDF Library is shown here.

Sonar

We use Sonar for code QA; here’s the library project. Currently a work in progress, our code quality rules are maintained up to date. Not all rules are blockers, these are handled by quality gates. The rules allow management of our “technical debt” and the quality gate is used to enforce QA via Jenkins.