1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 2115 2116 2117 2118 2119 2120 2121 2122 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 2153 2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 2210 2211 2212 2213 2214 2215 2216 2217 2218 2219 2220 2221 2222 2223 2224 2225 2226 2227 2228 2229 2230 2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 2252 2253 2254 2255 2256 2257 2258 2259 2260 2261 2262 2263 2264 2265 2266 2267 2268 2269 2270 2271 2272 2273 2274 2275 2276 2277 2278 2279 2280 2281 2282 2283 2284 2285 2286 2287 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 2300 2301 2302 2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321 2322 2323 2324 2325 2326 2327 2328 2329 2330 2331 2332 2333 2334 2335 2336 2337 2338 2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 2491 2492 2493 2494 2495 2496 2497 2498 2499 2500 2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 2511 2512 2513 2514 2515 2516 2517 2518 2519 2520 2521 2522 2523 2524 2525 2526 2527 2528 2529 2530 2531 2532 2533 2534 2535 2536 2537 2538 2539 2540 2541 2542 2543 2544 2545 2546 2547 2548 2549 2550 2551 2552 2553 2554 2555 2556 2557 2558 2559 2560 2561 2562 2563 2564 2565 2566 2567 2568 2569 2570 2571 2572 2573 2574 2575 2576 2577 2578 2579 2580 2581 2582 2583 2584 2585 2586 2587 2588 2589 2590 2591 2592 2593 2594 2595 2596 2597 2598 2599 2600 2601 2602 2603 2604 2605 2606 2607 2608 2609 2610 2611 2612 2613 2614 2615 2616 2617 2618 2619 2620 2621 2622 2623 2624 2625 2626 2627 2628 2629 2630 2631 2632 2633 2634 2635 2636 2637 2638 2639 2640 2641 2642 2643 2644 2645 2646 2647 2648 2649 2650 2651 2652 2653 2654 2655 2656 2657 2658 2659 2660 2661 2662 2663 2664 2665 2666 2667 2668 2669 2670 2671 2672 2673 2674 2675 2676 2677 2678 2679 2680 2681 2682 2683 2684 2685 2686 2687 2688 2689 2690 2691 2692 2693 2694 2695 2696 2697 2698 2699 2700 2701 2702 2703 2704 2705 2706 2707 2708 2709 2710 2711 2712 2713 2714 2715 2716 2717 2718 2719 2720 2721 2722 2723 2724 2725 2726 2727 2728 2729 2730 2731 2732 2733 2734 2735 2736 2737 2738 2739 2740 2741 2742 2743 2744 2745 2746 2747 2748 2749 2750 2751 2752 2753 2754 2755 2756 2757 2758 2759 2760 2761 2762 2763 2764 2765 2766 2767 2768 2769 2770 2771 2772 2773 2774 2775 2776 2777 2778 2779 2780 2781 2782 2783 2784 2785 2786 2787 2788 2789 2790 2791 2792 2793 2794 2795 2796 2797 2798 2799 2800 2801 2802 2803 2804 2805 2806 2807 2808 2809 2810 2811 2812 2813 2814 2815 2816 2817 2818 2819 2820 2821 2822 2823 2824 2825 2826 2827 2828 2829 2830 2831 2832 2833 2834 2835 2836 2837 2838 2839 2840 2841 2842 2843 2844 2845 2846 2847 2848 2849 2850 2851 2852 2853 2854 2855 2856 2857 2858 2859 2860 2861 2862 2863 2864 2865 2866 2867 2868 2869 2870 2871 2872 2873 2874 2875 2876 2877 2878 2879 2880 2881 2882 2883 2884 2885 2886 2887 2888 2889 2890 2891 2892 2893 2894 2895 2896 2897 2898 2899 2900 2901 2902 2903 2904 2905 2906 2907 2908 2909 2910 2911 2912 2913 2914 2915 2916 2917 2918 2919 2920 2921 2922 2923 2924 2925 2926 2927 2928 2929 2930 2931 2932 2933 2934 2935 2936 2937 2938 2939 2940 2941 2942 2943 2944 2945 2946 2947 2948 2949 2950 2951 2952 2953 2954 2955 2956 2957 2958 2959 2960 2961 2962 2963 2964 2965 2966 2967 2968 2969 2970 2971 2972 2973 2974 2975 2976 2977 2978 2979 2980 2981 2982 2983 2984 2985 2986 2987 2988 2989 2990 2991 2992 2993 2994 2995 2996 2997 2998 2999 3000 3001 3002 3003 3004 3005 3006 3007 3008 3009 3010 3011 3012 3013 3014 3015 3016 3017 3018 3019 3020 3021 3022 3023 3024 3025 3026 3027 3028 3029 3030 3031 3032 3033 3034 3035 3036 3037 3038 3039 3040 3041 3042 3043 3044 3045 3046 3047 3048 3049 3050 3051 3052 3053 3054 3055 3056 3057 3058 3059 3060 3061 3062 3063 3064 3065 3066 3067 3068 3069 3070 3071 3072 3073 3074 3075 3076 3077 3078 3079 3080 3081 3082 3083 3084 3085 3086 3087 3088 3089 3090 3091 3092 3093 3094 3095 3096 3097 3098 3099 3100 3101 3102 3103 3104 3105 3106 3107 3108 3109 3110 3111 3112 3113 3114 3115 3116 3117 3118 3119 3120 3121 3122 3123 3124 3125 3126 3127 3128 3129 3130 3131 3132 3133 3134 3135 3136 3137 3138 3139 3140 3141 3142 3143 3144 3145 3146 3147 3148 3149 3150 3151 3152 3153 3154 3155 3156 3157 3158 3159 3160 3161 3162 3163 3164 3165 3166 3167 3168 3169 3170 3171 3172 3173 3174 3175 3176 3177 3178 3179 3180 3181 3182 3183 3184 3185 3186 3187 3188 3189 3190 3191 3192 3193 3194 3195 3196 3197 3198 3199 3200 3201 3202 3203 3204 3205 3206 3207 3208 3209 3210 3211 3212 3213 3214 3215 3216 3217 3218 3219 3220 3221 3222 3223 3224 3225 3226 3227 3228 3229 3230 3231 3232 3233 3234 3235 3236 3237 3238 3239 3240 3241 3242 3243 3244 3245 3246 3247 3248 3249 3250 3251 3252 3253 3254 3255 3256 3257 3258 3259 3260 3261 3262 3263 3264 3265 3266 3267 3268 3269 3270 3271 3272 3273 3274 3275 3276 3277 3278 3279 3280 3281 3282 3283 3284 3285 3286 3287 3288 3289 3290 3291 3292 3293 3294 3295 3296 3297 3298 3299 3300 3301 3302 3303 3304 3305 3306 3307 3308 3309 3310 3311 3312 3313 3314 3315 3316 3317 3318 3319 3320 3321 3322 3323 3324 3325 3326 3327 3328 3329 3330 3331 3332 3333 3334 3335 3336 3337 3338 3339 3340 3341 3342 3343 3344 3345 3346 3347 3348 3349 3350 3351 3352 3353 3354 3355 3356 3357 3358 3359 3360 3361 3362 3363 3364 3365 3366 3367 3368 3369 3370 3371 3372 3373 3374 3375 3376 3377 3378 3379 3380 3381 3382 3383 3384 3385 3386 3387 3388 3389 3390 3391 3392 3393 3394 3395 3396 3397 3398 3399 3400 3401 3402 3403 3404 3405 3406 3407 3408 3409 3410 3411 3412 3413 3414 3415 3416 3417 3418 3419 3420 3421 3422 3423 3424 3425 3426 3427 3428 3429 3430 3431 3432 3433 3434 3435 3436 3437 3438 3439 3440 3441 3442 3443 3444 3445 3446 3447 3448 3449 3450 3451 3452 3453 3454 3455 3456 3457 3458 3459 3460 3461 3462 3463 3464 3465 3466 3467 3468 3469 3470 3471 3472 3473 3474 3475 3476 3477 3478 3479 3480 3481 3482 3483 3484 3485 3486 3487 3488 3489 3490 3491 3492 3493 3494 3495 3496 3497 3498 3499 3500 3501 3502 3503 3504 3505 3506 3507 3508 3509 3510 3511 3512 3513 3514 3515 3516 3517 3518 3519 3520 3521 3522 3523 3524 3525 3526 3527 3528 3529 3530 3531 3532 3533 3534 3535 3536 3537 3538 3539 3540 3541 3542 3543 3544 3545 3546 3547 3548 3549 3550 3551 3552 3553 3554 3555 3556 3557 3558 3559 3560 3561 3562 3563 3564 3565 3566 3567 3568 3569 3570 3571 3572 3573 3574 3575 3576 3577 3578 3579 3580 3581 3582 3583 3584 3585 3586 3587 3588 3589 3590 3591 3592 3593 3594 3595 3596 3597 3598 3599 3600 3601 3602 3603 3604 3605 3606 3607 3608 3609 3610 3611 3612 3613 3614 3615 3616 3617 3618 3619 3620 3621 3622 3623 3624 3625 3626 3627 3628 3629 3630 3631 3632 3633 3634 3635 3636 3637 3638 3639 3640 3641 3642 3643 3644 3645 3646 3647 3648 3649 3650 3651 3652 3653 3654 3655 3656 3657 3658 3659 3660 3661 3662 3663 3664 3665 3666 3667 3668 3669 3670 3671 3672 3673 3674 3675 3676 3677 3678 3679 3680 3681 3682 3683 3684 3685 3686 3687 3688 3689 3690 3691 3692 3693 3694 3695 3696 3697 3698 3699 3700 3701 3702 3703 3704 3705 3706 3707 3708 3709 3710 3711 3712 3713 3714 3715 3716 3717 3718 3719 3720 3721 3722 3723 3724 3725 3726 3727 3728 3729 3730 3731 3732 3733 3734 3735 3736 3737 3738 3739 3740 3741 3742 3743 3744 3745 3746 3747 3748 3749 3750 3751 3752 3753 3754 3755 3756 3757 3758 3759 3760 3761 3762 3763 3764 3765 3766 3767 3768 3769 3770 3771 3772 3773 3774 3775 3776 3777 3778 3779 3780 3781 3782 3783 3784 3785 3786 3787 3788 3789 3790 3791 3792 3793 3794 3795 3796 3797 3798 3799 3800 3801 3802 3803 3804 3805 3806 3807 3808 3809 3810 3811 3812 3813 3814 3815 3816 3817 3818 3819 3820 3821 3822 3823 3824 3825 3826 3827 3828 3829 3830 3831 3832 3833 3834 3835 3836 3837 3838 3839 3840 3841 3842 3843 3844 3845 3846 3847 3848 3849 3850 3851 3852 3853 3854 3855 3856 3857 3858 3859 3860 3861 3862 3863 3864 3865 3866 3867 3868 3869 3870 3871 3872 3873 3874 3875 3876 3877 3878 3879 3880 3881 3882 3883 3884 3885 3886 3887 3888 3889 3890 3891 3892 3893 3894 3895 3896 3897 3898 3899 3900 3901 3902 3903 3904 3905 3906 3907 3908 3909 3910 3911 3912 3913 3914 3915 3916 3917 3918 3919 3920 3921 3922 3923 3924 3925 3926 3927 3928 3929 3930 3931 3932 3933 3934 3935 3936 3937 3938 3939 3940 3941 3942 3943 3944 3945 3946 3947 3948 3949 3950 3951 3952 3953 3954 3955 3956 3957 3958 3959 3960 3961 3962 3963 3964 3965 3966 3967 3968 3969 3970 3971 3972 3973 3974 3975 3976 3977 3978 3979 3980 3981 3982 3983 3984 3985 3986 3987 3988 3989 3990 3991 3992 3993 3994 3995 3996 3997 3998 3999 4000 4001 4002 4003 4004 4005 4006 4007 4008 4009 4010 4011 4012 4013 4014 4015 4016 4017 4018 4019 4020 4021 4022 4023 4024 4025 4026 4027 4028 4029 4030 4031 4032 4033 4034 4035 4036 4037 4038 4039 4040 4041 4042 4043 4044 4045 4046 4047 4048 4049 4050 4051 4052 4053 4054 4055 4056 4057 4058 4059 4060 4061 4062 4063 4064 4065 4066 4067 4068 4069 4070 4071 4072 4073 4074 4075 4076 4077 4078 4079 4080 4081 4082 4083 4084 4085 4086 4087 4088 4089 4090 4091 4092 4093 4094 4095 4096 4097 4098 4099 4100 4101 4102 4103 4104 4105 4106 4107 4108 4109 4110 4111 4112 4113 4114 4115 4116 4117 4118 4119 4120 4121 4122 4123 4124 4125 4126 4127 4128 4129 4130 4131 4132 4133 4134 4135 4136 4137 4138 4139 4140 4141 4142 4143 4144 4145 4146 4147 4148 4149 4150 4151 4152 4153 4154 4155 4156 4157 4158 4159 4160 4161 4162 4163 4164 4165 4166 4167 4168 4169 4170 4171 4172 4173 4174 4175 4176 4177 4178 4179 4180 4181 4182 4183 4184 4185 4186 4187 4188 4189 4190 4191 4192 4193 4194 4195 4196 4197 4198 4199 4200 4201 4202 4203 4204 4205 4206 4207 4208 4209 4210 4211 4212 4213 4214 4215 4216 4217 4218 4219 4220 4221 4222 4223 4224 4225 4226 4227 4228 4229 4230 4231 4232 4233 4234 4235 4236 4237 4238 4239 4240 4241 4242 4243 4244 4245 4246 4247 4248 4249 4250 4251 4252 4253 4254 4255 4256 4257 4258 4259 4260 4261 4262 4263 4264 4265 4266 4267 4268 4269 4270 4271 4272 4273 4274 4275 4276 4277 4278 4279 4280 4281 4282 4283 4284 4285 4286 4287 4288 4289 4290 4291 4292 4293 4294 4295 4296 4297 4298 4299 4300 4301 4302 4303 4304 4305 4306 4307 4308 4309 4310 4311 4312 4313 4314 4315 4316 4317 4318 4319 4320 4321 4322 4323 4324 4325 4326 4327 4328 4329 4330 4331 4332 4333 4334 4335 4336 4337 4338 4339 4340 4341 4342 4343 4344 4345 4346 4347 4348 4349 4350 4351 4352 4353 4354 4355 4356 4357 4358 4359 4360 4361 4362 4363 4364 4365 4366 4367 4368 4369 4370 4371 4372 4373 4374 4375 4376 4377 4378 4379 4380 4381 4382 4383 4384 4385 4386 4387 4388 4389 4390 4391 4392 4393 4394 4395 4396 4397 4398 4399 4400 4401 4402 4403 4404 4405 4406 4407 4408 4409 4410 4411 4412 4413 4414 4415 4416 4417 4418 4419 4420 4421 4422 4423 4424 4425 4426 4427 4428 4429 4430 4431 4432 4433 4434 4435 4436 4437 4438 4439 4440 4441 4442 4443 4444 4445 4446 4447 4448 4449 4450 4451 4452 4453 4454 4455 4456 4457 4458 4459 4460 4461 4462 4463 4464 4465 4466 4467 4468 4469 4470 4471 4472 4473 4474 4475 4476 4477 4478 4479 4480 4481 4482 4483 4484 4485 4486 4487 4488 4489 4490 4491 4492 4493 4494 4495 4496 4497 4498 4499 4500 4501 4502 4503 4504 4505 4506 4507 4508 4509 4510 4511 4512 4513 4514 4515 4516 4517 4518 4519 4520 4521 4522 4523 4524 4525 4526 4527 4528 4529 4530 4531 4532 4533 4534 4535 4536 4537 4538 4539 4540 4541 4542 4543 4544 4545 4546 4547 4548 4549 4550 4551 4552 4553 4554 4555 4556 4557 4558 4559 4560 4561 4562 4563 4564 4565 4566 4567 4568 4569 4570 4571 4572 4573 4574 4575 4576 4577 4578 4579 4580 4581 4582 4583 4584 4585 4586 4587 4588 4589 4590 4591 4592 4593 4594 4595 4596 4597 4598 4599 4600 4601 4602 4603 4604 4605 4606 4607 4608 4609 4610 4611 4612 4613 4614 4615 4616 4617 4618 4619 4620 4621 4622 4623 4624 4625 4626 4627 4628 4629 4630 4631 4632 4633 4634 4635 4636 4637 4638 4639 4640 4641 4642 4643 4644 4645 4646 4647 4648 4649 4650 4651 4652 4653 4654 4655 4656 4657 4658 4659 4660 4661 4662 4663 4664 4665 4666 4667 4668 4669 4670 4671 4672 4673 4674 4675 4676 4677 4678 4679 4680 4681 4682 4683 4684 4685 4686 4687 4688 4689 4690 4691 4692 4693 4694 4695 4696 4697 4698 4699 4700 4701 4702 4703 4704 4705 4706 4707 4708 4709 4710 4711 4712 4713 4714 4715 4716 4717 4718 4719 4720 4721 4722 4723 4724 4725 4726 4727 4728 4729 4730 4731 4732 4733 4734 4735 4736 4737 4738 4739 4740 4741 4742 4743 4744 4745 4746 4747 4748 4749 4750 4751 4752 4753 4754 4755 4756 4757 4758 4759 4760 4761 4762 4763 4764 4765 4766 4767 4768 4769 4770 4771 4772 4773 4774 4775 4776 4777 4778 4779 4780 4781 4782 4783 4784 4785 4786 4787 4788 4789 4790 4791 4792 4793 4794 4795 4796 4797 4798 4799 4800 4801 4802 4803 4804 4805 4806 4807 4808 4809 4810 4811 4812 4813 4814 4815 4816 4817 4818 4819 4820 4821 4822 4823 4824 4825 4826 4827 4828 4829 4830 4831 4832 4833 4834 4835 4836 4837 4838 4839 4840 4841 4842 4843 4844 4845 4846 4847 4848 4849 4850 4851 4852 4853 4854 4855 4856 4857 4858 4859 4860 4861 4862 4863 4864 4865 4866 4867 4868 4869 4870 4871 4872 4873 4874 4875 4876 4877 4878 4879 4880 4881 4882 4883 4884 4885 4886 4887 4888 4889 4890 4891 4892 4893 4894 4895 4896 4897 4898 4899 4900 4901 4902 4903 4904 4905 4906 4907 4908 4909 4910 4911 4912 4913 4914 4915 4916 4917 4918 4919 4920 4921 4922 4923 4924 4925 4926 4927 4928 4929 4930 4931 4932 4933 4934 4935 4936 4937 4938 4939 4940 4941 4942 4943 4944 4945 4946 4947 4948 4949 4950 4951 4952 4953 4954 4955 4956 4957 4958 4959 4960 4961 4962 4963 4964 4965 4966 4967 4968 4969 4970 4971 4972 4973 4974 4975 4976 4977 4978 4979 4980 4981 4982 4983 4984 4985 4986 4987 4988 4989 4990 4991 4992 4993 4994 4995 4996 4997 4998 4999 5000 5001 5002 5003 5004 5005 5006 5007 5008 5009 5010 5011 5012 5013 5014 5015 5016 5017 5018 5019 5020 5021 5022 5023 5024 5025 5026 5027 5028 5029 5030 5031 5032 5033 5034 5035 5036 5037 5038 5039 5040 5041 5042 5043 5044 5045 5046 5047 5048 5049 5050 5051 5052 5053 5054 5055 5056 5057 5058 5059 5060 5061 5062 5063 5064 5065 5066 5067 5068 5069 5070 5071 5072 5073 5074 5075 5076 5077 5078 5079 5080 5081 5082 5083 5084 5085 5086 5087 5088 5089 5090 5091 5092 5093 5094 5095 5096 5097 5098 5099 5100 5101 5102 5103 5104 5105 5106 5107 5108 5109 5110 5111 5112 5113 5114 5115 5116 5117 5118 5119 5120 5121 5122 5123 5124 5125 5126 5127 5128 5129 5130 5131 5132 5133 5134 5135 5136 5137 5138 5139 5140 5141 5142 5143 5144 5145 5146 5147 5148 5149 5150 5151 5152 5153 5154 5155 5156 5157 5158 5159 5160 5161 5162 5163 5164 5165 5166 5167 5168 5169 5170 5171 5172 5173 5174 5175 5176 5177 5178 5179 5180 5181 5182 5183 5184 5185 5186 5187 5188 5189 5190 5191 5192 5193 5194 5195 5196 5197 5198 5199 5200 5201 5202 5203 5204 5205 5206 5207 5208 5209 5210 5211 5212 5213 5214 5215 5216 5217 5218 5219 5220 5221 5222 5223 5224 5225 5226
|
DO NOT EDIT THIS FILE -- it is generated from the html history files.
ExifTool Version History
RSS feed: http://owl.phy.queensu.ca/~phil/exiftool/rss.xml
Note: The most recent production release is Version 8.60. (Other versions are
considered development releases, and are not uploaded to CPAN.)
June 25, 2011 - Version 8.60 (production release)
- Added Composite Flash tag to facilitate copying of flash information between
XMP and EXIF
- Added new Pentax and Canon LensType values and fixed a Pentax lens name
- Added a few new Leica LensType's (thanks Olaf Ulrich)
- Added a new PentaxModelID
- Enhanced GPSDateStamp conversion to tolerate null separators (Casio EX-H20G)
- Made DNG LinearizationCurve and Nikon ContrastCurve writable but protected
- Renamed Nikon LinearizationTable to NEFLinearizationTable and made writable
but protected
- Removed Leica M8 FrameSelector tag since it seems to have evolved into an
extension of the LensType tag for newer lenses
- Fixed problem with order of operations when using multiple -if options
June 11, 2011 - Version 8.59
- Added new Composite:LensID derived from XMP-aux:LensID
- Added new PentaxModelID and CanonModelID values
- Added a new Pentax LensType (thanks Artur)
- Decode maker notes in Pentax Optio S1 AVI videos
- Extract PreviewWMF from DOCX files
- Recognize WMF images
- Fixed decoding of CanonVRD WBAdjRGBLevels and renamed to WBAdjRGGBLevels
June 2, 2011 - Version 8.58
- Decode a number of CameraInfo tags for the Canon EOS 600D and 1100D
- Improved speed by a factor of 2 when reading M2TS videos
- Fixed memory leak with -stay_open feature when writing
May 26, 2011 - Version 8.57
- Added a couple of new Canon LensType values
- Added a few new Nikon LensID's (thanks Robert Rottmerhusen)
- Added format string to -v2 output for IPTC tags
- Added extra logic to avoid misidentifying unknown IFD-style maker notes
- Decode custom settings for Nikon D700 and D7000
- Fixed problem recognizing NikonCaptureData for ViewNX version 2.1.1
Apr. 16, 2011 - Version 8.56
- Added a new Canon LensType (thanks Rodolfo Borges)
- Decode EXIF information in FujiFilm HS20EXR MOV videos
- Decode NikonCaptureEditVersions when ExtractEmbedded option is used
(previously called NikonCaptureHistory)
- Decode another Samsung tag (thanks Tae-Sun Park)
- Recognize CaptureOne ".newer" COS files
- Reverted JSON output to pre-8.51 behaviour by removing '#' suffix from tag
names when print conversion is disabled on a per-tag basis
- Fixed bug introduced in 8.32 interpreting some expressions when copying tags
Apr. 11, 2011 - Version 8.55
- Added write support for FujiFilm RAF version 0716 images
- Added support for a number of new LR3 XMP tags (thanks Wolfgang Guelcker)
- Decode some more Samsung tags (thanks Tae-Sun Park)
- Improved handling of incorrectly formatted XMP
- Recognize a few alternate PS and EPS file extensions (thanks Jeff Harmon)
- Reverted a few Pentax macro lens names (less consistent, but at least they
match the official Pentax names)
- Fixed problem reading some XMP custom properties
- Fixed minor problem in HtmlDump output for Canon MakerNotes footer
Apr. 2, 2011 - Version 8.54
- Added a number of new values for various tags
- Added a new Nikon LensID
- Decode a number of encrypted Samsung SRW tags (thanks Tae-Sun Park)
- Enhanced -s option so allow a number to be specified
- Fixed problem reading some Casio EX-Z35 MakerNote values
Mar. 27, 2011 - Version 8.53
- Added a new Olympus LensType
- Added a new Nikon LensID
- Added a new PentaxModelID value
- Decode new Pentax MakerNotes format of Optio WG-1 GPS
- Decode Casio, Ricoh and Sanyo face detection information (thanks Jeffrey
Friedl and Emilio for samples)
- Decode FujiFilm face recognition information (thanks Jeffrey Friedl)
- Decode a new FujiFilm tag for GE models
- Allow writing GPSLatitudeRef/GPSLongitudeRef with a signed number
- Return proper FileType for M4P audio files
- Combined Canon FaceDetectFrameWidth/FaceDetectFrameHeight tags into
FaceDetectFrameSize for consistency with other makes
- API Changes:
- Fixed problem when specifying family 1 group in call to SetNewValue()
when tags were previously extracted with ExtractInfo()
Mar. 20, 2011 - Version 8.52
- Added -listr option and mechanism to recognize some unsupported file types
- Added read support for VSD (Microsoft Visio Drawing) files
- Added a new Pentax LensType and improved consistency of macro lens names
- Added another CanonModelID
- Calculate Duration for M2TS (AVCHD) videos
- Decode a new FujiFilm tag
- Recognize .TS extension
- Recognize FotoStation IPTC record 240
- Attempt to better identify FPX-format MSOffice documents with incorrect file
extensions
- Fixed bug applying time shift to Nikon PowerUpTime
- API Changes:
- Enhanced GetNewValues() to allow group name to be specified
- Allow description flag to be set to '0' when calling GetFileType() to
return types of recognized-yet-unsupported files
Mar. 12, 2011 - Version 8.51
- Added -csv option for import/export of CSV database files
- Added ability to import JSON files
- Added read support for APP1 "Ocad" segment
- Added a new Nikon LensID (thanks Robert Rottmerhusen)
- Decode more Reconyx MakerNotes tags (thanks Robert Hass of Reconyx!)
- Report the number of encryption bits in the PDF:Encryption tag value
- Allow empty group name when specifying a tag
- Improved decoding of Olympus ArtFilter and MagicFilter tags
- Improved exception handling to continue with next -execute command after
aborting a command due to a serious error
- Fixed problem reading indexed PGF images
Mar. 1, 2011 - Version 8.50 (production release)
- Added Composite tags to convert QuickTime GPS information
- Added a couple new Sony PMP Orientation values (thanks Mike Battilana)
- Added a couple of new Nikon LensID's (thanks Rolando Ruzic)
- Added a new Canon LensType (thanks Gerald Kapounek)
- Decode new Nikon, Olympus, Pentax and Sony face detection tags (thanks
Jeffrey Friedl)
- Decode Ricoh FirmwareRevision tags
- Allow GPSLatitudeRef and GPSLongitudeRef to be written with a GPS coordinate
containing a N/S/E/W designator
- Removed Canon20D shortcut and changed Canon shortcut
- Removed LEGRIA/VIXIA/iVIS from CanonModelID names
- Renumbered Canon FacePosition tags to start at Face1Position
Feb. 12, 2011 - Version 8.49
- Added a number of new values for various Canon tags
- Added a new Pentax LensType
- Added ability to write Nikon PowerUpTime tag
- Added a number of MachO CPUSubtype's and improved handling of 64-bit flag
- Decode ColorData for the Canon EOS 600D and 1100D
- Decode a few new Sony tags
- Set document number for FlashPix tags extracted from embedded documents
- Attempted to patch OS X 10.6 quirk where FileModifyDate may not be preserved
for some files when -P is combined with -overwrite_original_in_place
Feb. 3, 2011 - Version 8.48
- Added a new Canon LensType value
- Changed order of stored information when rewriting existing IPTC tags (to
make the order of items in List-type tags consistent with XMP when deleting
and adding back values in the same command)
- Fixed problems with format of binary data in lists for some output options
Jan. 29, 2011 - Version 8.47
- Added -args option
- Added read support for PGF (Progressive Graphics File) images
- Added write support for Phase One IIQ images
- Added ability to write XMP-xmpMM:Pantry
- Added print conversions for a number of closed-choice XMP properties
- Added some new CanonModelID's
- Included new argument files in distribution: pdf2xmp.args and xmp2pdf.args
- Avoid copying TIFF trailers containing nothing but zeros when rewriting
- Handle binary data in serialized structure output
- Moved BMP tags to the File group
- Fixed bug reading/writing some IPTC binary data tags
- Fixed problem copying XMP:Thumbnails structure
- Fixed conversion of MXF:ByteOrder value
- Fixed potential "Undefined subroutine ConvertStruct" crash bug
- API Changes:
- Fixed bug introduced in 8.46 when calling GetValue(xxx,'Raw')
Jan. 22, 2011 - Version 8.46
- Simpified definition of user-defined XMP structures: flattened tags are now
automatically generated, and UserDefined::xmpStruct is no longer needed (but
backward compatibility is maintained with the old-style definitions)
- Added ability to handle multi-dimensional arrays in structured output
- Added a new Canon LensType (thanks Jean-Michel Dubois)
- Added some new XMP-xmpMM tags
- Enabled writing of a number of XMP-crs tags
- Decode Reconyx TriggerMode tag
- Relaxed structure validation to allow a structure to be written even if
there were errors with some fields
- Patched problem with formatting of very large numbers in JSON (-j) output
- Fixed a few problems reading and writing structured information
- Fixed bug which could cause hang with some user-defined tag definitions
Jan. 12, 2011 - Version 8.45
- Fixed a couple of minor bugs with the new -struct option
Jan. 12, 2011 - Version 8.44 - "Structured XMP"
- Added ability to specify XMP structures when writing (yet another Christmas
vacation spent adding a significant new feature to ExifTool)
- Added support for new XMP tags in the MWG 2.0 specification
- Added read support for DV video files
- Added support for Reconyx maker notes
- Added option to overwrite existing text output files (-w!)
- Added ability to ignore symbolic directory links with "-i SYMLINKS"
- Added support for Sony Ericsson XMP cell phone location tags
- Added a few new CanonModelID's
- Added a new Minolta/Sony LensType (thanks Jean-Michel Dubois)
- Added a new Olympus LensType
- Added print conversion for all Bitrate tags
- Decode a couple new RIFF tags
- Decode CameraTemperature for a few new Canon PowerShot models
- Improved -struct option to work with all text output formats
- Changed behaviour of XMP lang-alt lists to conform to the July 2010
specification (x-default item is no longer mandatory)
- Renamed AudioSampleBits tags to AudioBitsPerSample
- Renamed XMP-crs:Temperature tag to ColorTemperature
- Minor change to behaviour when replacing values in XMP lists: new list
items are now all inserted in place of the first deleted item (previously
new items were inserted one-by-one into the holes left by deleted items)
- Fixed bug writing alternate languages for XMP-iptcExt:ArtworkTitle tag
- Fixed problem where console echo was disabled when using -k option from a
bash script
- Attempted to patch problem of -b option affecting newline sequence for
subsequent -execute commands in Windows
- API Changes:
- SetNewValue() now accepts structured values (as HASH references or
serialized strings)
- Struct option now has 3 settings (undef, 0 and 1)
Dec. 21, 2010 - Version 8.43
- Added read support for MXF (Material Exchange Format) files
- Added support for GE (General Imaging) maker notes
- Added a couple of new Pentax LensType's
- Added a couple of new CanonModelID's
- Added a few more values to Casio UnknownMode
- Recognize 3GPP and 3GP2 file extensions
- Improved handling of character encoding errors
- Changed Duration format to always include hours for times > 1 minute
- Fixed minor quirk in HtmlDump output
- Fixed race condition with -stay_open when reading options requiring
additional arguments from the argfile
Dec. 11, 2010 - Version 8.42
- Added a couple more Samsung LensType values
- Added a few new Canon EasyMode values and a Canon LensType value
- Added a new PentaxModelID
- Decode some new H264 tags (thanks Dave Nicholson)
- Decode JUNK chunk in Pentax RS1000 AVI videos
- Flush console output before "{ready}" message when using -stay_open
- Improved decoding of some Canon and Pentax tags (thanks Dave Nicholson)
- Fixed problem copying makernotes from Nikon NRW image to JPEG
- Fixed incorrect decoding of some AEInfo tags for newer Pentax DSLR's
Dec. 3, 2010 - Version 8.41
- Added a new PentaxModelID
- Added a few new values for some Canon tags
- Added some non-standard values to a few XMP-exif tags
- Decode a new Ricoh tag and added a LensID
- Decode more Pentax K-5 tags and values
- Improved decoding of Battery tags for various Pentax DSLR models
- Fixed bug where time could be wrong by up to 2 seconds when shifting
multiple date/time values containing fractional seconds
Nov. 21, 2010 - Version 8.40 (production release)
- Added -restore_original and -delete_original options
- Added new Canon, Pentax and Sony LensType values
- Decode more Pentax K-5 tags
- Decode a number of new tags in Nikon D7000 MOV videos
- Decode FocusDistance tags for the Canon EOS 60D
- Decode a few new Panasonic tags
- Decode a few maker note tags from Flip Video MP4 files
- Extract PDF PageMode and PageLayout tags
- Changed family 2 group names for a number of PDF tags
- Changed Canon LensType strings for a few lenses with updated models
- Patched problem reading GPX files which contain no newlines
Nov. 12, 2010 - Version 8.39
- Added read support for RAR archive files
- Added warning for non-standard XMP APP1 header in JPEG images
- Added a new Canon LensType (thanks Rolando Ruzic)
- Decode more Olympus WAV tags
- Decode a few more PDF document property tags
- Decode a new Canon tag
- Extract firmware revision letter with Nikon FirmwareVersion
- Improved decoding of some Pentax tags
- Changed names of a couple of Pentax tags
- Changed name of ASF:FileSize to FileLength to avoid conflict
- Fixed problem creating output files on network drives in Windows
- Fixed bug where MWG module wasn't loaded automatically when -execute was
used
Nov. 7, 2010 - Version 8.38
- Added support for Nikon D3 firmware 2.02
- Decode many new Pentax K-5 tags and improved decoding of others
- Decode a few more Nikon D3 and D3S settings (thanks Warren Hatch)
- Decode some new Olympus WAV tags (thanks Tomasz Kawecki)
- Decode a few new Canon DPP 3.9.2 tags
- Decode PDF digital signature permission information
- Improved recognition of Adobe Illustrator PS-format AI files
- Disable writing XMP to Adobe Illustrator version 8 and older EPS files
Oct. 31, 2010 - Version 8.37
- Added ability to switch ARGFILE while -stay_open is active
- Fixed a couple of bugs with the new -stay_open option
- Fixed problem with -E option that caused double-escaping of Composite tags
Oct. 30, 2010 - Version 8.36
- Added ability to read/write metadata in Sigma X3F images containing a
JpgFromRaw (ie. all Sigma models except the SD9 and SD10)
- Added -stay_open option to avoid startup delay when called from other
applications
- Added a new Pentax LensType (thanks Hubert Meier)
- Decode a couple of new tags written by Sigma Photo Pro
- Changed family 0 group name for SonyIDC tags to "MakerNotes"
- Improved Composite:LensID to use LensModel if available when LensType is
"Unknown"
- Fixed problem extracting ThumbnailImage from some FujiFilm RAF images
- Fixed problem calculating Red/BlueBalance for some newer Nikon models
Oct. 23, 2010 - Version 8.35 - "PDF Encryption"
- Added support for PDF AES-128 and AES-256 encryption (requires Digest::SHA
for AES-256 support)
- Added -password option for processing password-protected PDF documents
- Added write support for a couple more FujiFilm RAF versions
- Added a number of new Olympus SceneMode values
- Added a few new SonyModelID's
- Added a new Nikon LensID (thanks marten)
- Added a Canon LensType and fixed an incorrect one (thanks Andreas Huggel)
- Decode a number of new Canon tags
- Decode a few new Nikon D3S settings (thanks Warren Hatch)
- Extract PDF UserAccess
- Extract Olympus ZoomedPreviewImage
- Updated decoding of Olympus AFPoint for recent E-models
- Avoid writing mandatory IPTC tags unless another IPTC tag actually changes
(ie. trying to delete a non-existent IPTC tag will no longer have the side
effect of generating mandatory IPTC tags)
- Improved language translations
- Improved error message when trying to write a file with the wrong extension
- Renamed a couple of Olympus tags
- Fixed problem reading/writing PDF tags from some encrypted stream objects
- API Changes:
- Added Password option
Oct. 7, 2010 - Version 8.34
- Added read support for XCF and WebP images and WebM videos
- Added a couple of new PentaxModelID's
- Decode a number of new Canon 60D MakerNotes tags (thanks Bogdan for
LensSerialNumber)
- Decode FrameCount from MakerNotes in Nikon MOV videos
- Decode Ambience and some video tags from Canon
- Decode more Canon EOS 1D Mark IV CameraInfo tags
- Updated decoding of Pentax HighISONoiseReduction for newer models
- Changed description of Canon SerialNumber tags
- Fixed problem with extra comma in JSON output when -w option was used
Oct. 3, 2010 - Version 8.33
- Added ability to specify numerator and denominator of rational values
- Decode more Canon custom picture style settings (thanks Tom Kawecki)
- Decode Samsung MP4 "TAGS" information from WP10 videos
- Decode thumbnail image and maker notes from Canon S95 MOV videos
- Decode Microsoft Photo 1.1 EXIF and XMP information
- Fixed problem copying tags dynamically from files with read errors
- Fixed problem setting FileName with a Windows UNC path (leading "\\")
Sept. 25, 2010 - Version 8.32
- Added the ability to use wildcards ('?' and '*') in tag names when
extracting or copying information
- Added a number of new CanonModelID's
- Decode a few more QuickTime tags and improved decoding of others
- Decode UserDefPictureStyle tags for more Canon cameras (thanks Tom Kawecki)
- Extract unknown text-based maker notes under new MakerNoteUnknownText tag
- Tested writing of PDF 1.7 files and removed warning for this version
- Identify Canon MakerNote footer in HtmlDump of DNG images
- Updated MimeType for PSD, AVI, AIFF plus a number of raw file formats
- Changed FileType for Adobe Illustrator (AI) files
- Fixed "Can't handle XMP attribute 'rdf:xmlns'" error when writing some XMP
Sept. 17, 2010 - Version 8.31 - "CRW+XMP"
- Added ability to read/write XMP inside CanonVRD, which finally provides a
technique to write XMP in CRW images! (thanks Mike Kobzar for help testing)
- Added a couple of new Canon LensType's and CanonModelID's
- Added a number of new Nikon LensID's (thanks Robert Rottmerhusen)
- Added a new Sony LensType (thanks Mladen Sever)
- Treat 'eng' as a default language in ID3v2 information
- Recognize AIT file extension (AI file)
- Fixed problem where ExifTool could refuse to write PDF files containing
XMP-pdf:PDFVersion information
Sept. 11, 2010 - Version 8.30
- Added a couple of new Nikon LensID's (thanks Robert Rottmerhusen)
- Added a couple more Sigma LensType values
- Added a few more tag values for the new Sony SLT-A33, SLT-A55V and DSLR-A560
- Added a few more values for various Casio tags
- Added a new Canon LensType (thanks Guido)
- Decode Panasonic ContrastMode for the TZ10/ZS7
- Decode some Canon CameraInfo tags for the 60D
- Updated Canon custom functions for the 60D
- Updated Flash video to add some new values and decode some new tags
- Updated QuickTime decoding for new track and movie header formats
- Named a couple of unknown Canon tags
- Made Nikon PictureControl and NikonCaptureOutput directories block writable
- Fixed problem geotagging when any coordinate was exactly zero
- Fixed typo in Canon AFAssistBeam converted value
- Fixed problem displaying exiftool documentation on OS/2 (thanks Ilya
Zakharevich)
Aug. 22, 2010 - Version 8.29
- Added a few new CanonModelID's
- Added verbose messages for "unsafe" and "protected" tags which are not
copied
- Decode CameraTemperature for a few new Canon models
- Decode a few new Panasonic tags (thanks Zdenek Mihula)
- Decode a number of new 3rd party RIFF tags
- Recognize Casio-type maker notes in Concord cameras
- Handle "CDATA" sections in XML/XMP
- Fixed problem that could cause value to be added twice when writing MWG
list-type tags without specifying a group
- Fixed bug extracting altitude from GPX files containing "rtept" nodes which
could result in an altitude being associated with the next GPS fix
- Fixed problem deleting PreviewImage from MIE files
Aug. 14, 2010 - Version 8.28
- Added ability to specify Photoshop encoding (-charset Photoshop=CHARSET)
- Added support for maker notes of some Sony Ericsson phones
- Improved conversion for SigmaRaw:FocalLengthIn35mmFormat (thanks Niels
Kristian Bech Jensen)
- Fixed bug in calculation of AvgBitrate for QuickTime videos (thanks Mats
Peterson)
- Improved error handling when reading Matroska files
- Fixed -GROUP:geotag= to allow multiple geotag groups to be deleted
separately
July 31, 2010 - Version 8.27
- Added support for QuickTime localized languages and character encodings
- Added support for alternate language ICC_Profile tags
- Added a new XMP-swf tag
- Added a new Sony LensType (thanks Mladen Sever)
- Added ability to specify any group (not only family 0 and 1) for source tag
when copying
- Decode a number of new QuickTime tags
- Decode MakerNoteKodak9 maker notes in a few non-Kodak cameras
- Extract NikonCaptureHistory and drop when copying Nikon MakerNotes
- Calculate AvgBitrate for QuickTime movies
- Fixed names of a few recently added ICC_Profile tags (thanks Jeff Harmon)
- Fixed bug calculating duration of AVI videos for which FrameCount is zero
- Fixed tag ID for XMP-iptcExt:AdditionalModelInformation
- Fixed decoding of ShiftJIS character set
July 20, 2010 - Version 8.26
- Decode a number of new ICC_Profile tags added in approved revisions to the
specification
- Drop NikonCaptureData when copying Nikon MakerNotes (it may be too large for
a JPEG APP1 segment when copying from an NEF image)
- Made NikonCaptureData writable as a block and NikonCapture a deletable group
- Minor addition to tooltip for HtmlDump of offset values
- Fixed problem writing to an incorrectly-typed XMP list (patch for LR3 bug)
- Fixed problem setting file ownership on OS/2 systems when writing (thanks
Ilya Zakharevich)
- Fixed incorrect ICC_Profile tag name (thanks Jeff Harmon)
July 13, 2010 - Version 8.25 (production release)
- Added CommonIFD0 shortcut tag to help when deleting metata from TIFF images
- Added a new Pentax LensType and fixed an incorrect one
- Added a new Panasonic ColorMode
- Decode FLAC picture metadata
- Changed ASF Preview tags to be consistent with ID3 and FLAC Picture tags
- Patched problem with funny dash character in cut-n-paste from documentation
on some systems (by allowing the funny dash in command-line arguments)
- Fixed misleading warning message which could appear when writing MWG tags
- Fixed typo in an ID3 tag name (thanks Mats Peterson)
- Fixed an incorrect Sony lens name (thanks Stephen Bishop)
- Fixed problem misidentifying some other RAW files as Epson ERF
June 30, 2010 - Version 8.24
- Added ability to write some Kodak APP3 Meta tags
- Added a few new Olympus LensType's and new values for a couple of other tags
- Added support for yet another Kodak MakerNote variation (M580)
- Added conversion for OOXML DocSecurity tag (thanks Jeff Harmon)
- Added another Nikon ExternalFlashFlags value (thanks Warren Hatch)
- Decode more Canon VRD tags (thanks Gert Kello) and changed some tag names
- Decode a couple of new Canon 7D tags (thanks Vesa Kivisto)
- Decode a few more Sigma tags
- Decode HTML tags written by Microsoft Office
- Decode some MakerNotes tags from Samsung MP4 videos
- Allow RFC 8601 date/time values to be written without seconds
- Fixed conversion for Kodak Meta:SerialNumber
- Changed conversion of Canon FocusDistanceUpper/Lower tags to add units (m)
- Changed the names of some Nikon FlashExposureComp tags
- Changed name of RTF CharactersNoWhiteSpace tag to CharactersWithSpaces to
conform with what Microsoft does with their software as opposed to what they
say in their RTF specification
- Changed a few FlashPix tags for better consistency with OOXML and RTF
- Properly convert OOXML Unicode character entities
- Fixed problem writing some Sigma MakerNote tags
- Fixed problem writing incorrect value for "Uncalibrated" XMP:ColorSpace
- Fixed bug where some unknown Canon values were extracted twice with -U
June 20, 2010 - Version 8.23
- Added write support for FujiFilm RAF images from the HS10 and S100FS
- Added read support for RTF files
- Added read support for FPXR in JPEG APP4 as written by some HP cameras
- Added ability to copy files of any type (now does a straight copy instead of
processing the file if no new values are set for any "real" tag)
- Added new values for CanonModelID, PentaxModelID and SonyModelID
- Added a new Ricoh LensID
- Added conversion for "Off" and "On" values when writing EXIF:Flash
- Added a new Canon LensType and changed the name of one Sigma lens
- Decode more Canon VRD tags and update to DPP 3.8 (thanks Gert Kello)
- Decode FujiFilm AutoDynamicRange
- Changed some DNG tags to make them writable (but "unsafe")
June 9, 2010 - Version 8.22
- Implemented PNG alternate language tags and special character translations
- Added print conversion for XMP-photoshop:ColorMode
- Decode some new Pentax 645D tags/values and added more PentaxModelID's
- Changed family 1 group names for Matroska Chapters
- Changed frame rate conversions to round to 3 decimal points
- Enable summary messages when -b is combined with -w
- Assume local system timezone on specified date (instead of current local
timezone) when writing an IPTC time tag with a date/time value which doesn't
include a timezone
- Fixed conversion of Matroska:ChapterTimeStart/End values
- Fixed an incorrect Panasonic Lens name (thanks Michael Byczkowski)
June 2, 2010 - Version 8.21
- Added read support for Matroska multimedia files (MKA, MKV and MKS)
- Added a new PentaxModelID (Optio E80)
- Decode some information from Casio EX-7000SX APP1 "QVCI", HP Photosmart
R837 APP6 "TDHD" JPEG segments
- Extract more Samsung and HP PreviewImages hidden in other JPEG APP segments
- Extract unknown tags with numerical ID's by default when -v option is used
- Updated default GPSVersionID to 2.3.0.0 when writing
- Fixed bug geotagging from KML file (lat/long were swapped)
May 26, 2010 - Version 8.20
- Added read support for Open Document files (ODP, ODS, ODT)
- Added Composite:AudioBitrate tag for VBR MPEG audio
- Added support for IPTC:CatalogSets written by iView MediaPro
- Decode Olympus MagicFilter tag and add a two new SceneMode values
- Decode a few new Sony tags written by NEX models
- Decode a number of new Sony A100 tags (thanks Igal Milchtaich)
- Decode some information from MPEG audio LAME header
- Updated to Exif 2.3 specification (!!)
- Allow date/time tags to be shifted by the values of other tags when using
the -tagsFromFile feature
- Fixed formatting of QuickTime:CreateDate as written by iPhone
- Fixed problem conditionally replacing some blank EXIF tags and alternate
language tags in XMP
May 11, 2010 - Version 8.19
- Added ability to read/write Samsung PreviewImage trailer
- Added two new PentaxModelID's (Optio H90 and W90)
- Added a new Canon LensType
- Added a new CanonModelID
- Decode more Sony tags/values (thanks Michael Reitinger)
- Decode more Leica M9 tags (thanks Michael Byczkowski and Carl Bretteville)
- Updated to XMP April 2010 specification
- Avoid extracting Sony DSLR-A100 tags which have "n/a" values
- Improved German language translations (thanks Herbert Kauer)
- Improved efficiency of Composite tag calculations
- Made RSRC a deletable group
- Tolerate extra white space at the start of an XMP file
- Changed MWG logic to ignore blank EXIF tags
- Changed a few print conversion strings to improve interoperability
- Changed XMP namespace prefix 'prismusagerights' to 'pur' as per most recent
PRISM specification
- Patched memory problem in Windows when processing very large EPS files
- Fixed a couple of incorrectly named Sony Panorama tags
- Fixed bug which could prevent file from being updated when deleting
mandatory tags and adding back tags in other locations
Apr. 16, 2010 - Version 8.18
- Added read support for Sony DSC-F1 PMP images
- Added a new Nikon LensID (thanks Jeffrey Friedl)
- Decode a number of new Sony tags (thanks Michael Reitinger)
- Decode a few more Leica M9 tags (thanks Michael Byczkowski)
- Preserve original file permissions and ownership when writing
- Made Canon DustRemovalData writable
- Changed some Pentax WhiteBalance strings for consistency
- Patched potential security problem when writing values
- Fixed bug extracting unsynchronized ID3v2.4 information
Apr. 9, 2010 - Version 8.17
- Added a new Sony ExposureMode (thanks Michael Reitinger)
- Decode Casio DriveMode (thanks Robert Chi)
- Decode CameraTemperature for more Canon EOS models (thanks Vesa Kivisto)
- Updated to the DICOM 2009 specification (Note: Changed some DICOM tag names)
- Improved conversions for XMP:LensInfo, EXIF:DNGLensInfo and Nikon:Lens
- Changed case of some Canon DriveMode strings
- Fixed divide-by-zero error when Geotagging from a track with only one point
- Fixed incorrect ImageHeight reported for top-to-bottom BMP images
- API Changes:
- Fixed a problem passing options to Image::ExifTool::TagInfoXML::Write()
Mar. 31, 2010 - Version 8.16
- Preserve Mac OS resource fork when writing (OS X only)
- Added a number of new Nikon LensID's (thanks Robert Rottmerhusen)
- Decode a couple more Mac OS resources
- Decode Olympus LensModel tag (thanks Martin Hilbers)
- Extract PrintIMVersion tag from PrintIM information
- Separate extraction of Leica FrameSelector information from LensType tag
- Recognize Bitstream PFA/PFB font files
- Patched ActivePerl 5.10 bug which could cause Perl crash during Geotag tests
- Fixed another Geotag test that fails due to round-off errors on some systems
Mar. 18, 2010 - Version 8.15 (production release)
- Added read support for Macintosh resource files:
- Generate ResourceForkSize tag if data exists in a file's resource fork
- Enhanced -ee option to process resource fork as a sub-document
- Added a new PentaxModelID (Optio I-10)
- Decode Panasonic DMC-ZS7 landmark tags
- Fixed decoding of Pentax Optio 555 PictureMode and added a number of new
values (thanks Ralf Medow)
Mar. 16, 2010 - Version 8.14
- Added some new Canon AFMode values for the EOS 7D (thanks Dieter Steiner)
and renamed tag to AFAreaMode
- Decode ColorData and some new MOV tags for the production Canon EOS 550D
- Decode Panasonic IntelligentResolution tag
- Allow times with timezones in GPX track logs
- Improved handling of maker notes in Olympus MP4 videos
- Changed H264 GPS tags to the GPS group
- Fixed date/time format error in reverse geotagging GPX example
- Fixed problem introduced in version 8.09 where XMP:GPSLatitude/GPSLongitude
require the -a option to be extracted
- API Changes:
- Fixed bug where some options (Charset, Escape, Exclude and Lang) weren't
activated properly when set via options hash in calls to some functions
- Fixed some potential problems when used with mod_perl
Mar. 5, 2010 - Version 8.13
- Added read/write support for Samsung SRW images and decode some NX10 maker
note tags (thanks Tae-Sun Park)
- Added new values for some Sony tags (thanks Michael Reitinger)
- Added a new Canon LensType
- Decode maker notes in Nikon Coolpix S8000 MOV videos
- Decode a number of obscure TIFF FX tags
- Implemented list-type behaviour for MWG:Creator tag
- More improvements to German translations (thanks Herbert Kauer)
- Changed name of NikonPreview group to PreviewIFD
- Fixed problem which prevented ThumbnailImage from being written to ARW, SR2
and PEF images
Feb. 26, 2010 - Version 8.12
- Added a number of missing ProgramMode values for the Sony DSLR-A330
- Added XMP-iptcCore:DigitalSourceType (IPTC Extension version 1.1)
- Added a couple more Nikon LensID's (thanks Jens Kriese and Robert
Rottmerhusen)
- Improved German language tag descriptions (thanks Herbert Kauer)
- Improved identification of some RAW file types
- Moved MPF PreviewImage into the Composite group
- Fixed some problems in HtmlDump output
- Fixed problem copying makernotes as a block into DNGAdobeData
Feb. 20, 2010 - Version 8.11
- Added support for Leica S2 maker notes
- Added a bunch of new CanonModelID's
- Decode MacroMagnification for more Canon models (MP-E 65mm only)
- Decode a number of Canon CameraInfo tags for the 1DmkIV and 550D
- Updated CanonCustom tags for the 550D
- Improved parsing of Canon OriginalDecisionData
- Improved decoding of Canon CameraInfo LensType
- Improved decoding of some Sigma tags
- Recognize a number of new Paint Shop Pro file extensions
- Prevent a directory from being recreated in the wrong location when deleting
a group and adding back information in the same step
- Changed -fileOrder option to sort numbers numerically
- Fixed bug in -fileOrder option when directory names are specified
- Fixed problem extracting information from some Panasonic AVCHD videos
- Fixed some minor compatibility problems with Perl 5.11
- Fixed problem which could result in runtime error when using MWG feature
- Fixed an inconsistency in the way duplicate tags were handled in the grouped
JSON (-j -g) and short XML (-X -s) output formats
Feb. 8, 2010 - Version 8.10 (production release)
- Added read/write support for Photoshop PSB file format
- Added -fileOrder option to provide control over file processing order
- Added a few new Sony/Minolta LensTypes (thanks Marcin Krol)
- Added more Nikon LensID's (thanks Robert Rottmerhusen)
- Decode metadata from all frames in AVCHD H.264 video with -ee option
- Decode more H.264 tags and improved decoding of others
- Improved decoding of some Olympus E-P1 tags
- Improved handling of some types of unknown maker notes
- Enhanced -p option to support output file headers and footers, and to parse
embedded documents as separate input files when combined with -ee
- Relaxed validation of PFM files to accommodate incorrect device type string
written by FontForge software
- API Changes:
- Enhanced GetFileType() to return descriptions for more file types
Jan. 29, 2010 - Version 8.09
- Added a number of new Nikon LensID's (thanks Robert Rottmerhusen)
- Decode GPS position and some camera settings from AVCHD (.M2TS) video
- Decode a few new PhotoMechanic tags
- Decode MacroMagnification for the Canon MP-E 65mm f/2.8 1-5x Macro Photo
lens in EOS 5DmkII and 40D images
- Delete multiple Photoshop segments in JPEG images when deleting all
Photoshop information and adding some back in one step
- Print warning message in Windows when there are no matching files to process
- Changed print conversion for PSP CreatorAppVersion
- Fixed problem rewriting NikonCapture information written by NX2
Jan. 25, 2010 - Version 8.08
- Added read support for Paint Shop Pro images (PSP and PSPIMAGE)
- Added ability to decode a number of new character sets including JIS, and
completely overhauled character encoding routines
- Fixed problem reading old OS/2-format BMP images
Jan. 19, 2010 - Version 8.07
- Added read support for a number of font file formats (OTF, TTF, TTC, PFA,
PFB, PFM, DFONT, AFM, ACFM and AMFM)
- Added (experimental) read support for FLA files
- Added a few new Sony LensType's (thanks Sander Stols)
- Added a new Canon LensType (thanks Mark Berger)
- Set BigTIFF MIME type to "image/x-tiff-big" (unofficial)
- Fixed bug in GPS time drift correction when dates are specified for both GPS
and image times
- Fixed problem reading some IGC GPS logs
Jan. 12, 2010 - Version 8.06
- Added a few new CanonModelID's
- Fixed a bug introduced in 8.05 which broke rewriting of XMP in MWG mode
Jan. 10, 2010 - Version 8.05 - "Strict MWG"
- Improved MWG conformance by ignoring non-standard EXIF, IPTC and XMP when
the MWG module is loaded
- CurrentIPTCDigest tag is now only generated for IPTC in the standard
location (as specified by the MWG recommendation)
- Added support for 3rd party trailers on ARW images
- Changed names of Sony IDC date/time tags and decode the last unknown IDC tag
- Fixed "-TAG-= -TAG=VALUE" syntax to work with shiftable (date/time) tags
and tags with conversions
- Fixed incorrect tag format when writing some PhotoMechanic tags
- Fixed problem where some tags couldn't be written in Olympus ORF images
Jan. 7, 2010 - Version 8.04 - "Write ARW"
- Added write support for Sony ARW and SR2 images (at long last!)
- WARNING: Some Adobe utilities (Photoshop Camera Raw 5.6, DNG Converter
5.6, LightRoom 2.6) have a bug which causes the tone curve to be
incorrect for edited ARW images from some Sony cameras (A500, A550,
A700, A850, A900 and maybe others)
- Compatibility Notice: Embedded JPEG in ARW and SR2 images is now extracted
as PreviewImage instead of JpgFromRaw
- Added read/write support for Sony IDC tags
- Added support for Leica X1 maker notes and decode a few tags
- Added support for DigiKam XMP schema
- Added a new Minolta/Sony LensType (thanks Jean-Michel Dubois)
- Decode Nikon D90 AFAreaModeSetting
- Decode Nikon NEFBitDepth (thanks Warren Hatch)
- Decode a few new Sony SRF, Casio AVI and MSOffice TIFF tags
- Enhanced Geosync tag to allow GPS time-drift correction
- Fixed Nikon D3 FlashSyncSpeed values (thanks Warren Hatch)
Dec. 19, 2009 - Version 8.03
- Added a new Nikon ExternalFlashFlags value (thanks Warren Hatch)
- Implemented -charset id3=CHARSET option in Windows version too (oops!)
- Improved heuristic for guessing EXIF "Unicode" string byte order
- Improved decoding of some obscure QuickTime tags
- Renamed Casio SelfTimer tag to ReleaseMode and added new values
- Fixed problem converting numerical M4P Genre values
Dec. 15, 2009 - Version 8.02
- Added MIME types for Apple iWork file formats
- Added bitmask to -v2 output for applicable tags
- Added a new Canon LensType and fixed an incorrect one (thanks Hugh
Griffiths)
- Added a few new Ricoh Saturation values (written by GXR)
- Added ability to specify character set for ID3v1 information
- Added French translations for some Nikon tags (thanks Harry Nizard)
- Extract FilePermissions information
- Decode Nikon D90 custom settings
- Decode a few more Nikon tags and removed AutoBracketRelease (thanks Warren
Hatch)
- Decode a few more GIF tags (and changed groups of some others)
- Decode some information from JPEG APP4 "SCALADO" segment
- Updated DICOM decoding to latest (2008) specification
- Enhanced -fast option to allow MakerNote information to be skipped
- Changed -v0 to enable output autoflushing for STDERR as well as STDOUT
- Improved decoding of some QuickTime tags (fixes M4P Genre problem)
- API Changes:
- Added CharsetID3 option
- Changed name of IPTCCharset option to CharsetIPTC (but IPTCCharset may
still be used for backward compatibility)
Dec. 1, 2009 - Version 8.01
- Compatibility Notice: Extract full-sized preview from X3F images as
JpgFromRaw instead of PreviewImage
- Added support for the new X3F version 2.3 files written by the Sigma DP2
- Added support for a few more XMP-acdsee tags
- Decode Nikon D3 custom settings (thanks Warren Hatch) and extrapolate to
D3S, D3X and D300S
- Decode the few remaining Nikon D300 custom settings (thanks Stuart Solomon
for providing sample images)
- Decode Nikon D5000 custom settings
- Decode Nikon FlashColorFilter tag (thanks Warren Hatch)
- Decode a few more PNG tags
- Created a new family 1 group for Nikon custom settings
- Improved write conversions for EXIF Contrast, Saturation and Sharpness
- Fixed problem with %f and %e when the source file has no extension
- Fixed problem decoding Nikon D3 flash group B and C intensities
- Fixed missing MIME type for XLT files
Nov. 20, 2009 - Version 8.00 (production release)
- Added read support for Apple iWork '09 files (Keynote, Pages and Numbers)
- Added ability to write Nikon SerialNumber and ShutterCount tags
- Added a few new Nikon LensID's and changed Tamron lens names to include
model number (thanks Robert Rottmerhusen)
- Decode a number of new Nikon tags (thanks Warren Hatch for much of this)
- Decode a few new Sony tags and improved others (thanks Igal Milchtaich)
- Decode a few new Ricoh tags, renamed RicohDateTime1/2, Revision and
MakerNoteVersion tags, and added some print conversions
- Decode Parallax in FujiFilm MPO MPImage2 images (thanks John Goodman)
- Decode Canon EOS 1D Mark IV custom functions
- Decode a number of new tags in MPEG-4 videos
- Decode a large number of private GE DICOM tags
- Decode a few more tags in AVI videos and attempt to fix problem calculating
duration when multiple video streams exist
- Enhanced -ee option to extract information from embedded MPF images
- Improved Nikon LensID conversion to recognize user-defined lenses
- Improved decoding of a few Olympus tags (ArtFilter, FaceDetect and
FocusProcess)
- Improved handling of warnings when processing corrupted ZIP files
- Improved recognition of Canon teleconverters in Composite LensID tag
- Added patch for Leica M8 bug which writes incorrect format for EXIF
ExposureCompensation and ShutterSpeedValue
- Changed prefix of unknown Leica M9 tags from LeicaSubdir to Leica_Subdir
- Fixed problem writing encrypted Nikon WB Levels
- Fixed problems reading PDF tags written by OS X 10.6 utilities
- Fixed problem where the -charset option didn't work properly for some XML
character entities when reading XMP
Nov. 6, 2009 - Version 7.99
- Added read support for Office Open XML files and improved recognition of
many MS Office file types
- Added read support for Phase One IIQ and Capture One COS and EIP files
- Added read support for GZIP information (first archived file only)
- Added a new Canon LensType (thanks Karsten Sote)
- Added a new Nikon LensID (thanks Geert De Soete)
- Decode a few new Sony tags
- Decode MakerNotes in Pentax AVI videos
- Decode SerialNumber for newer Pentax cameras
- Decode Canon FlashMeteringMode for most EOS models
- Disabled some Sony A230 CameraInfo tags which weren't valid for this model
- Give names to a number of unknown QuickTime atoms
- Recognize VOB file extension (but audio information in MPEG private stream
is not yet decoded)
- Tolerate extra white space in GPX attributes when geotagging (fixes problem
reading GlobalSat GPX files)
- Minor improvements to FlashPix decoding
- Changed names of all ZIP tags to avoid name conflicts with other tags
- Changed Composite ImageSize to use ExifImageWidth/Height for CR2 images
- Changed names of QuickTime image and video track description
ImageWidth/Height tags to SourceImageWidth/Height
- Fixed problems when -if option was combined with -v or -htmlDump
- Fixed problem parsing NMEA track logs where coordinates have the wrong
number of digits due to missing leading zeros (Holux M-241)
- Fixed an incorrect Pentax LensType
Oct. 28, 2009 - Version 7.98
- Implemented MWG support via a plug-in module ("-use MWG")
- Added -config and -use options
- Added ability to read Sony Vegas tags in AVI videos
- Added a couple of new Canon LensType's
- Added a new Panasonic ShootingMode (thanks Joerg)
- Added a new PentaxModelID (Optio P80)
- Added a new CanonModelID
- Added a few new Canon 1D Mark IV custom functions values
- Added warning for superfluous tag names on the command line when writing
- Decode a few more tags for the Canon EOS 5D and 7D
- Decode a number of new tags in Quicktime-based files (including MP4 and JP2)
- Impose length limit on IPTC values when writing as per spec. (for backward
compatibility, the length check may be disabled with the -m option)
- Improved checks for invalid EXIF offsets and changed some warning messages
- Improved decoding for a few Canon tags (and renamed NoiseReduction tag)
- Improved date/time formatting to accept date-only values
- Implemented print conversion for ID3 date/time tags
- Enhanced writing of Photoshop:IPTCDigest to allow a special value of 'old'
to represent the digest of the IPTC from the original file
- Updated iptc2xmp.args and xmp2iptc.args to handle IPTC
DigitalCreationDate/Time
- Recognize a number of Sigma LensType's in X3F images
- Recognize a large number of additional audio/video file extensions
- Minor improvements to -htmldump output
- Minor changes to some application warning messages
- Fixed problem writing Canon CameraTemperature tags
- Fixed "Error reading Info object" warning when reading a PDF file after
deleting all PDF tags
- API Changes:
- Added ability to specify config file via $Image::ExifTool::configFile
- Added EditGroup option for SetNewValue()
Oct. 13, 2009 - Version 7.97
- Added ability to disable print conversion on a per-tag basis by suffixing
the tag name with a '#' character
- Added a new PentaxModelID (Optio WS80)
- Decode a few more Sony tags
- Decode a number of new Casio tags and values
- Decode CameraTemperature for Canon PowerShot models (thanks Vesa Kivisto)
- Improved warning messages for the -ext option
- Improved DOF calculation to use ObjectDistance if SubjectDistance and
FocusDistance are not available
- Improved -X output to support more of the new -charset encodings
- Made Composite:FileNumber writable
- Use more detailed makernote directory names in EXIF warning messages
- Decreased priority of tags in IFD1 of JPEG images to avoid taking precedence
over tags from IFD0 or ExifIFD
- Changed print conversion strings for TIFF SampleFormat tag
- Renamed Casio ObjectDistance tag to FocusDistance
- Fixed invalid character in a Minolta/Sony LensType string
- Fixed bug decoding NITFVersion tag
- Fixed bug where binary data was returned without the -b option when using an
expression involving tag names for some tags such as ThumbnailImage
- Fixed two problems which could result in runtime warnings when:
- reading truncated ICC_Profile information
- using -htmldump on an image containing invalid EXIF offsets
- API Changes:
- Added ability to disable print conversion by suffixing tag name with '#'
- Changed name of BigTIFF 'ifd8' format to 'ifd64' for consistency
Oct. 2, 2009 - Version 7.96
- Added new Geosync tag to allow geotagging of images with timestamps which
are not pre-synchronized to GPS time
- Added patch to avoid crash bug in Canon DPP software when OwnerName is set
to a value that is exactly 3 characters long (doh!)
- Added a few new Olympus LensType's (thanks Godfrey DiGiorgi)
- Added a couple more Nikon LensID's (thanks Robert Rottmerhusen)
- Added minor warning when fixing invalid counts in Kodak MakerNotes
- Decode a few new tags and values for the Panasonic GF1
- Improved parsing of command-line arguments to remove order dependencies of
certain options
- Minor improvement to decoding of Olympus FaceDetect tag
- Changed "Error reading PreviewImage from file" to a minor warning
- Changed conversion of Canon MeasuredEV to correspond more closely to
LightValue (by adding 5 to the MeasuredEV value, which seems to be good for
all EOS models, but it may be high by up to 1 EV for some PowerShot models)
- Fixed problems decoding some CameraInfo tags for the Canon 7D with the new
production firmware (1.0.7)
- Fixed problems writing some CameraInfo tags for the Canon 50D and 5DmkII
Sept. 24, 2009 - Version 7.95
- Added read support for LNK (Windows shortcut) file metadata
- Added patch to fix incorrect count written by a number of recent Kodak
cameras to some tags in SubIFD3 of the MakerNotes
- Added a few more Sony/Minolta LensType's
- Added a couple more Canon LensType's (thanks Norbert Wasser)
- Added a PentaxModelID for the new K-x
- Decode a couple more Canon VignettingCorr tags
- Improved Canon FocusDistance conversions to indicate "inf" for maximum value
- Improved DOF calculation to use SubjectDistance if FocusDistance is not
available
- Changed -fast, -scanForXMP and -unknown options to also apply when copying
tags with -tagsFromFile
Sept. 11, 2009 - Version 7.94
- Added support for Leica M9 makernote format and decode a few new tags
- Added a few new Leica LensType's
- Added support for IGC GPS track logs (thanks Lionel Genet)
- Added a number of alternate Macintosh character sets and changed a couple of
character set names for -charset option
- Decode even more Sony A100 tags (thanks Igal Milchtaich!)
- Improved handling of FlashPix character translations
- Changed a couple of Sony and Minolta AF tag names to be more consistent
Sept. 5, 2009 - Version 7.93
- Added a new CanonModelID
- Added a couple of new Nikon LensType's (thanks Robert Rottmerhusen)
- Added a few new Pentax LensType's
- Decode a number of new tags for the Canon EOS 7D
- Calculate Duration for WAV audio files
- Allow exponents when writing GPS coordinates (ie. "-gpslatitude=7.657e+01")
- Print available character sets if no CHARSET is given for -charset option
- Improved -v3 and -htmldump output to show MPF image data
- Fixed -E option to work with tag descriptions when -lang option used
- Fixed problem reading large FlashPix-format documents
- API Changes:
- Added LargeFileSupport option
Aug. 29, 2009 - Version 7.92
- Fixed new "-charset iptc=CHARSET" feature to work with -tagsFromFile
Aug. 29, 2009 - Version 7.91
- Added -charset option and support for additional Windows and Mac character
sets. Character sets now supported are: UTF-8, Latin1, Latin2, Cyrillic,
Greek, Turkish, Hebrew, Arabic, Baltic, Vietnam, Thai and MacRoman
- Fixed problem with some duplicate Nikon LensID's
- Fixed incorrect Duration calculation for multi-channel FLAC audio files
- Compatibility Notice: Removed "CreatorContactInfo" shortcuts which were
added to ease the transition when some Iptc4xmpCore tag names were changed
in version 7.45
- API Changes:
- Added IPTCCharset option and support for additional character sets
Aug. 24, 2009 - Version 7.90
- Added -ex (-escapeXML) option
- Added a few more Minolta M42-type lenses (thanks Lukasz Stelmach)
- Added a number of new CanonModelID's
- Decode more Sony A100 tags (thanks Igal Milchtaich)
- Decode a few more Kodak WhiteBalance tags
- Decode a couple more JPEG APP segments
- Internal changes to Composite tag calculation algorithm
- Patched problem with renaming files on OS/2 that caused failed tests
Aug. 18, 2009 - Version 7.89 (production release)
- IMPORTANT: Not quite done with NRW fixes -- fixed similar bug which could
corrupt NRW images when writing new values larger than 10 MB
Aug. 17, 2009 - Version 7.88 (production release)
- IMPORTANT: Fixed bug introduced in version 7.77 which causes Nikon NRW
images to be corrupted when writing
- Decode a number of Sony A100 Camera Settings tags (thanks Igal Milchtaich)
- Improved accuracy of some CameraInfo values for Canon PowerShot models
- Tolerate blank lines in PDF xref tables
- Fixed problem where -E didn't escape values when copying with -tagsFromFile
- Fixed bug identifying AF Micro-Nikkor 105mm f/2.8D lens
Aug. 14, 2009 - Version 7.87
- Added a new Sony lens (thanks Lukasz Stelmach)
- Added a few new Pentax City and PictureMode values (thanks Niels Kristian
Bech Jensen)
- Added lookup for XMP-photoshop:Urgency
- Added a few new Nikon RetouchHistory values
- Decode a number of new Sony tags for the A700 (thanks Rudiger Lange)
- Decode Canon PeripheralLighting tags
- Decode Olympus AFFineTuneAdj (thanks Yrjo Rauste)
- Extract System tags from unknown file types
- Enhanced -E option to work when writing, and when used in combination with
other options such as -p
- Tolerate white space around "=" in XMP attributes (allowed by XML spec)
- Improved error handling when parsing bad EXIF IFD entries
- API Changes:
- Added Escape option
July 25, 2009 - Version 7.86
- Added support for reading Garmin TCX track logs with the -geotag option
- Added a number of new Canon, Olympus and Pentax LensType's
- Enabled writing of .AI (Adobe Illustrator) files
- Minor changes to DICOM decoding
July 21, 2009 - Version 7.85
- Added a new Sony LensType
- Added a new Pentax LensType (thanks Albert Bogner)
- Added a new PentaxModelID value (Optio W80)
- Added a few new JPEGDigest values (thanks Franz Buchinger)
- Added check for proper support of IFD-format value types
- Decode Nikon D300 firmware 1.10 camera settings (thanks Stuart Solomon)
- Improved handling of Olympus makernotes for recent models and fixed error
messages resulting from makernote format changes in Stylus 550WP images
- Improved geotagging by allowing different NMEA sentences with slightly
different timestamps (within 10 seconds) in the same fix
- Fixed decoding of some CameraSettings tags for the new Sony A330 and A380
- API Changes:
- Added GeoMinSats option
July 16, 2009 - Version 7.84 (Windows only)
- Fixed bug in -geotag option of Windows version when using wildcards in the
GPS track filename
July 13, 2009 - Version 7.83
- Added preliminary read support for M2TS/AVCHD video files (much pain for
little gain)
- Added family 4 group names (instance number) to provide a technique for
differentiating same-named tags extracted from the same location via the
command-line application
- Added a new family 1 group ("System") to differentiate tags obtained from
the file system
- Added a couple of new Canon LensType values
- Decode ID3 Picture attributes
- Decode ICC_Profile ColorantTableOut
- Changed application to return a value of 1 if all files fail condition
- Made the IPTC CodedCharacterSet tag "unsafe" to copy by default (since this
could result in incorrect encoding for existing IPTC in the destination
image)
- Fixed bug handing some non-standard offset formats when writing EXIF
- Fixed problem with MakerNote warnings for Samsung WB500
- Fixed problem reading Leica M8 makernotes when copied between JPEG and DNG
images
- Fixed problem extracting ThumbnailImage from Sanyo VPC-FH1 MP4 videos
- Fixed problem extracting ThumbnailImage from some Sony DSLR-A100 ARW images
(due to a bug in some A100 firmware versions which results in incorrect
ThumbnailOffset values)
July 2, 2009 - Version 7.82 (production release)
- Added a new Canon LensType (thanks Norbert Wasser)
- Decode another Nikon AVI tag
- A number of improvements, bug fixes and additions to ID3 decoding
June 28, 2009 - Version 7.81
- Added a few missing print conversions to Nikon, Kyocera and FlashPix
date/time tags
June 26, 2009 - Version 7.80
- IMPORTANT: Fixed bug introduced in 7.77 which had the potential to corrupt
TIFF-format images when writing to an image containing a SubIFD tag larger
than 10 MB (not that I've ever seen one of these in the wild)
- Added support for DNG version 1.3
- Decode makernotes in Nikon AVI videos
- Decode QuickTime MatrixStructure tag and added Composite Rotation tag to
calculate the rotation of the QuickTime video track
- Updated CanonCustom tags for the EOS 500D
- The -fast option now stops parsing of WAV and AVI files at audio/video data
- API Changes:
- Improved handling of $/ by localizing internally
June 20, 2009 - Version 7.79
- Added read/write support for Adobe InDesign files (.IND, .INDD, .INDT)
- Added ability to geotag with KML files (Note: each Placemark must contain a
TimeStamp for this to work)
- Added undocumented XMP-xmp PagInfo tags written by Adobe InDesign
- Added conversion for MPF:PanOrientation
- Many improvements and additions to Olympus and Panasonic makernote decoding
- Improved logic of -scanForXMP option
- Recognize MPO file extension (Extended Multi-Picture format)
- Distinguish between infinite (inf) and undefined (undef) rational values
- Changed namespace prefixes for xapG and xapGImg to match current XMP spec
- Changed print conversion for Casio AFPointPosition
- Made "Error reading value" warning minor when reading makernotes values
- Allow all tags to be deleted from an XMP file
- Fixed group names for a few Panasonic and Sony makernote tags
June 13, 2009 - Version 7.78
- Added read support for the new CIPA standards: Multi Picture Format (MPF)
and Stereo Still Image format (Stim)
- Added support for Kodak type 10 makernotes (Z980)
- Added a new Pentax LensType and a new Nikon LensID (thanks Jens Duttke)
- Added %C format code for output file names
- Decode a number of camera settings from Sony DSLR images
June 7, 2009 - Version 7.77
- Added -struct option for JSON (-j) and XML (-X) outputs
- Added 2 new Pentax LensType's and a PentaxModelID (thanks Jens Duttke)
- Decode large preview in APP2 of images from newer Samsung models
- Extract FujiFilm PreviewImage from improperly written FPXR segment
- Improved decoding of Nikon WB levels for some models
- Reduced memory useage when writing DNG and some other RAW image files
- Changed format of Canon D30 SerialNumber to remove the hyphen and add
leading 0's if less than 9 characters (now same format as printed on camera)
- Changed writing of GPSTimeStamp and GPSDateStamp to adjust date/time to UTC
if it contains a timezone, and added timezone ("Z") to Composite:GPSDateTime
- Suppress "Unlisted FPXR segment (index 255)" warning from some Kodak images
- Suppress "Unrecognized MakerNotes" warning for Samsung STMN-type maker notes
- Made "Unrecognized MakerNotes" a minor warning
- Fixed problems reading/writing large PreviewImage in some Sony JPEG images
- Fixed problem decoding some base64 values in XML files
- API Changes:
- Added Struct option (considered experimental)
May 20, 2009 - Version 7.76
- Added support for Leica RWL raw images (just RW2 with a different name --
Panasonic is pulling the same dumb stunt as Nikon with NRW)
- Added ability to specify geotagging parameters via config file
- Added two new Canon LensType's (thanks Jose Oliver-Didier)
- Added a couple more Panasonic FilmMode values
- Added bitmapped value lookups to -listx output
- Decode Panasonic face recognition information (DMC-TZ7)
- Decode some new FujiFilm face detection tags
- Implemented language translations for bitmapped values
- Enhanced -geotag option to allow wildcards in track file name
- Minor changes to Nikon AF point decoding
- Allow empty string when writing unknown values (ie. "Unknown ()")
- Pad numerical IPTC values with zeros if necessary when writing
- Fixed problem with -geotag feature interpolating in some NMEA logs
- API Changes:
- Added GeoMaxHDOP, GeoMaxPDOP, GeoMaxIntSecs and GeoMaxExtSecs options
May 9, 2009 - Version 7.75
- Added a few new translations (thanks Jens Duttke et al)
- Added warning when stream mode data is encountered in a ZIP file (this
is currently not supported)
- Added a couple of new Nikon ActiveD-Lighting values (thanks Werner Kober)
- Added and changed some Nikon LensID's (thanks Robert Rottmerhusen)
- Added ability to specify user-defined option defaults in config file
- Added write support for FujiFilm S5Pro firmware 1.11 RAF images
- Decode AF point information for more Nikon models (thanks Werner Kober)
- Improvements to new geotagging feature
- Changed language code for simplified Chinese from "zh_s" to "zh_cn"
- Changed user-defined shortcuts to Image::ExifTool::UserDefined::Shortcuts
- Limit PrintConv precision of Composite GPSAltitude to 1 decimal place
- API Changes:
- Changed WriteInfo() to use a temporary file instead of a memory buffer
when a source file name is given with no destination file
- Attempt (yet again) to fix problems when UTF-8 encoded strings are
passed to exiftool functions
Apr. 10, 2009 - Version 7.74
- Added geotagging feature and new -geotag option (guess who finally bought a
hand-held GPS!)
- Added a few new Casio RecordMode values
- Decode FujiFilm EXRAuto and EXRMode tags (FinePix F200EXR)
- Decode Olympus ArtFilter tag
- Allow EXIF ISO to have multiple values as per EXIF spec
- Improved XMP-exif and XMP-tiff List-type tags to allow copying from EXIF
- Changed handling of ComponentsConfiguration to facilitate copying between
EXIF and XMP
- Changed name of EXIF tag 0x9214 from SubjectLocation to SubjectArea to match
EXIF specification
- Changed behaviour when writing pre-existing EXIF tags to use the standard
EXIF field type instead of preserving the existing type (fixes problem
rewriting some incorrectly typed EXIF tags)
- Fixed error if a shift value is not given when shifting a date/time tag
- Fixed makernote offsets error message when writing Pentax Optio WP images
- API Changes:
- Added EditOnly option to SetNewValue()
Mar. 31, 2009 - Version 7.73
- Added write support for Panasonic RW2 images (including IPTC and XMP)
- Added ability to write IPTC and XMP to Panasonic/Leica RAW images and fixed
bug introduced in version 7.64 which disabled write support for these images
- Added a new Canon EasyMode value (thanks Irwin Poche)
- Added a number of new Nikon LensID's (thanks Robert Rottmerhusen)
- Added CanonModelID for the new 500D
- Decode many CameraInfo and ColorData tags for the Canon EOS 500D
- Decode track-level 'meta' atom in MOV videos
- Enhanced Canon Composite:ShootingMode logic to distinguish Bulb mode
- Improved decoding of Canon TargetExposureTime
- Changed name of Panasonic RW2 PreviewImage to JpgFromRaw
- Fixed bug where JPEGDigest wasn't generated for some images
- Fixed problem where -F didn't permanently fix makernote offsets for some
images when writing
- Fixed bug decoding Canon RawMeasuredRGGB and MeasuredRGGBData which resulted
in a failed test on 64-bit systems
Mar. 20, 2009 - Version 7.72
- Added a new Minolta/Sony LensType (thanks Jens Duttke)
- Added support for localized language descriptions of "lang-alt" tags
- Added support for Nikon NRW files (please just kill me now)
- Added two new PentaxModelID's and a new PentaxImageSize
- Decode Pentax PEF HuffmanTable as Unknown Binary tag
- Decode Leaf and Kodak records in DNGAdobeData information
- Made "Empty PrintIM data" a minor warning
- Minor improvement to Canon lens recognition logic
- Changed Composite:LensID to also return a value for Olympus lenses
- Changed copying behaviour to preserve the specific location (family 1 group)
when source group is specified and destination group is "all" or "*"
(ie. "-exif:all>all:all" now preserves the IFD of each tag)
- Fixed a number of incorrect Minolta/Sony lens names (thanks Olaf Ulrich)
- Fixed bug rewriting MIE trailers on TIFF images
Mar. 12, 2009 - Version 7.71
- Added a new Pentax LensType (thanks Akos Szalkai)
- Added a new Canon LensType (thanks Kurt Garloff)
- Added new PentaxModelID for the Optio P70
- Added XMP List-type flag (Alt, Bag or Seq) to "-f -listx" output
- Decode a number of new Canon tags (thanks Vesa Kivisto)
- Removed unreliable Canon Composite FlashOn tag (use Flash instead)
- Removed Nikon FlashModel tag and replaced it with ExternalFlashFirmware
- Changed tags in Canon "ColorBalance" tables to signed integer and renamed
the tables to "ColorData"
- Changed formatting for Canon FocalUnits
- Changes to -X output:
- Now uses 'rdf:datatype' instead of 'et:encoding' (thanks Alexander Vonk)
- Improved long (-l) output to produce valid RDF/XML, and added 'et:val'
- Improved handling of unknown XMP lang-alt tags
- Fixed family 2 group names for a few tags
Feb. 26, 2009 - Version 7.70
- Added a few new Nikon LensID's (thanks Robert Rottmerhusen)
- Added a number of new CanonModelID's
- Added ability to use -f before -listx to output 'flags' attribute
- Added xml:lang attribute to -X output (when used with -t, -H or -D) to
identify alternate language entries for XMP lang-alt tags
- Decode Canon ImageUniqueID and added a new EasyMode value
- Created "Unsafe" shortcut used when rebuilding JPEG EXIF metadata from
scratch
- Changed Olympus lens "pre-release" designation to "release 1"
- Changed exiftool to continue after encountering "Error opening directory"
- Enhanced makernote-offset-fix logic to account for problems like those
caused by bugs in Picasa and ACDSee
- API Changes:
- Enhanced GetTagID() to also return language code in list context
Feb. 17, 2009 - Version 7.69
- Added a new Nikon LensID (thanks Jens Kriese)
- Added a new Pentax LensType (thanks Jens Duttke)
- Added Extra JPEGDigest tag
- Recognize new Panasonic APP2 MPF information written by FX40
- Improved -@ option to allow a UTF-8 BOM at the start of the input file
- Augmented -listx output to include indexed value conversions
- Changed Japanese and Chinese language codes to 'ja' and 'zh' (ISO 639-1)
- Fixed a few problems with some CanonCustom tags
Feb. 13, 2009 - Version 7.68
- Added French translations for XMP and Composite tags (thanks Jean Piquemal)
- Decode Panasonic AdvancedSceneMode, added a few more SceneMode values, and
fixed incorrect format for TextStamp
- Decode a missing Canon 1DmkII custom function
- Changed Czech language code to 'cs' (as per ISO 639-1)
- Relaxed XMP date/time validation to allow writing year-only and year-month
values (YYYY and YYYY:MM) without requiring the -n option
- More work on language translations (this will be ongoing)
- Fixed problem shifting XMP date/time values with missing seconds
- Fixed some family 1 group names in -listx output
Feb. 9, 2009 - Version 7.67 (production release)
- IMPORTANT: Fixed bug introduced in version 7.01 which could cause corruption
of TIFF-format images in very rare situations when adding tags to an image
containing very large (> 10 MB) binary data blocks
Feb. 7, 2009 - Version 7.66
- Improved language support
- Changed conversion for a couple of the EXIF Flash values
- Removed trailing white space from Make and Model values
- Removed null terminators that may be left on some string values
- Fixed problem with family 1 group names for QuickTime Date tags
- Fixed problem with invalid names being generated for some unknown tags
- Fixed decoding of ASF PreviewMimeType and PreviewDescription
- Fixed formatting problems with -j output when combined with some options
Feb. 5, 2009 - Version 7.65
- Added -j option for JSON (JavaScript Object Notation) output format
- Improved French language translation for File group (thanks Jean Piquemal)
- Enhanced -listx option to give short output when used after -s
- Renamed "tagid" attribute to "id" in -X output to match -listx output
- Fixed bug introduced in 7.64 which resulted in runtime warning when
extracting non-existent tags with the -f option
- Fixed problem which could cause runtime error with -listx option on some
systems
Feb. 3, 2009 - Version 7.64 - "Babel fish"
- Added -listx and -lang options
- Added preliminary support for the following languages (thanks Jens!):
- en [default]
- ch_s (thanks Haibing Zhong) [renamed 'zh_cn' in 7.75]
- cz (thanks Petr Michalek) [renamed 'cs' in 7.68]
- de (thanks Jens Duttke)
- en_ca (for those of us who like to see "colour" to be spelled properly)
- en_gb (correct "colour" plus a few other quirks)
- es (thanks Santiago del Brio Gonzalez)
- fr (thanks Bernard Guillotin)
- it (thanks Emilio Dati)
- jp (thanks Kazunari Nishina) [renamed 'ja' in 7.69]
- nl (thanks Peter Moonen and Herman Beld)
- pl (thanks Przemyslaw Sulek)
- Added support for new XMP Windows Live Photo Gallery tags
- Decode two new Panasonic tags and improved decoding of some others
- Decode a few new 3rd party EXIF and IPTC tags
- Enhanced -X output by adding -t feature for tag table information
- Improved decoding of Photoshop ClippingPathName and remove Unknown flag
- Renamed Panasonic EXIF "Title" tag to "PanasonicTitle" and improved decoding
- Fixed problem which could cause crash if reading corrupted images on Windows
- Fixed inconsistencies rewriting XMP which uses extra rdf:Description
elements instead of rdf:parseType='Resource' attribute
- Fixed decoding of Nikon D40 RemoteOnDuration
- API Changes:
- Added Lang option
Jan. 23, 2009 - Version 7.63
- Added new Composite tags: SubSecCreateDate and SubSecModifyDate
- Decode Sony DSLR WB_RGBLevels tags (thanks Andrey Tverdokhleb)
- Decode a few more NikonScan tags (thanks Brendt Wohlberg)
- Included new argument files in distribution: xmp2exif.args and exif2xmp.args
- Improved decoding of PentaxModelID for K-m and K2000
- Minor change to decoding of Canon 1DmkIII ISOSpeedRange
- Downgrade "MRW format error" to a warning when reading ARW images containing
MRW information that has been corrupted by the Sony IDC utility
- Renamed Kodak SubSecTime tag to Time
- Changed Composite DateTimeCreated tag to use only IPTC tags
- Changed name of Sony/Minolta MRW WBLevels tag to reflect ordering of color
components
- Fixed problems recognizing some MP3 files
Jan. 16, 2009 - Version 7.62
- Decode a number of new tags for recent Canon EOS models
- Decode ID3v2.3 Compilation tag (written by iTunes)
- Added a number of new ID3 genre's and improved ID3v2 genre conversion
- Avoid converting MIE ISO 8859-1 string values
- Enhanced XML output (-X) to work with binary data (-b) option and encode
values in base64 if necessary
- Fixed problem with invalid UTF-8 when writing XMP or using -X (XML) option
Jan. 10, 2009 - Version 7.61
- Added a new Pentax LensType and a new PentaxModelID (thanks Denis Bourez)
- Added ability to copy makernotes from Pentax or Samsung native DNG image
- Decode makernotes in Samsung GX model DNG images
- Decode CameraTemperature for Canon EOS cameras with Live View (thanks
Karl-Heinz Klotz)
- Decode a number of Canon 5DmkII CameraInfo tags
- Included 2 new argument files in distribution: xmp2gps.args and gps2xmp.args
- Prevent writing of TIFF images containing the obsolete (and unsupported)
TIFF 6.0 JPEG extensions
- Fixed bug which could result in runtime warning when writing makernotes as a
block
Jan. 6, 2009 - Version 7.60 (production release)
- Decode a few more Nikon D700 FlashInfo tags (thanks Jens Duttke)
- Defined (empty) XMP-pdfx tag table, mainly for documentation purposes
- Fixed problem where the behaviour of -tagsFromFile changed to that of
-addTagsFromFile if the first specified tag was an exclusion
- Fixed XMP writer to allow a namespace to be deleted after a mass copy
- Fixed bug introduced in 7.58 which could cause hang when using -tagsFromFile
Dec. 23, 2008 - Version 7.59
- Removed file size limit when setting tag value from contents of a file
Dec. 22, 2008 - Version 7.58
- Added new Canon, Nikon and Olympus lenses (thanks Jan Boelsma and Geert De
Soete)
- Added write support for FujiFilm S5000 Ver3.00 and S9500 Ver1.01 RAF images
- Extract RAFVersion tag from FujiFilm RAF images
- Decode ColorBalance information for PowerShot G10
- Decode Sharpness for Canon EOS 50D
- More improvements to Canon 50D and 5DmkII makernote decoding
- Attempt to identify unknown Nikon lenses which exist in LensID list with a
different LensIDNumber (to patch Sigma lens renumbering debacle)
- Removed limit of 1000 items in an XMP list-type tag when writing
- Increased maximum size of file from 16MB to 100MB when setting tag value
from the contents of a file
- Improved performance when extracting a large number of same-named tags
- Fixed bug which resulted in "segment too large" error message when rewriting
multi-segment XMP if XMP was edited but nothing was actually changed
Dec. 11, 2008 - Version 7.57
- Added read support for Panasonic RW2 raw images (and extract meta
information from embedded PreviewImage as Doc1)
- Added new Pentax K-m PictureModes and new PentaxModelID for the Optio S12
- Decode ColorBalance information for Canon 50D and 5DmkII
- Decode Panasonic RAW/RW2 information from DNG images
- Decode Canon SRAWQuality tag
- Recognize DCP (DNG Camera Profile) files
- Updated Canon CustomFunctions for the EOS 5D Mark II
- Changed name of "OtherImage" tags to "JpgFromRaw" in IFD0 of SR2 and ARW
images, and to "ThumbnailImage" in IFD0 of MRW images
- Changed EXIF DeviceSettingDescription and ProfileLookTableData to binary
data tags
- Fixed problem reading/writing ThumbnailImage in Minolta A200 MRW images
- Fixed ColorBalance2 tags for AsShot and Auto modes of Canon 1DmkII/1DSmkII
Dec. 2, 2008 - Version 7.56
- Decode CompressorVersion from Canon 5D Mark II videos
- Fixed family 1 group classifications for tags in QuickTime video tracks
- Fixed problem with new -sep feature when separator contained spaces
Dec. 2, 2008 - Version 7.55
- Added a number of new CanonVRD tags for DPP 3.4/3.5 (thanks Bogdan)
- Added a new FocusMode for the Pentax K-m
- Added a new Nikon LensID (thanks Niels Kristian)
- Decode some tags from Kodak C1013 maker notes (type 9)
- Enhanced -sep option to allow list-type tag values to be split when writing
- API Changes:
- Added ListSplit option
Nov. 26, 2008 - Version 7.54
- Added a few old XMP-crs tags that were missed
- Show numerator and denominator for rational EXIF values in verbose mode
- Changed htmldump tooltip font
- Fixed bugs in HTML reader that could cause runtime error or hang
Nov. 19, 2008 - Version 7.53
- Added read/write support for EXIF files
- Added ability to write EXIF as a block (finally!)
- Added ability to write CanonVRD information to MIE files
- Added timezone to "Now" tag value
- Added a new CanonModelID (FS100)
- Added write support for ACDSee XMP tags (XMP-acdsee:RPP)
- Added a few new XMP-cc tags
- Decode CameraOrientation for a number of Canon EOS models (thanks Bogdan)
- Allow XMP to be copied as a block with -tagsFromFile option
- Highlight odd value offsets in -htmldump output
- Improved htmldump tooltip display
- Minor improvements to MIE reader
- API Changes:
- The full XMP block is now extracted with the Binary option, so the XMP
block is marked as "unsafe" and the Protected flag must be set (as with
other writable blocks) when calling SetNewValue()
Nov. 4, 2008 - Version 7.52
- Added ability to extract AI private data from PDF files
- Added extract embedded option (-ee, -extractEmbedded)
- Added new group family 3 and ability to specify multiple group names for a
single tag when extracting information
- Added a new Sony lens and decode two new Sony tags (thanks Jens Duttke)
- Added a few new Nikon LensID's (thanks Robert Rottmerhusen)
- Added a new Olympus LensType (thanks Michael Meissner)
- Decode a few new Nikon tags (thanks Jens Duttke)
- Enhanced command line parsing to allow long names for most options
- Improved verbose output when writing makernotes
- Allow writing of empty string values in EXIF information
- Fixed problem rewriting XMP lists that contained no entries
- Fixed bug writing JpgFromRaw and ThumbnailImage to CRW files that could make
the image unreadable by Canon utilities (affected images may be repaired by
rewriting the same tag with this version of exiftool)
- Fixed bug where some Canon MakerNote values could not be written
- Fixed bug introduced in version 7.49 that broke the use of wildcards in
filenames for the Windows version
- API Changes:
- Enhanced a number of functions to accept multiple group names separated
by colons
Oct. 27, 2008 - Version 7.51 (production release)
- Fixed problems which caused failed test or warning with Perl 5.6 or older
(does do not affect Mac or Windows versions)
- Fixed Windows application so help is displayed when run with no options
Oct. 26, 2008 - Version 7.50 (production release) "XMP 2008"
- Added a number of new XMP tags from new XMP specification released Oct. 17
- Added support for extended XMP segment in JPEG images (as per new XMP spec)
- Added a number of new Minolta/Sony lenses (thanks Jens Duttke)
- Added a new Canon LensType (thanks Andreas Huggel and Pascal de Bruijn)
- Added new PRISM 2.1 XMP tags
- Added ability to read/write x:xmptk attribute (via XMP-x:XMPToolkit tag)
- Added ability to specify user-defined Lenses
- Decode XMP in ASF (WMA/WMV), FLV, SWF and MP4 audio and video files
- Preserve byte order of EXIF information when copying to MIE file
- Allow byte order for newly created MIE files to be set by ExifByteOrder tag
(and API ByteOrder option)
- Allow backslashes in filenames on non-Windows-like systems
- Removed 's' from XMP-xmp:Thumbnails tag names and set Avoid flag for
XMP-xmp:ThumbnailImage
- Fixed definitions of some XMP-xmpDM tags
- Fixed some PDF reader bugs (thanks Leonhard Zachl for one patch)
- API Changes:
- Added ExtractEmbedded option
Oct. 16, 2008 - Version 7.49
- Added new PentaxModelID for K-m/K2000 plus a new LensID used by K-m
- Added --a option and made -a the default behaviour for the -X option
- Added ability to read/write XMP-rdf:about attribute
- Added new "Resource" flag which may be set in user-defined XMP tags to write
a value as an rdf:resource instead of a normal string
- Allow decimal (real) values to be written to XMP-xmp:Rating (contrary to
current XMP specification, but as per MWG recommendation)
- Fixed file renaming bug in Windows that caused the file to be moved into the
current directory instead of leaving it in the original directory when the
source file was specified using backslashes as directory separators
Oct. 14, 2008 - Version 7.48
- Added support for XMP PRISM 2.0 schema tags
- Added two more ZIP compression types
- Added conversions for XMP-plus date tags
- Changed conversion of all Digest tags to make the -n value readable
- Changed some error handling to avoid generating console warnings
Oct. 11, 2008 - Version 7.47 - "Jumbo"
- Added -X option to output extracted information in XML format
- Added -listwf option to list extensions of writable files
- Added a number of new Nikon and Pentax LensTypes (thanks Robert
Rottmerhusen, Jens Duttke and Bozi)
- Decode Canon 1000D custom functions
- Decode a number of new tags written by Nikon Capture NX 2
- Decode many FlashInfo tags for the Nikon D90 and D700
- Implemented character set translation for MIE information (-L option)
- Improved speed when scanning unknown file to determine FileType
- Fixed bug where some writable EXIF tags gave a "not writable" message when
reading tag value from a dynamic file (ie. "-TAG<=%f.txt")
- Fixed problem double-escaping characters when -h and -S were used together
- Fixed decoding of Nikon FlashModel for SU-800 Remote Commander
- Fixed swapped Nikon FlashGroupBControlMode/FlashGroupCControlMode tags
- Fixed bug reading PDF files that could cause "Argument isn't numeric in
subtraction" warning (note that writing PDF files with this problem could
cause format errors which may be fixed by reverting with "-pdf-update:all=")
- API Changes:
- Fixed CanWrite() to be consistent with documentation
Oct. 2, 2008 - Version 7.46
- Fixed bug which could cause a runtime warning when writing images in a
directory containing an unrecognized file type
- Fixed an IPTC-XMP test that failed in other time zones (this was a test
problem, not an exiftool bug)
Oct. 1, 2008 - Version 7.45
- Added support for new XMP IPTC Extension 1.0 tags (rev 2)
- Added a few more TIFF Compression values (for MDI files)
- Decode a few new Nikon Flash tags
- Decode Canon 50D custom functions
- Calculate CurrentIPTCDigest tag (if Digest::MD5 is available)
- Renamed Photoshop CaptionDigest tag back to IPTCDigest again
- Avoid touching IPTC data block when only Photoshop information is changed
- Allow IPTCDigest to be set to the special value of 'new', representing the
new IPTC digest of the output file
- Updated iptc2xmp.args and xmp2iptc.args to write IPTCDigest as per MWG
recommendation
- Allow zone-less date/time values in XMP (as per MWG and upcoming XMP spec)
- Allow brackets in $$ and $/ expressions (ie. ${$} and ${/} now work)
- Changed decoding of EXIF:Copyright to allow two separate strings as per spec
- Changed a number of XMP Iptc4xmpCore tag names and added a corresponding set
of aliases (shortcuts) for backward compatibility
- Changed some XMP xmpTPg tag names
- Fixed problem extracting lists from other information types in MIE files
Sept. 26, 2008 - Version 7.44
- Added read support for DjVu images
- Added two new Sony LensType's (thanks Mladen Sever)
- Added a new Pentax LensType (thanks Jens Duttke)
- Decode a few new Canon 450D and 1000D tags (thanks Bogdan)
Sept. 17, 2008 - Version 7.43
- Added two new Pentax LensTypes (thanks Jens Duttke and Anton Bondar)
- Added PentaxModelID's for the Optio E60 and M60
- Added a number of new CanonModelID's
- Extract XMP from MOV and AVI videos (as written by Adobe CS3 Bridge)
- Decode information from QuickTime HintInfo atoms (hinf and hnti)
- Decode Canon 50D/5DmkII AutoLightingOptimizer
- Enable writing of ThumbnailImage in CR2 images
- Avoid extracting invalid Canon FocusDistance tags
- Improved handling of timezones in date/time values (fixes failed EXE test)
Sept. 11, 2008 - Version 7.42
- Added read support for Windows, MacOS and Unix executable and library files
- Added read support for ZIP and RWZ (Rawzor) compressed files
- Added a number of new XMP tags written by PS Elements 4.0 (thanks Drew
Holland) and LightRoom 2.0
- Added new Sony, Canon and Nikon LensTypes (thanks Jens Duttke and Werner
Kober)
- Decode a few new Canon CameraInfo tags for the 40D, 50D, 450D and 1000D
(thanks D.J. Cristi)
- Decode Nikon D90 LensData
- Define version number etc. in properties of exiftool Windows executable
- Improved handling of corrupted makernote offsets when writing
- Fixed problem where FileType could be incorrect for a TIFF-based file with
the wrong extension
Aug. 28, 2008 - Version 7.41
- Added new Composite LensID tag and changed a number of LensType values in
an attempt to disambiguate Canon, Pentax, Minolta and Sony 3rd party lenses
- Added -sep option to specify separator for values in List-type tags
- Added a new Nikon LensID (thanks Jens Duttke)
- Added CanonModelID values for new models (SX110, A1000, A2000, E1, 50D)
- Decode some CameraInfo tags of the Canon EOS 450D and 1000D (thanks Bogdan)
- Decode a few new tags in Kodak MOV videos
- Updated CanonVRD decoding for version 3.40 (DPP 3.4.1, thanks Bogdan)
- Allow writable EXIF properties to be overridden by user-defined tags
- Relaxed PDF parsing to allow xref tables with zero entries
- Renamed Sigma LensID tag to LensType
- Changed PDF update structure to better conform with PDF specification
- Changed conversion of Olympus ManometerReading values
- Reverted back to Perl 5.8 for Windows EXE version (fixes problem running
exiftool.exe using a non-standard TEMP directory)
- Patched DST problem in Windows when "Automatically adjust clock for daylight
savings time" is used in Windows Date and Time settings
- Fixed problems in the QuickTime parser that could cause exiftool to hang
- Fixed bug which could cause an error to be reported when writing a DNG image
containing ProfileIFD information
- API Changes:
- Added ListSep option
Aug. 17, 2008 - Version 7.40
- Fixed -p option in Windows executable version (caused by packaging problem
with Perl 5.10 release)
July 30, 2008 - Version 7.39
- Added a number of new Canon LensType values (thanks Rich Taylor)
- Added a new Pentax LensType (thanks Jens Duttke)
- Added a new Sony LensType (thanks Mladen Sever)
- Added support for writing invalid IFD entries used by some Kodak Z cameras
- Updated Canon CustomFunctions for EOS 450D
- Made a few more DNG tags writable
- Renamed CIFF TvValue and AvValue tags to ShutterSpeedValue and ApertureValue
and added conversions (to seconds and F-number) as with EXIF tags
July 18, 2008 - Version 7.38
- Same as version 7.37 except that Windows executable is packaged with Perl
5.10.0 instead of 5.8.7 -- this fixes a problem with FileModifyDate and DST
July 16, 2008 - Version 7.37
- Added -addTagsFromFile option (variant of -tagsFromFile which allows copying
multiple tags into the values of a single List-type tag)
- Added a new Sony LensID (thanks Jens Duttke)
- Added PentaxModelID for the Optio W60
- Added a couple of new YCbCrSubSampling values (thanks Jens Duttke) and made
values consistent across different types of meta information
- Decoded Canon Categories tag (thanks Darryl Zurn)
- Reduced priority of XMP-xmp date/time tags so the EXIF tags are preferred
- Fixed problem where time may be duplicated in Composite:DateTimeCreated
- API Changes:
- Added ability to pass options to SetNewValuesFromFile
July 8, 2008 - Version 7.36
- Added a new Nikon LensID (thanks Jens Duttke)
- Fixed bug introduced in 7.33 where a SubIFD error was erroneously reported
when writing an already edited NEF image
July 6, 2008 - Version 7.35
- Added two new Nikon LensIDs (thanks Geert De Soete and Jens Duttke)
- Added XMP-pdf:Trapped tag
- Added Composite:GPSAltitude tag (like Composite:GPSLatitude/GPSLongitude)
- Added a couple of new PentaxModelID values
- Decode Canon 450D Sharpness tag (thanks Bogdan)
- Decode Nikon D300 AFAreaMode and AutoFocus tags (thanks Jens Duttke)
- Extract Pentax SaturationInfo as an Unknown tag (thanks Dave Nicholson)
- Renamed Canon LensType string tag (ID 0x0095) to LensModel
- Changed JFIFVersion print conversion to match the formatting used in the
JFIF specification
- Fixed a Minolta LensID entry for Tamron lenses
- Fixed problem excluding XMP family 1 groups from deletion in some file types
June 28, 2008 - Version 7.34
- Added names for a few more of the Unknown Photoshop tags
- Added support for XMP files with leading XML comments
- Added support for older XMP "x:xapmeta", and XMP without "x:xmpmeta" element
- Changed priority of XMP:Source tags when writing so XMP-photoshop:Source is
now preferred over XMP-dc:Source
- Renamed Photoshop IPTCDigest to CaptionDigest and removed Unknown status
- Improved parsing of IPTC time values when writing, and assume the local
timezone (if available) instead of UTC when a timezone is not specified
- Improved handling of lists that exist in multiple groups in the same file
- Disabled shifting of List-type date/time tags (allows += to add list items)
- Reduced priority of XMP-exif and XMP-tiff tags so these values don't
override more reliable EXIF and TIFF tags when extracting information
without specifying a group
- Fixed quirk where exiftool could add an extra padding byte to the makernotes
- Fixed incorrect tag ID that prevented ImageStabilization from being decoded
in Sony DSLR-A100 images (thanks Ger Vermeulen)
- Fixed problem where error/warning messages could be duplicated for
subsequent files when copying tags from multiple files
June 21, 2008 - Version 7.33
- WARNING: Older ExifTool versions will not properly rewrite DNG 1.2 images
which contain multiple color profiles
- Added DNGVersion check to avoid future problems with major DNG revisions
- Added support for new DNG version 1.2.0.0 tags
- Added support for XMP PLUS License Data Format 1.2.0 tags
- Added a new Pentax LensType (thanks Peter)
- Added a new Canon LensType
- Added support for user-defined XMP structures
- Decode a few new Sony tags (thanks Marcus Holland-Moritz)
- Decode Nikon Capture NX 2 NikonICCProfile information (thanks Jens Duttke)
- Extract MP3 VBR and ID3Size tags
- Improved accuracy of MP3 Duration calculation (account for VBR and ID3Size)
June 12, 2008 - Version 7.32
- Added a new Pentax LensType (thanks yeryry)
- Decode ColorBalance information for Canon 450D and 1000D
- Fixed names of a few NikonCapture D-LightingHQ tags (thanks Jens Duttke)
- Fixed bug where a List-type tag was not created when simultaneously adding
and deleting values from the list
June 10, 2008 - Version 7.31
- Added proper support for special characters in PDF text strings
- Added support for a number of new XMP tags written by Adobe Lightroom 1.4
- Added ability to write XMP-xmp:ThumbnailsImage
- Added Photoshop IPTCDigest tag
- Added two new Nikon LensID's (thanks Jens Duttke)
- Added a new Pentax LensType (thanks Bogdan)
- Added a new CanonModelID for the EOS 1000D
- Decode a few new Pentax tags (thanks Dave Nicholson)
- Increased precision of GPS coordinates when copying with -tagsFromFile
- Fixed problem which could result in "Argument isn't numeric" runtime warning
when attempting to write an Unknown value to a bitmapped tag
May 31, 2008 - Version 7.30 (production release)
- Adjusted MakerNote error checks to be a compromise between 7.28 and 7.29
- Fixed various htmlDump problems
- Fixed bug which could cause runtime warnings when attempting to write
certain types of unsupported images
May 28, 2008 - Version 7.29
- Renamed Pentax ModelRevision tag to ProductionCode and improved print
conversion to indicate if camera has been serviced
- Added check to prevent EXIF tags from being written to JPEG images if they
would obviously exceed the maximimum JPEG segment size limit
- Relaxed error checks when writing JPEG images to allow MakerNotes to be
rebuilt if the MakerNote IFD is not contained within the MakerNotes data
- Fixed decoding of Pentax ExternalFlashGuideNumber when AF360 is used with
the wide angle panel
- Fixed unnecessary "Multiple new values for IFD0 tag 0x927c" warning which
could occur when copying MakerNotes from some images
May 26, 2008 - Version 7.28
- Added new Canon CustomFunctions values from the EOS 1DmkIII firmware update,
and a new CanonExposureMode value (thanks David Pitcher)
- Added a new Olympus LensType (thanks Viktor Lushnikov)
- Decode Pentax ExternalFlashBounce tag (thanks Cvetan Ivanov)
- Renamed Pentax ExternalFlashZoom tag to ExternalFlashGuideNumber and
improved decoding (thanks Cvetan Ivanov)
- Fixed bug which could prevent maker notes from being copied when copying all
tags from a file containing a PreviewImage
- Fixed problems decoding some Sony ARW images
- Fixed problem writing some makernote values in sub-IFD's
- Fixed "APP1 segment to large" problem where PreviewImage was not dropped
as it should have been when copying all tags from some RAW images
May 24, 2008 - Version 7.27 - "GIF+XMP"
- Added ability to read/write XMP in GIF images
- Added ability to write to GIF87a images (by upgrading them to GIF89a)
- Added GIFVersion tag
- Improved decoding of Canon 1DmkIII/1DSmkIII TimeStamp tags
- Changed print conversion of EXIF/XMP GPSStatus tags to make more sense
- Fixed bug introduced in version 7.22 that could cause exiftool to abort with
an "'x' outside string" error when processing some DNG images
- API Changes:
- Extract FileSize information from images passed as a scalar reference
May 21, 2008 - Version 7.26
- Added write support for FujiFilm FinePix S5 Pro V1.04 RAF images
- Added support for new Kodak TIFF-format maker notes used by the Z1085
- Added new Pentax and Nikon LensType's (thanks Jens Duttke, Dave Nicholson
and Robert Rottmerhusen)
- Added some new Minolta LensID's (thanks Thomas Kassner)
- Added new CanonModelID's and a 1DmkIII TimeStamp (thanks Ger Vermeulen)
- Decode a number of new Pentax K10D tags (thanks Dave Nicholson)
- Decode Panasonic Title tag (thanks Jens Duttke)
- Recognize a few more uncommon top-level QuickTime atoms
- Changed decoding of some Olympus tags for new E-520
- Changed warning when empty PrintIM data is encountered (ie. as written in
Sony A700 ARW files when Adobe RGB color mode is used)
- Dropped Canon PreviewFocalPlaneX/YResolution tags since they never really
existed (thanks Ger Vermeulen for pointing out the Canon bug which lead to
this false assumption)
- Fixed duplicate tag problem with Pentax LensData when -U option used
- Fixed bug which could cause a runtime warning when copying Nikon maker notes
- Fixed bug in exiftool application which could cause all tags to be copied
instead of just the specified tags when creating an output XMP or MIE file
and using the -tagsFromFile option
Apr. 18, 2008 - Version 7.25 (production release)
- Added read support for DIVX video files
- Added a new Nikon LensID (thanks Tanel Kuusk)
- Decode a number of new Pentax K10D tags and values (thanks Dave Nicholson)
- Decode a few new Nikon tags (thanks Jens Duttke)
- Decode Nikon VignetteControl tag found in D3 images with new 1.10 firmware
(thanks Alexandre Naaman)
- Improved formatting of video duration times
- Improved print conversion for video Compression values
- Apply print conversion for XMP:FocalLengthIn35mmFormat to add "mm"
- Fixed MIME type of JPEG 2000 images
- Fixed problem decoding new Nikon D300 AFPrioritySelection tags
- API Changes:
- Fixed CanWrite so it returns false for non-writable TIFF-based files
Apr. 10, 2008 - Version 7.24
- Added read support for SVG (Scalable Vector Graphics) images
- Added support for non-standard Apple iPhone PNG images
- Added support for ISL maker note format
- Added a couple of new Olympus LensType's
- Added a few new Nikon LensID's (thanks Robert Rottmerhusen)
- Added values for various Sony tags (thanks Jens Duttke)
- Decode Nikon D300 custom settings (thanks Jens Duttke)
- Decode Nikon D300 AFFineTuneAdj (thanks Neil Nappe)
- Decode a number of new Pentax tags and values (thanks Jens Duttke)
- Decode a number of new QuickTime tags, including 'mdta' information
- Decode a missing Custom Function for Canon 450D
- Avoid extracting any unknown tag in binary data tables when -u option used
- Avoid writing Canon 1D/1DS RAW images masquerading as TIF (writing 1D
RAW images is not yet supported)
- Improved parsing of AFCP ThumbnailImage and PreviewImage
- Downgraded errors in the NikonScan and NikonPreview IFD's to allow writing
of images with these problems without requiring the -m option
Mar. 27, 2008 - Version 7.23
- Decode a number of new Pentax K20D/K200D tags and values
- Fixed bug introduced in 7.18 which caused "Error parsing XMP" warning when
deleting all XMP and writing new XMP tags in the same step
Mar. 25, 2008 - Version 7.22
- Added support for Olympus-style Sony makernotes (DSC-S45/500/650/700/750)
- Added %c 'n' modifier to number output files from 1 instead of 0
- Added Extra "Now" tag used for setting a tag value to the current date/time
- Added a new Nikon LensID (thanks Jens Duttke)
- Added ability to specify byte order for EXIF Unicode text and fixed problem
where text wasn't always written in EXIF byte order by default
- Added a new Canon LensType (thanks Hal Williamson)
- Added a few new CanonModelID values
- Decode a new Pentax K20D tag and add a few new values to other tags (thanks
Jens Duttke)
- Recognize non-standard Nikon ICC Profile files
- Improved error checking when writing a JPEG image with a bad IFD
- Fixed bug where IFD0 could be deleted when writing JPEG with a bad IFD1
- Fixed some Olympus LensType names for Leica lenses
- Fixed problem extracting some writable directories as a block
- Fixed bug which could cause "Not an ARRAY" error when reading PDF files
Mar. 12, 2008 - Version 7.21 (production release)
- Added support for Leica M8 maker notes (in both DNG and JPEG images)
- Added ability to write encrypted Nikon makernote information (!!)
- Added a new Olympus Leica lens (thanks Chris Shaw)
- Decode a couple of new Canon 40D and 1DmkIII tags (thanks Chris Huebsch)
- Decode Adobe RAF data in DNG images
- Decode a few new Nikon D3 and D300 tags (thanks Jens Duttke)
- Calculate VideoFrameRate for QuickTime MOV videos
- Marked DNG OriginalRawFileName and OriginalRawFileData as "unsafe" to copy
- Changed decoding of Casio BestShotMode
- Renamed Nikon NEFCurve tags (thanks Jens Duttke)
- Patched problem parsing OriginalDecisionData for the Canon EOS 5D
Mar. 7, 2008 - Version 7.20
- Added a few new Minolta LensID's
- Added two more TIFF-IT tags to the EXIF table
- Added a number of new RIFF and ASF Audio Encoding values
- Added a new new values for some Canon tags (thanks Dave Nicholson)
- Decode a number of new Pentax K10D tags (thanks Dave Nicholson)
- Decode a number of new MP4/QuickTime tags
- Decode makernotes in Casio, Kodak, Minolta, Olympus and Ricoh AVI and MOV
videos
- Improved decoding of Casio maker notes and decode a few new tags (thanks
Jens Duttke)
- Removed incorrect CanonD30 ColorTemperature and ColorMatrix tags
- Fixed Location translation in iptc2xmp.args and xmp2iptc.args
- Fixed problem decoding some Nikon tags in images edited by Capture NX
- Fixed decoding of InternalSerialNumber for Canon 5D
- Fixed decoding of Nikon D3 color balance information
- Fixed decoding of Minolta 7D FocusMode (thanks Jens Duttke)
Feb. 25, 2008 - Version 7.19
- Added a new Pentax LensType and some new Panasonic NoiseReduction values
(thanks Jens Duttke)
- Decode Nikon D40 and D40X custom settings plus a couple of other tags
- Decode a couple of new Pentax K10D tags (thanks Dave Nicholson)
- Improved reliability of Canon FocalPlaneXSize and FocalPlaneYSize tags
- Recognize HP Type2 maker notes in images from other makes
- Write TIFF ApplicationNotes in 'int8u' format as per XMP specification
- Made TIFF ApplicationNotes writable as a block
- Changed HtmlDump to show actual IFD format if different than read format
- Changed some MeteringMode strings to be more consistent
- Fixed problem adding back JFIF information after deleting JFIF group
Feb. 21, 2008 - Version 7.18
- Added ability to exclude XMP family 1 groups from deletion
- Added patch to recognize new Ricoh R50 maker notes
- Added a new Minolta LensID (thanks Jens Duttke)
- Decode AFPointsUsed for Nikon D3 and D300 (thanks Jens Duttke)
- Decode a couple of new Pentax K10D tags (thanks Dave Nicholson)
- Improved decoding of Nikon FlashInfo tags (thanks Jens Duttke)
- Renamed Olympus FlashExposureCompensation tag to FlashExposureComp
- Patched problem with Perl 5.10.x which broke conversion of UTF8 strings
- Fixed problem where an ExposureTime of 1 second was ignored in CRW images
- Fixed problem where special characters were not handled properly when using
the -L option while copying IPTC tags
- Fixed bug which could cause a runtime error when attempting to write JFIF
information after deleting JFIF:all in the same step
Feb. 16, 2008 - Version 7.17
- Extract duplicate tags when -p option is used
- Fixed bug introduced in 7.00 which broke the use of group family numbers and
groups ending with a digit in tag format strings (ie. "$IFD0:Model")
Feb. 14, 2008 - Version 7.16
- Added a couple of new Pentax LensTypes (thanks Jens Duttke)
- Added a few more EXIF:Compression values
- Decode color balance levels in Leaf MOS images
- Decode a number of new tags from JPEG, TIFF, KDC and DCR images of older
Kodak models
- Improved decoding of TIFF SampleFormat tag
- Made a number of DNG tags "unsafe" so they aren't copied by default
- Allow JPEG EXIF segment to be deleted and a new EXIF segment to be created
with a different byte order in a single command
- Attempted to improve reliability of ScaleFactor35efl calculation for newer
Canon models
- Fixed a couple more places where we still needed a space before "mm"
- Fixed problem with LightValue calculation which caused failed tests for Perl
5.6.2 on Darwin
Feb. 5, 2008 - Version 7.15 (production release)
- Added a few new CanonModelID's and PentaxModelID's
- Added support for new Pentax K20D/K200D values for some tags
- Added a few new Nikon LensID's (thanks Robert Rottmerhusen)
- Decode a few new Sigma tags, including PreviewImage
- Decode a few more tags in Canon CRW images (thanks Dave Nicholson)
- Improved Sony ARW parsing (fix some problems and extract more tags)
- Improved handling of timezone when writing EXIF and XMP information (the
timezone is now added to XMP date/time values and removed from EXIF
date/time values if necessary unless the -n option is used)
- Recognize a few more FLV AudioEncoding and VideoEncoding values
- Allow "pseudo" tags to be copied from unrecognized file types
- Made FileModifyDate an "unsafe" tag so it isn't copied unless specified
- Changed all "sec" units to "s" with a leading space for consistency
- Fixed bug introduced in version 6.91 that could prevent some XMP date/time
tags from being written when copying with "-all:all"
Jan. 25, 2008 - Version 7.14
- Added read support for Kodak KDC raw images
- Added ability to read/write Canon OriginalDecisionData in JPEG, CR2 and DNG
images
- Added ValueConv translations for some of the new Nikon PictureControl tags
- Decode a number of new Nikon tags (thanks Jens Duttke and Gregor Dorlars)
- Decode Canon CR2Segmentation tag
- Decode a new Canon CustomFunction of the EOS 450D
- Improved handling of mandatory tags in EXIF information
- Changed all FocalLength print conversions to add a space before "mm"
- Renamed Canon Self-timer tags to SelfTimer for consistency
- Fixed some problem with -htmlDump for some types of trailer information
- Fixed problem which could give a runtime warning when attempting to delete a
permanent tag
Jan. 17, 2008 - Version 7.13
- Decode a couple more Nikon and Sony tags
- Decode Windows HD Photo "Padding" tag
- Recognize HDP (Windows HD Photo) file extension
- Designated EXIF CompressedBitsPerPixel and ComponentsConfiguration as
"unsafe" tags so they aren't copied by -tagsFromFile by default
- Changed priority of new Nikon D3/D300 ISO tag
- Changed Canon LensType for a Tamron lens (thanks Monica Wallek)
- Fixed incorrect TagID for new Panasonic Sharpness tag
Jan. 15, 2008 - Version 7.12
- Added read support for ITC (iTunes Cover Flow) files
- Added ability to deal with corrupted IPTC written by Nikon Capture NX
- Added a few new Canon LensType's (thanks Steve Balcombe)
- Decode a number of new Nikon D3/D300 tags (thanks Gregor Dorlars)
- Decode a number of new FujiFilm and Panasonic tags and values
- Decode ColorBalance information for the Canon 40D, 1DmkIII and 1DSmkIII
- Improved decoding of Nikon D80 VibrationReduction tag (thanks Jens Duttke)
- Renamed Pentax WBShiftBA and WBShiftGM tags to WBShiftAB and WBShiftMG (now
more consistent with Pentax software, but inconsistent with Canon naming)
- Fixed a CanonImageHeight tag which was incorrectly named CanonImageWidth
Jan. 10, 2008 - Version 7.11
- Decode a number of new Canon tags and improved decoding of many old tags
- Renamed EXIF:RelatedImageLength to RelatedImageHeight (hopefully all
ImageWidth/Height tag names are now consistent)
Jan. 7, 2008 - Version 7.10
- Added support for escape sequences and continuation comments in EPS files
- Added ability to read/write Sony A700 PreviewImage (tag 0x2001)
- Added a new Sony ColorMode value (thanks Philippe Devaux)
- Decode a number of new Minolta tags
- Improved handling of newlines when writing PDF information
- Improved decoding of Canon 40D and 1DmkIII FocusDistance tags (thanks
Wolfgang Hoffmann)
- Fixed problem creating multiple output meta files with some commands
- Fixed problem deleting XMP by value for strings with escaped characters
- Fixed bug when trying to write output image to console with "-o -"
- Fixed problem where %c (copy number) was changed when the new file name
should have been the same as the source file
Jan. 3, 2008 - Version 7.09
- Decode Canon ThumbnailImageValidArea
- Improved decoding of some Olympus tags (thanks Frank Ledwon)
- Improved decoding of some Pentax tags (thanks Dave Nicholson)
- Improved error messages when writing PDF files
- Changed XMP-cc namespace URI (spec apparently changed for some reason)
- Changed Photoshop XMLData to a binary data tag
- Changed conversion strings for Canon ModifiedSharpnessFrequency values
- Changed Olympus NoiseReduction "ISO Boost" value back to "Noise Filter (ISO
Boost)"
- Fixed minor problem writing PDF cross-reference stream after multiple edits
- Fixed problem redirecting some verbose output to an output text file
Dec. 21, 2007 - Version 7.08
- Added write support for PDF files which use only cross-reference streams
- Added a number of new Olympus tags, and changed names of some existing tags
- Fixed problem decoding some PDF cross-reference streams
- Fixed bug introduced in 7.07 which broke copying between two List-type tags
Dec. 18, 2007 - Version 7.07
- Added ability to write XMP and PDF information to PDF files, with revert
capability! (use "-PDF-update:all=" to undo all exiftool edits)
- Added PDF:AppleKeywords tag (written by Apple Preview)
- Added Composite FOV (Field Of View) tag
- Added a few more Minolta/Sony LensID's
- Added new Canon and Pentax LensType's (thanks Magne Nilsen and Jens Duttke)
- Added "Nothing changed" message in verbose mode for files that weren't
changed when writing
- Added minor warning when invalid IFD entries are removed during writing (you
will get this, for instance, when ExifTool fixes the entry count problem in
Canon EOS 40D firmware 1.0.4 maker notes)
- Patched Canon 40D firmware 1.0.4 problem for JPEG images too
- Decode specified "unknown" zero values for four EXIF tags (ExposureProgram,
LightSource, MeteringMode and SubjectDistanceRange) instead of handling as a
truly unknown value (if this makes sense)
- Extract PreviewImage from newer Panasonic RAW images (thanks Jens Duttke)
- Recognize Pentax-type Kodak maker notes (ie. Easyshare 883)
- Made "Entries out of sequence" a minor warning since this problem is fixed
- Allow decimal seconds to be written in time values without needing to use -n
- Improved parsing of PDF files
- Improved behaviour when copying List-type tags to to non-List tags
- Improved exiftool summary message for files that were copied without changes
- Adjusted Pentax K10D battery percentage calibration
- Changed names of Pentax FirmwareID tags
- Fixed runtime warning that could occur with some invalid tag names
- Fixed problem decoding Pentax:LensCodes for some images (thanks Jens Duttke)
- API Changes:
- Also allow File::RandomAccess reference as argument to ImageInfo()
Dec. 7, 2007 - Version 7.06
- Permanently fix MakerNote offsets with -F option when writing
- A few more Pentax tag improvements (thanks Dave and Jens)
Dec. 6, 2007 - Version 7.05
- Patched problem rewriting Canon 40D CR2 images caused by bug in the 40D
firmware 1.0.4 which writes an improperly formatted MakerNote IFD
- More improvements in decoding Pentax K10D tags (thanks Dave Nicholson)
- Translate non-standard XMP namespace prefixes
- Changed a couple of Kodak Meta tags to Binary data type
- Renamed Pentax MeasuredLV to EffectiveLV (thanks Jens Duttke)
Dec. 3, 2007 - Version 7.04
- COMPATIBILITY WARNING: Renamed EXIF:ExifImageLength to ExifImageHeight and
XMP:GPSTimeStamp to GPSDateTime
- Added write support Minolta A200 MRW images
- Added read support for Hasselblad 3FR raw images
- Added a few new Nikon LensID's (thanks Robert Rottmerhusen)
- Added a new Canon LensType (thanks Bogdan)
- Added ability to insert a newline using "$/" in a print format string
- Decode some new FujiFilm and Pentax tags (thanks Jens Duttke)
- Decode some new Pentax and Canon tags (thanks Dave Nicholson)
- Recognize a few new Olympus lenses (thanks Michael Meissner)
- Improved decoding of Sony ARW images and added support for A700
- Improved warnings for HtmlDump option
- Improved string parsing when writing date/time tags
- Fixed problem extracting Canon CRW RGGB values from DNG images
Nov. 17, 2007 - Version 7.03
- Fixed problem deleting XMP family 1 groups from JPEG images
Nov. 16, 2007 - Version 7.02
- Added ability to delete XMP family 1 groups (ie. "-XMP-crss:all=")
- Fixed problem writing XMP as a block to XMP file
Nov. 15, 2007 - Version 7.01
- Added ability to write FujiFilm RAF images (thanks Jens Duttke)
- Added -T option (equivalent to -t -S -q -f)
- Decode a number of new Pentax tags and values (thanks Dave Nicholson)
- Decode a new Canon LensType value (thanks Bogdan)
- Decode the not-so-accurate FocusDistanceUpper and FocusDistanceLower in
Canon EOS 1DmkIII and 40D images (thanks Heiko Hinrichs)
- Allow FileSource tag to be assigned values outside the EXIF standard
- Made ImageSourceData a protected tag
- Avoid loading huge binary data blocks into memory unless necessary (avoids
out-of-memory problem when processing huge, layered Photoshop TIFF images)
- Improved HtmlDump speed and memory usage by not loading "snipped" data
- Improved decoding of Nikon ShootingMode
- Various improvements and bug fixes when reading FujiFilm RAF information
- Fixed problem decoding CRW images where ImageWidth wasn't extracted with -U
Oct. 23, 2007 - Version 7.00 (production release)
- IMPORTANT: Fixed problem writing ORF images from newer Olympus cameras which
could lead to errors when the image is opened by another utility (affected
images may be repaired by rewriting with this version of ExifTool)
- Added -ScanForXMP option
- Added ability to extract ID3v2 PRIV tags (including XMP) and the ID3:MCDI
tag (plus unknown ID3v2 tags with the -u option)
- Added new PentaxModelID's for Optio V10 and A40
- Added support for Casio-like and HP-like Pentax maker notes
- Added ICC_Profile WCSProfiles tag (thanks Jens Duttke)
- Added ability to write and create CanonVRD as a block
- Added ability to shift GPSTimeStamp tag
- Added ability to write DNG AsShotICCProfile and CurrentICCProfile tags
- Decode VRDOffset tag in Canon MakerNotes
- Shortcuts may now be used in redirections and expressions, and with group
names
- Improved decoding of CanonVRD information (also decode new DPP 3.0 tags and
fixed a problem which could give a "Possibly corrupt CanonVRD" warning)
- Improved decoding of FujiFilm RAF images, and extract JPEG Preview
- Improved handling of Pentax Casio-style maker notes
- Improved conversion for Pentax K10D AFPointsInFocus
- Enhanced Composite tag syntax to simplify user-defined tag definitions
- Changed decoding of Nikon VibrationReduction 0x0075 tag
- Changed a number of Pentax and Casio tags to improve consistency
- Dump unsupported files with -htmlDump only if -u option is used
- Fixed problem which could cause a virtual hang when writing large EPS files
- Fixed problem of misleading error messages when attempting to write
unsupported file formats
- Fixed problem outputting list-type tags with -b option
- Fixed bug where the "image files created" count could miss some files
- Fixed problem where "Error rebuilding maker notes" warning could be issued
in cases where the maker notes do not need rebuilding
Oct. 6, 2007 - Version 6.99
- Added support for IView MediaPro XMP tags
- Added ability to read multiple comments from GIF89a images
- Added some new PentaxModelID's (Optio L20, T20, Z10)
- Added minor warning for unknown JPEG APP segments when -u option is used
- Extract information from JPEG APP13 "Adobe_CM" segment
- Improved -htmlDump output to show TIFF image data and trailer (the TIFF dump
is now complete)
- Improved decoding of Minolta WhiteBalance for some DiMAGE models
- Improved decoding of Panasonic FirmwareVersion when -n option is used
- Increased precision of 64-bit rational conversion from 7 to 10 digits
- Fixed problem which caused failed tests with Perl 5.005_05
- Fixed problem where some groups could not easily be excluded when deleting
all other information (ie. "-all= --exif:all" now behaves as expected)
- Fixed problem decoding ICC Profile "dtim" format values
- Fixed typo in a Minolta FlashMetering value (thanks Jens Duttke)
- Fixed problem in API which could result in a UTF-8 encoded file not being
properly identified if it was passed as a scalar reference to WriteInfo()
Sept. 23, 2007 - Version 6.98
- Added ExifByteOrder tag (writable to set byte order for new Exif segments)
- Added CanonModelID for new EOS-1Ds Mark III
- Added value conversions for Pentax AEFlashTv, AEXv and AEBXv tags
- Decode Pentax ShutterCount (with help from Jens Duttke)
- Decode Pentax AFPointsInFocus for newer DSLR models (thanks Jens Duttke)
- Improved decoding of a Pentax LensType (thanks Jens Duttke)
- Renamed Pentax AutoAFPoint to AFPointsInFocus and improved conversion
- Renamed Pentax AEDump to AEMeteringSegments and converted values to
approximate LV equivalent units
- Fixed problem where some warnings were not being properly handled when
attempting to write an invalid value to some tags
Sept. 14, 2007 - Version 6.97
- Added support for Canon EOS 40D Custom Functions
- Added ability to decode new Nikon D3 and D300 LensData
- Added a few new Nikon LensID's (thanks Robert Rottmerhusen)
- Decode Olympus NoiseFilter tag (thanks Ioannis Panagiotopoulos)
- Decode a few new Nikon ShotInfo tags (thanks Jens Duttke)
- Improved decoding of Canon AF point information
- Improved decoding of Nikon HighISONoiseReduction
- Renamed Nikon VRState to VibrationReduction
- Fixed typo which prevented some Olympus MakerNote tags from being written
Sept. 5, 2007 - Version 6.96
- Added ability to read/write XMP alternate languages
- Added ability to create new GPS information in Panasonic RAW images
- Added a few new PentaxModelID's (Optio E40, M40 and S10)
- Added a couple of new Pentax LensType's (thanks Jens Duttke)
- Added a new Olympus Sigma LensType (thanks Jens Duttke)
- Added EOS 40D CanonModelID and prepared for new 40D custom functions
- Decode a large number of new Canon tags
- Decode SerialNumber from previously unknown maker notes of some Kodak models
- Decode Olympus ImageStabilization tag (thanks Jens Birch)
- Improved decoding of Canon Self-timer and AFPoint values
- Improved decoding of some tags for high end Canon EOS models
- Renamed Pentax LensCoefficients to LensCodes and print 16 values
- Renamed Panasonic ImageStabilizer to ImageStabilization
- Renamed all AFPointsUsed tags to AFPointsInFocus
- Fixed decoding of ICC_Profile DeviceAttributes
Aug. 21, 2007 - Version 6.95
- Added support for new Kodak IFD-format makernotes used by the P712, P850,
P880, Z612 and Z712
- Added a few new Nikon LensID's (thanks Robert Rottmerhusen)
- Added LensType's for 2 new Pentax DA* lenses (thanks Jens Duttke)
- Added 2 new FujiFilm S5 WhiteBalance values (thanks Paul Samuelson)
- Added a number of new CanonModelID's
- Extract TIFFPreview from DOS EPS images
- Decode a number of new Panasonic tags, and added a number of new SceneMode's
- Decode FujiFilm S5 ColorTemperature tag (thanks Paul Samuelson)
- Improved handling of unknown XMP list-type tags
- Suppress EPS 'unterminated Document data' warning
- Fixed decoding of ASCII-type Panasonic FirmwareVersion
- Fixed bug calculating leap years for years outside the range 1601-2399
- API Changes:
- Changed WriteInfo() behaviour to be more consistent when editing file in
place and a new FileName is specified (original file is now deleted)
- Improved warning message when trying to write an 'unsafe' tag
July 26, 2007 - Version 6.94
- Added a few new XMP-crs tags
- Added ability to create a new Photoshop IRB record in TIFF-format images
- Added a few new EXIF:Compression values (thanks Jens Duttke)
- Added a number of new Panasonic/Leica tags, and changed the names of some
Panasonic tags, including reverting FirmwareVersion (thanks Jens Duttke)
- Added test for Unknown (Bulb) Pentax ExposureTime value (thanks Jens Duttke)
- Added a new Nikon LensID (thanks Vladimir Sauta)
- Avoid extracting information from documents embedded in EPS images
(this is temporary; eventually I want to figure out a way to allow this
information to be extracted separately)
- Decode Red/BlueBalance from Leica Digilux 2 RAW images (thanks Jens Duttke)
- Changed conversion for Sony A100 Rotation tag to conform to EXIF:Rotation
- Changed decoding of one of the Pentax ExternalFlashBounce tags (thanks
Michael Meissner)
- Extract EncodingProcess, BitsPerSample, ColorComponents and YCbCrSubSampling
from JPEG SOF segment
- Show raw horizontal/vertical widths in the converted YCbCrSubSampling value
- Improved conversion of some Pentax tags (thanks Jens Duttke)
- Avoid loading data blocks larger than 16MB from QuickTime images
- Allow PDF:Keywords to be comma-delimited
- Fixed problem where a tag would be removed from both IFD0 and ExifIFD even
if only IFD0 or ExifIFD was specified
- Fixed problem with byte order mark showing up in output when decoding
hex-encoded Unicode values from PDF images
- Fixed problem where ExifTool could hang when reading corrupted ASF files
- Fixed possible problem with infinite recursion in FlashPix-format files
July 6, 2007 - Version 6.93
- Added read support for BigTIFF images (with extensions BTF, TIF and TIFF)
- Added a number of new Olympus tags and fixed decoding of a few others
(thanks Jens Duttke)
- Added a number of new SigmaRaw tags (found in SD14 X3F images)
- Changed conversion for Canon LensType 152 (used by various Sigma models)
- Fixed problem editing XMP containing new "Camera Raw Saved Settings"
properties (written by Adobe Lightroom)
June 29, 2007 - Version 6.92
- Added read support for FLV (Flash Video) files
- Added read support for EXIF and IPTC and write support for EXIF, IPTC and
XMP in JPEG 2000 images
- Added read/write support for Sinar CS1 raw images
- Added read support for Kodak DCR and K25 raw images
- Added ability to read/write improperly byte-swapped IPTC information
- Added check for infinity value of Casio ObjectDistance
- Added a new Nikon LensID (thanks Bruce Stevens)
- Improved decoding of APP12 "Ducky" segment (thanks Heinrich Giesen) and
added write/create support
- Improved handling of warning messages when setting new values
- Changed print conversion for Olympus PictureModeSaturation,
PictureModeContrast and PictureModeSharpness to label min and max values
- Fixed problem introduced in 6.91 when writing some EPS images
- Fixed group names for Pentax CameraInfo tags
- Fixed bug which could result in negative Canon SerialNumber values
- Fixed decoding of some Canon EOS 1DmkIII custom function values
- Fixed problem copying subdirectories in new-style Olympus maker notes
- Fixed problem of missing last character when decoding ID3 Unicode strings
- Fixed problems decoding some ID3 URL values
- Fixed inconsistency where the -if option may have used a different tag than
the one normally extracted when a group name was specified and multiple
matching tags existed in the group
June 5, 2007 - Version 6.91
- Added support for new XMP-lr, XMP-photoshop and XMP-DICOM tags of PS CS3
- Added new Sigma lens to Pentax LensID list
- Added a few new Nikon and Canon LensID's (thanks Jens Duttke)
- Added Canon IXY Digital 810 IS to CanonModelID
- Recognize Photoshop "AgHg" resource type
- Removed "warnings" dependency in exiftool application
- Updated XMP:FileSource values to match EXIF:FileSource
- Greatly improved processing speed for some large EPS images
- Improved handling of XMP date/time formatting
- Officially support writing of MEF images
- Applied patch to convert Pentax LensType for changes in K10D firmware 1.2
- Fixed decoding of Pentax BatteryBodyGripStates (thanks Jens Duttke)
May 10, 2007 - Version 6.90 (production release)
- Added CanonModelID values for new PowerShot S5 IS and SD850 IS
- Encode IPTC values in default CodedCharacterSet when writing new values at
the same time as deleting the existing CodedCharacterSet
- Renamed Nikon FirmwareVersion to MakerNoteVersion and Panasonic
FirmwareVersion to ProductionVersion (thanks Jens Duttke)
- Allow EXIF GPS coordinates to be negative when writing (take absolute value)
- Revert "$evalWarning" fix (false alarm)
May 7, 2007 - Version 6.89
- Added support for maker notes of some Hewlett-Packard models
- Decode Pentax ImageProcessing tag
- Fixed problem which gave "$evalWarning" errors on some systems
May 2, 2007 - Version 6.88
- Added read support for Mamiya MEF images
- Implement long overdue change to standardize FocalPlaneResolutionUnit values
- Decode Panasonic BabyAge + some new ShootingMode values (thanks Jens Duttke)
- Improved recognition of maker notes for some camera models
- Fixed bug that could cause an incorrect "tag is not writable" warning
- Fixed problems converting WDP PixelFormat values
- Fixed decoding of Canon 350D AFPointsUsed (thanks Bogdan)
- API Changes:
- Added option to allow makernote block to be extracted without rebuilding
Apr. 26, 2007 - Version 6.87
- Added read/write/delete support for recognized trailers in PSD images
- Added PhotoMechanic IPTC:Prefs tag
- Added ability to decode double-UTF-encoded XMP files
- Added a few more Canon, Pentax and Nikon lens types (thanks Hayo Baan and
Robert Rottmerhusen for Nikon entries)
- Added ability to create new user-defined MIE groups
- Decode a new Nikon lens tag: ExitPupilPosition (thanks Robert Rottmerhusen)
- Increased precision (from 20m to 2mm) when writing XMP GPS coordinates
- Renamed Panasonic SpotMode tag to AFMode and improved decoding
- The -e (Composite) option now also applies when copying tags
- Minor changes to IPTC verbose output and error handling
- Minor changes to a few warning messages
- Avoid converting XMP values as rational or date if tag is known and not
specified with these formats
- Identify CR2 header and Canon MakerNote footer in -htmlDump output
- Reverted change from version 6.85 to once again allow JPEG thumbnails to be
written to TIFF-type images (perfectly valid for many TIFF-based RAW formats
even though it isn't technically correct in a proper TIFF)
- Added test to check for invalid encoding when Image::ExifTool is loaded
- Fixed problem shifting Canon:TimeStamp tag
- Fixed failed FlashPix test on Cygwin Perl 5.8.2 (roundoff errors again)
- Fixed problem where some types of write errors could result in exiftool
reporting that a file was updated when it wasn't
Apr. 10, 2007 - Version 6.86
- Added -execute, -srcfile and -common_args options to allow complex
processing with multiple commands in a single invocation
- Added ability to write Panasonic RAW files
- Added Panasonic ConversionLens tag
- Improved decoding of Panasonic/Leica Contrast and SpotMode tags
- Changed -@ to insert arguments at the current position in the command line
(rather than at the end)
- Once again automatically fix Canon maker note offsets (this feature was
removed in 6.84 due to a bug bug report that turned out to be a false alarm)
- Fixed bug in -if option which could incorrectly cause a failed condition
when using expressions containing multiple tags with proper-case names
- Fixed problem extracting binary data when -if option was used
- Fixed bug which caused error when setting CodedCharacterSet to "UTF8"
- Fixed decoding of InternalSerialNumber for FujiFilm FinePix F40fd
- Fixed problem using "-TAG+<=FMT" or "-TAG-<=FMT" on command line
Apr. 3, 2007 - Version 6.85
- Prevent JPEG thumbnail image from being written to TIFF-type images
- Fixed a couple of problems decoding Canon EOS 1D Mark III tags
- Fixed bug which generated an error message when rewriting maker notes in
Adobe-edited Pentax K10D native DNG images
Mar. 30, 2007 - Version 6.84
- Added a number of new XMP-crs tags, plus new XMP-lr (Adobe Lightroom) group
- No longer automatically fix Canon makernote offsets (but still use makernote
footer if present to calculate recommended fix)
- Fixed problem where some errors were not properly counted in the summary
statistics with the -overwrite_original_in_place option
- Fixed problem parsing XMP shorthand format for values containing '=' symbol
Mar. 24, 2007 - Version 6.83
- Automatically fix corrupted makernote offsets when reading images from Canon
models which include a makernote offset footer
- Added CanonModelID and CameraType values for 2 new Canon DV cameras
- Renamed SPIFF ResolutionUnits tag to ResolutionUnit
- Fixed formatting of GPSTimeStamp value
Mar. 20, 2007 - Version 6.82
- Added read/write support for new Canon EOS-1D Mark III custom functions
- Made a few makernotes warnings minor when writing
- Append "mm" to FocalLengthIn25mmFormat value
- Fixed problem which could cause "uninitialized value" warning when writing
- Fixed problem writing Canon EOS D60 custom functions
Mar. 17, 2007 - Version 6.81
- Added l/u modifiers for lower/uppercase in filename format codes (ie. "%le")
- Added equivalent IXY names to CanonModelID for PowerShot SD750 and SD1000
- Added a few new Pentax ModelID's (Optio E30, T30, W30, A30)
- Allow non-encrypted Nikon ColorBalance values to be written
- Fixed problem where some encrypted Nikon information was not properly
protected against writing
Mar. 14, 2007 - Version 6.80
- Added Olympus ManometerReading tag
- Added ability to edit private IPTC and XMP information found inside
PhotoshopSettings record of TIFF images
- Renamed NikonShotInfoVers tag to ShotInfoVersion and added
MultiExposureVersion tag
- Search further in MPEG file to look for first audio/video frame headers
- Use default resolution information from JPEG JFIF segment for mandatory EXIF
resolution tags when creating new EXIF segment
- Enhanced %c format code so %+c adds an underline before the copy number
Mar. 7, 2007 - Version 6.79
- Translate special characters in ID3 information when reading
- Improved conversions for GPSTimeStamp and GPSDateStamp when writing so they
can be set from a normal date/time tag (ie. "-gpstimestamp<createdate")
- Added support for Nikon D40X plus a new LensID (thanks Robert Rottmerhusen)
- Added a new Canon LensType (thanks Warren Stockton)
- Removed D70Boring shortcut tag
- Fixed minor problem in HtmlDump of MakerNotes header introduced in 6.78
- Fixed problem decoding second Pentax K10D LensType value for some lenses
Feb. 28, 2007 - Version 6.78
- Decode Nikon D200 multi-exposure tags
- Decode Canon BlackLevel tag and added a few new CanonModelID's
- Added support for new Olympus u760 maker note format (finally Olympus fixes
the major blunders of their older maker note design!)
- Added support for the rare Canon EOS K236 (variation of EOS 400D)
- Improved decoding of Canon EOS 1D Mark III tags
- Included PDF version of MIE format specification in distribution
- Reformat invalid EXIF date/time values when writing (unless -n option used)
- Minor updates to some Pentax tags for Optio M30
Feb. 20, 2007 - Version 6.77 - "XML/HTML special characters"
- Translate numeric character references when reading XMP
- Translate all HTML 4 character references to UTF-8 when reading HTML
- Translate all non-ASCII characters to HTML character entities with -h or -E
- Added full UTF-8 translation support when run with Perl pre-5.6.1
- Decode a few new Sigma SD14 tags
- Decode a couple more Nikon tags
Feb. 16, 2007 - Version 6.76 (production release)
- Added patch for Perl 5.6.x bug which caused an HTML test to fail
- Added a few new Pentax tags and fixed a LensType value (thanks Axel Kellner)
Feb. 14, 2007 - Version 6.75 (production release)
- Added read support for DOC, XLS and PPT documents
- Added Composite GPS tags to facilitate copying GPS between EXIF and XMP
- Added patch for problems in Sanyo J1, J2, J4, S1, S3 and S4 maker notes
- Added new Microsoft OffsetSchema tag (new, ill-conceived PhotoInfo tag)
- Decode more Pentax tags and improved decoding for some K10D tags
- Shortened tag name of HTML:MSSmartTagsPreventParsing to NoMSSmartTags
- Fixed oversight to allow new IPTC and XMP records to be added to ORF images
- Fixed problem extracting RIFF MakerNotes by tag name
- Fixed problem with drag-n-drop of Windows files on a network drive
- Fixed problem copying GPSAltitude from EXIF to XMP
Feb. 2, 2007 - Version 6.74
- Added support for chained SubIFD's in TIFF images
- Updated GeoTiff support for new definitions in libgeotiff-1.2.3
- Fixed problem when rewriting unknown records in Adobe DNGPrivateData
- Fixed bug introduced in 6.47 that could prevent Photoshop EXIF CameraRAW
tags from being extracted properly
Jan. 31, 2007 - Version 6.73
- Added read support for meta information in HTML and XHTML documents
- Added ability to write certain EXIF tags (ie. UserComment) as Unicode
- Added character set translation for XMP information; the -L option now works
for all common meta information formats! (see updated FAQ #10 for details)
- Added a few more XMP-microsoft tags (thanks Kees Moerman)
- Decode FirmwareRevision found in some Canon PowerShot models
- Preserve date/time tags that exist in the wrong EXIF IFD when shifting times
- Fixed bug which could result in an incorrect value for the Directory tag
- Fixed problem parsing XMP with BOM introduced in 6.71
Jan. 25, 2007 - Version 6.72
- Added XMP-microsoft:LastKeywordIPTC tag
- Renamed new MicrosoftPhoto Rating2 tag to RatingPercent
- Fixed problem where rdf:about attribute could be lost when writing XMP
Jan. 24, 2007 - Version 6.71
- Decode a lot of new Pentax DSLR information (thanks Cvetan Ivanov)
- Patched Microsoft Photo bugs in XMP formatting
- Patched Microsoft Photo bug in EXIF Unicode text byte ordering
- Added support for XMP-microsoft tags and 2 new Microsoft EXIF tags
- Added a few new XMP tags (NativeDigest, ColorMode and ICCProfileName)
- Added ability to add or delete copied tags from list (ie. "-SRCTAG+>DSTTAG")
- Added a few more Canon EasyMode values (thanks Samson Tai)
- Added CanonModelID values for new A450, A460 and A550
- Changed the -if option so the condition automatically fails if the
expression generates a warning (use -v to show the warning)
- Specified LF character (0x0a) for MIE text newline sequence
- Catch warnings if perldoc doesn't exist when running with no arguments
- Minor tweaks/fixes to htmldump output
Jan. 19, 2007 - Version 6.70 - "IPTC Character Coding"
- Translate coded characters in IPTC string values (UTF8 and Latin only), and
assume Latin encoding if no CodedCharacterSet (see FAQ #10 for details)
- Enhanced IPTC:CodedCharacterSet print conversion so "ESC % G" is now printed
as "UTF8" (either may be used when writing)
- Specified ISO 8859-1 character set for MIE ASCII string values
- Added warnings for UTF-8 conversion errors
- Decode a few new Pentax tags
- Decode maker notes in Pentax DNG images
Jan. 8, 2007 - Version 6.69
- Decode information in NikonScanIFD
- Enhanced -p option to allow expressions to be used
- The -p option no longer suppresses error and warning messages
- Made ImageSourceData writable
- Reduced font size of htmldump output
- Fixed "Argument isn't numeric" error when reading an image with a missing
IFD offset
Jan. 3, 2007 - Version 6.68
- Added mechanism to allow Composite tags to be writable
- Recognize XMP sidecar files that begin with a UTF BOM (byte order mark)
- Changed TIFF ImageSourceData tag to a Binary data type
- Fixed problem which could cause warning when writing XMP in PNG images
- Fixed bug when shifting times in an XMP sidecar file that caused an invalid
date/time to be written if the tag didn't previously exist
- Fixed problem where writing to a JPEG image containing a PreviewImage could
report that the file was updated even if nothing was changed
Dec. 30, 2006 - Version 6.67 - "Adobe DNGPrivateData"
- Added ability to write MakerNote information written by Adobe DNG Converter
- Added ability to copy Adobe MakerNote and CRW information from DNG images
- Added ability to read/write Adobe CRW and MRW information in DNG images
- Added ability to read Adobe SR2 information in DNG images
- Added a few more Nikon LensID's (thanks Robert Rottmerhusen)
- Added ability to delete a specific MIE document in multi-document files
- Improved handling of tags in multi-document MIE files
- Improved verbose and htmlDump output for unknown JPEG trailers
- Improved handling of ignored minor errors when writing MakerNotes
- Decode Panasonic LensType tag
- Changed description for Canon:OwnerName tag
- Minor changes to HtmlDump output
- Fixed parsing of XMP date/time values with no seconds
Dec. 20, 2006 - Version 6.66 (production release)
- Added a few more Pentax K10D PictureMode's (thanks Axel Kellner)
- Added a few new Nikon LensID's and Olympus LensType's
- Added Canon 1D PictureStyle's
- Updated CanonModelID strings for a few new models
- Changed tagID for MIE:GPSDifferential
- Minor change to MIE specification for unknown data formats (MIE 1.1)
Dec. 15, 2006 - Version 6.65 - "MIE 1.0"
- Added ability to read/write MIE trailers in JPEG and TIFF images
- Added a number of new MIE tags and changed some existing tags
- Added support for units in MIE values
- Added new Pentax K10D PictureMode's (thanks Axel Kellner)
- Avoid creating non-native groups in MIE, PNG and EPS images unless necessary
- Fixed problem with -P option so it now works when -o option is used
- Fixed bug where 'all' was replaced with '*' in redirection expressions
- Fixed "APP1 segment too large" error when copying all tags from some Canon
CR2 images to a JPEG (fixed initially in 6.08, but broken again in 6.47)
Dec. 8, 2006 - Version 6.64
- Added Nikon ImageAuthentication tag (thanks Jeffrey Friedl)
- Added Canon RecordMode and OpticalZoomCode and Composite DigitalZoom tag
- Applied FocalUnits scaling to Canon ShortFocal, LongFocal and
ScaledFocalLength tags, and renamed ScaledFocalLength to FocalLength
- Allow (but ignore) leading family number on tag group when writing
- Fixed calculation of 35mm scaling factor when Canon digital zoom is applied
- Fixed bug which could cause "'x' outside of string" error when reading Nikon
images with the -U option
Dec. 6, 2006 - Version 6.63
- Changed the sense of the '-' modifier for the new '%c' format code
Dec. 6, 2006 - Version 6.62
- Added '%c' format code to add copy number if output file exists
- Added a couple of new Nikon LensID's (Werner Kober, Robert Rottmerhusen)
- Made -htmlDump tag names purple if actual offset differs from stored offset
Dec. 4, 2006 - Version 6.61
- MakerNotes offsets are now permanently fixed when the makernotes are copied
using -tagsFromFile with the -F option
- Fixed typo in MakerNoteSanyoC4 tag name of MakerNotes shortcut
- Minor improvements to htmldump style
Dec. 2, 2006 - Version 6.60
- Added -k option of stand-alone version to regular distribution
- Fixed bug adding/deleting XMP tags in a list (introduced in 6.50)
- Fixed decoding of Canon 5D LongExposureNoiseReduction
- Fixed problem writing AFCP where incorrect offset could be written
- Fixed bug in -p option which caused it to abort if all tag names were
contained in braces (thanks Joel Becker)
- Stand-alone Windows executable:
- Print application documentation after "No file specified" warning
Nov. 30, 2006 - Version 6.59
- Do not delete IFD1 when deleting all meta information from a TIFF image
- Added a couple of new CanonImageSize values: "Postcard" and "Widescreen"
- Added a few new Olympus LensType's (thanks Lilo Huang for one)
- Improved handling of invalid date values
- Fixed "divide by zero" warning if FocalPlaneXYResolution is "inf"
- Fixed incorrect "unknown trailer" verbose message when writing JPEG images
- Stand-alone Windows executable:
- Allow quoting of options embedded in executable name
Nov. 25, 2006 - Version 6.58
- Added a few more Nikon LensID's (thanks Robert Rottmerhusen)
- Added missing print conversion for RIFF DateTimeOriginal
- Improved HTML 4.01 compliance of -htmlDump output
- Lowered priority of ID3v1 tags so ID3v2 takes precedence if both exist
- Minor change to names of some Vorbis and APE tags
- Made Ogg file type all capitals
- Patched problem which could cause ExifTool to die if input file is corrupt
- Fixed GPSDOP description (GPS Dilution of Precision, thanks Greg Troxel)
- Fixed problem which could generate a run-time error when attempting to write
to a corrupted JPEG image
- API Changes:
- GetFileType() may now also be used to return a file description
Nov. 19, 2006 - Version 6.57 (production release)
- Missing tags in -p and redirection expressions are now set to an empty
string ('') by default, or a dash ('-') if the -f option is used
- Added ability to use %f,%d,%e tokens in "-TAG<=FILE" argument
- Added new Nikon LensID (thanks Werner Kober)
- Set missing tags to '' instead of '-' in redirected expressions if -m used
- Renamed LV tag to LightValue
- Improved decoding of Sony DSLR-A100 maker notes
- Attempted to clarify date/time shift documentation in Shift.pl
- Fixed bug which could result in CanonVRD information not being recognized
- Fixed bug in new SetResourceName feature of user-defined Photoshop tags
- First release of stand-alone Windows executable
- API Changes:
- Added MissingTagValue option
Nov. 15, 2006 - Version 6.56 - "Audio Update"
- Added read support for a number of audio file formats: Ogg Vorbis,
Ogg FLAC, FLAC, APE (Monkey's Audio) and MPC (Musepack)
- Improved parsing of ID3 v2.3 and v2.4 information
- Added a number of new Pentax *istD tags (thanks Douglas O'Brien)
- Added ability to print processed file names when writing (-v0 option)
- Patched problem with makernotes offsets in Sanyo C4 images
- Fixed problem that prevented some Olympus RAW files from being written
- Fixed bug where XMP values could be improperly converted as a rational
Nov. 8, 2006 - Version 6.55
- Added read/write support for Canon VRD (Recipe Data) files and trailers
- Changed name of CanonDPP module and group to CanonVRD
Nov. 3, 2006 - Version 6.54
- Added write support for ORF (Olympus RAW) images
- Added Panasonic TravelDay tag (thanks Marcel Coenen)
- Show Photoshop resource block names in verbose output, and preserve these
names when copying tags from file
- Changed write format of Nikon WhiteBalanceFineTune from int16u to int16s
(thanks Giridhar Appaji Nag)
- Allow Flags to be used in UserDefined tags
- Added trailer signature to MIE format specification
- Fixed problem with the -list and -listw options (dynamically loaded tags
weren't appearing in the list)
Nov. 1, 2006 - Version 6.53
- IMPORTANT: Fixed bug introduced in 6.51 which could result in a corrupted
image (!!) when rewriting TIFF-format files containing an unknown trailer
(this includes all TIFF-based RAW formats except CR2). The good news is
that unknown trailers should be very uncommon, and nobody has reported any
problems yet, so with any luck I caught this before it affected anyone. But
please update immediately to 6.53 if you downloaded 6.51 or 6.52.
Nov. 1, 2006 - Version 6.52
- Added read/write support for trailers in CRW images
- Dropped historic support for obsolete -group# option
Oct. 31, 2006 - Version 6.51 - "Trailer Update"
- Improved handling of trailers in JPEG and TIFF-format images:
- Added read/write support for PhotoMechanic and FotoStation trailers
- Recognize and handle Canon DPP trailers
- Added AFCP trailer read/write support for TIFF (previously JPEG only)
- Added ability to read/write multiple trailers in the same image
- Trailers are now dumped with verbose and htmlDump options
- Trailers are now deleted when deleting all tags
- Added ability to delete trailers individually by group or altogether
with "-Trailer:all="
- Changed reading/writing XMP in PNG images to conform with XMP specification
(but continue to support the XMP profile format used previously)
- Avoid writing duplicate XMP tags in less common namespaces
- More consistent handling of unknown IPTC tags
- Added -listd option to list deletable groups
- IPTC time-only tags may now be set from date/time values (this already
worked for date-only tags)
- Fixed problem rewriting international text (iTXt) chunks in PNG images
- API Changes:
- Added GetDeleteGroups() routine
Oct. 26, 2006 - Version 6.50
- Changed name of new "-eval" option to "-if"
- Added read support for PhotoStudio Unicode comment (thanks Dec Anisimov)
- Recognize the "PHUT" Photoshop IRB resource type (thanks Dec Anisimov)
- Extract PhotoshopBGRThumbnail image from Photoshop information
- Write PNG compressed text for new tags when -z option is used
- Added ability to write PNG:ModifyDate
- Don't print Olympus LensType "release" if used to differentiate lenses
- Changed TagName documentation to show actual format written instead of
format used to interpret the data (which differs only for a few odd tags)
- Fixed bug in PNG writer which could cause duplicate tags to be written
- Fixed minor problem in HtmlDump output
- Fixed logic bug when writing XMP using += or -=
Oct. 21, 2006 - Version 6.49
- Added -eval option for conditional batch processing [changed to -if in 6.50]
- Allow .ExifTool_config file to be placed in application directory
- Decode copyright information from JPEG APP12 "Ducky" segment
- Decode Casio FirmwareDate
- Added IFD0 ProcessingSoftware tag (0x000b, written by ACD Systems)
- Added print conversion for InteropIndex
- Write InteropVersion automatically when creating a new InteropIFD
- Made RelatedImageFileFormat writable
- Protect all InteropIFD tags from being copied by default with -TagsFromFile
- Renamed XMP ExifImageHeight to ExifImageLength (to correspond with EXIF tag)
Oct. 19, 2006 - Version 6.48
- Decode Minolta 7D FlashExposureComp (thanks Jeffery Small)
- Decode InternalSerialNumber from newer FujiFilm models
- Improved decoding of new Pentax PictureMode tag (thanks Doug O'Brien)
- Updated CustomFunctions in Canon CRW images and recognize CIFF extension
- Added a couple new Pentax LensType's (thanks Barney Garrett)
- Changed "AdobeRGB" to "Adobe RGB" in all ColorSpace values for consistency
- Fixed bug in recent update to extract large preview from Epson JPEG images
- Fixed problem in -htmldump output introduced in 6.46
- Various documentation improvements and updates
Oct. 15, 2006 - Version 6.47
- Decode JPEG APP6 "EPPIM" segment used in Toshiba images
- Process PICT images to extract JPEG preview when -u option is used
- Added OtherImage composite tag
- Added PentaxModelID for K110D and a new K110D PictureMode tag
- Fixed problem extracting CoverArt from some MP4 audio files
- Fixed problem decoding Canon BulbDuration (affects Composite ShutterSpeed)
- Fixed problem reading/writing large Epson preview image in R-D1 JPEG images
and allow large (>64kB) preview images for all make/models
Oct. 11, 2006 - Version 6.46
- The "-ext" option now overrides internal file selection rules
- Expand filename wildcards on Windows command line (thanks Marjolein Katsma)
- Enhanced warnings when copying information to a specific tag
- Changed family 0 group name: GPS->EXIF
- Changed family 1 group names: APP12->PictureInfo,GraphicConverter->GraphConv
- Added a couple of new Pentax LensType's
- Added JPEG.pm module (mainly for documentation purposes)
- Fixed bug when re-writing NEF files which caused new preview image written
by Nikon Capture 4.4.0 to be lost
- Fixed bug which could cause problems if a user-defined composite tag is
created with the same name as an existing tag
Oct. 6, 2006 - Version 6.45
- Added ability to create JFIF segment
- Decode information in JPEG APP8 "SPIFF", APP12 "Ducky", and APP15
GraphicConverter segments
- Improved html dump feature to dump all JPEG APP segments
- Decode maker notes in FujiFilm AVI videos
- Renamed Nikon AFMode tag to AFAreaMode (thanks Tobias Briseno)
- Changed "Image Quality" description to "Quality"
- Added option to allow the htmlDump base offset to be specified
- Changed EV tag name to LV since this is technically more correct
- Print warnings if syntax problems are found in .ExifTool_config file
- Use HOMEDRIVE and HOMEPATH (Windows cmd shell environment variables) for
.ExifTool_config path if neither EXIFTOOL_HOME nor HOME are available
- Fixed some problems which were causing failed tests when using ActivePerl
- User-defined Composite tags now override composite tags of the same name
- Added a few more PentaxModelID's (K10D, A20, M20, W20)
Oct. 2, 2006 - Version 6.44
- Now deletes all JPEG APP segments when deleting all information
- Decode Ricoh APP5 RMETA information (custom fields in Caplio Pro G3 images)
- Decode AVI Audio/Video stream headers
- Recognize and preserve PhotoMechanic trailer when editing TIFF-based images
- Added ability to delete JFIF, CIFF, Meta and FlashPix groups
- Added ability to exclude groups when deleting all information
- Added a number of new Canon, Nikon, Pentax, Sony and Minolta tags
- Added description for GPSDOP tag (GPS Degree Of Precision)
Sept. 26, 2006 - Version 6.43
- Added read support for M4A audio files
- Simplified and documented technique for adding user-defined Composite tags
- Issue minor warning when a tag used in an expression doesn't exist, instead
of silently inserting a '-' (use -m option for previous behaviour)
Sept. 21, 2006 - Version 6.42 (production release)
- Re-worked Sony and Minolta LensID lists and added a number of new lenses
- Extract maker note information from Sanyo MOV and MP4 videos
- Recognize ARW extension of Sony Alpha-100 RAW images
- Improved extraction of PreviewImage from damaged Minolta images
Sept. 18, 2006 - Version 6.41
- Fixed calculation of Canon ISO in some images and renamed ShotISO to BaseISO
- Minor improvment to order of operations when deleting multiple groups and
adding back information in batch mode
Sept. 14, 2006 - Version 6.40
- Added ability to delete a group and write back information in one step
- Compatibility Warning: This changes previous behaviour when adding and
deleting information in the same operation if new tag values are set
after a group has been flagged for deletion
- Fixed problem writing to specific MIE groups
- Minor improvements to verbose output while writing
- Added a few new CanonModelID's (PowerShot G7, SD900, SD800IS, SD40)
Sept. 12, 2006 - Version 6.37
- Decode Sony LensID's (thanks Thomas Bodenmann)
- Added another Canon LensType
- Added shortcut MakerNotes tag to represent the maker notes tags from all
manufacturers (useful when copying tags between files)
- Improved MPEG decoding and calculate approx. Duration based on avg. bitrate
- Issue a minor error when rewriting an empty IFD (previously this was fatal)
- Print 2 decimal points of MeasuredEV (avoids round-off errors resulting in
failed tests on some systems)
Sept. 6, 2006 - Version 6.36 (production release)
- Added a few more Canon LensType's
- Improved decoding of Canon 400D ExposureTime and FileNumber
- Decode AFPointsUsed for PowerShot models with 9 AF points
- Fixed decoding of Canon 5D PictureStyle
Sept. 5, 2006 - Version 6.35
- Added Canon NumAFPoints tag
- Added support for Canon 400D custom functions
- Renamed Canon AFPointsUsed20D to AFPointsUsed and decode for 30D and 400D
- Changed phrasing in a text string to bypass bug in rpm build causing it to
obtain incorrect dependencies
Sept. 3, 2006 - Version 6.34
- Removed empirical offset from Canon:MeasuredEV
Sept. 1, 2006 - Version 6.33
- Added Composite:EV and Canon:MeasuredEV tags [comments welcome]
Sept. 1, 2006 - Version 6.32
- Decode a new value of "Auto High" for Canon CameraISO
- Added new Canon AutoISO tag, renamed Canon:ISO tag to ShotISO, and added a
new composite ISO tag to give the ISO that was actually used
- Decode CanonModelID's for recently announced Canon cameras (400D, etc)
- Decode PentaxModelID for Optio S7
- XMP Changes:
- Added support for rdf:nodeID attribute in XMP information
- Changed XMP file MIME type from application/xmp to application/rdf+xml
to correspond with XMP specification
- Write 'rdf:about' instead of 'about' (unqualified use now deprecated)
- Don't write blank-line padding (as per XMP spec) for .XMP files
- Fixed problem extracting XMP information from some EPS files
- Fixed typos in some (not commonly used) XMP namespace URI's
- Fixed FocalLength conversion for some Pentax-built BenQ and Samsung models
Aug. 23, 2006 - Version 6.31
- Decode a number of new values for FujiFilm PictureMode (thanks Michael
Meissner)
- Properly parse AVI DateTimeOriginal tag when month name is all capitals
- Improved compatibility when running "exiftool" with no arguments (thanks
Jesse Zhang)
- Added support for Nikon D80 lens information and recognize a new lens
(thanks Robert Rottmerhusen)
- Improvements to Pentax maker note decoding (thanks Ger Vermeulen)
- Fixed problem when extracting information from image in memory when the
UTF-8 flag is set for the image data (fixes install on RHEL 3)
July 28, 2006 - Version 6.30
- Added ability to read/write APP0 CIFF segment (found in Canon PowerShot A5
and PowerShot Pro 70 images)
- Improved decoding of Canon 30D FileNumber (was ShutterCount)
- Made EXIF tags ImageNumber and ImageHistory writable
- Fixed decoding of TargetExposureTime for Canon 20D/250D and ExposureTime
for Kiss Digital N
- Fixed problem processing GIF images which don't contain a color table
- Fixed bug in EXIF tag name documentation introduced in 6.12 where ExifIFD
group was not properly shown
- Fixed typo in exiftool pod documentation ("GROUP:TAG" was reversed)
July 24, 2006 - Version 6.29 (production release)
- Added XMP-xmpMM:PreservedFileName tag (used by Photoshop CS)
- Fixed problem reading TIFF images which don't start at the beginning of the
file
July 12, 2006 - Version 6.28
- Fixed bug introduced in 6.04 which prevented PNG tags from being deleted
- Improved decoding of Canon PictureStyle information
July 7, 2006 - Version 6.27
- Decode a number of new tags in Canon, Casio, FujiFilm, Minolta, Nikon,
Panasonic, Pentax, Ricoh and Sony and maker notes
- Improved recognition of various Minolta maker note formats
- Added a number of new Nikon Capture tags
- Added support for XML-formatted XMP files
- Properly handle mixed linefeed characters in PostScript images
- Improved formatting of DICOM date/time values
- Added "Actual Offset" entry to HtmlDump tooltip information
June 27, 2006 - Version 6.26
- Avoid creating new SubIFD when copying all tags with "-all:all" from a RAW
or TIFF image (this gave problems if image was subsequently edited by PSCS2)
- Fixed decoding of a few Nikon LensID strings
- Minor fixes and changes to htmlDump and verbose output
- Added a new Pentax LensType (thanks Kazumichi Kawabata)
June 19, 2006 - Version 6.25
- Added read/write support for WDP (Windows Media Photo) images
- Improved algorithm to recognize maker notes offsets which need fixing
- Properly handle maker notes which have value offsets relative to the
individial IFD entries (Kyocera, Rollei and some Konica and Toshiba models)
- Decode a couple of new Sigma lens values in Canon LensType
- Decreased block size for buffered files to improve performance over slow
pipes
June 9, 2006 - Version 6.24
- Added -fast option to avoid scanning to the end of JPEG images to check for
an AFCP or PreviewImage trailer
- Recognize PS files which start with %!Adobe-PS instead of %!PS
- Improved FlashPix verbose output
- API Changes:
- Added FastScan option
June 7, 2006 - Version 6.23
- Added new feature allowing tag-name expressions to be used with the
-TagsFromFile option
June 5, 2006 - Version 6.22
- Added read support for FPX (FlashPix) images and FPXR (FlashPix Ready)
JPEG APP2 meta information
- Added AllDates shortcut tag to allow DateTimeOriginal, CreateDate and
ModifyDate to all be written via a single tag
- Added shortcuts to tag name documentation
- Return "0000:00:00 00:00:00" instead of "1970:01:01 00:00:00" as the string
representation of numerical times with a value of zero
May 26, 2006 - Version 6.21
- Changed CR2 identification logic to properly identify CR2 images which have
been edited by PhotoMechanic
May 24, 2006 - Version 6.20
- Added read support for Real audio/video (RA, RM, RV, RMVB, RAM, RPM) files
- Downgraded "Error reading value..." message from an error to a warning
- Fixed bug where IgnoreMinorErrors option could get set when writing images
with NikonCapture information
- Fixed two ID3 tag names which contained spaces
- Fixed problem parsing DateTimeOriginal in Casio EX-Z30 AVI files
- Fixed problem with apostrophes in HTML documentation for some browsers
- API Changes:
- Can now call Options() with undefined value to set option value to undef
May 16, 2006 - Version 6.19
- Added read support for SWF (Shockwave Flash) files
May 15, 2006 - Version 6.18
- Added read support for MPEG audio/video files
- Decode audio information in MP3 files
- Print Nikon:LensPosition in hex
May 12, 2006 - Version 6.17 (production release)
- Fixed problem with rpmbuild on Mandriva 2006.0 (thanks Niels Kristian)
- Fixed typo in iptc2xmp.args and xmp2iptc.args which prevented the XMP
Instructions from being copied properly (thanks Mark Tate)
- Handle byte order mark in unicode EXIF strings
May 8, 2006 - Version 6.16
- Write %ADO_ContainsXMP comment when adding XMP to EPS images
- Don't issue DSC warning when writing Adobe version 3.1 EPS images
- Added separate table for decoding tags in IFD0 of Panasonic RAW images
- Improvements to Nikon AF point decoding (thanks Roger Larsson)
- Allow .ExifTool_config directory to be specified by setting the
EXIFTOOL_HOME environment variable
- Made all maker note write errors minor so they can be ignored if necessary,
allowing information to be written to images with corrupted maker notes
- Minor change to perl-Image-ExifTool.spec to fix problem with rpmbuild
(thanks Volker Kuhlmann)
- Fixed bug which could cause incorrect date to be calculated when shifting
date/time values
Apr. 20, 2006 - Version 6.15
- Changes to MIE specification involving string lists and alternate languages
Apr. 18, 2006 - Version 6.14
- Fixed some problems with EPS writer and removed beta testing status (thanks
to Tim Kordick for help with testing)
- Created new MIE meta information format [Note: The MIE module is fully
functional but the MIE format specification is still in development]
- Added print conversion for SpatialFrequencyResponse
- Extended meaning of -z option when writing to allow compressed information
to be written to MIE files
- Added Minolta FlashMetering tag
- API Changes:
- Added 'Compress' option
Apr. 9, 2006 - Version 6.13
- Fixed problem with writing FileName that caused format codes not to be
properly expanded if the specified filename already existed
- Standardized reported FileType for ACR, AIFC, CRW, JP2, PS and PSD files
- Allow 2 values to be written for EXIF TimeZoneOffset and make EXIF
SecurityClassification writable
Apr. 5, 2006 - Version 6.12
- Avoid printing garbage for DNG maker note information that was not copied
properly by the Adobe DNG converter (affects converted ORF images)
- Disabled "Possibly incorrect maker notes offsets" warning for a number of
Olympus models
- Fixed bug introduced in 6.04 which could cause endless loop (eeek!) when
writing tags with PostScript equivalents
- Fixed error reading some DICOM images
Apr. 3, 2006 - Version 6.11
- Added a few new Pentax LensType's
- Fixed bug rewriting MOS images (this bug introduced in version 5.95 caused
an error message and prevented the file from being rewritten)
Mar. 31, 2006 - Version 6.10
- Added ability to use filename format codes %d, %f and %e in values written
to FileName and Directory tags
- Fixed problem of odd filenames being generated when setting FileName from an
invalid date/time tag
- Removed debugging print statement forgotten in Olympus code of 6.07 (oops)
- API Changes:
- Added StrictDate option
Mar. 30, 2006 - Version 6.09
- Made FileName and Directory writable (enabling a whole new functionality!)
- Added ability to write DOS-style EPS images [Note: still in beta testing]
- Increased precision of Composite Red/BlueBalance print conversion
- When combining the -o and -overwrite_original options, the original file is
now erased if the new file is written successfully
- Added a new Nikon lens (thanks Werner Kober)
- API Changes:
- Added SetFileName() routine
- In list context, CountNewValues() now also returns a "pseudo" tag count
Mar. 25, 2006 - Version 6.08
- Made YCbCrCoefficients and YCbCrPositioning protected when writing
- Decode some new Nikon-specific tags in QuickTime videos from Nikon cameras
- Calculate Red/BlueBalance for Olympus images
- Fixed "APP1 segment too large" problem when copying all tags from Canon
EOS-5D or EOS-30D CR2 image to JPEG image
- Fixed problem running "exiftool" with no arguments in Windows cmd shell
Mar. 22, 2006 - Version 6.07
- Added a number of new Olympus tags (thanks Frank Ledwon)
- Decode Adobe JPEG APP14 segment (thanks Didier Giet)
- Made Rotation writable in CRW images
- Changed some FujiFilm WhiteBalance strings
- No longer return multiple tags when a group is specified unless the
duplicates option is enabled or the group name is 'all' or '*'
Mar. 20, 2006 - Version 6.06
- Added validity check for Canon FocalPlaneX/YSize which resulted in incorrect
values of FocalLength35efl being calculated for some PowerShot models
- Made Opto-ElectricConvFactor value binary
Mar. 18, 2006 - Version 6.05
- Improved JPEG writer to tolerate any segment ordering
- Fixed Olympus ExtenderStatus to work with E-330 (thanks Mark Dapoz)
Mar. 15, 2006 - Version 6.04
- Added write support for EPS and PS images [Note: still in beta testing --
must currently use the -m option to enable writing to EPS images]
- Added ability to write ICC_Profile data as a block
- Added read/write support for ICC and ICM color profile files
- Added read/write support for ERF (Epson Raw Format) images
- Added a couple of new Olympus tags and LensType's (thanks Mark Dapoz)
- Added ability to scan past unknown header to find JPEG or TIFF image
- Added Canon EOS 30D custom functions
- Renamed Panasonic SerialNumber tag to InternalSerialNumber
- Renamed Canon 5D PictureNumber tag to ImageNumber
- Improved MRW reading and writing
- Decode a number of new Minolta tags and changed names of some existing tags
- Decode some type-specific data in ASF StreamProperties, including video
ImageWidth and ImageHeight
- Extract a few more PostScript tags and derive ImageWidth and ImageHeight for
PostScript documents
- Some improvements to Panasonic decoding (thanks Tels)
- API Changes:
- 'Unsafe' tags are now copied by SetNewValuesFromFile() if specified
explicitly
- Internal Changes:
- SubDirectory tags are no longer Writable by default in WRITABLE tables
Mar. 2, 2006 - Version 6.03
- Added print conversion for CFAPlaneColor
- Decode CFAPattern as written incorrectly in ASCII by some Panasonic cameras
- Added recently announced Canon cameras to CanonModelID list
- API Changes:
- Added ability to prefix tag name with group in arguments to ImageInfo()
(read/write symmetry is now improved since this feature already existed
in the write routines, and now group names can be used in shortcuts)
- Changed order of filtering for Group# option and tag exclusions to be
applied after extracting tags specified in calls to ImageInfo()
Feb. 26, 2006 - Version 6.02
- Fixed problem rewriting Photoshop IRB resources as written by some
applications (ie. PixVue)
- Improved decoding of AVI files to increase speed and extract more tags
- Added -overwrite_original_in_place option
- Added a number of new XMP tags and bring XMP support up to new
specification, plus a few undocumented XMP-aux tags (thanks Lou Salkind)
- Added support for large DNG preview image (with JpgFromRaw tag)
- Added ability to decode DNG Adobe MakerNotes
- Added SEMInfo tag (thanks Robert Mucke)
- Decode (but don't rewrite) old PS APP13 "Adobe_Photoshop2.5:" segment
Feb. 20, 2006 - Version 6.01
- Added back RedBalance and BlueBalance as composite tags
- Fixed potential problem in File::RandomAccess which could cause a "substr
outside of string" warning
Feb. 19, 2006 - Version 6.00 (production release)
- Added read support for Sony SR2 raw images (but most tags still unknown)
- Added read support for Kyocera Contax N Digital RAW images
- Added ability to write or delete shortcuts which reference multiple tags
(previously only shortcuts referencing a single tag were writable)
- Changed descriptions of FNumber, ExposureTime, ISO, DateTimeOriginal,
CreateDate and ModifyDate to more closely match their tag names
- Separated Canon and Nikon Red/BlueBalance information into individual
components with tag names like WB_RGGBLevels
- Decoded a number of new Canon tags for EOS models, including ColorBalance
tables, 20D AF points and SensorInfo (thanks Rainer Honle)
- Fixed incorrect decoding of EOS 10D/300D color balance modes
- More additions and minor fixes to Canon decoding
- Made EOS-1D personal functions writable
- Added ability to write bitmasks at the PrintConv level
- Set MIME type for all RAW image formats to "image/x-raw"
- The -f option is no longer implied when -S and -s are combined
- Fixed bug introduced in 5.99 which broke the "-tagsFromFile @" feature
- Fixed problem with offsets in verbose dump of CRW images
- Fixed problem with some tags in Canon images not printing without -a option
- Fixed problem with validation of Canon PictureInfo for images rotated by
Canon ZoomBrowser EX (thanks Joshua Bixby)
Feb. 1, 2006 - Version 5.99
- Major additions to Canon maker note decoding, including EOS-1D personal
functions (thanks Rainer Honle for decoding many 5D tags)
- Added Canon maker note footer when rewriting Canon maker notes
- Attempt to fix problem where ScaleFactor35efl was calculated incorrectly for
some Canon images
- Reduce memory useage and speed up writing of large TIFF images
- Fixed problem with binary data offsets in verbose dump
- Fixed problem writing Comment if 'File' group specified
- Fixed bug which could cause formatting error in htmlDump output
Jan. 22, 2006 - Version 5.98
- Enhanced FMT syntax for -o, -w and -tagsFromFile options
- Decode maker notes of Samsung DX-1S
- Added ability to list tags in a specific group
- Recognize maker notes of a few more Kodak models
- Added a few more Canon LensType's
- Added missing semicolons in HtmlDump JavaScript output
Jan. 16, 2006 - Version 5.97
- Added support for Canon 5D custom functions (thanks Rainer Honle)
- Added support for Canon 1DmkII and 350D custom functions
- General fixes and improvements to Canon custom functions
- Renamed ICC_Profile Copyright to ProfileCopyright
- Report all extraction errors when copying only specified tags from file
- Avoid issuing "Error rebuilding maker notes" warning when copying maker
notes that don't require rebuilding
Jan. 14, 2006 - Version 5.96
- Fixed problem where XMP information could be lost when writing PSD images
Jan. 12, 2006 - Version 5.95
- Decode AIFF SampleRate
- Fixed problem where FileType was being set twice for AIFF files
- Patched problem reading some file types through Windows cmd shell pipeline
- Properly identify CR2 images read via pipes (previously identified as TIFF)
- Improved formatting of printed values for some DNG tags
- Fixed problem with EXIF format of some tags when writing
- Changed 'rational' format names to match full bit size of value
Jan. 10, 2006 - Version 5.94
- Fixed problem extracting OriginalRawImage from little-endian DNG images
- Fixed problem where "unreferenced bytes" error could be incorrectly issued
when deleting all EXIF from a TIFF image
Jan. 9, 2006 - Version 5.93
- Added ability to write JFIF information
Jan. 9, 2006 - Version 5.92
- Added ability to extract and decompress original raw image from DNG
- Fixed problem extracting information from some image types in pipelines
- Decode more information in PSD images
Jan. 7, 2006 - Version 5.91
- Added write support for PSD images
- Made a couple more Photoshop tags writable
Jan. 6, 2006 - Version 5.90
- Added read support for AIFF audio files
- Made Photoshop:XResolution and Photoshop:YResolution writable
- Fixed problem with processing some RIFF files
- Added a new Canon LensType
- API changes:
- SetNewValue() now accepts an ARRAY reference for setting list-type tags
such as Keywords, or a SCALAR reference for binary data, so it may now
be called directly with any value returned by GetValue().
Jan. 3, 2006 - Version 5.89
- Recognize Panasonic Type 2 maker notes
- Changed Nikon LensID to a composite tag to allow better decoding of
non-Nikon lenses, and added a bunch of new lenses to the list
Jan. 1, 2006 - Version 5.88
- Added ability to read and write AFCP information in JPEG images
- Added read support for WMV video and WMA audio files (ASF format files)
- Added EXIF tags 0x82a5-0x82ac
- Fixed TagID of IntergraphPacketData tag
- Fixed problem in rewriting some types of JVC maker notes
- Renamed WAV module to RIFF
Dec. 22, 2005 - Version 5.87 (production release)
- Added support for JVC maker notes
- Extract a number of new DNG tags plus DNG JPEG preview image
- Renamed DNGCameraSerialNumber tag to CameraSerialNumber
Dec. 20, 2005 - Version 5.86
- Added support for AVI and MP4 videos
- Improved decoding of Olympus maker notes
- Improved APP12 decoding
- Improved CanonPictureInfo validation to work with more PowerShot models
- Display Canon 1D serial numbers with 6 digits
- Decode maker notes of Nikon D1
- Combining -t with -S now gives a single-line tab-delimited list of values
- Extract preview image for Samsung Digimax i5
Dec. 13, 2005 - Version 5.85
- Added ability to read and write XMP files which don't have an xpacket header
- Fixed problem deleting entire XMP data block using '-xmp=' syntax
- More minor HtmlDump improvements
Dec. 12, 2005 - Version 5.84
- Minor improvements to HtmlDump output
Dec. 12, 2005 - Version 5.83
- Added -F option to allow maker notes offsets to be fixed
- Added -htmlDump option to generate a verbose HTML-based hex dump of EXIF
and/or TIFF information (cool new diagnostic tool)
- Attempt to validate maker notes offsets and issue warning if they look wrong
- Fixed problem rewriting PreviewImage in some Olympus and Pentax images
- Increased speed for extracting large preview images
- Improved synthetic maker notes when coping tags from CRW file
- Display absolute offsets for EXIF values in very very verbose mode
- Verbose option output is now written to file if -w option used
- Speed up rewriting of some TIFF images when using ActivePerl 5.8.x for
Windows (image strips are now copied in a single block if they are
contiguous in the file to avoid ActivePerl bug which causes extremely poor
performance when concatenating a large number of memory blocks)
- Added a couple of new Nikon and Pentax lens ID's (thanks Robert Rottmerhusen
and David Buret)
- Decode PrintIM information in Casio QV-4000
- Fixed Decoding of Canon EOS D60 serial numbers to agree with Canon utilities
- API changes:
- Added HtmlDump and TextOut options
Nov. 26, 2005 - Version 5.82
- Fixed bug which caused error rewriting Minolta MRW images
- Added MRW write test
- Improved MRW verbose output
Nov. 24, 2005 - Version 5.81
- Changed writing of TIFF so that existing IPTC will be rewritten as int32u
whenever IPTC is edited, regardless of original format type. This allows
files to be 'fixed' even if IPTC was previously another format (now we get
to see if there is any software out there that barfs on int32u's...)
- Changed the -s option so tag names are displayed instead of descriptions
(now similar to the -S option, but values are aligned in a column)
- Remove padding at the end of IPTC record when writing
- Fixed problem which was generating a warning with ActivePerl 5.6.1
Nov. 22, 2005 - Version 5.80
- Changed writing of new TIFF IPTC information to make it visible in Nikon
Capture (for some reason requires int32u format)
- Installed patch for building of ExifTool RPMS on Mandriva Linux (thanks
Niels Kristian)
Nov. 22, 2005 - Version 5.79
- Fixed problem which could render XMP information unreadable by Photoshop
when editing some XMP written by Photoshop CS2
Nov. 21, 2005 - Version 5.78
- Fixed problem which could generate an error when adding IFD1 to an image
Nov. 18, 2005 - Version 5.77 (production release)
- Allow integer tag values to be specified in hex (with leading '0x')
- Fixed problem which generated warnings about symbol "@indent" in Nikon.pm
when using older versions of Perl (observed with 5.6.1)
Nov. 16, 2005 - Version 5.76
- Tolerate extra null padding at end of TIFF images (as written by Photoshop
CS) when rewriting TIFF images
- Minor improvements to DICOM image processing
- Updated FAQ
Nov. 14, 2005 - Version 5.75
- Fixed problem decompressing deflated DICOM images
Nov. 14, 2005 - Version 5.74
- Added read support for DICOM (DCM, DC3, DIC, DICM) and ACR-NEMA (ACR)
medical image files
- Decode a lot more Nikon Capture information and add write ability
- Updated Nikon makernote decoding for D200 and new AF-S Nikkor 18-200 lens
(thanks Werner Kober)
- Added a number of new Canon LensType's (thanks Volker Gering)
- Recognize file types even if they have the wrong extension
Nov. 7, 2005 - Version 5.73
- Added ability to shift date/time tag values
- Extract Red/BlueBalance tags for Nikon D2Hs, D50 and D2X
- Decode Nikon Capture Data to extract IPTC information and Rotation
- Added a new Olympus LensType (thanks Michael Meissner)
Oct. 28, 2005 - Version 5.72
- Added ability to create XMP data files. This is more significant than it
sounds: The -o option may now be used to generate XMP files from
information in any other format, or even to create an XMP file from nothing
more than tags defined on the command line.
- Added printout of number of directories created with -w and -o options
- Improved error handling
- Effectively set preferred group to 'XMP' when writing XMP data files
- Fixed problem rewriting maker notes of some Pentax cameras
- API Changes:
- Added CanWrite() and CanCreate() functions
- Allow WriteInfo() source file to be undefined to create new file
- Allow WriteInfo() output file to be undefined to edit file in place
- Added extra argument to WriteInfo() to specify output file type
Oct. 24, 2005 - Version 5.71
- Added ability to read/write .XMP data files
- Added -listf option to print list of recognized file types
- Changed "-group#" option to "-listg#" (but still support old -group#)
- Moved Kodak APP3 "Meta" tags from EXIF to a new Kodak "Meta" group
Oct. 23, 2005 - Version 5.70
- Significant internal changes to improve speed and reduce memory useage
- Fixed a bug introduced in version 5.63 which caused incorrect XMP GPS
coordinates to be returned
- Changed handling of Kodak date records
- API Changes:
- Added ability to access original 'Raw' values via GetValue()
- GetValue() now returns empty array in list context if value is undefined
- Values are now converted as they are requested, so the PrintConv option
now applies to GetInfo() and GetValue() instead of ExtractInfo()
Oct. 19, 2005 - Version 5.69
- Changed UTF-8 bug fix introduced in 5.67 to improve portability and allow it
to work with Perl versions back to 5.6
- Changed some offsets in verbose output from relative to absolute addressing
- Improved APP12 decoding
- Changed technique for rounding off extracted rational values
- API Changes:
- Changed handling of floating point numbers to tolerate locales where a
comma is used instead of a decimal point
Oct. 17, 2005 - Version 5.68
- Added support for reading Sigma RAW (X3F) images
Oct. 13, 2005 - Version 5.67 (production release)
- Added support for reading PICT images
- Fixed a problem when writing information via the ExifTool API if using Perl
5.8 or later and passing a UTF-8 encoded string to SetNewValue(). The
problem generated an error which prevented the file from being written
- Fixed timezone problem in timestamps of QuickTime images which was causing
a failed test
Oct. 10, 2005 - Version 5.66
- Enhanced -tagsFromFile option to allow %d, %f and %e in filenames
- Extract a few more tags from Canon EOS 5D images
- Allow multiple ICC_Profiles to be extracted from same image and add a number
to the group1 name for subsequent profiles to make the tag locations unique
- Changed Photoshop PixelsPerInchX/Y and QuickTime DotsPerInchX/Y tag names to
X/YResolution. Neither has a corresponding ResolutionUnit tag, so inches
should be assumed if no resolution unit is present
- Added tests of Nikon, Sony and PDF decryption algorithms
Oct. 7, 2005 - Version 5.65
- Added read support for QuickTime MOV videos (and QTIF images if anyone
cares)
- Extract maker note information from Sony SRF raw images
- Improved Jpeg2000 decoding
- Decode a few more Photoshop tags
- Issue an error if there is extra data after the normal end of file when
rewriting TIFF images (avoids possible data loss if attempting to write an
unsuported RAW image with a TIFF-like data structure)
- Added ability to replace existing tags with user defined tags
- Denote minor errors/warnings by adding '[minor]' to the message (these are
the errors which can be ignored with the -m option)
- Fixed problem of missing LeafSubIFD when rewriting MOS images
- Removed hack to write Leaf maker note information at start of image
Sept. 30, 2005 - Version 5.64
- Improved writing of Canon CR2 images to preserve CR2 header and editing
information written by Canon Digital Photo Professional software
- Extract information from JPEG APP0 JFIF segments
- Added support for extracting Creo Leaf meta information from MOS images
- Added ability to define new tags in .ExifTool_config file and added a sample
ExifTool_config file to the distribution
- Extended the -w option to allow an expression to be specified
- Allow tag aliases to be used when writing
- Changed print conversion of FileSize tag
- Internal changes to tag lookup to improve speed when writing information
- Decode Photoshop resolution information
Sept. 21, 2005 - Version 5.63
- Added read support for MP3 and WAV audio files (Oops... ExifTool has
expanded beyond its "Image" roots!)
- Added write support for PNG and MRW (Minolta RAW) images
- Improved decoding of PNG profile information and added a few new PNG tags
- Changes to handling of GPS coordinates:
- Added -c (CoordFormat) option to format output of GPS coordinates
- Added GPSPosition composite tag
- GPS coordinates now show as decimal degrees with the -n option
- Much more flexible about the input coordinate format when writing
- Enforce proper formatting of XMP GPS coordinates
- Added XMP-xmp Rating and Label tags, and a few missing XMP-exif GPS tags
- Added new XMP-dex group
- Added two new lenses to the Minolta LensID list (thanks Pedro Corte-Real)
- Added a new lens to the Olympus list (thanks Shingo Noguchi)
Sept. 7, 2005 - Version 5.62
- Fixed problem reading FujiFilm maker notes from RAF images
- Extract comments from PPM/PGM/PBM images and add write support
- Extract maker notes from Nikon Coolscan scanner images
Sept. 3, 2005 - Version 5.61
- Added read support for PBM, PGM and PPM file formats
- Added read support for RAF (FujiFilm RAW) file format
Sept. 2, 2005 - Version 5.60
- Fixed bug where tag was deleted if TAG+=VALUE used for a non-list type tag
- Fixed problem where reading some CRW files could generate a "Use of
uninitialized value in concatenation" warning
- Restructured XMP to separate tags by namespace
- Added XMP-xmpTPg, XMP-cc, XMP-xmpPLUS and XMP-PixelLive groups
- Improved logic for editing XMP list-type tags
- Removed SubDirectory tags from -list option output
- More updates to Pentax LensType list
- Changed Nikon FileSystemVersion tag name to FirmwareVersion
- Added NikonCaptureData and NikonCaptureVersion tags
Aug. 24, 2005 - Version 5.55 (production release)
- Added patch to fix word ordering when unpacking doubles on ARM systems with
little-endian byte order but big-endian word order (thanks Riku Voipio)
- Added another lens to the Pentax LensType list
Aug. 22, 2005 - Version 5.54
- Fixed problem introduced in version 5.50 which broke ability to delete
groups of information
- Added a couple of new Pentax LensType's
- Renamed Olympus Lens tag to LensType
July 29, 2005 - Version 5.53
- Added -ext option to allow files to be processed or excluded from processing
based on their extension
- Added MimeType tag
- Convert PDF UTF-16 character strings to UTF-8 (or Windows Latin1 if '-L'
option used)
July 28, 2005 - Version 5.52
- Removed warning message when writing CR2 files that was intended only for
Canon 1D TIFF files
July 27, 2005 - Version 5.51
- Assume '-TagsFromFile @' for any redirected tags (ie. '-SRCTAG>DSTTAG' or
'-DSTTAG<SRCTAG') which are specified without a prior '-TagsFromFile'
July 27, 2005 - Version 5.50
- Don't rewrite entire file if only FileModifyDate is being changed
- API Changes:
- Added CountNewValues() and SetFileModifyDate()
July 26, 2005 - Version 5.49
- Decode encrypted PDF documents
- Extract metadata from individual PDF pages
- Speed up parsing of PDF files which use cross-reference streams
- Improvements to verbose PDF output
- Updated Nikon LensID's (thanks Robert Rottmerhusen)
- Minor changes to Canon LensType strings (thanks Michael Tiemann)
July 21, 2005 - Version 5.48
- Fixed parsing of XMP-pdf CreationDate and ModDate tags
July 21, 2005 - Version 5.47
- Fixed problem where existing item in list was getting overwritten when
adding to XMP lists with '-TAG+=VALUE' syntax
- Improved verbose output for PDF files and recurse into all Kids dictionaries
- Don't print warnings when setting the values of non-priority tags unless
verbose
- Added support for PDF-like Adobe Illustrator (.AI) files
July 19, 2005 - Version 5.46 (production release)
- Fixed bug which could cause CRW file to be corrupted under some conditions
when writing and rewriting the same file
- Added new Canon MaxAperture tag and a few more Canon LensType's (thanks
Michael Tiemann)
- Changed PDF decoding to follow 'Next' links at the same level to avoid deep
recursion in long linked lists
July 19, 2005 - Version 5.45
- Set FileType tags properly for newly added formats
- Added Canon TargetAperture and TargetExposureTime and decode Canon 1D Mark
II lens information structure (thanks Michael Tiemann)
- Decode more Canon lenses and Canon TargetImageType
- Changed Priority of Error and Warning tags so that first message takes
precedence
- Fixed problem where Nikon D70 files grew by 20 bytes each time they were
written
- Minor changes to BMP tags
- Added support for AI (Adobe Illustrator) file format
- Added BMP, PDF, Photoshop and PostScript tests
July 16, 2005 - Version 5.44
- Added read support for BMP (and DIB) images
July 16, 2005 - Version 5.43
- Allow shortcut tags to be used with -tagsFromFile
July 15, 2005 - Version 5.42
- Added ability to read PostScript (EPS and PS) and PDF images
- Decode PhotoshopSettings in TIFF images
July 8, 2005 - Version 5.41
- Added ability to read Photoshop PSD images
July 8, 2005 - Version 5.40
- Improved decoding of Minolta MRW files to support new cameras
- Changed Minolta ImageQuality values to conform with Minolta terminology
(thanks to Niels Kristian Bech Jensen)
- Write Windows XP tags to IFD0 instead of ExifIFD (they worked fine in the
ExifIFD, but Windows writes them to IFD0 so they really should go there)
- Really quiet option (-q -q) still suppresses warnings, but no longer
suppresses errors
July 6, 2005 - Version 5.39
- Using -b option now disables -h, -H and -g options
- Decode Canon Panorama information
- Improved maker note decoding for some Minolta camera models
- Changed base offset for Casio EX-Z3 to fix problems decoding some maker note
information (it looks like the samples from dpreview.com I had used to code
this originally had been corrupted by 3rd party software because new samples
downloaded from another web site didn't have the same problem)
- Improved validation of PreviewImage
July 4, 2005 - Version 5.38
- Translate older 'xap' XMP namespace prefixes (xap, xapRights, xapMM and
xapBJ) to their newer 'xmp' counterparts (xmp, xmpRights, xmpMM and xmpBJ)
when generating XMP family 1 group names
- Added Minolta LensID (thanks to Shingo Noguchi)
- Other changes to Minolta tags (and fix incorrect spellings of Konica, thanks
Niels Kristian Bech Jensen)
- Updated Nikon LensID's (thanks Robert Rottmerhusen)
June 29, 2005 - Version 5.37
- Removed unknown status from Photoshop CopyrightFlag and made it writable
- Decode a new Canon EasyMode value
June 28, 2005 - Version 5.36
- Added new composite tags: DOF, CircleOfConfusion and HyperfocalDistance
- Minor changes to simplify and improve generated XMP when writing
- Convert FocusDistance tag values to meters
- Reject ScaleFactor35efl if outside reasonable limits
- Added a few more Nikon LensID's (thanks Robert Rottmerhusen)
- Ignore white space around '=' sign of arguments in '-@' file
June 24, 2005 - Version 5.35
- Added support for MNG and JNG images
- Added a few new PNG tags
June 21, 2005 - Version 5.34
- Decode ASCII-based APP12 information (tested with Agfa and Polaroid images)
- Decode remaining PNG chunks in original spec except for IDAT (image data)
- Only generate FileSize and FileModifyDate tags for plain files
June 16, 2005 - Version 5.33
- Changed print conversions for Contrast, Saturation and Sharpness throughout
to be more consistent and to better conform with the EXIF specification
- Decode Minolta Dimage Z2 MinoltaImageSize
June 15, 2005 - Version 5.32 (production release)
- Changes to a few PNG and MIFF tag names
- Improved PNG/MIFF documentation
June 14, 2005 - Version 5.31
- Decode compressed information in PNG images if Compress::Zlib is available
- Decode profile information (including EXIF, XMP, IPTC and ICC_Profile
information) from PNG and MIFF images
- Updated Nikon LensID strings and decode D50 lens info (thanks Robert
Rottmerhusen)
June 10, 2005 - Version 5.30
- Added PNG and MIFF read support
- Decode Nikon SensorPixelSize
June 9, 2005 - Version 5.27
- Added -q option
June 8, 2005 - Version 5.26
- Automatically fix out-of-sequence entries in IFD when writing to comply with
the TIFF specification (but not in maker notes)
- Create new EXIF information using the same byte order as the maker notes
when using -tagsFromFile to copy maker notes to a file which previously
contained no EXIF information
- Fixed problem which could copy corrupted maker notes if using multiple
-tagsFromFile options in a single command
- Changed Orientation "Rotate 90 CCW" to "Rotate 270 CW", and changed Canon
AutoRotate strings to match
- Made StripOffsets and StripByteCounts binary data if output is too long
- Allow "-TagsFromFile '-TAG<SRCTAG'" as well as the current '-SRCTAG>TAG'
- Recognize some more Nikon lenses
- API Changes:
- Added ByteOrder option to specify byte ordering when creating new EXIF
segment in a JPEG file
June 3, 2005 - Version 5.25 (production release)
- Fixed problem with writing IPTC Time tags
- Changed Composite ShutterSpeed to ignore bulb duration if it is negative
- API Changes:
- Allow tag name to be prefixed by group in calls to SetNewValue()
June 1, 2005 - Version 5.24
- Added new "XMP" tag to allow read/write of XMP data as a block
- Added numbers to subsequent SubIFD group names to allow tags in various
SubIFD's to be accessed individually
- Give priority to tags in full resolution image (whichever TIFF directory
this is in)
- Renamed ExifData tag to EXIF (but didn't make it writable as a block like
XMP)
- Recognize maker notes from more Konica Minolta cameras
- Extract PreviewImage for Samsung Digimax V700, Kenox V10 and Digimax V10
- Changed validation of CanonPictureInfo to work with more PowerShot cameras
(Note: for these cameras, CanonImageHeightAsShot may not be meaningful)
- Added a number of new IPTC ApplicationRecord tags
- Added Nikon ExposureDifference tag
- Removed trailing white space in values printed by exiftool
May 27, 2005 - Version 5.23
- Changed behaviour of -tagsfromfile slightly so that '-GROUP:TAG>DSTTAG' now
commutes information between different groups unless a destination group is
specified
- Improved reliability of calculating offsets in Pentax maker notes
May 26, 2005 - Version 5.22
- Fixed problem with new '-tagsFromFile @' feature which occurred when
simultaneously copying tags and writing new values to multiple target files
(the new values were only getting written to the first file)
May 25, 2005 - Version 5.21
- Allow target file to be specified by '@' with -TagsFromFile option
- Fixed bug which caused internal error when using -TagsFromFile option to
copy PrintIM information to a file that already contained PrintIM data
- Fixed problem which broke the (now deprecated) -allTagsFromFile=FILE syntax
- Fixed problem decoding Pentax Date for some Optio cameras
- Fixed problem in GeoTiff decoding which could cause some tags to be missed
- Decode a number of new Pentax tags (using my new Optio WP!)
- Made Photoshop URL writable
- Limit length of JPEG segment dump at Verbose=4, and add Verbose=5 level
- API Changes:
- Added SaveNewValues() and RestoreNewValues()
May 20, 2005 - Version 5.20
- Give names to many Photoshop tags, but leave them marked as 'Unknown' so
they aren't extracted under normal circumstances (must use the -u option)
- Read/write Kyocera maker notes properly (although Kyocera information
remains unknown)
- Changed installation tests to tolerate rounding-off errors or format
differences in floating point numbers
May 17, 2005 - Version 5.19
- Added -overwrite_original option
May 16, 2005 - Version 5.18 (production release)
- Added -@ option and two utility files (iptc2xmp.args and xmp2iptc.args) to
use with this option for translating between IPTC and XMP tag names
- Disable normal console output if -v option used and no tags specified
- Repair incorrect first byte of MRW preview images when extracting
- More tweaking of -TagsFromFile order of operations
May 14, 2005 - Version 5.17
- Allow 'All' to be used as a group name with '-TagsFromFile' option to
preserve original tag groups (ie. '-all:all')
- PrintIM information is now copied with -TagsFromFile
- Decode EXIF:Gamma tag
- Decode Canon 350D FileNumber
- Made a few more tags writable
- Don't rewrite TIFF files which could be Canon 1D RAW files since this
format currently isn't supported (can use the -m option to write anyway,
which will remove the RAW image data if this is a 1D file)
- Don't add null terminator to UserComment, GPSProcessingMethod or
GPSAreaInformation
- Improved logic for handling command line tag names and exclusions,
especially when associated with the -TagsFromFile option
May 10, 2005 - Version 5.16
- Decode a number of new Nikon lens-related tags (thanks again Robert
Rottmerhusen)
- Various other improvements
May 7, 2005 - Version 5.15
- Added powerful new information redirection feature to -TagsFromFile option
- Added writable File:FileModifyDate tag which represents the filesystem
date/time of last modification
- Allow '*' to also be used as well as 'all' to represent all tags, although
this feature is not documented for the command-line options because 'all' is
more convenient since '*' must be quoted to prevent shell globbing
May 5, 2005 - Version 5.11
- Fixed problem where the proper tags weren't excluded from being extracted if
-GROUP:All and --TAG options are used together on the command line
May 5, 2005 - Version 5.10
- Changed -AllTagsFromFile option to -TagsFromFile and allow copied tags to be
specified on the command line. (-AllTagsFromFile is preserved as an alias
to -TagsFromFile for backward compatibility.)
- Allow -GROUP:All and --GROUP:All on command line to extract or exclude all
tags in specified group
- Allow family 1 group names to be used when deleting groups with -GROUP:All=
- Added composite CFAPattern derived from CFARepeatPatternDim and CFAPattern2
- Fixed problem where tags which can exist in both IFD0 and ExifIFD weren't
being properly removed from one IFD when written to the other
- Added FAQ
May 2, 2005 - Version 5.06
- Made a few more EXIF tags writable
- No longer add null-terminator to JPEG comment (was confusing xv)
Apr. 20, 2005 - Version 5.05 (production release)
- Added Nikon LensFStops tag (thanks to Robert Rottmerhusen)
- Reliability improvements for writing maker notes information
- exiftool now returns error status if there were errors reading/writing files
Apr. 18, 2005 - Version 5.04
- Fixed problem where maker notes of Olympus C2500L could get corrupted when
writing
Apr. 18, 2005 - Version 5.03
- ExifTool now requires Perl version 5.004 or higher (previously 5.002 was OK)
- Restrict the size of preview images where data is referenced directly as
the value data of an IFD entry (only affects Casio images)
- Fixed problems rewriting some Casio maker notes
- Change priority of orientation (and a number of other tags which may appear
in IFD1) so value in IFD0 takes precedence of value in IFD1 if it exists
- API Changes:
- Allow any file reference, not only GLOB references, to be used in
function calls
Apr. 16, 2005 - Version 5.02
- Fixed problem rewriting Pentax *istD preview image
Apr. 15, 2005 - Version 5.01
- Major speed improvements for writing large JPEG files with preview images
- Fixed problem rewriting preview in Olympus E-1 and E-300 images
- Old large preview is now properly removed when writing new small preview
- Allow PreviewImage to be deleted (ie. set length to zero)
- Don't extract images that have zero length
- Deleting MakerNotes group now works in conjunction with -allTagsFromFile
- Change image validation again to only validate images for tags that were
specifically requested
- Separate lookups by manufacturer for Olympus lens information
Apr. 14, 2005 - Version 5.00
- ALL MAJOR PLANNED WRITING FEATURES NOW IMPLEMENTED!
- Finally solved problem of writing large preview images in JPEG files
- -AllTagsFromFile now sets PreviewImage to 'dummy' if it exists in the maker
notes to avoid writing a large preview to the destination file (now you have
to do this manually afterwards if this is what you want)
- Fixed problem rewriting Olympus E1 maker note subdirectories
- Only validate extracted images when Binary (-b) option is used
- Rename Olympus PreviewImageAvailable to PreviewImageValid, and check/set
this tag when reading/writing the preview image
- Change priority of X/YResolution tags so IFD0 value takes precedence
- Changes to Olympus Lens decoding
Apr. 11, 2005 - Version 4.95
- Added ability to delete all meta information, or all information in a group
- Create some mandatory IPTC tags automatically when writing IPTC information
- Decoded a bunch more Olympus tags (thanks to Frank Ledwon)
- Decoded a couple more Canon 1D MkII tags (thanks to Denny Priebe)
- Fixed problem where Sony maker notes could be corrupted when rewriting file
- Fixed problem that could cause wrong tag description to be printed for
missing tags when the -f option is used
- Account for different encoding of Canon ExposureTime in 20D and 350D, and
lower priority of Canon ExposureTime and FNumber so regular EXIF values take
precedence because it appears these values may be model dependent (I hate it
when that happens)
Apr. 6, 2005 - Version 4.94
- Added support for Kodak DX3215 and DX3700
- Improved Kodak decoding and changed some Kodak tag names
- Improved logic to guard against cyclical recursion in EXIF directories
- Allow tags to be edited in IFD2, IFD3, etc...
- Patched problem when writing Canon 350D images due to probable bug in 350D
firmware (version 1.0.1) that writes an incorrect ThumbnailLength in IFD1
Apr. 2, 2005 - Version 4.93 (production release)
- Added IPTC XMP Core support
- Added support for Kodak CX4200 plus other minor Kodak changes
- Made Kodak maker notes writable
- Minor changes to Olympus tag names and decoding
- Split HTML TagNames documentation into separate files
Mar. 31, 2005 - Version 4.92
- Added support for Kodak and Ricoh cameras
- Decode still more Olympus E-1/E-300 tags
- Added 'Directory' tag
- Decode a few more Pentax tags (thanks to John Francis)
- Allow newlines in tag values on command line when writing
- Fixed problem rewriting makernotes with sub directories (ie. Olympus)
Mar. 28, 2005 - Version 4.91
- Decode yet more Olympus E-1/E-300 tags
- Changed decoding of Olympus E-300 Quality tag
- Patched bug in Olympus maker notes that was causing ExifTool to report an
error when reading ORF files
- Fixed problem where strings weren't being properly truncated at the null
terminator if there was a newline after the terminator
- Improved decoding for some Nikon tags (credit Tom Christiansen)
- Added Nikon shortcut
- Added composite SubSecDateTimeOriginal tag
- Fixed problem where CRW file without file extension wasn't being identified
properly
- Fixed problem extracting thumbnail from some (specifically Olympus) images
- Changed verbose output to always show original EXIF format
- Skip over EXIF entries with unknown format instead of aborting (while
reading only)
- Recognize TIFF field type 13
Mar. 24, 2005 - Version 4.90
- Extract Olympus PreviewImage, and decode a bunch more Olympus tags
- Improvements to documentation
Mar. 23, 2005 - Version 4.89
- Decode subdirectories in Olympus maker notes (now much more information is
extracted for E-1 and E-300 cameras, although most is still unknown)
Mar. 22, 2005 - Version 4.88
- Convert exiftool help to POD format
Mar. 15, 2005 - Version 4.87 (production release)
- Added notes to TagNames documentation
Mar. 11, 2005 - Version 4.86
- Extract PreviewImage from CR2 files
- Create mandatory GPS tags when adding new GPS directory
- Bring IPTC newsphoto support up to spec (as if anyone uses this crap)
- Fixed problem when setting 8-bit integer IPTC values
Mar. 10, 2005 - Version 4.85
- Create most mandatory EXIF entries automatically when a new EXIF directory
is created
- Fixed problem which caused an error when adding XMP information to a TIFF
file which didn't previously contain XMP
- Made '=' optional with -AllTagsFromFile option
- Fixed problem with verbose dump of zero-length directory (ie. Sony F717
maker notes)
Mar. 9, 2005 - Version 4.84
- Interpret Olympus ImageQuality of 6 as RAW
- Remove validation of TIFF identifier to allow forward compatibility with
untested RAW file formats (ORF files in particular seem to fiddle with this
identifier)
Mar. 8, 2005 - Version 4.83
- Extract ThumbnailImage from Canon CRW files written by some cameras
- Recognize ORF files from Olympus C5060WZ (and hopefully some others too!)
Mar. 7, 2005 - Version 4.82
- Made a number of new EXIF tags writable, but classify them as 'unsafe' so
they aren't copied over with the -AllTagsFromFile option
- Recognize a number of new and very uncommon EXIF tags
- Remove copy number from tag name when using the -S option
- Interpret Photoshop XMP:ColorSpace value of 4294967295 as 'Uncalibrated'
Mar. 4, 2005 - Version 4.81
- Added user-definable shortcuts
- Fixed problem with XMP:Identifier (should have existed in both XMP-dc and
XMP-xmp)
Mar. 2, 2005 - Version 4.80
- The -n option now prints binary data values as "Binary data #### bytes"
- API Changes: (NOTE: Change in API behaviour for binary data values)
- Changed returned ValueConv values so that binary data is now returned as
a SCALAR reference, the same as with PrintConv values
Mar. 1, 2005 - Version 4.73 (production release)
- Minor changes to XMP parsing to increase speed and improve validation
Feb. 28, 2005 - Version 4.72
- Extract info from UTF-16 and UTF-32 encoded XMP
- Convert EXIF text fields if encoded in Unicode
- Fixed a few incorrect XP character translation codes
- Fixed name of Nikon ColorBalanceD2H tag
Feb. 25, 2005 - Version 4.71
- Fixed bug introduced in 4.70 which caused error when transferring
information using -AllTagsFromFile from a RAW file to a JPEG file
Feb. 24, 2005 - Version 4.70
- Allow family 1 group name to be specified for any tag while writing
- Fixed problem with writing Nikon PreviewImage to NEF files
Feb. 23, 2005 - Version 4.67
- Added -L option to allow XP characters to be converted to Latin character
set instead of UTF-8. (Now XP characters can be displayed properly in
terminal windows which use either the UTF-8 or WinLatin1 character set.)
- Make JpgFromRaw image writable in Nikon NEF files
Feb. 21, 2005 - Version 4.66
- Recognize JPEG 2000 XMP UUID information
- Extract Meta information from JPEG APP3
- Yet more playing with XP characters (this has been a learning process for
me). Now special characters show up properly in my OSX terminal window, and
the reverse translation works so now they get written properly as well (for
Perl 5.6.1 or greater anyway... Earlier versions don't have the required
UTF-8 support to handle these special characters)
- Improvements to TagNames documentation (including changing format names to
make them more consistent across different types of meta information)
Feb. 18, 2005 - Version 4.65
- Fixed problem in translating XP characters
Feb. 17, 2005 - Version 4.64 (production release)
- Added new tag name documentation (replaces old tag lists)
- Made a few more DNG tags writable
Feb. 15, 2005 - Version 4.63
- Remove null terminators in ICC_Profile 'desc' strings
- Treat Olympus CameraID as a string (why wasn't it written this way?)
- Added print conversion for EXIF:CFAPattern
Feb. 14, 2005 - Version 4.62
- Convert XPTitle, XPComment, XPKeywords etc from XP character codes and add
write support for these tags
- Decode JPEG 2000 Resolution, Label and URL information
- Another try at patching 3 digit exponent situation which causes failed tests
on MSWin32-x86
- Removed .J2K from recognized extensions (since apparently this is a raw JP2
codestream, and doesn't contain any metadata that ExifTool can extract)
Feb. 14, 2005 - Version 4.61
- Don't print filename line when -p option used
- JPEG 2000 improvements
- Also recognize .JPX and .J2K extensions
Feb. 11, 2005 - Version 4.60
- Added support for reading the JPEG 2000 (.JP2) files
- Improved warnings on errors while setting tag values
Feb. 10, 2005 - Version 4.54
- Added ColorTemperature tag for many Canon models
- Added AutoRotate for Canon 10D and 300D
- Lowered priority of Nikon ISO so that EXIF ISO is used instead if both exist
- Changed names of PentaxISO and Casio ISOSetting to ISO, and lowered priority
as with Nikon ISO
- Made Photoshop EXIF Camera RAW tags writable
Feb. 7, 2005 - Version 4.53 (production release)
- Added FileNumber for Canon 20D (decoded by Juha Eskelinen)
- Removed CanonA0Tag
Feb. 4, 2005 - Version 4.52
- Added another CanonRaw test
- Changes to Canon CRW documentation
Feb. 4, 2005 - Version 4.51
- Finally found documentation for Canon CRW files (CIFF format)!!
- Changed CanonRaw to bring code up to CIFF specification
- Added a bunch more CanonRaw tags
- Updated Canon CRW documentation
Feb. 2, 2005 - Version 4.50
- Allow writing to specific IFD
- Allow permanent tags (ie. MakerNotes tags) 'deleted' by setting them to an
empty string if '' is a valid value for the tag
- Added test for rewriting Nikon D70 information
- Added missing inverse conversion routines for GPS tags (now they are all
writable)
- Decoded a few more Canon and CanonRaw tags
- Added -z option to extract information from images in compressed files
- Improved CanonRaw verbose output
- Remove garbage after null terminator in CanonRaw string-type tags
Jan. 30, 2005 - Version 4.45
- Added a few more Canon tags
- Fixed bug with divide by zero error (in Perl, '0.0' is a true value -- doh!)
Jan. 30, 2005 - Version 4.44
- Sort entries in synthesized Canon MakerNotes directory
- Interpret Canon custom functions for models other than 10D in CRW files
Jan. 29, 2005 - Version 4.43
- Synthesize Canon MakerNotes information when using -allTagsFromFile for a
CRW file
- Decode WhiteBalance table in Canon maker notes
- Rename CanonRaw CanonFileType tag to CanonImageType
Jan. 28, 2005 - Version 4.42
- Fixed problem where multiple IPTC tags could be created if replacing
specific IPTC tag values with 'TAG-=VALUE'
- Made EXIF SceneType writable
- Renamed Nikon ISOUsed tag to ISO
- Added documention of Canon RAW (CRW) file format
Jan. 27, 2005 - Version 4.41
- Added write support for Canon exposure parameters
- Change validation of CanonPictureInfo to get it working for Canon 20D
Jan. 26, 2005 - Version 4.40
- Added ability to write Canon RAW (CRW) files. With this format you aren't
allowed to add or delete any new tags (just as with the MakerNotes), except
for JpgFromRaw, which I like to be able to delete to save disk space
- Added validation of JpgFromRaw images
- Relax filtering on non-ASCII characters by exiftool script to allow
high-ASCII characters to be printed
- Changed the tense of Orientation values to try to make the meaning more
clear. This tag can be a bit confusing. It gives the rotation that must be
applied to the image to view it properly (hence the rotation of the camera
when the picture was taken).
- Patched problem which was causing failed tests on some platforms (floating
point format has 3 digits in exponent on Perl 5.8.5 MSWin32-x86, grrrr...)
- API Changes:
- Added 'Compact' option to not write blank padding as per XMP and IPTC
specs
Jan. 24, 2005 - Version 4.36 (production release)
- Added support for reading Olympus Raw Format (ORF)
Jan. 23, 2005 - Version 4.35
- Moved a couple of the informational warnings to verbose mode
- Suppress warnings an non-critical errors with -m option
- Made a few more of the EXIF tags writable
- Made model-dependent tags Pentax FocalLength and Olympus Quality writable
- Added ability to write CanonCustom tags
- Added range check for integer values
Jan. 21, 2005 - Version 4.34
- Fixed problem when writing Canon maker notes with -allTagsFromFile
- Added -o option to write to different file or directory
- Added handler to clean up temporary file on Ctrl-C
- Re-wrote routine to rationalize floating point values (it is slower now, but
produces much prettier fractions)
- Other minor improvements to writer code
Jan. 19, 2005 - Version 4.33
- Added check at higher level and return warning if trying to delete
information from maker notes
- Make GPS latitude and longitude a bit more flexible about the format they
accept when writing
- Updates to documentation
Jan. 19, 2005 - Version 4.32
- Now rewrites Casio EX-Z3 maker notes properly (well, not actually
'properly', but the way they were written in the first place, which is
wrong)
- Added warning when writing information if original IFD entries were not in
the proper sequence, which is a violation of EXIF specs. (And surprise,
you'll never guess who does this too... Yup, the EX-Z3.)
- Fixed parsing problem with GPSProcessingMethod and GPSAreaInformation
- No longer truncates 'undef' values at first null character
- Changed all DataDump tags to binary data types
- Changed some warning messages
- Documented the -m option (it's now official, even though it's been there
since version 4.10)
- Added some more writer tests
Jan. 18, 2005 - Version 4.31
- Now also copies over preview image in Nikon NEF files
Jan. 18, 2005 - Version 4.30
- Now copies over preview images in EXIF data (large, external previews still
not copied)
- Account for funny offsets in Casio EX-Z3 maker notes while extracting data
(but haven't figured out how to handle them when writing)
- Fixed bug introduced in 4.20 that broke extraction of Canon PreviewImage
Jan. 17, 2005 - Version 4.23
- Improve handling of unrecognized maker notes when writing
Jan. 17, 2005 - Version 4.22
- Added check in -AllTagsFromFile to test for pointers in the maker notes
directory running outside the maker notes data. If they do, a warning is
issued and the maker notes are rebuilt properly before copying.
- Fixed problem which could corrupt some values when editing maker notes
Jan. 17, 2005 - Version 4.21
- Added Olympus Red/BlueBalance
Jan. 17, 2005 - Version 4.20
- Added ability to edit MakerNotes!
- Added more validation when writing IPTC information
- Fixed display of Nikon FlashExposureComp for negative values
- Fixed problem where the large JPEG image in Nikon and Pentax raw files was
misidentified as the ThumbnailImage. It is now extracted as JpgFromRaw.
This allows all 3 JPEG images contained in Pentax PEF files to be extracted:
ThumbnailImage, PreviewImage and JpgFromRaw.
- Fixed problem on systems that use backslashes in directory names that
prevented exiftool from finding its libraries if not installed
- Changed many Pentax tag names to remove "Pentax" prefix and conform more to
the other tag names (moving information between files of different formats
is much easier if tags have standardized names):
- PentaxPictureMode => PictureMode
- PentaxFocusMode => FocusMode
- PentaxWhiteBalance => WhiteBalance
- PentaxAEMetering => MeteringMode
- PentaxFocalLength => FocalLength
- PentaxZoom => DigitalZoom
- PentaxSaturation => Saturation
- PentaxContrast => Contrast
- PentaxSharpness => Sharpness
- Fixed FocalLength conversion for Pentax Optio S
- Fixed printout of Nikon FileSystemVersion for older Nikon models
- More improvements to reliabilty of preview image extraction
- Fixed Quality for Olympus E-1
Jan. 12, 2005 - Version 4.15
- Added Pentax LensType and RawImageSize tags
- Change printing of some unknown values to hexadecimal
- Now recognizes Nikon PEF files
- More reliable extraction of preview and thumbnail images, particularly for
the various models of Pentax cameras
- Added decoding of the Canon 20D custom functions and a new Canon20D shortcut
(thanks to Christian Koller)
- Improved write logic for EXIF information
- Improved logic in determining byte ordering of maker notes
Jan. 10, 2005 - Version 4.14
- Fixed problem introduced in 4.13 that messed up new 4.12 features. doh.
(and added test to keep this from happening again!).
- No longer store bad directory data as a tag (dump in verbose output instead)
Jan. 9, 2005 - Version 4.13
- Added check on size of new ThumbnailImage so ExifTool doesn't try to write
an image that is too large (>60k) into the JPEG EXIF APP1 segment
Jan. 9, 2005 - Version 4.12
- -AllTagsFromFile option now copies over the maker notes
- Changed some misleading warning messages
Jan. 8, 2005 - Version 4.11
- Improved validation of tag values with -AllTagsFromFile option
Jan. 7, 2005 - Version 4.10
- Added ability to write EXIF, IPTC and XMP tags in JPEG and TIFF files!
- Allow Photoshop APP13 data to span multiple segments (read and write)
- Added -TAG+=VALUE, -TAG-=VALUE and -TAG<=VALUE syntaxes
- Added -GROUP:TAG syntax to allow tag group to be specified
- Added powerful -AllTagsFromFile=SRCFILE option to copy all tags from file
- Added -listw option to list all writable tags
- Added -E option to escape output values for HTML
- Fixed -w option to only replace extension after last '.' in filename if more
than one '.'
- Unescape XMP character codes when extracting values (and escape again when
writing)
- Now processes all IFD's of TIFF imags (not just IFD0)
- Added data length check in hex dump of verbose option
- Allow group name to be specified as prefix to tag name on command line
- Renamed a few Nikon tags: FlashExposureComp to FlashExposureBracketValue,
FEC to FlashExposureComp, and ShutterReleaseMode to ShootingMode
- Extract Nikon preview image
- Changed descriptions for Aperture and Shutter Speed to drop the Av/Tv
Canonism
- Improved logic to recognize more types of unknown maker notes
- Recognize a couple more values of the Canon WhiteBalance tag
- Renamed IPTC 'SupplementalCategory' to 'SupplementalCategories'
- Handle timezone in times
- API Changes:
- Fixed problem where first tag name passed to GetInfo() was ignored
- The values returned by ImageInfo() and GetInfo() may contain array
references to indicate lists of values if PrintConv is disabled
- Added a bunch of new stuff...
Dec. 15, 2004 - Version 4.05
- Added a couple of Nikon tags
- Now preserves original file by renaming to "NAME_original" when writing
information
- Don't preserve file time by default when writing. Added -P option to do
this.
- Changes to spec file
Dec. 11, 2004 - Version 4.04
- Fixed problem which could corrupt JPEG images when adding comments (Note: if
done, the damage can reversed by removing the comments with the same version
of ExifTool that added them.)
Dec. 6, 2004 - Version 4.03
- Major overhaul of verbose message output
- Change -v option to allow verbose level to be specified (ie. -v3 = very very
verbose)
- Added a new Nikon tag (SceneMode)
- Count images which were unchanged when writing tags
- Changed FileType 'JPG' to 'JPEG'
Dec. 2, 2004 - Version 4.02
- Fixed problem with rewriting some JPEG images
- Preserve original file modification time when updating tags in a file
- Report of number of files updated
- API Changes:
- Changed arguments of WriteInfo() and allow scalar and file references to
be used
Dec. 1, 2004 - Version 4.01
- Changed -o option to -w to avoid confusion since we now write image files
too
- Added warning if specified image file doesn't exist
Dec. 1, 2004 - Version 4.00
- Started down the road of adding write support:
- Allow writing of Comment tag to JPEG and GIF files
- API for write functions still under development and is likely to change
- Clean up formatting of Nikon string tags (fix case and remove trailing
spaces)
Nov. 30, 2004 - Version 3.96
- Changed JPEG read routine to speed things up a bit
- Added a few more ICC_Profile tags
Nov. 25, 2004 - Version 3.95
- Improved compatibility with old Perl versions (now runs, albeit with
warnings, on 5.003)
Nov. 25, 2004 - Version 3.94 (production release)
- Patched problem with reading XMP data using Perl 5.6.x (Perl bug)
- Put lib directory first in exiftool include list to take precedence over
installed versions
- Continue trying to parse JPEG image after an unrecognized APP1 segment
Nov. 24, 2004 - Version 3.93 (production release)
- Final round of ICC_Profile updates
- Increase precision of extracted rational values
- Internal Changes:
- Build in better support for all data formats
- Standardize data format names
- Clean up and streamline data read routine
Nov. 22, 2004 - Version 3.92
- Fixed problem with -p option when multiple files are specified
- Enhancements to ICC_Profile information, including extracting information
from profile header
- Subdivide ICC_Profile group in family 1
- Added Minolta ImageStabilization tag
Nov. 20, 2004 - Version 3.91
- Fixed problem where some tags were not extracted properly from Canon CR2
files
- Internal Changes:
- Cleaned up and simplified pointer calculations and dirInfo members
Nov. 20, 2004 - Version 3.90
- Extract information from ICC Profiles
- Extract undocumented IFD0 Photoshop tags
- Added support for Minolta RAW (MRW) file format
- Added support for Konica-Minolta cameras
- Improved decoding for Minolta maker notes
- Extract (the sometimes misleading) EXIF WhiteBalance tag even if
WhiteBalance was extracted from the maker notes if the Duplicates option is
set. (Previously it was only extracted as an Unknown tag in this case.)
- API Changes:
- Return list of all tags in image if GetFoundTags() or GetTagList() are
called before ImageInfo() or GetInfo()
Nov. 15, 2004 - Version 3.85
- Extract a couple more Photoshop tags (including PhotoshopQuality)
- All XMP lists now comma separated (previously, 'alt' lists were separated by
'|')
- API Changes:
- GetValue() now returns reference to array if values form a list and
ValueConv is specified
Nov. 12, 2004 - Version 3.84
- Added test of GetTagID()
- Fixed bug in GetTagID() which was causing special tags to get overwritten
Nov. 12, 2004 - Version 3.83
- Added -D and -H command line options
- API Changes:
- Added GetTagID()
Nov. 11, 2004 - Version 3.82 (production release)
- Improved diagnostic output for failed tests in installation
Nov. 11, 2004 - Version 3.81
- Updated Olympus module to also support Epson cameras
- Moved MakerNotes code into separate module
- Added tests for Sony and Unknown maker notes
Nov. 10, 2004 - Version 3.80
- Added support for Panasonic/Leica cameras
- Updated Pentax module to also support Asahi cameras
- Decode a couple more Minolta camera model types
Nov. 4, 2004 - Version 3.74 (production release)
- Properly localize $_ in public Image::ExifTool subroutines
Nov. 3, 2004 - Version 3.73
- Changes to tests to avoid false failures on MSWin32-x86-multi-thread 4.0
Nov. 1, 2004 - Version 3.72 (production release)
- Fixed minor bug in generation of family 1 XMP group names
- Changes to Photoshop family 2 groups
Oct. 30, 2004 - Version 3.71
- Switched group families 0 and 1 so the general location is now the default
- Fixed bug when sorting by order of group for any family other than 0
- Added test 17 to ExifTool.t
Oct. 29, 2004 - Version 3.70
- Major improvements to XMP parsing
- Divided XMP group in family 0 based on the XMP namespace prefix
- Changed a few long tables to binary type
- Recognize some new YCbCrSubSampling values
- Display DNG LocalizedCameraModel in plain text
- Patched problem in FileSource reported by Sigma cameras
- Added information about tag format to verbose hex dump
Oct. 22, 2004 - Version 3.61
- Added support for DNG file format
- Added and updated a number of EXIF tags for FAX and other uncommon images
- Added Photoshop URL tag
- Attempt to extract image from files with unrecognized extensions assuming
TIFF format
- Added "Image format error" if the image type is recognized but the format is
bad
- Changed "Unknown file type" error to "Unknown image type"
- Moved POD documentation into separate .pod files
- Started referencing sources for tag definitions in the source code
Oct. 1, 2004 - Version 3.60 (production release) - initial CPAN release!
- Changed group family 0 to divide EXIF group into individual IFD groups
- Fixed typos in some Casio tag names
- API Changes:
- Changed name of File::RandomAccessFile to File::RandomAccess
- Changed default setting of Duplicates to 1
Sept. 21, 2004 - Version 3.51
- Improvements to interpretation of Nikon D70 ISO settings
Sept. 16, 2004 - Version 3.50
- Fixed problem with duplicate tags showing up without the -a option
- Changed Nikon DataDump to a binary type
- Added D70Boring shortcut
Sept. 14, 2004 - Version 3.49
- Changed installation to also install the 'exiftool' script
Sept. 13, 2004 - Version 3.48
- Changed UserComment to skip first 8 bytes since the comments come after an 8
byte character code
Sept. 10, 2004 - Version 3.47
- Added support for second type of Casio maker notes (MakerNoteCasio2)
Sept. 1, 2004 - Version 3.46
- Fixed minor bug in PrintConv of FileNumber for CanonRaw files
June 3, 2004 - Version 3.45
- Recognize Canon 1D Mk II raw files (.CR2)
(Note: Not properly decoding maker notes from these files yet)
May 28, 2004 - Version 3.44
- Improved validity check of Sony maker notes
May 18, 2004 - Version 3.43
- A couple more changes to the Nikon maker notes
May 17, 2004 - Version 3.42
- Additions to Nikon maker notes for values derived from D70
Apr. 28, 2004 - Version 3.41
- Fixed some errors when running on older Perl versions
Apr. 7, 2004 - Version 3.40
- Try to extract data from unrecognized maker notes (assuming standard EXIF
format)
- Added tests for different maker notes
Apr. 6, 2004 - Version 3.37
- Added support for Sigma maker notes
- Remember to add new files to MANIFEST so they get included in release. Doh
Apr. 6, 2004 - Version 3.36
- Added support for Sanyo and Minolta maker notes
- Added skeleton for interpeting Sony maker notes
- Interpret Pentax PrintIM
Apr. 6, 2004 - Version 3.35
- Added support for Nikon PrintIM
- Changed names of duplicate EXIF tags
Apr. 5, 2004 - Version 3.34
- Added all missing tag definitions from TIFF 6 standard
- Added a few more EXIF tag definitions
- Interpret PrintIM IFD
- Fixed interpretation of Interoperability IFD
- Fixed potential endless loop bug introduced in version 3.33
Apr. 5, 2004 - Version 3.33
- Parse SubIFD of Nikon NEF file (now extracts raw image size and thumbnail
image)
Apr. 2, 2004 - Version 3.32
- Changes to some Nikon tag names
- Added Nikon Saturation
- Documentation improvements
Mar. 31, 2004 - Version 3.31
- Now recognizes NEF (Nikon Electronic image Format) files
Mar. 29, 2004 - Version 3.30
- Removed -w option
- Fixed problem with some XMP tags being put in the EXIF group
- More minor speed improvements
- API Changes:
- GetDescription() now requires an ExifTool object reference
- Removed WarnDuplicateDescriptions()
Mar. 26, 2004 - Version 3.27
- Optimized a few routines to speed things up a bit
- API Changes:
- Changed GetDescription() documention to indicate it is called with an
ExifTool object (this is still optional, but will be mandatory with the
next version)
Mar. 25, 2004 - Version 3.26
- Don't generate warning if end of IPTC block is padded with nulls
Mar. 19, 2004 - Version 3.25
- Fixed problem with 'Input' sort order
Mar. 19, 2004 - Version 3.24
- Only return PreviewImage if it is a valid JPG (otherwise set 'Warning')
Mar. 16, 2004 - Version 3.23
- API Changes:
- Added GetGroups()
- GetGroup() now returns group names for all families if used in list
context and family not specified
Mar. 12, 2004 - Version 3.22
- API Changes:
- Changed GetInfo() to return list of tags like ImageInfo() if list
reference provided
- Fixed bug that caused GetInfo() to ignore specified tags
Mar. 11, 2004 - Version 3.21
- Fixed problem with Composite group in family 1
- Changed case of Exif to EXIF in family 1
- -group option now lists Composite group as it should
- Internal Changes:
- Cleaned up handling of function arguments
Mar. 10, 2004 - Version 3.20
- Added -group option
- Added group families 1 and 2
- Can now specify excluded tags with leading '-' (replaces -x option)
- API Changes:
- Added ClearOptions(), ExtractInfo(), GetInfo(), CombineInfo(),
GetTagList() and GetAllGroups()
- Removed IsVerbose() function (use Options('Verbose') instead)
- Allow groups to be excluded by specifying leading '-' on group name
- ImageInfo() and GetInfo() now use specified group order to set tag
precedence if Duplicates option is not set
- Change default value of Duplicates option back to 0
Mar. 1, 2004 - Version 3.15
- Changed format of all date and time tags to EXIF standard
- Added some composite date/time tags
- Fixed date formatting so -d option should now work with all combined
date/time tags
- Other minor changes to GPS information
- Improvements to TIFF processing
- Set value to "Undefined" if PrintConv evaluates to undefined value
- Added -G option
- API changes:
- Changed all option names: shortened and changed to mixed case (sorry!)
- Internal changes:
- Standardized arguments to all processing procedures
- Made call to processing procedure more automatic
- Removed TABLE_TYPE tag and added PROCESS_PROC
- Added ProcessTagTable() member function
Feb. 27, 2004 - Version 3.14
- Added GPS tag conversions and GPS test
- Values that can't be converted now show up simply as "Unknown (X)"
Feb. 26, 2004 - Version 3.13
- Print out errors from exiftool script (since Image::ExifTool no longer
prints them)
- Added more tests
- Failed tests now leave ".failed" file in "t" directory for post mortem
Feb. 25, 2004 - Version 3.12
- Moved all image-related warnings to new Warning tag
Feb. 25, 2004 - Version 3.11
- Added GeoTiff support
- Added -x option
- Improvements to documentation
- Improve XMP parsing for 'Bag' elements
- Capitalize first letter of XMP tag descriptions
- Patch problem with APP13 resource written by older Photoshop versions
- API changes:
- Added EXCLUDE and GROUP# options
- Change default value of SAVE_DUPLICATES option to 1
Feb. 20, 2004 - Version 3.10
- Restructuring only -- the behaviour of the exiftool script was not changed
- Moved html documentation to new html directory
- API changes:
- Conform to standard Perl module mechanics:
- Changed ExifTool package name to Image::ExifTool
- Added Makefile.PL and other standard files
- Added Perl pod documentation
- Added standard test files
- Moved modules into lib directory
- Changed "TagTables" directory name to "ExifTool"
- Added extra parameter in new RandomAccessFile
Feb. 20, 2004 - Version 3.05
- Fixed problem where output files (-o) weren't written if -p option used
Feb. 19, 2004 - Version 3.04
- Added -U option to allow display of unknown values in Canon binary data
blocks
- Made unknown tag names more specific when -u or -U option used
- Added RawData and DecoderTable tags (for Canon RAW file)
Feb. 17, 2004 - Version 3.03
- Fixed RandomAccessFile package name (should have been
File::RandomAccessFile)
- Added IxusAFPoint tag to Canon maker notes
- Avoid scanning past end of Canon binary data blocks
- API changes:
- GetFoundTags() and GetRequestedTags() now return list instead of list
reference
Feb. 16, 2004 - Version 3.02
- Improved handling of Pentax maker notes
Feb. 15, 2004 - Version 3.01
- API changes:
- Added GetValue() function
- Completed API documentation
Feb. 13, 2004 - Version 3.00
- Removed -all option (it is now the default -- specify -common for previous
default behaviour)
- Added -a option to allow printout of duplicate tag values
- API changes:
- I am finally happy with the API, so future major changes are less likely
(hence the major version number)
- No longer return ARRAY reference for list of tags (Instead, tag values
are joined in a comma separated list if tag 'List' flag is set)
- Added SAVE_DUPLICATES option
- Added BuildCompositeTags() to EXPORT_OK list
- GetFoundTags() now sorts tags in specified order
- GetDescriptions() longer returns undef if the description doesn't exist
Feb. 12, 2004 - Version 2.71
- Still more playing with Pentax maker notes
- More API changes:
- Added RandomAccessFile.pm
- All image file i/o now done through a RandomAccessFile object
--> allows proper piping and use of string i/o
- Allow scalar reference to be passed to ImageInfo() (for string i/o)
Feb. 11, 2004 - Version 2.70
- More tweaking of Pentax maker notes
- Changed API to be more object oriented:
- Removed SetVerbose(), ExtractUnknown(), SetDateFormat(),
EnablePrintConversion(), EnableCompositeTags()
- Added Options() to replace above functions
- Changed WarnDuplicateTags() to WarnDuplicateDescriptions()
- Added GetFoundTags() and GetRequestedTags()
- Many functions now take ExifTool object reference as first argument
- ImageInfo() no longer returns reference to ExifTool object when used in
list context (you have to use "new ExifTool" and the OO form of
ImageInfo() if you want the object)
Feb. 10, 2004 - Version 2.62
- Added -u option to allow display of unknown tags
- Major changes to Pentax maker notes (still needs work)
Feb. 09, 2004 - Version 2.61
- Allow file reference to be passed to ImageInfo()
- Allow file to be read from standard input by specifying "-" as file name
- Added FileType tag
Feb. 07, 2004 - Version 2.60
- Improve IPTC parsing and add support for more IPTC data types
- Read Photoshop APP13 records properly
- Added -g option
- Move shortcuts into separate module
- Changes to API:
- Removed LoadAllTables() and added GetAllTags()
- Removed GetDescriptions() and added GetDescription()
- Changed GetShortcuts() to return a list
- Added tag groups and GetGroup() function
- Return object data from ImageInfo() for use in GetGroup()
Jan. 30, 2004 - Version 2.51
- Speed up JPG reading code
- API no longer returns references to image-specific static data
- Added ExifToolVersion tag
Jan. 29, 2004 - Version 2.50
- Changed API to return binary data as SCALAR reference and
list of values as ARRAY reference
- Attempt to make case of tag descriptions more consistent
Jan. 28, 2004 - Version 2.41
- Scan photoshop JPG 0xe1 garbage for possible XMP information
Jan. 27, 2004 - Version 2.40
- Improved handling of XMP data
- Changed output format and added -l option
Jan. 21, 2004 - Version 2.36
- Don't output trailing linefeed when -b option used
Jan. 19, 2004 - Version 2.35
- Changes to verbose output
- Added TagTables::CanonRaw::CleanRaw() as an API utility function
Jan. 16, 2004 - Version 2.34
- Added 'Validate' check for Canon data fields
- Changed ScaleFactor35efl to use FocalLengthIn35mmFormat if available
Jan. 15, 2004 - Version 2.33
- Added ScaleFactor35efl, FocalLength35efl, Lens35efl
- Allow Composite tags to Require/Desire each other
- Changed FlashType to use FlashBits instead of CanonFlashMode
Jan. 13, 2004 - Version 2.32
- Added -d (date format) option
- Added -p (print format file) option
Jan. 9, 2004 - Version 2.31
- Exif WhiteBalance no longer overrides maker-specific WhiteBalance
Jan. 8, 2004 - Version 2.30
- Added support for IPTC format information
Jan. 6, 2004 - Version 2.25
- Fixed problem with ImageInfo() function prototype
- Fixed printout of JpgFromRaw message (doesn't affect JPG extraction)
- Set output files to binmode (including STDOUT) if -b option used
Jan. 1, 2004 - Version 2.24
- Fixed -list option to show all available tag names
Dec. 18, 2003 - Version 2.23
- Changed "Disable" routines to "Enable"
Dec. 17, 2003 - Version 2.22
- Fixed make/model tags which I broke with a recent change
- Removed null terminator from returned strings
Dec. 16, 2003 - Version 2.21
- Fixed problem with decoding some Nikon maker notes
- General improvements and tweaks to the code
Dec. 14, 2003 - Version 2.20
- Now extracts preview image from 300D JPG files (PreviewImage)
- Changed ThumbnailData tag name to ThumbnailImage
Dec. 12, 2003 - Version 2.10
- ExifTool::ImageInfo now returns reference to hash instead of hash
Dec. 10, 2003 - Version 2.01
- Minor fixes for reading of RAW files
Dec. 09, 2003 - Version 2.00
- Added support for Olympus, Casio and Nikon cameras
- Now recognizes GPS information
- Moved config information to TagTables modules
- Restructured API
Dec. 05, 2003 - Version 1.72
- Changes to composite Aperture and ShutterSpeed decisions
Dec. 05, 2003 - Version 1.71
- Read 10D Custom functions from CRW file too (thanks dpophyte)
Dec. 05, 2003 - Version 1.70
- Added custom functions for 10D and 1D
Dec. 04, 2003 - Version 1.62
- Decode known flash bits
Dec. 04, 2003 - Version 1.61
- Override ShutterSpeed with BulbDuration if available
- Change -s option to add tab-separated list
Dec. 03, 2003 - Version 1.60
- Big improvements in reading Canon RAW files
Nov. 29, 2003 - Version 1.50
- Added ability to extract JPG from RAW
- Added ExifData tag to allow entire EXIF block to be dumped
Nov. 26, 2003 - Version 1.40
- Split up config files to speed things up
- Added ability to extract binary data
- Added ThumbnailData tag (to allow extracting JPG thumbnails)
Nov. 25, 2003 - Version 1.30
- Added experimental Canon RAW (CRW) file support
Nov. 22, 2003 - Version 1.20
- Now reads TIFF files too
Nov. 20, 2003 - Version 1.12
- Don't translate Photoshop Brightness, etc
Nov. 20, 2003 - Version 1.11
- Attempt to fix problem on hp
- Clean up code a bit
- Added '-ver' command-line option
Nov. 20, 2003 - Version 1.10
- Added support for XMP format
Nov. 19, 2003 - Version 1.00
- Initial release (extracts information from JPEG and GIF images, with Canon,
FujiFilm and Pentax makernote support)
|