diff --git a/bin/Changes b/bin/Changes index fdb1651..b4c4358 100644 --- a/bin/Changes +++ b/bin/Changes @@ -4,14 +4,21 @@ ExifTool Version History RSS feed: https://exiftool.org/rss.xml -Note: The most recent production release is Version 12.75. (Other versions are +Note: The most recent production release is Version 12.76. (Other versions are considered development releases, and are not uploaded to MetaCPAN.) +Jan. 31, 2024 - Version 12.76 (production release) + + - Properly implement patch of 12.45 to avoid duplicating raw data when writing + Sony ARW images where the raw data is double-referenced as both strips and + tiles + - Improved handling of bad offsets in HtmlDump output + Jan. 30, 2024 - Version 12.75 (production release) - CORRUPTION WARNING: Fixed bug introduced in 12.45 which could result in - corrupted Sony ARW images from some newer models when writing if lossless - compression was used + corrupted Sony ARW images from some newer models when rewriting lossless + compressed ARW images which were previously edited by 12.44 or earlier - Added ability to read C2PA JUMBF metadata from PDF and SVG files - Added ability to extract JUMBF metadata as a block - Added read support for C2PA (JUMBF-format) files diff --git a/bin/META.json b/bin/META.json index c6dbff6..c708406 100644 --- a/bin/META.json +++ b/bin/META.json @@ -50,5 +50,5 @@ } }, "release_status" : "stable", - "version" : "12.75" + "version" : "12.76" } diff --git a/bin/META.yml b/bin/META.yml index 7286352..30a66b6 100644 --- a/bin/META.yml +++ b/bin/META.yml @@ -31,4 +31,4 @@ recommends: Time::HiRes: 0 requires: perl: 5.004 -version: 12.75 +version: 12.76 diff --git a/bin/README b/bin/README index 12f208e..7b909f0 100644 --- a/bin/README +++ b/bin/README @@ -109,8 +109,8 @@ your home directory, then you would type the following commands in a terminal window to extract and run ExifTool: cd ~/Desktop - gzip -dc Image-ExifTool-12.75.tar.gz | tar -xf - - cd Image-ExifTool-12.75 + gzip -dc Image-ExifTool-12.76.tar.gz | tar -xf - + cd Image-ExifTool-12.76 ./exiftool t/images/ExifTool.jpg Note: These commands extract meta information from one of the test images. diff --git a/bin/exiftool b/bin/exiftool index 6c20acc..34abeb2 100755 --- a/bin/exiftool +++ b/bin/exiftool @@ -11,7 +11,7 @@ use strict; use warnings; require 5.004; -my $version = '12.75'; +my $version = '12.76'; # add our 'lib' directory to the include list BEFORE 'use Image::ExifTool' my $exePath; @@ -5605,7 +5605,7 @@ with this command: produces output like this: - -- Generated by ExifTool 12.75 -- + -- Generated by ExifTool 12.76 -- File: a.jpg - 2003:10:31 15:44:19 (f/5.6, 1/60s, ISO 100) File: b.jpg - 2006:05:23 11:57:38 diff --git a/bin/lib/Image/ExifTool.pm b/bin/lib/Image/ExifTool.pm index 10a5153..b534939 100644 --- a/bin/lib/Image/ExifTool.pm +++ b/bin/lib/Image/ExifTool.pm @@ -29,7 +29,7 @@ use vars qw($VERSION $RELEASE @ISA @EXPORT_OK %EXPORT_TAGS $AUTOLOAD @fileTypes %jpegMarker %specialTags %fileTypeLookup $testLen $exeDir %static_vars); -$VERSION = '12.75'; +$VERSION = '12.76'; $RELEASE = ''; @ISA = qw(Exporter); %EXPORT_TAGS = ( diff --git a/bin/lib/Image/ExifTool/HtmlDump.pm b/bin/lib/Image/ExifTool/HtmlDump.pm index cbc3cb4..ab03aae 100644 --- a/bin/lib/Image/ExifTool/HtmlDump.pm +++ b/bin/lib/Image/ExifTool/HtmlDump.pm @@ -13,7 +13,7 @@ use vars qw($VERSION); use Image::ExifTool; # only for FinishTiffDump() use Image::ExifTool::HTML qw(EscapeHTML); -$VERSION = '1.40'; +$VERSION = '1.41'; sub DumpTable($$$;$$$$$$); sub Open($$$;@); @@ -314,6 +314,8 @@ sub Print($$;$$$$$) $title = 'HtmlDump' unless $title; $level or $level = 0; my $tell = $raf->Tell(); + $raf->Seek(0,2) or $$self{ERROR} = 'Seek error', return -1; + my $fileLen = $raf->Tell(); my $pos = 0; my $dataEnd = $dataPos + ($dataPt ? length($$dataPt) : 0); # initialize member variables @@ -352,6 +354,7 @@ sub Print($$;$$$$$) } else { last; } + $start = $fileLen if $start > $fileLen; # handle case of bad start offset my $len = $start - $pos; if ($len > 0 and not $wasUnused) { # we have a unused bytes before this data block @@ -432,8 +435,7 @@ sub Print($$;$$$$$) { $err = $msg; # reset $len to the actual length of available data - $raf->Seek(0, 2); - $len = $raf->Tell() - $start; + $len = $fileLen - $start; $tip .= "
Error: Only $len bytes available!" if $tip; next; } diff --git a/bin/lib/Image/ExifTool/WriteExif.pl b/bin/lib/Image/ExifTool/WriteExif.pl index 607408a..cf43740 100644 --- a/bin/lib/Image/ExifTool/WriteExif.pl +++ b/bin/lib/Image/ExifTool/WriteExif.pl @@ -2278,7 +2278,7 @@ ($$$) $$offsetInfo{0x111}[2]==1) # (must be a single strip or the tile offsets could get out of sync) { # check the start offsets to see if they are the same - if ($$offsetInfo{0x111}[3] == $$offsetInfo{0x144}[3]) { + if ($$offsetInfo{0x111}[3][0] == $$offsetInfo{0x144}[3][0]) { # some Sony ARW images contain double-referenced raw data stored as both strips # and tiles. Copy the data using only the strip tags, but store the TileOffets # information for updating later (see PanasonicRaw:PatchRawDataOffset for a diff --git a/bin/perl-Image-ExifTool.spec b/bin/perl-Image-ExifTool.spec index d302b2c..89a4bb4 100644 --- a/bin/perl-Image-ExifTool.spec +++ b/bin/perl-Image-ExifTool.spec @@ -1,6 +1,6 @@ Summary: perl module for image data extraction Name: perl-Image-ExifTool -Version: 12.75 +Version: 12.76 Release: 1 License: Artistic/GPL Group: Development/Libraries/Perl diff --git a/lib/exiftool_vendored/version.rb b/lib/exiftool_vendored/version.rb index f40b029..9fe60a9 100644 --- a/lib/exiftool_vendored/version.rb +++ b/lib/exiftool_vendored/version.rb @@ -1,5 +1,5 @@ # frozen_string_literal: true module ExiftoolVendored - VERSION = Gem::Version.new('12.75.0') + VERSION = Gem::Version.new('12.76.0') end