Citeproc-java 3.0.0 has just been released!

Dear CSL community!

I’m very happy to announce the next iteration of citeproc-java, the CSL processor for Java. :tada::tada:

You can find the library and the full documentation here:

Version 3.0.0 is a major rewrite that I’ve been working on for quite some time. The most notable change is that the library is now a pure Java implementation. It does not rely on citeproc-js any longer and, therefore, does not need a JavaScript interpreter like the previous versions did. This also means there will be fewer compatibility issues with other libraries or with different Java versions.

The performance you’ll get with the new version has improved a lot: citations and bibliographies for complex styles can now be generated within a few milliseconds, which is more than a hundred times faster than before.

citeproc-java 3.0.0 does not implement the full CSL specification yet. You might experience some inconsistencies or miss features. If this is the case, please file an issue. The majority of the specification has, however, been implemented and the library is stable and works very reliably. I’m testing it against the CSL Test Suite and at least 422 tests run successfully (I haven’t included some of them yet, so the number might be higher). Actually, there are even more unit tests (in addition to the test suite) and the whole set includes more than 740 tests.

The API has slightly changed, so some migration steps might be necessary, depending on how you use citeproc-java. Please refer to the updated documentation.