2.2.3 (2022-03-11)
- support all libexif versions since v0.6.21.
2.2.2 (2022-03-11)
- add missing tags (26f9bac)
2.1.0 (2017-10-20)
2.0.1 (2017-10-02)
2.0.0 (2017-09-12)
- support ruby 1.9.3 (e7748ac)
- add Data#[] (9fbf4d7)
- add Data#ifds (648841f)
- alias #ifds to #to_h (5e2c876)
- make Exif::Data#new accept either String or IO instance (d6af39a)
- make fd0's priority higher than fd1 when same tag being used by both (1db5274)
- support undefined type (1c8e4e8)
- typecast all tags (95c1185)
-
All top-level APIs will seek ifd0 tags first instead of ifd1, to retrieve tags from ifd1, use
Exif::Data#[]
, for example:# to retrieve image width of ifd0 data.image_width data[:ifd0][:image_width] # to retrieve image width of ifd1 data[:ifd1][:image_width]
-
Passing String to Data#new is no longer treated as a file path, instead, it loads as binary data. Therefore,
Data.new(path)
has to be changed toData.new(File.open(path))
orData.new(IO.read(path))
. -
Instead of returning String, all tags are now typecasted according to TIFF tag. Tags for time like DateTimeOriginal is nolonger typecasted to Time object. To convert to Time object, use
Time::strptime
instea, for example:```ruby Time.strptime(data.date_time_original, '%Y:%m:%d %H:%M:%S') ```