Support #1240

Review API changes from v0.25 to v0.26

Added by Robin Mills 8 months ago. Updated 29 days ago.

Status:ClosedStart date:04 Oct 2016
Priority:NormalDue date:
Assignee:Andreas Huggel% Done:

100%

Category:apiEstimated time:1.00 hour
Target version:0.26

Description

I've used the follow bash to investigate:

$ nm -gj  /mmHD/Users/rmills/gnu/exiv2/trunk/src/.libs/libexiv2.14.dylib | while read line; do c++filt $line ; done | sort | tee ~/temp/v26.txt | wc
   1474    4245   81191
$ nm -gj /mbpHD/Users/rmills/gnu/exiv2/v0.25/src/.libs/libexiv2.14.dylib | while read line; do c++filt $line ; done | sort | tee ~/temp/v25.txt | wc
   1400    3979   75568
$ 
As you can see, there are 74 more externals in v0.26. Most are the very obvious new APIs such as printStructure, INIReader and WebP, JpegBase and IccProfile support.
$ grep -e JpegBase -e printStructure -i -e webp -e INIReader -e IccProfile ~/temp/v26.txt  | wc
     83     230    5079
$ grep -e JpegBase -e printStructure -i -e webp -e INIReader -e IccProfile ~/temp/v25.txt  | wc
     35      60    1326
This takes care of about 48 differences. There are quite a number of changes to system calls in use. For example _msync is no longer used. 6 pthread_rwlock APIs are now in use.

The changes all feel reasonable to me. Andreas is entitled to feel otherwise.

I have a proposal to discuss with Andreas about to standardising the API in v0.27 so that it will never change. I'll discuss this when we meet in KL. If we implement my proposal and discover no API changes for v0.28, we may be able rename v0.28 as v1.0.


Related issues

Related to Exiv2 - Feature #1120: Deprecating outdated and/or undesired API's Closed 23 Sep 2015

Associated revisions

Revision 4642
Added by Robin Mills 7 months ago

#1240 Strengthened test/http-test.

History

#1 Updated by Robin Mills 29 days ago

  • Status changed from Assigned to Closed

#2 Updated by Robin Mills 29 days ago

  • % Done changed from 0 to 100
  • Estimated time set to 1.00

Also available in: Atom PDF

Redmine Appliance - Powered by TurnKey Linux