Exiv2 v0.27 and v0.28 Discussion Document
Page Revised: 2018-04-20
To be discussed on May 5 and 6 at the "Exiv2 Developer's Meeting" in England.
Version 0.27 Specification¶
This project is mostly security fixes.
There are very significant improvements in the build and test architecture.
The project code is on GitHub. https://github.com/Exiv2/exiv2/projects
Backlog¶
1) Why did the code-size spike from 100k to 120k in July 2017? Closed
OpenHub mystery. May 2017: 113961 April 2017: 121196~/gnu/github/exiv2/exiv2 $ git status | grep branch ; finder "*pp | xargs wc | tail -1
2) What's to be done about the duplicated code in tags.cpp and tags_int.cpp?
3) Why did we migrate canonmn.cpp to canonmn_int.cpp?
4) Unit tests discussion
5) Using safe_op.hpp in elderly versions of MSVC (such as 2005)
6) Remove unwanted test/data files from the repos (eg test/data/bugfixes-test.out)
7) Announce that we plan to deprecate the VIDEO and EPS code in v0.28
8) Remove 'using namespace' in all code.
9) Licensing
10) Binary Output
11) Throwing exceptions from BasicIO::read()
12) Why was printStructure() added? (#1245)
13) Project Tool Discussion (Redmine, GitHub, CMake, BuildServer) https://github.com/Exiv2/exiv2/issues/101
Before the meeting, I'll review 0.27 open/closed bugs. For sure there will be other matters to discuss.
Major Components of Project Exiv2¶
Group | Topic | Scope | Effort | Total |
Major | User Support | Redmine and Github | 25% | 55% |
Lens recognition | src/*_mn.cpp and ~/.exiv2 | 10% | ||
Build Engineering | CMake, Autotools and MSVC | 10% | ||
Jenkins Build Server | daily, weekly and monthly builds | 5% | ||
Test Harness | bash and python scripts | 5% | ||
Normal | Sample Applications | exiv2, exifprint, exiv2json,... | 5% | 35% |
I/O | BasicIO, FileIO, MemIO, RemoteIO,... | 5% | ||
Tiff Parser | Tiff, Exif, Raw and MakerNote Parsers | 5% | ||
Image formats | TIFF, JPEG, PNG,... | 5% | ||
Metadata formats | Exif, IPTC, XMP, ICC | 5% | ||
Release Engineering | Releases, website, documentation,... | 5% | ||
Security/Fuzzing | Parsing, arithmetic, memory, threading | 5% | ||
Minor | Project Management | Redmine | 5% | 10% |
Miscellaneous | Unexpected Issues, Licensing | 3% | ||
Video and EPS formats | QT, AI,... | 1% | ||
Localisation | po/*.po files | 1% |
v0.28 Desirable Features¶
1 Improved raw image code and test (#992) GSoC
2 Update to latest Adobe XMPsdk (#941)
3 Coverity Scan (#883)
4 Unified Metadata Container (#585)
5 Harden or remove the video code (#1068)
6 Additional image formats.
6.1) WebM: #1048
6.2) multi-page tiff: #1124
6.3) BigTiff: #1186
6.4) HDR: #885
6.5) SVG: #1086
6.6) PDF: #1138
6.7) CR3: https://github.com/Exiv2/exiv2/issues/236
6.8) IIQ: #1342
7 Build projects:
7.1) Mobile (iOS and Android) build and test support GSoC
7.2) C++11 #1188
7.3) Additional MSVC support: #1174
8 Other Feature Requests
8.1) Editing thumbnails
8.2) Support for thumbnails embedded in IPTC and XMP
8.3) Enhanced Lens Recognition (#1034)
8.4) RemoteIO Object with Memory Mapping (#1245)
8.5) mpfTagInfo in ExifTags::taglist (#1337)
8.6) Turbo TimeStamp Editor (http://dev.exiv2.org/boards/3/topics/3004)
8.7) PNG Metadata (in addition to Exif, XMP and IPTC) https://github.com/Exiv2/exiv2/issues/147
8.8) Refactor 64bit IO http://dev.exiv2.org/issues/1292#note-7
8.9) More JSON support discussion
8.10) Remove Video and EPS code discussion
8.11) RedBalance and Levels http://dev.exiv2.org/boards/3/topics/3108
Google Summer of Code (GSoC)¶
Google sponsor students to work on approved open-source projects for 12 weeks during the summer vacation. I would like to recruit two GSoC students to work on the raw and mobile tasks. I'd like students to work on those tasks for the following reasons:
1) The projects are well defined and isolated.
2) Mentoring/supervision demands should be modest.
3) No complex dependencies.
4) Allows me to have sufficient time to support users.
Comments
Added by Andreas S. over 3 years ago
You might want to look into https://github.com/google/oss-fuzz
Added by Robin Mills over 3 years ago
Andreas: Fuzzing is getting 100% of the team's efforts at the moment. The Linux Security Police have been flooding us with broken files since September 2017. Very depressing.
Added by Irene rene over 2 years ago
The blog issued so many discussion documents with the new version of exiv2 new version. That all done by the new users for having online assignment services and book reports. So, everyone is lucky to manage and update these resources.
Added by samuel darden over 2 years ago
I spotted your blog’s link posted by a friend of mine on Facebook. Thanks for putting useful information on the web. It’s hard to get this stuff these days. racing games unblocked