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 and PDF/UA validation fundamentals and making regular software releases as we develop new features.

Versioning

We’ve adopted semantic versioning with the proviso that we were delivering 1.x.x software at least until the end of PREFORMA’s prototyping phase at the end of 2016. At the moment we are delivering two types of releases:

  • development releases which will have odd numbered minor versions, e.g. 1.23.x, 1.25.x, 1.27.x, etc. and
  • official releases with even numbered minor versions, e.g. 1.24.x, 1.26.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 https://software.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.

Documentation

The detailed technical veraPDF documentation is available at https://docs.verapdf.org.

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.

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 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 either the veraPDF Greenfield PDF parser or 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.

Automated build workflows

All of our software projects are equipped with the automated builds based on GitHub actions. See, for example, https://github.com/veraPDF/veraPDF-apps/actions for the current build status of veraPDF-apps GitHub repository.

Jenkins

We’re using the OPF hosted Jenkins server. The current status of all active veraPDF jobs can be seen here

Static code analysis

We use Codecov and Codacy tools as a part of automated build workflows as additional quality assurance gateways to ensure the code quality.