Exiv2 v0.27 RC1 is ready

I am delighted to announce a new version of Exiv2 is available for download and feedback. Exiv2 v0.27.0.1. This is the first release candidate and we hope to release the Exiv2 v0.27 GM at the end of 2018.

http://exiv2.dyndns.org

I want to thank Luis and Dan for their huge contributions to this release. The primary focus of the release has been to fix security issues in the code. Luis has rewritten the CMake code and provided support for Conan to build dependencies. Dan has rewritten the test harness in python. Both have contributed a great deal of effort to deal with “fuzzed” files and other security issues. I’ve rewritten the Jenkins buildserver and greatly improved release management. We can optionally build with Adobe’s XMPsdk as an external library.

Going forward, we intend to offer LTS for v0.27 and will be releasing “dot” releases for the next couple of years for any further security issues that occur.

We have lots of interesting ideas to pursue for v0.28. The code will be reformatted and modernised and discontinue support for C++98. We’d like to pursue the goal that the next version will be Exiv2 1.0 and have a fixed API which will not be modified in future. We’d like to rewrite our Tiff Engine to support BigTiff (64 bit tiff). We’d like to support CR3 and Extended XMP.

This project has been very demanding. For sure, I found the transition to Git tough. However, the move to GitHub attracted Luis and Dan to join the Team, so it’s worked out really well.

I’ve been talking about retiring for years (I’ll be 68 in January). For sure, Exiv2 v0.28 will be my final software project. I hope Luis and Dan will focus on code and features, leaving me to deal with users, Jenkins, documentation and the project web-site.

14 Likes

@clanmills thank you for all the hard work! We’d love to have Luis and Dan join us here at PIXLS, as I know that many of the projects here rely on exiv2, plus just having people around is very useful everyone!

Congrats on the release and it sounds like there is a solid plan moving forward, which is always awesome.

Thanks. We had a Team Exiv2 Meeting at my home in England in May. Luis and Dan (and Dan’s partner Elisabeth) came. As well as work, we had a 5k run, a BBQ and talked, ate and relaxed together. It was very enjoyable and we know each other in a meaningful way.

If you need hosting for the website, we can certainly provide that! Any really, any other grunt work like that, myself and @patdavid would be happy to help. Whatever lets you put more time into the code.

2 Likes

The offer to host is very tempting. We’re moving away from exiv2.org and using my mac-mini (as exiv2.dyndns.org). In April 2017, I asked Andreas to give me the registration for exiv2.org and remarkably he refused! Perhaps he’d give it to you, or at least arrange for it to “point” to your server. The job of recovering the data (redmine and svn) from exiv2.org and getting it working on the Mac Mini is top of my TODO list now that RC1 is ready. I’m happy to discuss this by email: robin@clanmills.com

Great to see this release! I have been looking at the progress on exiv2 on and off and was really impressed. I was almost a bit sad that so much great work didn’t get distributed until now, so I am even more happy about it :slight_smile:

One question: There is no mention of RC on the download page (exiv2.dyndns.org is offline) and from the version (0.27.0.1) I also don’t see it: Is this the final 0.27 release or a release candidate?

Also could you tag the release commit and push it to your repo? I suspect many people (packagers) will rather notice that than the release on a separate website.

Thanks again to @clanmills and Luis and Dan for all your work!

1 Like

Robin,

congratulations on the new release!

Looking at cmake it also need a bit of more work, I suggest to look at:

https://cliutils.gitlab.io/modern-cmake/

You can also find good practices in one of my projects, which is C, but some ideas how to structure and do things can be applied:

https://git.cryptomilk.org/projects/cmocka.git/tree/

I don’t see the flag to enable Position Independent Code which should be set by default as exiv2 is a library.
https://git.cryptomilk.org/projects/cmocka.git/tree/cmake/Modules/DefineCMakeDefaults.cmake#n20

Also you should be able to drop the FindLibssh.cmake as libssh provides cmake files.

I’m happy to answer questions around cmake :slight_smile:

Hi Andreas,

I have been taking care of the CMake modifications for this latest release and you are right, we still need to do a bit more of work in that area :). Please, if you find things to improve do not hesitate to create an issue in our github page, and I’ll take care about it at some point.

Thanks all for the good response to this RC1!

3 Likes

Simon:

Exiv2 v0.27.0.1 == Exiv2 v0.27 RC1 (2018-10-26)
Exiv2 v0.27.0.2 == Exiv2 v0.27 RC2 (mid-November)
Exiv2 v0.27.0.0 == Exiv2 v0.27 GM (late-December)

Regrettably, CMake refuses to accept a negative tweaks such as v0.27.0.-1

Dot releases will be Exiv2 v0.27.1.0. Previews of Dot releases will be Exiv2 v0.27.1.1, v0.27.1.2 etc… I expect we’ll have several “dot” releases during the next two years to distribute security fixes.

I believe Luis will tag the code today (Saturday 2018-10-27). I asked him to hold off on the tag yesterday as I thought I’d find something horrible on Friday evening. I did find issues with the web/release scripts and fixed them yesterday evening. We’re ready to tag now.

2 Likes

@asn Always good to hear from you. And thanks for the suggestions about CMake. I see that @piponazo has commented on this. For sure, there are ways in which everything can be improved and strengthened. @piponazo has done a remarkable job of rewriting our CMake code and introducing the project to conan. We’re moving in a better direction and have removed support for autotools and msvc solution/project files.

An Engineer in Taiwan and our digiKam buddy Gilles reviewed the release yesterday and both discussed interesting stuff. With the input of the community, everything is better. In software (as in most of life) 1+1 == 3. I hope we’ll be at Exiv2 v0.27 GM at the end of this year.

More adventures (Exiv2, running, music, gardening, travelling) await in 2019. Best Wishes and thanks for your suggestions.

1 Like

If I just would have the time. I’m already working on five open source projects (probably more). :slight_smile:

1 Like