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
|
<?xml version="1.0" encoding="UTF-8"?>
<!--
====================================================================
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
====================================================================
-->
<!DOCTYPE changes PUBLIC "-//APACHE//DTD Changes POI//EN" "changes-poi.dtd">
<changes>
<contexts>
<context id="OOXML" title="OOXML"/>
<context id="OPC" title="OPC"/>
<context id="POI_Overall" title="POI Overall"/>
<context id="HSSF" title="Horrible SpreadSheet Format"/>
<context id="XSSF" title="ooXml SpreadSheet Format"/>
<context id="SXSSF" title="Streaming ooXml SpreadSheet Format"/>
<context id="SS_Common" title="SpreadSheet Common"/>
<context id="HSLF" title="Horrible SlideShow Format"/>
<context id="XSLF" title="ooXml SlideShow Format"/>
<context id="SL_Common" title="SlideShow Common"/>
<context id="HWPF" title="Horrible WordProcessor Format"/>
<context id="XWPF" title="ooXml WordProcessor Format"/>
<context id="HDF" title="Horrible Document Format"/>
<context id="HPSF" title="Horrible PropertySet Format"/>
<context id="HDGF" title="Horrible Dreadful Graph Format"/>
<context id="XDGF" title="ooXml Dreadful Graph Format"/>
<context id="DDF" title="Dreadful Drawing Format"/>
<context id="XDDF" title="ooXml Dreadful Drawing Format"/>
<context id="HMEF" title="Horrible Mail Encoder Format"/>
<context id="HSMF" title="Horrible Senseless Format"/>
<context id="HPBF" title="Horrible Peep Book Format"/>
<context id="HWMF" title="Horrible Wannabe Metafile Format"/>
<context id="HEMF" title="Horrible Ermahgerd Metafile Format"/>
<context id="POIFS" title="Poor Obfuscation Implementation FileSystem"/>
</contexts>
<section id="current_release">
<title>Current releases</title>
<p>The change log for the <a href="site:changes">current release</a> can be found in the home section.</p>
</section>
<release version="3.17" date="2017-09-15">
<summary>
<summary-item>Removal of deprecated classes and methods that were marked for removal in v3.17</summary-item>
<summary-item>Various modules: add sanity checks and fix infinite loops / OOMs caused by fuzzed data</summary-item>
<summary-item>OPC: fix linebreak handling on XML signature calculation (#61182)</summary-item>
<summary-item>SS Common: fix number formatting (github-43/52, #60422)</summary-item>
<summary-item>SXSSF: fix XML processing - unicode surrogates and line breaks (#61048, #61246)</summary-item>
</summary>
<actions>
<action type="fix" fixes-bug="61478" context="OPC">POI OOXML-Schema lookup uses wrong classloader</action>
<action type="fix" fixes-bug="61470" context="XWPF">Handle ruby (phonetic) elements in XWPFRun</action>
<action type="fix" fixes-bug="61381" context="POIFS">PushbackInputStreams passed to ZipHelper may not hold 8 bytes</action>
<action type="fix" fixes-bug="58975" context="SS_Common">Support formula evaluation with functions containing more than 127 arguments</action>
<action type="fix" fixes-bug="60422" context="SS_Common">Fix issue with number formatting in non-default locales</action>
<action type="fix" fixes-bug="61048" context="SXSSF">Fix issue where carriage returns were being escaped as line feeds</action>
<action type="fix" fixes-bug="61246" context="SXSSF">Do not replace Unicode Surrogate chars with ? when writing SXXSF sheets</action>
<action type="fix" fixes-bug="61363" context="POI_Overall">Unify escher shape id allocation</action>
<action type="fix" fixes-bug="61350" context="OPC">Use unsynchronized xmlbeans</action>
<action type="fix" fixes-bug="61346" context="HEMF">Add more sanity checks before allocation of byte arrays in HEMF/HWMF</action>
<action type="fix" fixes-bug="61338" context="HWMF">Avoid infinite loop with corrupt file</action>
<action type="fix" fixes-bug="61295" context="HPSF">Avoid OOM in hpsf with corrupt file</action>
<action type="add" fixes-bug="61331" context="SL_Common">Font group handling / common font interface</action>
<action type="fix" fixes-bug="61300" context="POIFS">Avoid infinite loop with corrupt file</action>
<action type="fix" fixes-bug="61286,61287" context="HSSF">Handle zero-length headerfooter and 2 byte WriteProtectRecord</action>
<action type="fix" fixes-bug="github-43" context="SS_Common">RoundUp and RoundDown functions round incorrectly in some scenarios</action>
<action type="fix" fixes-bug="github-52" context="SS_Common">Support number formats with trailing commas</action>
<action type="fix" fixes-bug="61294" context="POI_Overall">Fix bug that allowed IOUtils.skipFully to enter infinite loop</action>
<action type="fix" fixes-bug="61266" context="POIFS">More helpful exception on unsupported old MS Write WRI files</action>
<action type="fix" fixes-bug="61243" context="POI_Overall">Refactor and unify toString/toXml in DDF</action>
<action type="fix" fixes-bug="61182" context="OPC">Invalid signature created for streamed xlsx file</action>
</actions>
</release>
<release version="3.17-beta1" date="2017-07-01">
<summary>
<summary-item>XSSF: improved support for XSSFTables</summary-item>
<summary-item>HSLF: various fixes in table support</summary-item>
<summary-item>HPSF: reworked to cover edge cases and better support non-latin charsets</summary-item>
<summary-item>SL Common: fixed rendering of preset-shapes</summary-item>
<summary-item>HWPF: support for Binary RC4 / CryptoAPI de-/encryption</summary-item>
</summary>
<actions>
<action type="fix" fixes-bug="61203" context="XSSF">XSSFDrawing.getAnchorFromParent handles CTOneCellAnchor incorrectly, ignores CTAbsoluteAnchor</action>
<action type="fix" fixes-bug="56557" context="SXSSF">Output file get corrupted with SXSSFWorkbook and "chart sheet"</action>
<action type="fix" fixes-bug="61045" context="HSLF">Allow for extra bytes in FormatRecord</action>
<action type="add" fixes-bug="52063" context="SS_Common">Add formula support for LOOKUP(lookup_value, array)</action>
<action type="fix" fixes-bug="61169" context="SL_Common">Text with Japanese characters overflows textbox</action>
<action type="add" context="XSSF">XSSFTable improved support for creating columns and setting table areas, without needing to use CT classes</action>
<action type="fix" context="XSSF">XSSFTable should format numeric/date cells when used as Column Header names as Excel does</action>
<action type="add" fixes-bug="61162" context="HWPF">En-/decryption support for HWPF</action>
<action type="fix" fixes-bug="60230" context="XSSF">Round trip workbook encryption and decryption</action>
<action type="fix" fixes-bug="58325" context="XSSF">XSSFDrawing.getShapes() returns zero if sheet has more than one embedded OLE object</action>
<action type="fix" fixes-bug="61119" context="SL_Common">Fix preset shape rendering and shading</action>
<action type="fix" fixes-bug="61059" context="HSSF">Allow workbooks to contain more than 32k names</action>
<action type="fix" fixes-bug="github-55" context="XSSF">Allow XSSFNames set with a long name that looks similar to a cell address</action>
<action type="add" fixes-bug="github-25" context="SXSSF">Add lock/unlock sheet protection and tab colors</action>
<action type="update" fixes-bug="github-32" context="SS_Common">Speed up Irr() formula evaluation</action>
<action type="add" fixes-bug="github-52" context="HSSF">Add a function to convert an HSSFWorkbook to an HTML document from an InputStream</action>
<action type="fix" fixes-bug="github-53" context="XWPF">fix NPE when iterating over paragraphs in certain *.docx files</action>
<action type="update" fixes-bug="github-54" context="XSSF">Decrease execution time and memory consumption when adding XSSFPictures to an XSSFWorkbook</action>
<action type="fix" fixes-bug="52117" context="HPSF">Invalid "last printed" summary field value</action>
<action type="fix" fixes-bug="60352" context="XSSF">Text extraction: Don't include the text "null" for empty cells</action>
<action type="fix" fixes-bug="52372" context="HPSF">OutOfMemoryError parsing a word file</action>
<action type="fix" fixes-bug="61062" context="HPSF">Various HPSF related fixes</action>
<action type="fix" fixes-bug="61034" context="XSSF">Call to XSSFReader.getSheetsData() returns duplicate sheets</action>
<action type="fix" fixes-bug="61049" context="SS_Common">Fix order of two built-in formats</action>
<action type="add" fixes-bug="61021" context="XSSF">Extract Excel 2013 absPath info from xlsb</action>
<action type="fix" fixes-bug="60998" context="HSLF">HSLFTable.setRowHeight sets row height incorrect</action>
<action type="fix" fixes-bug="60996" context="XSSF">Multiple embedded objects on same sheet are ignored</action>
<action type="fix" fixes-bug="60993" context="HSLF">Grid and rowspan calculation in table cells is wrong</action>
<action type="fix" fixes-bug="60973" context="XDGF">Support for "PolylineTo" as well as existing alternate spelling "PolyLineTo"</action>
</actions>
</release>
<release version="3.16" date="2017-04-19">
<summary>
<summary-item>add initial streaming, read-only support for xlsb files</summary-item>
<summary-item>SL Common: various rendering issues resolved</summary-item>
<summary-item>various charset related fixes in SS Common, XSSF and HWPF</summary-item>
</summary>
<actions>
<action type="fix" fixes-bug="60810" context="XSLF">Check for duplicate relation-names for notes similar to the fix for slides (fixed via bug 55791)</action>
<action type="fix" fixes-bug="60823" context="SS_Common">Correct behavior of function DGET with multiple result entries but only one non-blank. Thanks to Patrick Zimmermann for the patch</action>
<action type="fix" fixes-bug="50955" context="HWPF">Fix charset handling in HWPFOldDocument</action>
<action type="add" fixes-bug="60826" context="XSSF">Add initial streaming, read-only support for xlsb files</action>
<action type="fix" fixes-bug="51519" context="XSSF">Allow user to select or ignore phonetic strings in shared strings table</action>
<action type="fix" fixes-bug="60662" context="XSLF">Slide import delete unrecognized elements in group shape</action>
<action type="fix" fixes-bug="60715" context="XSLF">Blank layout was not found</action>
<action type="add" fixes-bug="59227,github-48" context="SS_Common">Support Chinese and Japanese date formats</action>
<action type="fix" fixes-bug="59983" context="XSSF">Shift shared formulas when shifting rows in a sheet</action>
<action type="fix" fixes-bug="60625" context="SL_Common XSLF HSLF">Rendering issue with background and shape overlayed by image</action>
<action type="fix" fixes-bug="60626" context="XSSF">ArrayIndexOutOfBoundsException in EvilUnclosedBRFixingInputStream</action>
</actions>
</release>
<release version="3.16-beta2" date="2017-02-02">
<summary>
<summary-item>The third-party jar for commons-collections4 is now required for handling of OLE2 properties</summary-item>
<summary-item>Primitive (experimental) EMF/WMF text extraction support</summary-item>
<summary-item>Unicode and internationalization improvements</summary-item>
</summary>
<actions>
<action type="fix" fixes-bug="60219" context="SS_Common">FormulaParser can't parse external references when sheet name is quoted, thanks to Ignacio HR for the patch</action>
<action type="fix" fixes-bug="60369" context="SS_Common">Adjust pattern to better handle non-ASCII characters in Month-names which can appear since Java 8, thanks to Patrick Metz for the patch</action>
<action type="fix" fixes-bug="60512" context="OOXML">Missing XSSFRelation.CUSTOM_PROPERTY generates POIXMLException on cloneSheet() method, thanks to Samson Tesfay for the patch</action>
<action type="fix" fixes-bug="60031" context="SS_Common">DataFormatter parses months incorrectly when put at the end of date segment, thanks to Andrzej Witecki for the patch</action>
<action type="fix" fixes-bug="60601" context="XSSF">Unlink hyperlinks node if all hyperlinks removed from a sheet</action>
<action type="add" fixes-bug="60570" context="HEMF">Add rudimentary read-only capability for EMF</action>
<action type="add" fixes-bug="60586" context="SS_Common XSSF">Support embedding OLE1.0 package in XSSF / SS Common</action>
<action type="add" fixes-bug="60260" context="SS_Common">Partial support for unicode sheet names</action>
<action type="add" fixes-bug="60550" context="HSMF">Parse Content-ID for inline images in MAPIMessages</action>
<action type="fix" fixes-bug="60498" context="XSSF">Fix performance problem with XPath parsing in XSSF import from XML</action>
<action type="fix" fixes-bug="60484" context="HWPF">NPE when reading a document containing an embedded picture</action>
<action type="add" fixes-bug="60521" context="XSSF">XSSFGroupShape nesting</action>
<action type="add" fixes-bug="60519" context="SS_Common">Extractor for *SSF embeddings</action>
<action type="add" fixes-bug="60520" context="SS_Common">SS Common classes for *SSF shapes</action>
<action type="fix" fixes-bug="60526" context="OOXML">Make loggers final and make throttled log actually work, thanks to PJ Fanning for the patch</action>
<action type="fix" fixes-bug="60452" context="SS_Common">WorkdayCalculator calculateWorkdays does return wrong value for same day input, thanks to Fabio Heer for the patch</action>
<action type="add" fixes-bug="60465" context="XWPF">Cannot specify Interline spacing for paragraphs</action>
<action type="fix" fixes-bug="58237" context="XWPF">Unable to add image to Word document header</action>
<action type="update" fixes-bug="55902" context="SL_Common">Mixed fonts issue with Chinese characters (unable to form images from ppt)</action>
<action type="remove" fixes-bug="60331" breaks-compatibility="true" context="OOXML">Remove deprecated classes - remove constructors with PackageRelationship argument</action>
<action type="fix" fixes-bug="60329" context="XWPF">Added try/catch block to swallow NPE</action>
<action type="fix" fixes-bug="60370" context="XSSF">Encode some special characters when setting title/text for validation text-boxes</action>
<action type="fix" fixes-bug="60427" context="XSLF">Creating pictures in PowerPoint slides requires scratchpad-jar for adding WMF images</action>
<action type="remove" fixes-bug="60331" breaks-compatibility="true" context="HPSF">Remove deprecated classes - deprecate Mutable* property classes</action>
<action type="fix" fixes-bug="59200" context="SS_Common">Check for actual Excel limits on data validation title/text</action>
<action type="fix" fixes-bug="60373" context="XSLF">TableCell.getTextHeight() returns NullPointerException</action>
</actions>
</release>
<release version="3.16-beta1" date="2016-11-20">
<summary>
<summary-item>Initial work on adding a Gradle build, the Ant based build is currently still the official buildsystem, but there are plans to replace this with Gradle in the future</summary-item>
<summary-item>Add support for mixed-length cipher/hashes in password protected files typically used by Office for Mac</summary-item>
<summary-item>Add CryptoAPI and encryption write support for HSSF</summary-item>
<summary-item>Improve support for reading VBA macros</summary-item>
<summary-item>Examples to encrypt temp files in SXSSF</summary-item>
</summary>
<actions>
<action type="remove" fixes-bug="60331" context="XSSF">Remove deprecated classes (POI 3.16) - remove StylesTable.getNumberFormatAt(int)</action>
<action type="add" fixes-bug="60345" context="HSLF">Handle corrupt PICT streams</action>
<action type="fix" fixes-bug="59273" context="XSLF OOXML">Unable to create pptx file by potx file using Apache POI</action>
<action type="add" fixes-bug="github-42" context="SS_Common">Add setFormattingRanges() to interface ConditionalFormatting</action>
<action type="add" fixes-bug="60321" context="SXSSF">Examples: encrypt temp files created when unzipping or zipping an SXSSF workbook</action>
<action type="fix" fixes-bug="60337" context="XWPF">Table row isRepeatingHeader and isCantSplit throw NPE</action>
<action type="fix" fixes-bug="60342" context="XWPF">Handle an SdtCell that has no SdtContentCell</action>
<action type="fix" fixes-bug="60341" context="XWPF">Handle an SdtBody that has no SdtPr</action>
<action type="add" context="SS_Common">CellStyle support for "Quote Prefix" aka "123 Prefix"</action>
<action type="fix" fixes-bug="60320" context="POIFS">Issue opening password protected xlsx</action>
<action type="fix" fixes-bug="57366" breaks-compatibility="true" context="XWPF">Refactor Header/Footer creation to allow table in header/footer. No longer creates empty paragraph in header/footer</action>
<action type="fix" fixes-bug="53611" context="XSSF">Populate dimension of XSSF Worksheet when writing the document</action>
<action type="fix" fixes-bug="60315" context="OPC">Add 'yyyy-MM-dd' as a possible format for date metadata items in OPC</action>
<action type="fix" fixes-bug="60305" context="HSLF">Gracefully handle AIOOBE in reading potentially truncated pictstream</action>
<action type="fix" fixes-bug="59026" context="XSSF">Avoid possible NullPointerException when exporting to XML</action>
<action type="remove" fixes-bug="60059" context="XSLF">Deprecate xslf.usermodel.Drawing* - was: Can't change text of DrawingParagraph</action>
<action type="add" context="HDGF">Partial v5 Pointer and Text Extraction support</action>
<action type="fix" fixes-bug="60294" context="HSLF">Add "unknown" ShapeType for 4095</action>
<action type="fix" fixes-bug="60289" context="XSSF">Fix handling of rich-text unicode escapes with lowercase hex-chars</action>
<action type="fix" fixes-bug="60288" context="OOXML">reduce time needed to lookup document relationships</action>
<action type="add" fixes-bug="60029" context="SS_Common">Fix problem with Days360 method for the month of february</action>
<action type="add" fixes-bug="60134" context="POI_Overall">General: Enhance the Gradle build to allow to run API comparisons against previous releases using the Japicmp tool</action>
<action type="fix" fixes-bug="55714" context="XSLF">background image ignored on slide copy</action>
<action type="fix" fixes-bug="60255" context="XSSF">create drawings when workbook contains non-sequential drawing indices</action>
<action type="fix" fixes-bug="59302,60273,59830,59858,60158" context="POI_Overall">Various improvements for reading VBA macros</action>
<action type="fix" fixes-bug="53191" context="HSLF">Problems with line style when converting ppt to png</action>
<action type="fix" fixes-bug="60255" context="XSSF">Check for in-use drawing part names and use next available, when creating a new sheet drawing</action>
<action type="fix" fixes-bug="56781,60246" context="SS_Common">named range validation</action>
<action type="fix" fixes-bug="59907" context="SS_Common">Regression in getting and setting anchor type introduced in 3.15</action>
<action type="add" fixes-bug="60153" context="SXSSF">AES encrypt temporary files and workbook on disk</action>
<action type="fix" fixes-bug="51233,55075" context="SXSSF">image is incorrectly resized if custom row height is set</action>
<action type="fix" fixes-bug="60197" context="SS_Common">named range sheet index not updated when changing sheet order</action>
<action type="add" fixes-bug="60003" context="HSLF">Regression: Powerpoint text extractor from footer of master slide</action>
<action type="add" fixes-bug="60226" context="OOXML">ClassLoader workaround for OSGI when processing OOXML files</action>
<action type="fix" fixes-bug="59907" context="HSLF">Regression: types in HSSFClientAnchor.setAnchorType() were changed, breaking Jasperreports POI support</action>
<action type="add" fixes-bug="53028" context="HSSF">Broken auto fit row height in the cells with word wrap</action>
<action type="add" fixes-bug="60187" context="SS_Common">support BorderStyle enums in RegionUtil</action>
<action type="add" fixes-bug="59857" context="HSSF">Password protected files with "Microsoft Enhanced Cryptographic Provider v1.0"</action>
<action type="fix" fixes-bug="59687" context="XSSF">Comments removed from wrong row when removing a row from a sheet with empty rows</action>
<action type="fix" fixes-bug="59933" context="POI_Overall">Fix IllegalAccess exception caused by logger</action>
<action type="add" fixes-bug="59853" context="XSSF">Support Table (structured reference) sources in PivotTables</action>
<action type="add" context="POI_Overall">Add initial Gradle build</action>
</actions>
</release>
<release version="3.15" date="2016-09-19">
<summary>
<summary-item>HSSF, HSLF, HPSF, and HWPF support for writing out to a File,
including an existing open file (#<bug num="57919"/>)</summary-item>
<summary-item>Various improvements to HSSF and XSSF.</summary-item>
<summary-item>XSSF performance improvements for large numbers of named ranges.</summary-item>
<summary-item>Progress towards enums rather than ints for various types</summary-item>
<summary-item>CellStyle#BORDER_HAIR and #BORDER_DOTTED were swapped to correctly
reflect the official names and to be consistent with BorderStyle enum.
HAIR has smaller dots than DOTTED.</summary-item>
<summary-item>Removal of deprecated classes and methods detailed on bug <bug num="59170"/></summary-item>
</summary>
<actions>
<action type="fix" fixes-bug="60140" context="OOXML">Fixed memory leak in FileBackedDataSource</action>
<action type="fix" fixes-bug="60128" context="OOXML">Close open file handles before raising an exception</action>
<action type="fix" fixes-bug="60131" context="SS_Common">D* function refactorings</action>
<action type="fix" fixes-bug="60130" context="SS_Common">Fix DGET function behaviour with empty cells</action>
<action type="fix" fixes-bug="52425" context="XSSF">Error adding Comments into cloned Sheets</action>
<action type="fix" fixes-bug="60025" context="SS_Common">DataFormatter should return TRUE or FALSE for boolean cell values</action>
<action type="add" fixes-bug="58191" context="XSLF">Support merge cells within a table row</action>
<action type="fix" fixes-bug="59958" context="XSSF">Add cells on the fly to the evaluation sheet cache on cache miss</action>
<action type="fix" fixes-bug="60005" context="XSLF">NPE in XSLFTextParagraph.getDefaultFontSize()</action>
<action type="add" context="POI_Overall" breaks-compatibility="true">Add Apache commons-collections4 dependency</action>
<action type="fix" context="SS_Common">XSSFFormulaEvaluator.evaluateAll() should mirror HSSF and use any setup referenced workbooks</action>
<action type="fix" fixes-bug="59736" context="SS_Common">Incorrect evaluation of SUBTOTAL with composite interval</action>
<action type="fix" fixes-bug="55384" context="SXSSF">Handle setting pre-evaluation string correctly in SXSSF as well</action>
<action type="fix" fixes-bug="59634" context="POI_Overall">Clarify and refine JavaDoc of various close() methods to consistently state that close() invalidates the object</action>
<action type="add" fixes-bug="57919" context="POI_Overall">HSSF, HSLF and HPSF support for in-place writing to the currently open File (requires the POIFS/NPOIFS was opened from a read-write File)</action>
<action type="add" fixes-bug="57919" context="POI_Overall">HSSF, HSLF, HPSF and HWPF support for writing out to a new File - normally faster than writing to an OutputStream</action>
<action type="fix" fixes-bug="59881" context="SS_Common">D* formula evaluation from blank cells in database headers</action>
<action type="add" fixes-bug="52122" context="XSSF">Excel does not handle conditional formatting based on formula correctly unless recalculation is forced</action>
<action type="add" fixes-bug="59106" context="SS_Common">WorkdayFunction does not read the area with holidays correctly to calculate work days</action>
<action type="add" fixes-bug="58802" context="HWPF">Allow reading of footnote and endnote properties</action>
<action type="add" fixes-bug="59665" context="HSSF">Using HSSFWorkbook#setSheetOrder to move sheets to the end corrupts bspos value in WorkbookRecordList</action>
<action type="add" fixes-bug="59740" context="SS_Common">Sheet.shiftRows incorrectly shifts merged region if there exists another merged region</action>
<action type="add" fixes-bug="59873" context="SS_Common SL_Common">migrate hyperlink constants from Hyperlink to HyperlinkType enum</action>
<action type="add" fixes-bug="59837" context="SS_Common">migrate cell alignment constants from CellStyle to HorizontalAlignment and VerticalAlignment enums</action>
<action type="add" fixes-bug="59791" context="SS_Common">migrate cell type constants from Cell to CellType enum</action>
<action type="fix" fixes-bug="59775" context="XSSF">correctly recognized URL hyperlinks containing a hash mark</action>
<action type="add" fixes-bug="59872" context="SS_Common">add Sheet#getHyperlink(CellAddress)</action>
<action type="add" fixes-bug="59841" context="OOXML">enable custom zip streams via OPCPackage.open(ZipEntrySource)</action>
<action type="add" fixes-bug="59833" context="SS_Common">migrate fill pattern constants from CellStyle to FillPatternType enum</action>
<action type="add" fixes-bug="56154" context="OOXML">Get and set last modified by user property</action>
<action type="add" fixes-bug="59776" context="OPC">Attach cause of exception when marshalling a Zip Package</action>
<action type="fix" fixes-bug="59814" context="SS_Common">clear cached EvaluationWorkbook and EvaluationSheetvalues from WorkbookEvaluator</action>
<action type="fix" fixes-bug="59805" context="POI_Overall">fixed memory leak in LocaleUtil</action>
<action type="fix" fixes-bug="59780" context="OPC">OPC support for a wider range of timezone'd created and modified date formats in package properties</action>
<action type="fix" fixes-bug="59796" context="XSSF">XSSFTable.getRowCount off-by-one error</action>
<action type="fix" fixes-bug="59795" context="XSSF">XSSFTable needs a method to reset start/end Cell References</action>
<action type="fix" fixes-bug="59790" context="SS_Common">convert FormulaType class to enum</action>
<action type="fix" fixes-bug="59789" context="HSSF">improve performance of row shifting on sheets that contain comments</action>
<action type="fix" fixes-bug="59786" context="HMEF">fix NPE from HMEFContentsExtractor</action>
<action type="add" fixes-bug="59788,59166" context="POI_Overall">Create temporary directories that are deleted on JVM exit</action>
<action type="remove" fixes-bug="59170" breaks-compatibility="true" context="HSSF">Remove deprecated classes (POI 3.15) - o.a.p.hssf.model.*Shape classes removed</action>
<action type="add" fixes-bug="59781" context="SS_Common">Move PaneInformation from HSSF to SS package</action>
<action type="fix" fixes-bug="59766" context="XSSF">When setting SAX features, handle Error too (eg from Google AppEngine)</action>
<action type="fix" fixes-bug="59734" context="XSSF">Make lookup and creation of named ranges constant-time instead of linear in the number of ranges in the workbook</action>
<action type="fix" fixes-bug="59920" context="XSSF">Fix regression in the handling of empty passwords for workbook protection</action>
<action type="fix" fixes-bug="59922" context="XSSF">Rename XSSFPaswordHelper to XSSFPasswordHelper</action>
</actions>
</release>
<release version="3.15-beta2" date="2016-07-02">
<summary>
<summary-item>initial work on extracting VBA macros (#<bug num="52949"/>)</summary-item>
<summary-item>remove deprecated classes (#<bug num="59170"/>)</summary-item>
<summary-item>various X/HSLF fixes for table and color handling</summary-item>
<summary-item>XSSF: formula evaluation performance improvements (#<bug num="57840"/>)</summary-item>
<summary-item>various fixes for merged regions in Common SS</summary-item>
</summary>
<actions>
<action type="fix" fixes-bug="59748" context="POI_Overall">Replace Hashtable with HashMap</action>
<action type="fix" fixes-bug="59746" context="XSSF">XSSF support for files from certain alternate tools where the row XML is missing the row number</action>
<action type="fix" fixes-bug="59743" context="SXSSF">ZipSecureFile throwing "zip bomb detected" exception when writing SXSSFWorkbook</action>
<action type="fix" fixes-bug="59742" context="XSLF">XSLFPictureData support for TIFF images</action>
<action type="add" fixes-bug="59717" context="OOXML">POIXMLProperties helper methods for reading and changing OOXML document thumbnails</action>
<action type="add" fixes-bug="59730" context="SS_Common">add Sheet.removeMergedRegions</action>
<action type="fix" fixes-bug="59729" context="SS_Common">move CellRangeUtil to o.a.p.ss.util</action>
<action type="fix" fixes-bug="56958" context="SS_Common">correctly check array formulas for intersection when adding merged regions</action>
<action type="fix" fixes-bug="59724" context="POI_Overall">Provide a close() method and implement Closeable on all OLE2-based POIDocument classes</action>
<action type="fix" fixes-bug="59719" context="XSSF">correctly parse literal data validation constraints</action>
<action type="remove" fixes-bug="59170" breaks-compatibility="true" context="POI_Overall">Remove deprecated classes</action>
<action type="add" fixes-bug="59645" context="SS_Common">Print row and column headings</action>
<action type="fix" fixes-bug="55983" context="HSLF">Creating transparent Freeform object does not result in transparent shape</action>
<action type="fix" fixes-bug="59702" context="XSLF">Setting background color in slide master</action>
<action type="add" fixes-bug="57838" context="XSSF">Remove related cell-comments when removing a row</action>
<action type="add" context="POI_Overall">Initial steps to allow to compile against Java 9</action>
<action type="add" fixes-bug="57840" context="XSSF">30% faster formula evaluation</action>
<action type="fix" fixes-bug="57840,57721" context="XSSF">Formula parsing and evaluation containing structured references (data tables)</action>
<action type="fix" fixes-bug="59684" context="SS_Common">Parsing absolute entire-row CellReferences</action>
<action type="fix" fixes-bug="59686" context="XSLF">Error when trying to access XSLFTableCell properties like textHeight, lineWidth, etc</action>
<action type="remove" fixes-bug="59170" breaks-compatibility="true" context="POI_Overall">Remove deprecated classes (POI 3.15) - remove BuiltinFormats.getBuiltinFormats()</action>
<action type="add" fixes-bug="59638" context="SS_Common">allow DataFormatter to use Locale-aware number grouping separator</action>
<action type="add" fixes-bug="57766" context="XSLF">Table isn't exported on convert slides of a .pptx slide show to a PNG/SVG image</action>
<action type="add" fixes-bug="58217" context="XSLF">support alpha channel on solid colors (fill, line, text)</action>
<action type="fix" context="XSLF">remove creation of empty paragraph in XSLFTextShape.addNewTextParagraph()</action>
<action type="fix" fixes-bug="59355" context="XSSF">XSSFPivotTable::addColumnLabel sets the cell type of a cell outside of the source data area</action>
<action type="fix" fixes-bug="54570" context="XSLF">InvalidFormatException because of Absolute URI forbidden</action>
<action type="remove" fixes-bug="59170" breaks-compatibility="true" context="POI_Overall">Remove deprecated classes (POI 3.15) - use FormulaError instead of ErrorConstants</action>
<action type="add" fixes-bug="58144" context="SL_Common">Behaviour for headers and footers of slides is inconsistent between slideshows created in 2003 and 2007</action>
<action type="add" fixes-bug="59443" context="SS_Common">get and set Comment addresses</action>
<action type="fix" fixes-bug="59434" context="XSLF">Cannot add a picture on a slide that already have an image with an hyperlink on it</action>
<action type="fix" fixes-bug="59383" context="SS_Common">performance regression: DataFormatter no longer caches formats</action>
<action type="fix" fixes-bug="59327" context="SL_Common">Setting text direction on a table cell has no effect</action>
<action type="add" fixes-bug="58648" context="SS_Common">Regression: Fix handling of whitespaces in formulas after it was slightly broken by the changes to support the intersection operator</action>
<action type="add" fixes-bug="59342" context="XSSF">Get and set sheet tab color</action>
<action type="add" fixes-bug="59340" context="SS_Common">Lookup IndexedColors by index</action>
<action type="add" fixes-bug="59336" context="SS_Common">Deprecate CellUtil methods that do not need a workbook parameter</action>
<action type="add" fixes-bug="59338" context="HSSF">Mark HSSFCellUtil for removal, replaced with Common SS CellUtil</action>
<action type="add" fixes-bug="52949" context="HSSF">VBA Macro reader and extractor</action>
<action type="fix" fixes-bug="55982" context="HSSF">Don't fail to open the spreadsheet if no TabIdRecord is found</action>
<action type="fix" context="POI_Overall">Fix some cases where file-handles were not closed properly, mostly when the documents could not be opened correctly</action>
<action type="add" fixes-bug="56911" context="HWPF">Fix IndexOutOfBoundsException in PlfLfo.add()</action>
<action type="add" fixes-bug="59264" context="SS_Common">unify setting cell border line style with BorderStyle</action>
</actions>
</release>
<release version="3.15-beta1" date="2016-04-15">
<summary>
<summary-item>removal of deprecated elements (#<bug num="59170"/>)</summary-item>
<summary-item>avoid XmlBeans calls to piccolo parser which caused OOM in rare cases (#<bug num="57031"/>)</summary-item>
<summary-item>support for passwords longer than 15 chars for write-protection or binary formats (#<bug num="59135"/>)</summary-item>
<summary-item>various NPE fixes in XSSF/HSSF</summary-item>
<summary-item>fixes for color handling in XSSF and support for system colors in Common SL</summary-item>
</summary>
<actions>
<action type="fix" fixes-bug="58909" context="XSSF">Add a cloneSheet() which directly sets the sheetname to allow to avoid a costly renaming of sheets</action>
<action type="fix" fixes-bug="59183" context="OPC">Regression in 3.14 on OPC files with less common timezone formats in the core properties</action>
<action type="fix" fixes-bug="59132" context="SS_Common">Adjust implementation of COUNTBLANK to be conforming to Excel, empty strings are counted as blank as well</action>
<action type="fix" fixes-bug="59199" context="XSSF">Gracefully handle null-values in Cell.setValue() for Date and Calendar similar to String</action>
<action type="fix" fixes-bug="59224" context="XSSF">fix XSSFColor.hasTint which incorrectly used the alpha channel, add XSSFColor.hasAlpha</action>
<action type="fix" fixes-bug="59222" context="XSSF">fix NPE raised by XSSFSheet.getCellComments()</action>
<action type="fix" fixes-bug="59212" context="SS_Common">copy non-validating XSSFSheet.addMergedRegionUnsafe from bug 58885 to Sheet interface</action>
<action type="fix" fixes-bug="59208" context="XWPF">bold xml value of "1" treated as false</action>
<action type="add" context="HSLF">Add support for system colors</action>
<action type="fix" fixes-bug="56930" context="SS_Common">Add Workbook.getNames() to allow to query for names that appear multiple times</action>
<action type="fix" fixes-bug="55791" context="XSLF">Avoid using an existing file-name when creating a new slide, it could still be left over from previous partial removal</action>
<action type="fix" fixes-bug="55668" context="SS_Common">Try to avoid NullPointerException by setting the cell to BLANK instead, when changing cell-type and a formula leads to null-string</action>
<action type="fix" fixes-bug="59135" context="HSSF">Password gets truncated when using passwords longer than 15 characters for the function protectSheet()</action>
<action type="add" fixes-bug="56549" context="HWPF">Correctly calculate char index ranges for HWPF in the TextPieceTable</action>
<action type="add" fixes-bug="57495" context="XWPF">Fix problem with tables in documents at pos 0</action>
<action type="fix" context="POI_Overall">Fix a number of edge-cases where file-handles would be leaked</action>
<action type="remove" fixes-bug="59170" breaks-compatibility="true" context="POI_Overall">Remove deprecated classes (POI 3.15) - *Workbook.setRepeatingRowsAndColumns()</action>
<action type="remove" fixes-bug="59170" breaks-compatibility="true" context="SS_Common">Remove deprecated classes (POI 3.15) - org.apache.poi.hssf/ss.util.Region</action>
<action type="add" fixes-bug="57031" context="XWPF">Out of Memory when extracting text from attached files</action>
<action type="fix" context="POI_Overall">More helpful exception when POIFSFileSystem is given a raw XML file</action>
<action type="fix" context="POI_Overall">More helpful exceptions when OPCPackage is given OLE2 or ODF or raw XML files</action>
</actions>
</release>
<release version="3.14" date="2016-03-07">
<summary>
<summary-item>Common: New version of ooxml-schema and ooxml-security jars which are linked to custom safe type loader</summary-item>
<summary-item>Common: OPC relation fix for multiple same named ids (<bug num="54916"/>)</summary-item>
<summary-item>Common: Update third-party dependencies: commons-logging, commons-codec, xmlsec, bouncycastle</summary-item>
<summary-item>Excel: Allow to set multiple cell style properties at once (<bug num="58633"/>)</summary-item>
<summary-item>Excel: Add API for inserting ignored warnings into XSSF sheets.
This can be used e.g. to suppress 'number stored as text' warnings. (<bug num="56892"/>)</summary-item>
<summary-item>Powerpoint: unify hyperlink handling</summary-item>
<summary-item>HSLF: various fixes for parsing and rendering</summary-item>
<summary-item>WMF: new API for WMF parsing and rendering (for Powerpoint)</summary-item>
<summary-item>XWPF: various fixes for handling paragraphs and tables</summary-item>
</summary>
<actions>
<action type="add" fixes-bug="57914" context="OPC">Provide a better error message for OOXML strict format which we do not support yet</action>
<action type="add" fixes-bug="47245" context="HSSF">Adjust handling of missing row-records as it seems LibreOffice/Excel are handling such documents</action>
<action type="add" fixes-bug="59056" context="SL_Common">Render individual slideshow shapes</action>
<action type="fix" fixes-bug="59074" context="POIFS">ExtractorFactory should give a more helpful exception on old Excel files too old for ExcelExtractor</action>
<action type="add" fixes-bug="57989" context="XSSF">XSSFChart support for setting chart titles</action>
<action type="fix" fixes-bug="59030" context="XWPF">Prevent NPE in XWPFTableCell's getVerticalAlignment() from Prasad Babu</action>
<action type="fix" fixes-bug="59021" context="XSSF">XSSFSheetXMLHandler fails to extract content if namespace is included in qName</action>
<action type="fix" fixes-bug="56345" context="SS_Common">Reject single-cell merged regions</action>
<action type="fix" fixes-bug="58339" context="SS_Common">Make OFFSET() allow missing optional height and width parameters</action>
<action type="add" fixes-bug="github-27" context="XWPF">Handle documents with a picture-only header</action>
<action type="fix" fixes-bug="58996" context="XSSF">Regression caused by fixing bug 56295: Don't try to unset fill color if it is not set to avoid invalid access inside the Xml structures</action>
<action type="fix" fixes-bug="57034" context="SXSSF">Cell.setCellValue((String)null) should be treated as an empty cell on SXSSF as well, to avoid a NPE when autosizing columns</action>
<action type="fix" context="XSLF">fixed NPE when adding pictures with existing non-picture media files (e.g. movies)</action>
<action type="fix" fixes-bug="58885" context="XSSF">Fixed performance regression after fixing bug 58443 when adding a merged region to an XSSFSheet</action>
<action type="add" context="OPC">Raised xmlsec version to 2.0.6</action>
<action type="add" fixes-bug="47291" context="HSLF">Cannot open link correctly which insert in ppt</action>
<action type="add" fixes-bug="41047" context="HSLF">Support hyperlinks in HSLF shapes and textruns</action>
<action type="add" fixes-bug="58879" context="SS_Common">Return SpreadsheetVersion from Workbook</action>
<action type="fix" context="HSLF">Fix NPE when calling HSLFTextRun.setHorizontalCentered()</action>
<action type="add" fixes-bug="58633" context="SS_Common">Set multiple cell style properties at once</action>
<action type="add" fixes-bug="56004" context="HSLF">Support for WMF rendering</action>
<action type="add" fixes-bug="56892" context="XSSF">Add API for inserting ignored warnings into XSSF sheets. This can be used e.g. to suppress 'number stored as text' warnings</action>
<action type="add" fixes-bug="58847" context="HPSF">Getters/setters/removers for the additional well-known document summary information properties from Office 12</action>
<action type="add" fixes-bug="57796" context="XSLF">Support hyperlink extraction when rendering slides</action>
<action type="fix" fixes-bug="54916" context="XSLF">POI does not always read all the slides in pptx files</action>
<action type="fix" fixes-bug="58043" context="SS_Common">Provide some compatibility between HSSF and XSSF in regards to values for CellStyle.setRotation()</action>
<action type="fix" fixes-bug="58067" context="XWPF">don't return deleted text when document is in review-mode</action>
<action type="fix" fixes-bug="58618" context="XWPF">XWPFParagraph insertNewRun and removeRun work incorrectly for runs after hyperlink/field runs</action>
<action type="fix" fixes-bug="58760" context="XSSF">Non-standard namespace-key breaks parsing XLSX files</action>
<action type="fix" fixes-bug="58746" context="HSSF">Fix missing adjustment of formulas when sheet-ordering is changed</action>
<action type="fix" fixes-bug="58616" context="XSSF">Try to initialize with empty password if not done before</action>
<action type="fix" context="POI_Overall">Fix some cases where file-handles were left open, mostly when failing to parse documents</action>
<action type="fix" fixes-bug="55030" context="HSLF">RichTextRun getFontName can not get chinese font name</action>
<action type="fix" fixes-bug="56570" context="HSLF">RecordType has repeat by code type 3009</action>
<action type="fix" fixes-bug="58159" context="HSLF">getHeaderText() and getFooterText() duplicate text in sheet.getTextRuns()</action>
<action type="fix" fixes-bug="58775" context="XSSF">Set maximum number of data formats to avoid corrupted workbook</action>
<action type="add" fixes-bug="58778" context="XSSF">Override built-in number formats in XSSFWorkbooks</action>
<action type="fix" fixes-bug="58733" context="HSLF">New AIOOBE in getCell while iterating through a table in PPT</action>
<action type="fix" fixes-bug="58718" context="HSLF">Master styles not initialized when running multithreaded</action>
</actions>
</release>
<release version="3.14-beta1" date="2015-12-24">
<actions>
<action type="fix" fixes-bug="58084" context="XSSF">Corrupted .xlsx file created when styles with borders are cloned from other workbooks</action>
<action type="add" fixes-bug="58570" context="SS_Common">Promote setting and getting the active cell in a worksheet to Common SS</action>
<action type="add" fixes-bug="47904" context="HSLF">Update text styles in HSLF MasterSlide</action>
<action type="add" fixes-bug="58670" context="SXSSF">Change underlying data structure in SXSSFRow to use a TreeMap instead of an array to store SXSSFCells</action>
<action type="add" fixes-bug="58671" context="SS_Common">Replace MissingCellPolicy class with enum</action>
<action type="add" fixes-bug="57450" context="SXSSF">Autosize columns on SXSSFSheets considering both active window and flushed rows</action>
<action type="add" fixes-bug="58557,52903" context="SS_Common">Add support for shifting hyperlinks when shifting rows on a sheet</action>
<action type="add" fixes-bug="58667" context="SS_Common">Implement Comparable interface in HSSFRow, XSSFRow, and SXSSFRow classes</action>
<action type="fix" fixes-bug="46210" context="HSLF">Title placeholder not recognized by Powerpoint 2003</action>
<action type="fix" fixes-bug="58663" context="XSLF">Pictures cannot be removed from a slide</action>
<action type="add" fixes-bug="58636" context="SS_Common">Replace ClientAnchor anchor type constants with AnchorType enum</action>
<action type="add" fixes-bug="58644" context="SS_Common">Replace Sheet.setZoom(num, den) with Sheet.setZoom(scale)</action>
<action type="remove" fixes-bug="58642" breaks-compatibility="true" context="SS_Common">Remove deprecated functions</action>
<action type="add" fixes-bug="58365" context="SS_Common">Get all cell comments on a sheet with Sheet.getCellComments()</action>
<action type="add" fixes-bug="58637" context="SS_Common">Add CellAddress class, to be used instead of CellReference when the concept of an absolute/relative reference is not applicable</action>
<action type="add" fixes-bug="58617" context="POI_Overall">Add custom safe XmlBeans type loader / rename vendor specific schema packages</action>
<action type="fix" fixes-bug="58630" context="POIFS">Signing failed after deletion of first sheet</action>
<action type="fix" fixes-bug="55955" context="HSLF">Filling an existing ppt table stopped working with 3.9</action>
<action type="fix" fixes-bug="54210" context="HSLF">When saving PPT to PNG, some text is rendered backwards</action>
<action type="fix" fixes-bug="53189" context="HSLF">Shapes drawn wrongly when ppt file converted to image</action>
<action type="remove" context="POI_Overall">Removed most reflection calls on private methods/fields from production code; others are wrapped by AccessController.doPrivileged()</action>
<action type="fix" fixes-bug="58597" context="XWPF">XWPFDocument causes SecurityException under SecurityManager</action>
<action type="fix" fixes-bug="53192" context="HSLF">Images in ppt file have wrong width when converting ppt to png</action>
<action type="add" context="HSLF">Add support for HSLF metro blobs</action>
<action type="fix" fixes-bug="52297" context="HSLF">Bullets are not aligned properly while converting ppt slide to image</action>
<action type="fix" fixes-bug="55265" context="SS_Common">DataFormatter correct support for alternate number grouping characters, eg 1234 + #'##0 = 1'234 not 1,234</action>
<action type="fix" fixes-bug="51622" context="SS_Common">autoSizeColumn incorrectly sizes columns containing leading whitespace</action>
<action type="fix" fixes-bug="58576" context="SS_Common">Rename misspelled SheetUtil.canComputeColumnWidth</action>
<action type="add" fixes-bug="58572" context="SS_Common">Add getHyperlink and getHyperlinkList to Sheet interface</action>
<action type="add" fixes-bug="58348" context="SS_Common">Add support for copying rows in XSSFWorkbooks</action>
<action type="fix" fixes-bug="45908" context="HSLF">RichTextRun.setBullet(false) doesn't work, bullets still here</action>
<action type="fix" fixes-bug="45088" context="HSLF">POI-HSLF changeTextInRichTextRun corrupts presentation</action>
<action type="fix" fixes-bug="45124" context="HSSF">inserting text or images wipes out boldness and makes everything italic</action>
<action type="add" fixes-bug="58452" context="SS_Common">Set cell formulas containing unregistered function names</action>
<action type="add" fixes-bug="58442" context="SS_Common">Add method to reorganize AreaPtg as top-left and bottom-right references</action>
<action type="fix" fixes-bug="58443" context="SS_Common">Prohibit adding merged regions that would overlap with existing merged regions</action>
<action type="add" context="OPC">Add a limit of the max number of characters that can be extracted to avoid sending applications out of memory with very large documents. Limit can be adjusted via ZipSecureFile.setMaxTextSize() if necessary</action>
<action type="fix" fixes-bug="58516" context="HSLF">Rare new aioobe in 3.13 on initialization of a handful of ppts</action>
<action type="fix" fixes-bug="56957" context="XSSF">Avoid error if Workbook with empty SharedStringTable is written</action>
<action type="fix" context="SL_Common">Common sl unification - copy first paragraph / textrun properties on XSLFTextShape.setText()</action>
<action type="fix" context="SL_Common">Common sl unification - converted ApacheconEU08 example to common sl - added missing functionality</action>
<action type="fix" context="SL_Common">Common sl unification - return null instead of default values for missing borders X/HSLFTable</action>
<action type="fix" context="SL_Common">Common sl unification - use points in HSLFTable.setColumnWidth()</action>
<action type="fix" context="SL_Common">Fix appending text to empty HSLFTextParagraph</action>
<action type="fix" fixes-bug="58558" context="SXSSF">SXSSFCell.setCellValue((RichTextString)null) fixed to work like XSSF and HSSF</action>
<action type="fix" fixes-bug="58536" context="SS_Common">DataFormatter and CellFormat non-localised support for localised currency formats like [$$-408]</action>
<action type="fix" fixes-bug="58532" context="SS_Common">DataFormatter cell formatting for things like [>999999]#,,"M";[>999]#,"K";#</action>
<action type="fix" fixes-bug="58085" context="HSSF">Fix removing sheet so not to break other existing sheet references</action>
<action type="fix" fixes-bug="58480" context="HSSF">Work around problem where on Windows systems a Mapped Buffer can still lock a file even if the Channel was closed properly</action>
<action type="add" context="POI_Overall">Update commons-logging to 1.2 and commons-codec to 1.10</action>
<action type="remove" breaks-compatibility="true" context="XSSF">Removed deprecated mixed case getter/setter in XSSFColor</action>
<action type="fix" fixes-bug="55032" context="SS_Common">Fix handling missing option values in financial functions PV, FV, NPER and PMT</action>
<action type="fix" fixes-bug="50319" context="HSSF">Make row groups which include row 0 work</action>
<action type="remove" breaks-compatibility="true" context="HDF">Removed deprecated HDF API</action>
<action type="fix" fixes-bug="58466" context="XSSF">Improve column manipulation in XSSF to avoid changes overwriting each other</action>
<action type="fix" fixes-bug="58471" context="SS_Common">Improve number formatting to more closely match Excel's behaviour</action>
<action type="fix" fixes-bug="58549" context="HSSF">Fix row limits for HSSFClientAnchor to allow the full range supported by Excel</action>
<action type="fix" fixes-bug="58579" context="XSSF">Add CTTableStyleInfo to poi-ooxml-schemas JAR</action>
</actions>
</release>
<release version="3.13" date="2015-09-25">
<summary>
<summary-item>conditional formatting support for DataBars, Icon Sets / Multi-States, and Color Scales</summary-item>
<summary-item>various improvements in spreadsheets formula and cell reference handling</summary-item>
<summary-item>enforcement of locale and timezone-aware handling through forbidden-apis check,
locale and timezone can now be switched via LocaleUtil</summary-item>
<summary-item>common api for slideshow (common sl) is now available
be aware of several api breaks especially in HSLF text handling</summary-item>
</summary>
<actions>
<action type="fix" fixes-bug="58350" context="XSSF">Make XSSF and HSSF consistent on Sheet.getMergedRegions: return empty list if there are none</action>
<action type="add" fixes-bug="58216" context="XSLF">provide picture-shape resize that maintains the aspect ratio</action>
<action type="add" fixes-bug="57925" context="SS_Common">Add a simple fix to avoid an NPE when Workbooks have invalid external references</action>
<action type="add" fixes-bug="57915" context="SS_Common">Fix Dev2Hex for numbers larger than Integer.MAX_VALUE and less than Integer.MIN_VALUE</action>
<action type="add" fixes-bug="57890" context="XSSF">Add support for different datatypes in XSSFImportFromXML</action>
<action type="add" fixes-bug="58207" context="XSLF">Provide user access to the original image dimensions</action>
<action type="fix" fixes-bug="55476" context="XWPF">Fix adding pictures to XWPFRun instances</action>
<action type="fix" fixes-bug="58341" context="SS_Common">Handle edge-cases in D* function</action>
<action type="add" fixes-bug="58245" context="SS_Common">Workbook support for iterating over Sheets</action>
<action type="fix" fixes-bug="58353" context="SS_Common">Return correct value in Match-Function with match-type == -1</action>
<action type="fix" fixes-bug="58315" context="XSSF">Avoid NPE for RichTextString without font-details</action>
<action type="fix" fixes-bug="53275" context="XSSF">XSSFFont: reset indexed color flag when setting a non-indexed color</action>
<action type="fix" fixes-bug="58039" context="SS_Common">Make DGet and DMin function implementations thread-safe</action>
<action type="fix" context="POI_Overall">Adjust Locale/Timezone handling to pass forbidden-api-checks and provide LocaleUtil to dynamically adjust the locale and timezone that POI operates on</action>
<action type="fix" context="SS_Common">Fix DAYS360 handling for US/EU method</action>
<action type="fix" fixes-bug="58254" context="SS_Common">CellFormatResult.text should check for nulls as per the javadoc</action>
<action type="fix" fixes-bug="58260" context="SXSSF">Fix checks for limit on number of styles in XSSF/SXSSF, fix more than 32k styles in SXSSF workbooks</action>
<action type="fix" fixes-bug="58262" context="SXSSF">ReadOnlySharedStringsTable now handles workbooks with an empty SST part</action>
<action type="fix" fixes-bug="52111" context="HSSF">Intersection formulae are now supported in XSSF</action>
<action type="fix" fixes-bug="58253" context="SS_Common">CellReference upper-case check for #REF!, and javadoc improvements</action>
<action type="fix" fixes-bug="58252" context="SS_Common">More CellReference unit testing coverage</action>
<action type="fix" fixes-bug="54938" context="POI_Overall">Throw InvalidFormatException as documented instead of IllegalArgumentException in WorkbookFactory.create()</action>
<action type="fix" fixes-bug="58237" context="XWPF">When adding a picture to a XWPF header or footer, attach it to the right part</action>
<action type="fix" fixes-bug="58220" context="XSSF">Improve the javadocs for XSSFFont and Font getFontHeight methods</action>
<action type="fix" fixes-bug="56479" context="OPC">Don't hardcode dcterms as namespace alias in the attribute, but expect the actual alias that is used in the corresponding element</action>
<action type="fix" fixes-bug="56519" context="XSLF">XSLFSlide.draw is not working with text embedded in PPTX</action>
<action type="fix" fixes-bug="58205" context="XSLF">getSlideMasters() returns the master slides in the incorrect order</action>
<action type="fix" fixes-bug="57786" context="XSLF">XSLFFreeformShape ignores quadratic bezier curves</action>
<action type="fix" fixes-bug="58206" context="XSLF">provide a mechanism to find slide layouts by name</action>
<action type="fix" fixes-bug="58204" context="XSLF">STYLE: ShapeContainer interface makes internal getShapesList() redundant</action>
<action type="add" fixes-bug="58190" context="XSLF">The current picture handling uses raw integers for types and index, replace with enum and reference</action>
<action type="fix" fixes-bug="58203" context="POI_Overall">Apparently Maven uses plurals for all artifacts except javadocs, so tweak our naming to make it happy</action>
<action type="add" fixes-bug="58193" context="XSLF">Use input stream rather than byte array for checksum etc</action>
<action type="add" fixes-bug="58200" context="SXSSF">SXSSF support for evaluating formula cells, provided the cell and all its references are within the current window</action>
<action type="fix" fixes-bug="58098" context="POIFS">Avoid NPE in cleanup if NPOIFSFileSystem is opened on a locked File under Windows</action>
<action type="add" context="SL_Common">Merged common_sl branch to trunk</action>
<action type="fix" fixes-bug="57571" context="SXSSF">Fix creating comments for XSSF/SXSSF, regression was introduced via bug <bug num="54920"/></action>
<action type="fix" fixes-bug="58175" context="SXSSF">Fix creating comments for XSSF/SXSSF, regression was introduced via bug <bug num="54920"/></action>
<action type="fix" fixes-bug="58156" context="POIFS">Possible data corruption in hasPOIFSHeader and hasOOXMLHeader</action>
<action type="add" fixes-bug="57484" context="POI_Overall">Allow processing of non-OOXML core namespace packages</action>
<action type="add" fixes-bug="58130" context="SS_Common">Conditional Formatting support for DataBars, Icon Sets / Multi-States, and Color Scales</action>
</actions>
</release>
<release version="3.13-beta1" date="2015-07-23">
<actions>
<action type="add" fixes-bug="56791" context="POIFS">The default POIFS implementation has been switched to NPOIFS. If you request a POIFSFileSystem, you will now get a NPOIFSFileSystem-based one. OPOIFSFileSystem remains for those who still want the old implementation</action>
<action type="add" fixes-bug="58138" context="SS_Common">Conditional Formatting support for the common Color class, in addition to previous color shorts</action>
<action type="fix" fixes-bug="58133" context="POIFS">Agile encryption - wrong checksum calculation</action>
<action type="fix" fixes-bug="58113" context="SXSSF">Regression: NullPointerException when setting cell value to null</action>
<action type="add" fixes-bug="57893" context="XSSF">Add a method for obtaining all merged regions on a worksheet. This is faster for XSSFSheet than obtaining each individually by iteration</action>
<action type="add" fixes-bug="58036" context="XSSF">Add basic support for VBA macro-enabled workbooks (xlsm)</action>
<action type="fix" fixes-bug="57744" context="HSMF">Fix parsing the email submission data when id contains a hyphen</action>
<action type="fix" fixes-bug="57678" context="HSMF">Better handle years in mail-messages between 1980 and 1999</action>
<action type="fix" fixes-bug="54332" context="HSLF">WMF extraction failing in Tika for older PowerPoint Files</action>
<action type="add" fixes-bug="56865" context="POI_Overall">Limit number of bytes (by counting them) while opening office docs</action>
<action type="add" fixes-bug="50090" context="POI_Overall">zip bomb prevention</action>
<action type="fix" fixes-bug="58069" context="HSSF">Biff8RC4 xorShort returns wrong value for unsigned shorts</action>
<action type="fix" fixes-bug="56420" context="SS_Common">Fix possible NullPointerException when empty cell is included in Sumif calculation</action>
<action type="fix" fixes-bug="58040" context="POI_Overall">Log Forging</action>
<action type="fix" fixes-bug="56328" context="XSSF">Improve AreaReference to take account of the spreadsheet format version when determining whether a reference is whole-column</action>
<action type="fix" fixes-bug="57963" context="XWPF">Fix and verify in CI builds that we can compile most examples without requiring scratchpad-jar, update documentation</action>
<action type="fix" fixes-bug="53109" context="HSSF">Correctly handle unicode strings in NameCommentRecord</action>
<action type="add" fixes-bug="57904" context="POI_Overall">Automatically verify that the resulting source-packages can be built</action>
<action type="fix" fixes-bug="57512" context="HSSF">Fix potential NPE in DateUtil for invalid dates</action>
<action type="fix" fixes-bug="57889" context="XWPF">Fix potential NPE in XWPFParagraph.getNumFmt()</action>
<action type="fix" fixes-bug="57951" context="SS_Common">Use BigDecimal in some cases in DataFormatter.formatRawCellContents, to avoid rounding problems on JDK8</action>
<action type="fix" fixes-bug="55410" context="XSSF">Use specific ID value which prevents Excel from turning comments into giant curved arrows</action>
</actions>
</release>
<release version="3.12" date="2015-05-11">
<summary>
<summary-item>remove limitations within XSSF - up to 64k cell styles (<bug num="57880"/>) and 65k comments (<bug num="56380"/>)</summary-item>
<summary-item>fixed XSSF cloning issues - for sheets (<bug num="57165"/>), styles (<bug num="56295"/>), pictures (<bug num="56467"/>)</summary-item>
<summary-item>Fix shifting comments with shifted rows (<bug num="56017"/>)</summary-item>
</summary>
<actions>
<action type="add" context="XWPF">Initial XWPFStyles support for working with default document paragraph and run styles</action>
<action type="fix" context="POI_Overall">If an empty file or stream is given to WorkbookFactory.create, give a more informative exception - EmptyFileException</action>
<action type="fix" fixes-bug="57552" context="XSLF">Sort PackagePart returns from OPCPackage by name considering numbers in filenames, so Image10.png comes after Image9.png, fixing problems with XSLF adding 10+ images to a slide</action>
<action type="fix" fixes-bug="57880" context="XSSF">Handle >32,767 cell styles and formats in XSSF (file format limit is 64,000)</action>
<action type="add" fixes-bug="57593" context="HSSF">Allow WorkbookFactory.create methods to open xlsx files protected with the default password</action>
<action type="add" fixes-bug="57593" context="HSSF">Add overloaded WorkbookFactory.create methods which take the spreadsheet password</action>
<action type="fix" fixes-bug="57666" context="SXSSF">When removing a SXSSF sheet, ensure temp files associated with it are disposed of</action>
<action type="fix" fixes-bug="57826" context="XSSF">If a XSSF shape has a buFont but no bullet character, mirror Excel and treat as un-bulleted</action>
<action type="fix" fixes-bug="57642" context="XSSF">Fix setSheetName with ISERROR on XSSF</action>
<action type="add" fixes-bug="57747" context="SS_Common">Add ISERR() function</action>
<action type="fix" fixes-bug="57829" context="XWPF">Avoid XmlValueDisconnectedException when removing a XWPFRun from a XWPFParagraph by removing from IRuns as well</action>
<action type="fix" fixes-bug="57851" context="POIFS">Skip null properties in PropertyTableBase, which is how PropertyFactory reports unsupported POIFS properties</action>
<action type="fix" fixes-bug="57820" context="HSLF">Avoid NPE on HSLF Tables with a top position of -1</action>
<action type="fix" fixes-bug="56579" context="XSSF">Throw exception if max string length of 32767 chars is exceeded in XSSF and SXSSF</action>
<action type="fix" fixes-bug="55386" context="SS_Common">Fix handling of bold formatting in example application 'ToHtml'</action>
<action type="fix" fixes-bug="47304" context="HDF">Use fixed encoding when extracting text in WordDocument</action>
<action type="fix" fixes-bug="56017" context="XSSF">Fix shifting comments with shifted rows</action>
<action type="fix" fixes-bug="56295" context="XSSF">Fix cloning of styles across workbooks and handling of default value of attribute applyFill</action>
<action type="fix" fixes-bug="56380" context="HSSF">Remove limitation of 1024 comments per Workbook</action>
<action type="fix" fixes-bug="56467" context="XSSF">Fix cloning of sheets with pictures</action>
<action type="add" context="XDGF">More helpful ExtractorFactory exception if given a Visio VSDX ooxml file</action>
<action type="fix" fixes-bug="56799" context="XWPF">Include CTTblGrid in the smaller poi-ooxml-schemas jar</action>
<action type="fix" fixes-bug="57165" context="XSSF">Avoid PartAlreadyExistsException when removing/cloning sheets</action>
<action type="fix" fixes-bug="56893" context="HSSF">Additional check for supported string-length to avoid creating broken XLS files later one</action>
<action type="fix" context="OPC">When saving an OPCPackage with no Core Properties (eg from Jasper Reports), ensure they are always added even if not yet used</action>
<action type="fix" fixes-bug="github-18" context="XWPF">Handle documents with a picture-only header</action>
<action type="fix" fixes-bug="57622" context="POI_Overall">Change from XMLEventFactory.newFactory to XMLEventFactory.newInstance, for IBM JDK Compatibility</action>
</actions>
</release>
<release version="3.12-beta1" date="2015-02-28">
<actions>
<action type="fix" fixes-bug="57459" context="SXSSF">Add method in SXSSFSheet to directly set row OutLineLevel</action>
<action type="fix" fixes-bug="57456" context="HSSF">Add workaround to read empty SSTRecord where Excel puts random number in unique-strings-count-field</action>
<action type="fix" fixes-bug="57535" context="XSSF">Add POI-specific error codes to FormulaError</action>
<action type="add" context="HWPF XWPF">Start on common interfaces for Paragraphs and Character Runs for HWPF and XWPF</action>
<action type="add" context="XWPF">Double Strikethrough support for XWPF runs, along the lines of the HWPF support</action>
<action type="fix" fixes-bug="57482" context="XSSF">Handle XSSF .xlsx files with no shared strings table in read-only mode</action>
<action type="fix" context="OPC">ExtractorFactory opening of OPCPackage from File should be read-only by default, as text extracting will never change things</action>
<action type="add" context="XSSF">XSSFSheet support for getDrawingPatriarch(), alongside the existing createDrawingPatriarch() method</action>
<action type="fix" context="HSSF">TIKA-1515 - Handle Excel 3 files with a 0x8001 codepage</action>
<action type="add" fixes-bug="53453" context="HWPF">Add methods to set margins in sections of HWPF documents</action>
<action type="fix" fixes-bug="46898" context="XSSF">Return #VALUE! for circular references</action>
<action type="fix" fixes-bug="46192" context="HSSF">Add methods to query outline level for HSSF and XSSF</action>
<action type="fix" fixes-bug="56240" context="HSLF">Handle PP97_DUALSTORAGE streams</action>
<action type="fix" fixes-bug="47261" context="HSLF">SlideShow.removeSlide makes PPT corrupted</action>
<action type="add" fixes-bug="49541" context="HSLF">Mapping of symbol characters to unicode equivalent</action>
<action type="add" fixes-bug="54541" context="HSLF">Add support for cropped images in Slide.draw()</action>
<action type="add" fixes-bug="57007" context="HSSF">Add initial implementations of DMIN and DGET functions</action>
<action type="add" context="HSLF">Support for Office Binary Document RC4 CryptoAPI Encryption for HSLF</action>
<action type="add" fixes-bug="57195" context="POIFS">Support for Office Binary Document RC4 Encryption</action>
<action type="fix" fixes-bug="57373" context="XSSF">Fix get/setFirstVisibleTab() for XSSFWorkbook</action>
<action type="fix" fixes-bug="57362" context="XSSF">Properly initialize chart-axis datastructure when loading a spreadsheet which already contains one</action>
<action type="fix" fixes-bug="56511" context="XSSF">Fix NullPointerException for RichText strings with no formatting for some runs</action>
<action type="add" fixes-bug="56550" context="POI_Overall">Avoid IBM JDK fail immediately during loading some POI classes, note: IBM JDK 1.7 or higher is needed because of XML APIs</action>
<action type="add" fixes-bug="56595" context="POI_Overall">Switch the cache in DateUtil.isADateFormat() to ThreadLocals to not have another syncpoint here</action>
<action type="fix" fixes-bug="56644" context="XSSF">NullPointerException in XSSFCell Constructor with different MissingCellPolicy</action>
<action type="fix" fixes-bug="56888" context="XSSF">XSSFDataValidation ignores "allow blank" read from sheet, assumes true</action>
<action type="fix" fixes-bug="57171" context="XSSF">Adjust the active sheet in setSheetOrder()</action>
<action type="fix" fixes-bug="57163" context="HSSF">Adjust the active sheet in removeSheet()</action>
<action type="fix" fixes-bug="57231" context="HSSF">Add missing ArrayRecord.clone()</action>
<action type="add" context="HSSF">Expose the version information from OldExcelExtractor</action>
<action type="fix" fixes-bug="57071" context="XSSF">3+ XSSF column label names for pivot tables</action>
<action type="add" fixes-bug="57063" context="XSSF">XSSF custom column label names for pivot tables</action>
<action type="fix" fixes-bug="57254" context="XWPF">Correctly build internal list of styles when styles are added</action>
<action type="fix" fixes-bug="57312" context="XWPF">Add check for null value of underline w:val</action>
</actions>
</release>
<release version="3.11" date="2014-12-21">
<summary>
<!-- FIXME: formatting -->
<!--The most notable changes in this release are:-->
<summary-item>Basic text extractor for very old Excel formats such as Excel 4 (Biff4), and
older Excel 5 and 95 formats</summary-item>
<summary-item>XML Signature support for XSSF, XWPF and XSLF (<bug num="56836"/>)</summary-item>
<summary-item>HSSF and XSSF support for getting existing Data Validations for a Sheet</summary-item>
<summary-item>HSSF and XSSF formula support for the PROPER function (<bug num="57010"/>)</summary-item>
<summary-item>XSLF support for adding slide notes (<bug num="55164"/>)</summary-item>
<summary-item>XMLBeans performance improved when using getXXXList() methods (<bug num="56854"/>)</summary-item>
<summary-item>Recommended Apache XMLBeans version increased to 2.6.0 (any version from
2.3.0 or later will work though)</summary-item>
<summary-item>XSSF support for evaluating formula references to other Workbooks (<bug num="56737"/>)</summary-item>
<summary-item>HSSF and XSSF support for evaluating formulas with multi-sheet references,
for functions that support that (<bug num="55906"/>)</summary-item>
<summary-item>HSSF and XSSF Workbooks are now Closeable, so you can call close() to
explicitly free the file based resources when you're done (<bug num="56537"/>)</summary-item>
<summary-item>NPOIFS now fully supports writing, including streaming write, and in-place
updating of existing entries. NPOIFSFileSystem now surpasses the old
POIFSFileSystem in all cases.</summary-item>
<summary-item>XSSF Text Extraction support for Headers, Footers and Comments (<bug num="56022, 56023"/>)</summary-item>
<summary-item>SXSSF Shared Strings optional support (<bug num="53130"/>)</summary-item>
<summary-item>XWPF Change Tracking support (<bug num="56075"/>)</summary-item>
<summary-item>HWPF password hash function (<bug num="56077"/>)</summary-item>
<summary-item>XWPF document protection with password support (<bug num="56076"/>)</summary-item>
<summary-item>SXSSF support for a system-wide setting of where Temp files get created, via
TempFile / TempFileCreationStrategy (<bug num="56735"/>)</summary-item>
<!--Backwards Incompatible changes:-->
<summary-item>The minimum Java version has been increased to Java 1.6</summary-item>
<summary-item>The minimum Apache Ant version has been increased to Apache Ant 1.8</summary-item>
<summary-item>The interface org.apache.poi.xssf.eventusermodel.XSSFSheetXMLHandler.SheetContentsHandler
has had two method signature changes:
<!--FIXME: formatting-->
endRow() -> endRow(int)
and
cell(String,String) -> cell(String,String,Comment)
</summary-item>
<!--Security related changes:-->
<summary-item>All security related changes from 3.10.1 (CVE-2014-3529 and CVE-2014-3574)
are included in 3.11. Thanks to Stefan Kopf, Mike Boufford, Mohamed Ramadan,
and Christian Schneider for their help with these.</summary-item>
<summary-item>Please note: You should use xmlbeans-2.6.jar (as shipped with this release)
instead of the xmlbeans-2.3.jar version from old releases to work around
CVE-2014-3574. If you have an alternate XML parser like Apache Xerces
in classpath, be sure to use a recent version! Older versions are likely to
break on setting required security features.</summary-item>
</summary>
<actions>
<action type="fix" fixes-bug="57479" context="HSSF">Typo in HSSFWorkbook javadocs and quick-guide</action>
<action type="fix" fixes-bug="57480" context="HSSF">Fix some unnecessary casts, generics, Eclipse warnings, ...</action>
<action type="add" context="HSLF">Added workarounds to tests for JDK 6 LineBreakMeasurer bug</action>
<action type="fix" fixes-bug="57250" context="XSLF">XMLSlideShow.setSlideOrder() produces corrupted CTSlideIdList</action>
<action type="fix" fixes-bug="57272" context="HSLF">Deadlock on corrupted PPT file</action>
<action type="fix" context="OPC">XML signatures - ignore line breaks in Office 2007 .rels files</action>
<action type="add" context="HSSF">Basic text extractor for older Excel 5 and 95 formats</action>
<action type="add" context="HSSF">Basic text extractor for very old Excel formats such as Excel 4 (Biff4)</action>
<action type="fix" context="OPC">ClassCastException in validating xml signatures due to missing xml beans resources</action>
<action type="fix" fixes-bug="57171" context="XSSF">Adjust active sheet correctly when sheets are moved</action>
<action type="fix" fixes-bug="57163" context="HSSF">Adjust active sheet correctly when sheets are removed</action>
<action type="fix" fixes-bug="57164" context="XSSF">XSSFDrawing.createCellComment() does not honor dx and dy values passed in</action>
<action type="add" fixes-bug="55967" context="XSSF">Picture method to resize with different scales in width and height</action>
<action type="add" fixes-bug="github-13" context="HSSF XSSF">Add Cell.removeHyperlink() for HSSF and XSSF</action>
</actions>
</release>
<release version="3.11-beta3" date="2014-11-11">
<actions>
<action type="add" fixes-bug="57003" context="HSSF">Implement FIXED function</action>
<action type="add" fixes-bug="github-7" context="XWPF">Form check box extraction with XWPFWordExtractor</action>
<action type="add" fixes-bug="github-11" context="HSSF XSSF">Add Sheet.getDataValidations() for HSSF and XSSF</action>
<action type="add" fixes-bug="github-12" context="HSSF XSSF">Add Comment.getClientAnchor() for HSSF and XSSF</action>
<action type="fix" fixes-bug="57185" context="POI_Overall">Correct naming from "Serie" to "Series"</action>
<action type="fix" fixes-bug="57176" context="XSSF">Include CTDefinedNamesImpl in the smaller poi-ooxml-schemas jar</action>
<action type="fix" fixes-bug="57162" context="OPC">Could not open macro enabled xlsm file after writing using POI3.11beta2 version</action>
<action type="add" fixes-bug="57010" context="HSSF">Add implementation of function PROPER</action>
<action type="fix" fixes-bug="57166" context="HSSF">Add missing HSSFWorkbook constructor javadocs</action>
<action type="add" fixes-bug="57151" context="XSSF">And documentation and validation in CellRangeAddress to prevent invalid row/column combinations</action>
<action type="add" fixes-bug="55164" context="XSLF">Support for adding slide notes</action>
<action type="fix" fixes-bug="57143" context="XSSF">Javadocs and throws clause for WorkbookUtil</action>
<action type="add" fixes-bug="54542" context="XSLF">Add support for cropped images in XSLFPictureShape.drawContent()</action>
<action type="add" context="OPC">added ooxml-security-1.0 to the maven artifacts</action>
<action type="fix" fixes-bug="55864" context="XSSF">XSSFImportFromXML.importFromXML() does not support optional elements</action>
<action type="fix" fixes-bug="56835" context="XSSF">Unreadable content when adding multiple comments to cell</action>
<action type="add" context="SS_Common">SheetUtil.getCellWithMerges for getting a cell at a co-ordinate, or the primary one of it's merged region if it's a merged cell</action>
<action type="add" fixes-bug="56836" context="POIFS">XML signature support</action>
<action type="fix" fixes-bug="57080" context="POIFS">IndexOutOfBoundsException in poi decryptor</action>
<action type="add" context="POI_Overall">The minimum Apache Ant version required to build has been increased to 1.8.x or later</action>
<action type="add" fixes-bug="56956" context="POIFS">Add a NPOIFSFileSystem constructor with a FileChannel and the read-only option</action>
<action type="fix" fixes-bug="56914" context="XSSF">XSSFRowShifter.updateConditionalFormatting throws IOOBE when there are more than 1 CTConditionalFormatting</action>
<action type="fix" fixes-bug="56913" context="POI_Overall">Replace usages of o.a.p.util.ArrayUtil.copyOf* methods with replacements from j.u.Arrays</action>
<action type="fix" fixes-bug="51483" context="XSSF">XSSF locking of specific features not working</action>
<action type="fix" fixes-bug="48195" context="HSSF">Formulas: Fix incorrect evaluation of IF() with ROW()/COLUMN() as else-result</action>
<action type="fix" fixes-bug="55280" context="XSSF">Greatly improve performance of shifting rows in sheets with many merged regions</action>
<action type="fix" fixes-bug="51222" context="XSSF">XSSFColor.getARGBHex() returns wrong color for Excel 2007 xlsx file</action>
<action type="fix" fixes-bug="56730" context="XSSF">Fix exporting XML if schema contains ref-elements</action>
<action type="fix" fixes-bug="56864" context="XWPF">XWPFLatentStyles.isLatentStyle always returns true if there is at least 1 lsdException</action>
<action type="fix" fixes-bug="56854" context="XSSF">XMLBeans performance when using getXXXList() and other proxy methods</action>
</actions>
</release>
<release version="3.11-beta2" date="2014-08-22">
<actions>
<action type="fix" fixes-bug="56812" context="XSLF">For XSLF Pictures, provide a way to get the URI of externally linked pictures</action>
<action type="fix" fixes-bug="54764" context="XSSF">On supported XML parser versions (Xerces or JVM built-in, XMLBeans 2.6), enforce sensible limits on entity expansion in OOXML files, and ensure that subsequent normal files still pass fine (CVE-2014-3574)</action>
<action type="fix" context="POI_Overall">Recommended Apache XMLBeans version increased to 2.6.0 (any version from 2.3.0 or later will work though)</action>
<action type="fix" fixes-bug="56800" context="XSSF">Provide a helpful exception, XLSBUnsupportedException, if XSSFWorkbook is passed a .xlsb file</action>
<action type="fix" fixes-bug="56814" context="OPC">Switch from dom4j to JAXP</action>
</actions>
</release>
<release version="3.10.1" date="2014-08-18">
<summary>
<!-- FIXME: formatting-->
<summary-item>This release is a bugfix release to fix two security issues with OOXML:</summary-item>
<summary-item>Tidy up the OPC SAX setup code with a new common Helper, preventing
external entity expansion (CVE-2014-3529).</summary-item>
<summary-item>On supported XML parser versions (Xerces or JVM built-in, XMLBeans 2.6),
enforce sensible limits on entity expansion in OOXML files, and ensure
that subsequent normal files still pass fine (CVE-2014-3574).</summary-item>
<summary-item>Please note: You should use xmlbeans-2.6.jar (as shipped with this release)
instead of the xmlbeans-2.3.jar version from the 3.10-FINAL release to work
around CVE-2014-3574. If you have an alternate XML parser like Apache Xerces
in classpath, be sure to use a recent version! Older versions are likely to
break on setting required security features.</summary-item>
<summary-item>Thanks to Stefan Kopf, Mike Boufford, Mohamed Ramadan, and Christian Schneider
for reporting these issues!</summary-item>
</summary>
<actions>
<action type="fix" fixes-bug="54764" context="XSSF">On supported XML parser versions (Xerces or JVM built-in, XMLBeans 2.6), enforce sensible limits on entity expansion in OOXML files, and ensure that subsequent normal files still pass fine (CVE-2014-3574)</action>
<action type="fix" fixes-bug="56164" context="OPC">Tidy up the OPC SAX setup code with a new common Helper, preventing external entity expansion (CVE-2014-3529)</action>
</actions>
</release>
<release version="3.11-beta1" date="2014-08-04">
<summary>
<!-- FIXME: copy release summary from official release notes-->
<summary-item>Security fix CVE-2014-3529: external XML entity expansion. Affects reading OOXML documents.</summary-item>
<summary-item>Dropped support for Java 1.5. Java 6 is now the minimum version required to run POI.</summary-item>
</summary>
<actions>
<action type="fix" fixes-bug="56164" context="OPC">Tidy up the OPC SAX setup code with a new common Helper, preventing external entity expansion (CVE-2014-3529)</action>
<action type="fix" fixes-bug="55196" context="XWPF">Correct XWPF createTOC handling of short style names</action>
<action type="fix" fixes-bug="55050" context="SS_Common">If the start+end row and cell are the same on an AreaPtg, avoid inverting the relative flag</action>
<action type="fix" fixes-bug="54725" context="HWPF">HWPF where no parent style CHP exists, use an empty set when processing the style to avoid a NPE</action>
<action type="fix" fixes-bug="56502" context="XSSF">When shifting XSSF rows with formula cells, if the formula can't be parsed, log + leave it unchanged rather than failing</action>
<action type="fix" fixes-bug="56527" context="XSSF">Avoid NPE from XSSFHyperLink when setting the cell it references on a new link</action>
<action type="fix" fixes-bug="53984" context="HSSF">If an unsupported BofRecord is found for a sheet, warn and skip rather than breaking</action>
<action type="fix" fixes-bug="53984" context="HSSF">Support the ColInfoRecord coming after the cells, rather than before as is normal</action>
<action type="fix" fixes-bug="56132" context="XSSF">Allow XSSF formula evaluation to also skip missing external workbook references, if requested, in line with existing HSSF support</action>
<action type="add" fixes-bug="56020" context="XSSF">XSSF support for creating Pivot Tables</action>
<action type="add" fixes-bug="55906" context="SS_Common">Formula Evaluator support for multi-sheet references for those functions which support them, eg SUM(Sheet1:Sheet3!A1:B2)</action>
<action type="add" fixes-bug="56023" context="XSSF" breaks-compatibility="true">Allow XSSF event model to find + return comments, and use this for the event based .xlsx text extractor. Required backwards-incompatible updates to XSSFSheetXMLHandler.SheetContentsHandler</action>
<action type="fix" fixes-bug="56194" context="HPSF">HPSF thumbnail format tags are Int not UInt</action>
<action type="fix" fixes-bug="56735" context="POI_Overall">Allow a system wide setting of where Temp files (eg for SXSSF) are stored, via TempFile / TempFileCreationStrategy</action>
<action type="fix" fixes-bug="56683" context="OPC OOXML">Have XMLBeans request UTF-8 for strings by default, to avoid issues on the odd platform where that isn't already the case</action>
<action type="fix" fixes-bug="54443" context="HSSF">Correct HSSFOptimiser logic for the case where the to-keep style wasn't previously in use</action>
<action type="add" fixes-bug="56737" context="XSSF">XSSF support for evaluating formula references to other Workbooks</action>
<action type="fix" fixes-bug="56688" context="SS_Common">Fix border cases in EDATE function: handle RefEval and BlankEval and also return #VALUE, not #REF in case of error</action>
<action type="add" fixes-bug="56744" context="XSSF">Initial support for XSSF External Links tables, which hold references to other workbooks referenced by formulas and names</action>
<action type="fix" fixes-bug="56702" context="XSSF">If a cell is of type numeric but has an empty <v/> tag, return as 0</action>
<action type="fix" fixes-bug="56537" context="SS_Common">Make Workbook be Closeable, so you can call close() to explicitly free the file based resources when you're done</action>
<action type="fix" fixes-bug="54771" context="XWPF">Read text from SDTs at the table cell level, including (sometimes) Cover Page, Table of Contents and Bibliography</action>
<action type="fix" fixes-bug="56556" context="XSSF">Change how ColumnHelper finds CTCol instances, to speed up the more common use case when most are wanted for reading</action>
<action type="fix" fixes-bug="56572" context="SS_Common">HSSFCell should follow XSSF, and allow setting a null-style to return to the default style</action>
<action type="fix" fixes-bug="56563" context="HSSF">Fix multithreading bug when reading 2 similar files</action>
<action type="fix" fixes-bug="53691" context="HSSF">Fix a copy/paste error in CFRuleRecord.clone() </action>
<action type="fix" fixes-bug="56170" context="HSSF">Fix a problem with cells in workbooks becoming disconnected</action>
<action type="fix" fixes-bug="56514" context="XSSF">Add missing null-check if simple shape does not</action>
<action type="fix" fixes-bug="56325" context="HSSF">Bug 54400 introduced a problem when removing a sheet with named ranges</action>
<action type="fix" fixes-bug="47251" context="HSSF">NoteRecord can sometimes be double-padded if there's no author set</action>
<action type="fix" fixes-bug="54034" context="XSSF">Handle date format strings in an iso8601 style format, with a T in them</action>
<action type="fix" fixes-bug="56274" context="SXSSF">Correct SXSSF writing of tables when creating from a template</action>
<action type="fix" fixes-bug="56468" context="XSSF">Writing a workbook more than once corrupts the file</action>
<action type="fix" fixes-bug="53983" context="HSMF">Outlook sometimes stores a codepage of ANSI when it means 1252, detect and alias</action>
<action type="add" fixes-bug="56486" context="HSSF">Add XOR obfuscation/decryption support to HSSF</action>
<action type="add" fixes-bug="56269" context="XSSF">DateFormat - Rounding of fractionals</action>
<action type="fix" fixes-bug="56482" context="XSSF">Excel 2007 and later allows for more than 3 Conditional Formatting rules per sheet, so change our hard limit to logging a compatibility warning</action>
<action type="add" context="POIFS">Add NPOIFS in-place write support, including updating the contents of existing entries</action>
<action type="add" context="POIFS">Complete NPOIFS write support</action>
<action type="fix" fixes-bug="56447" context="POIFS">NPOIFS fixes for 2+gb files loaded via File (InputStream is limited to 2gb due to ByteBuffer limits)</action>
<action type="fix" fixes-bug="56450" context="HSSF">Avoid a NPE if a comment has no associated NoteRecord (but we still don't know where it belongs)</action>
<action type="fix" fixes-bug="56437" context="POIFS">Streaming write support in NPOIFS</action>
<action type="fix" fixes-bug="56315" context="SS_Common">Fix floating point rounding problems with ROUND function</action>
<action type="fix" fixes-bug="55594" context="SXSSF">Fix SXSSF encodings on EBCDIC platforms, by setting the required encoding explicitly</action>
<action type="fix" fixes-bug="56278" context="XSSF">Support loading .xlsx files with no Styles Table</action>
<action type="fix" fixes-bug="56195" context="XSSF">Replace System.err in XSSFSheetXMLHandler with proper logging</action>
<action type="fix" fixes-bug="56169" context="XSSF">Fix NPE during XSSFExportToXml export to XML with xs:all</action>
<action type="fix" fixes-bug="55923" context="XSSF">Fix compare/sorting of nodes in exported XML via XSSFExportToXml</action>
<action type="fix" fixes-bug="55926" context="XSSF">Handle numeric formula values when exporting to XML</action>
<action type="fix" fixes-bug="55927" context="XSSF">Handle date types when exporting to XML</action>
<action type="fix" fixes-bug="56011" context="XSSF">Use default style if the cell style attribute is not present</action>
<action type="add" context="POI_Overall" breaks-compatibility="true">End support for Java 1.5. POI now requires Java 6 or higher</action>
<action type="add" context="POI_Overall" breaks-compatibility="true">Upgrade third party libs to latest versions: commons-logging, commons-codec, log4j</action>
<action type="fix" fixes-bug="56260" context="HSLF">Avoid warnings when a TextHeaderAtom is empty and has another straight after, or where there's a TextRulerAtom / MasterTextPropAtom / TextSpecInfoAtom before the Text Chars / Bytes</action>
<action type="add" fixes-bug="56075" context="XWPF">Add Change Tracking support to XWPF</action>
<action type="add" fixes-bug="56077" context="HWPF">Add password hash function to HWPF</action>
<action type="add" fixes-bug="56076" context="XWPF">Add document protection with password support to XWPF</action>
<action type="fix" fixes-bug="55026" context="POI_Overall">Support OOXML ContentTypes which include parameters</action>
<action type="fix" fixes-bug="55732" context="HSLF">PPT can't open, fails with "Couldn't instantiate ... StyleTextProp9Atom"</action>
<action type="fix" fixes-bug="56138" context="HPSF">HPSF code page strings can be zero length</action>
<action type="add" fixes-bug="53130" context="SXSSF">SXSSF Shared Strings option support</action>
<action type="fix" fixes-bug="55902" context="XSLF">Mixed fonts issue with Chinese characters (unable to form images from ppt)</action>
<action type="add" fixes-bug="56022" context="XSSF">XSSF Event Text Extractor header/footer support</action>
<action type="fix" fixes-bug="53282" context="XSSF">Hyperlink with a non-breaking space throws java.lang.IllegalStateException</action>
<action type="fix" fixes-bug="55802" context="XWPF">Wrong encoding used for non-ASCII characters in text runs</action>
<action type="add" context="HWPF">Expose the StyleIndex of HWPF CharacterRuns</action>
<action type="fix" fixes-bug="51891" context="POIFS">Fix StringIndexOutOfBoundsException : Ole10Native.<init> (parsing word file)</action>
</actions>
</release>
<release version="3.10-FINAL" date="2014-02-08">
<actions>
<action type="fix" fixes-bug="51585" context="XSSF">WorkbookFactory.create() hangs when creating a workbook</action>
<action type="add" fixes-bug="55873" context="POI_Overall">Support for COUNTIFS function</action>
<action type="fix" fixes-bug="55723" context="HSSF">Inconsistent behavior in HSSFSheet.setAutoFilter() function, also make XSSF work when setAutoFilter is called multiple times</action>
<action type="fix" fixes-bug="51158" context="XSSF">Writing a workbook multiple times produces unreadable content</action>
<action type="fix" fixes-bug="45776" context="HSLF">Fix corrupt file problem using TextRun.setText</action>
<action type="fix" fixes-bug="41246" context="HSLF">AIOOBE with missing notes entries</action>
<action type="fix" fixes-bug="48593" context="HSLF">Multiple Saves Causes Slide Corruption</action>
<action type="add" fixes-bug="55579" context="HSLF">Support embedding OLE objects into HSLF</action>
<action type="add" fixes-bug="55818" context="POIFS">Add encryption support</action>
<action type="fix" fixes-bug="55731" context="POI_Overall">Fix StringBuilder logic in DataFormatter.cleanFormatForNumber </action>
<action type="fix" fixes-bug="55730" context="HSSF">Fix org.apache.poi.ss.usermodel.BuiltinFormats.java for 0x29-0x2c </action>
<action type="fix" fixes-bug="55901" context="HPSF">Avoid using RMI based exception from PropertySetFactory, as it's not needed nor helpful</action>
<action type="fix" fixes-bug="55850" context="XSSF">Fix NullPointerException during Xml-extraction from xlsx</action>
<action type="fix" fixes-bug="55640" context="XSSF">Avoid IndexOutOfboundsException when setting nested row grouping</action>
<action type="fix" fixes-bug="55745" context="XSSF">fix handling of tables in XSSF if there are comments as well</action>
<action type="add" fixes-bug="55560" context="HSLF">Patch for hiding slides in HSLF</action>
<action type="fix" fixes-bug="53176" context="XSLF">Fixed auto shapes render problem in pptx files</action>
<action type="add" fixes-bug="55661" context="XSSF">CellStyle support for get/set Shrink To Fit</action>
<action type="fix" fixes-bug="49237" context="HSSF">HSSF Row Style XfIndex is 12 not 16 bits of data</action>
<action type="fix" fixes-bug="53475" context="POIFS">OOXML encrypted document fix for cspname being optional</action>
<action type="fix" fixes-bug="55733" context="XWPF">XWPFWordExtractor needs to handle .docx files with neither headers nor footers</action>
<action type="fix" fixes-bug="55729" context="HSSF">DataFormatter should format Error cells, returning the Excel error string</action>
<action type="add" fixes-bug="55612" context="HSSF">Performance improvement in HSSFCellStyle.getDataFormatString()</action>
<action type="add" fixes-bug="55611" context="HSSF">Performance improvement in DateUtil.isADateFormat(int, String)</action>
<action type="add" fixes-bug="55578" context="HSSF">Support embedding OLE1.0 packages in HSSF</action>
<action type="add" fixes-bug="49658" context="HSSF">Support embedding EMF/WMF pictures in HSSF</action>
<action type="fix" fixes-bug="52400" context="HMEF">Fix handling some types of TNEF files</action>
<action type="fix" fixes-bug="54400" context="HSSF">Updating the index in the LinkTable whenever sheets are removed</action>
<action type="fix" fixes-bug="49940" context="XSSF">Apply patch to avoid XmlValueDisconnectedException when saving a file twice</action>
<action type="add" fixes-bug="55369" context="SXSSF">Add support for collapsing rows in SXSSF</action>
<action type="fix" fixes-bug="55692" context="POIFS">Give a more helpful error if an Encrypted .xlsx file is passed to HSSF</action>
<action type="fix" fixes-bug="55650" context="XSSF">Avoid AIOOBE if a non-existant Xfs is requested for a style</action>
<action type="fix" fixes-bug="55658" context="SXSSF">Don't fail in SXSSF if a numeric cell is overwritten with a string</action>
<action type="fix" fixes-bug="55341" context="POI_Overall">Constants for HAIR and DOTTED border styles are swapped</action>
<action type="add" context="POI_Overall">Add Eclipse project files</action>
<action type="add" fixes-bug="55647" context="POI_Overall">When creating a temp file, ensure the name isn't already taken</action>
<action type="add" fixes-bug="54722" context="HSLF">Extract text from HSLF tables</action>
<action type="add" fixes-bug="55544" context="POIFS">Support for SHA-512 hashes on OOXML protected documents, as used by Office 2013</action>
</actions>
</release>
<release version="3.10-beta2" date="2013-09-19">
<actions>
<action type="fix" fixes-bug="53798" context="XSSF">Add fix for XmlValueDisconnectException during shifting rows</action>
<action type="fix" fixes-bug="54524" context="POI_Overall">Fix handling of special case in FormulaShifter</action>
<action type="fix" fixes-bug="50298" context="HSSF">Fix corruption of Workbook when setting sheet order</action>
<action type="fix" fixes-bug="55419" context="POI_Overall">Fix SimpleFractionException when fraction goes to greater than overflow</action>
<action type="add" fixes-bug="54786" context="XSSF">Add support for quoting in date formatting</action>
<action type="fix" fixes-bug="52233" context="XSSF">Do not make the XSSFSheet invalid during write()</action>
<action type="add" fixes-bug="55195" context="HSSF">MultiOperandNumericFunction.collectValue() currently uses concrete final classes but should use interfaces instead</action>
<action type="fix" fixes-bug="55380" context="HSSF">Endless loop in CellRangeUtil.mergeRanges() when regions are overlapping</action>
<action type="add" fixes-bug="55347,45551" context="XSSF">Integrate 55292 into XSSF extractors -- extract text from text boxes in xlsx files</action>
<action type="fix" fixes-bug="55361" context="XWPF">Tika 792 - Avoid CTMarkup NoSuchMethodException stack trace by adding two beans to ooxml-lite"</action>
<action type="fix" fixes-bug="55294,52186" context="XSSF">Fix column grouping in XSSF</action>
<action type="add" fixes-bug="55292" context="XSSF">Enhancements to XSSFSimpleShape (textbox) including: ability to add multiple paragraphs, formatting (read/write) and text extraction</action>
<action type="fix" fixes-bug="55191" context="HPSF">Avoid a ClassCastException if a HPSF string property isn't directly stored as a string</action>
<action type="fix" context="HSMF">HSMF ascii encoding detection should use the CodePage properties where available</action>
<action type="fix" context="HSMF">HSMF fixed length property parsing should be more forgiving of some type differences from the property default</action>
<action type="fix" fixes-bug="54233" context="HPSF">Some HPSF documents require UnicodeStrings to be 4-byte aligned, spot these from the otherwise invalid length</action>
<action type="add" context="POI_Overall">Upgrade version of JUnit to 4.11 to avoid problems when executing unit tests using Apache Ant >= 1.7</action>
</actions>
</release>
<release version="3.10-beta1" date="2013-06-28">
<actions>
<action type="fix" fixes-bug="54925" context="HSLF">Avoid issues if the length of a StyleTextPropAtom prop is longer than the parent text</action>
<action type="fix" fixes-bug="54564" context="HSSF">Fix error message text for a workbook with no sheets when a sheet operation is performed</action>
<action type="fix" fixes-bug="53972" context="HSSF">Presence of PLV record shouldn't affect HSSF Data Validation</action>
<action type="fix" fixes-bug="55142" context="XWPF">Not all XWPF SDT blocks need newlines</action>
<action type="fix" fixes-bug="54920" context="XSSF">XSSFDrawing.createCellComment causes CommentsTable to lose reference to comment in cell A1</action>
<action type="fix" fixes-bug="54982" context="XSSF">ExtractorFactory does not close files when extracting via OCPPackage.open()</action>
<action type="fix" fixes-bug="54607" context="XSSF">NullPointerException in XSSFSheet.getTopRow() when the top row is 1</action>
<action type="fix" fixes-bug="54686" context="XSSF">Improve how DataFormatter handles fractions</action>
<action type="fix" fixes-bug="55066" context="XWPF">Don't load XWPF Footnotes twice</action>
<action type="add" fixes-bug="54849" context="XWPF">Controlled content/Form (Std/StdBlock) content</action>
<action type="fix" fixes-bug="github-2" context="HSSF">HSSFWorkbook.getAllEmbeddedObjects() needs to recurse into container Shapes</action>
<action type="add" fixes-bug="github-4" context="XWPF">Expose from XWPFParagraph the number level and format, if applied</action>
<action type="add" fixes-bug="github-3" context="XWPF">Extract references from XWPF footnotes</action>
<action type="fix" fixes-bug="55053" context="POI_Overall">Update License links following ECMA site re-organisation</action>
<action type="add" fixes-bug="49658" context="HSSF">Support embedding EMF/WMF pictures in HSSF </action>
<action type="add" fixes-bug="55047" context="POI_Overall">REPT formula support </action>
<action type="add" fixes-bug="55042" context="POI_Overall">COMPLEX formula support </action>
<action type="add" fixes-bug="55041" context="POI_Overall">CODE formula support </action>
<action type="fix" fixes-bug="55001" context="HSLF">Support Unicode text (TextCharsAtom) in HSLF TextShape</action>
<action type="fix" fixes-bug="54682" context="HWPF">UnhandledDataStructure should sanity check before allocating, not after</action>
<action type="add" fixes-bug="54673" context="POI_Overall">Simple wildcard support in HLOOKUP, VOOLKUP, MATCH, COUNTIF </action>
<action type="fix" fixes-bug="54625" context="HSSF">Register user-defined functions in instance scope instead of static </action>
<action type="fix" fixes-bug="54469" context="SS_Common">Support for financial functions IPMT and PPMT </action>
<action type="fix" fixes-bug="54407" context="HSLF">Avoid XmlValueDisconnectedException when merging slides </action>
<action type="fix" fixes-bug="54356" context="POI_Overall">Support of statistical function SLOPE</action>
<action type="fix" fixes-bug="54403" context="POI_Overall">Support of statistical function INTERCEPT</action>
<action type="fix" fixes-bug="54557" context="POI_Overall">Don't mis-detect format patterns like .000 as dates</action>
<action type="fix" fixes-bug="54506" context="HSSF">Support unusual .xls files with a BOOK directory entry (normally it is Workbook)</action>
<action type="add" fixes-bug="54508" context="POI_Overall">EDATE formula support</action>
<action type="fix" fixes-bug="53810" context="POIFS">NPOIFS fix for 0 not -1 padded partially used XBATs</action>
<action type="fix" fixes-bug="54402" context="POI_Overall">IfError handling of indirect references</action>
<action type="add" fixes-bug="53966" context="POI_Overall">IfError support (from Analysis Toolpak)</action>
<action type="fix" fixes-bug="53650" context="SXSSF">Prevent unreadable content and disallow to overwrite rows from input template in SXSSF</action>
<action type="fix" fixes-bug="54228,53672" context="XSSF">Fixed XSSF to read cells with missing R attribute</action>
<action type="fix" fixes-bug="54206" context="HSSF">Ensure that shared formulas are updated when shifting rows in a spreadsheet</action>
<action type="fix" context="HSSF">Synchronize table headers with parent sheet in XSSF</action>
<action type="fix" fixes-bug="54210" context="HSLF">Fixed rendering text in flipped shapes in PPT2PNG and PPTX2PNG</action>
</actions>
</release>
<release version="3.9" date="2012-12-03">
<actions>
<action type="fix" fixes-bug="54188" context="HSLF">Avoid NPE in PPT2PNG</action>
<action type="fix" fixes-bug="52628" context="POI_Overall">Replace System.err info messages with a POILogger</action>
<action type="fix" fixes-bug="54137" context="POI_Overall">improved performance of DataFormatter with Fractions</action>
<action type="fix" fixes-bug="54099" context="XWPF">Ensure that CTHMerge and CTTcBorders go to poi-ooxml-schemas jar</action>
<action type="fix" fixes-bug="54111" context="HSLF">Fixed extracting text from table cells in HSLF</action>
<action type="add" fixes-bug="52583" context="HWPF">add support for drop-down lists in doc to html conversion</action>
<action type="add" fixes-bug="52863" context="HWPF">add workaround for files with broken CHP SPRMs</action>
<action type="fix" fixes-bug="53182" context="HWPF">Reading combined character styling and direct formatting of a character run</action>
<action type="fix" fixes-bug="52311" context="HWPF">Conversion to html : Problem in titles number </action>
<action type="fix" fixes-bug="53914" context="HWPF">TableRow#getTopBorder() return bottom's border</action>
<action type="fix" fixes-bug="53282" context="XSSF">Avoid exception when parsing OPC relationships with non-breaking spaces</action>
<action type="fix" fixes-bug="54016" context="HSSF">Avoid exception when parsing workbooks with DConRefRecord in row aggregate</action>
<action type="fix" fixes-bug="54008" context="POI_Overall">Fixed Ant build to support build directories with blanks</action>
<action type="fix" fixes-bug="53374" context="POI_Overall">Avoid exceptions when parsing hyperlinks of type "javascript://"</action>
<action type="fix" fixes-bug="53404" context="HSSF">Fixed compatibility bug with modifying xls files created by POI-3.6 and earlier</action>
<action type="add" fixes-bug="53979" context="HSLF">Support fetching properties of Numbered Lists from PPT files</action>
<action type="add" fixes-bug="53784" context="HSMF">Partial HSMF support for fixed sized properties</action>
<action type="add" fixes-bug="53943" context="HWPF">added method processSymbol() to allow converting word symbols </action>
<action type="fix" fixes-bug="53763" context="HSSF">avoid style mess when using HSSFOptimiser </action>
<action type="fix" fixes-bug="52972" context="SXSSF">preserve leading / trailing spaces in SXSSF </action>
<action type="fix" fixes-bug="53965" context="XSSF">Fixed XmlValueOutOfRangeException calling getDataValidations for custom validations with XSSFSheet </action>
<action type="fix" fixes-bug="53974" context="HSSF">Avoid NPE when constructing HSSFWorkbook on Google App Engine</action>
<action type="fix" fixes-bug="53568" context="XSSF">Fixed null returned by XSSFPicture.getPictureData()</action>
<action type="fix" fixes-bug="53950" context="XSSF">fixed setForceFormulaRecalculation to reset workbook-level "manual" flag</action>
<action type="fix" fixes-bug="52211" context="XSSF">avoid unnecessary re-converting content types to US-ASCII, it can cause exceptions on ibm mainframes</action>
<action type="fix" fixes-bug="53568" context="XSSF">Set shapes anchors in XSSF when reading from existing drawings</action>
<action type="add" context="HSSF">HSSFOptimiser will now also tidy away un-used cell styles, in addition to duplicate styles</action>
<action type="fix" fixes-bug="53493" context="SXSSF">Fixed memory and temporary file leak in SXSSF </action>
<action type="fix" fixes-bug="53780" context="SXSSF">Fixed memory and temporary file leak in SXSSF </action>
<action type="fix" fixes-bug="53380" context="HWPF">ArrayIndexOutOfBounds Exception parsing word 97 document. </action>
<action type="fix" fixes-bug="53434" context="POI_Overall">Subtotal is not return correct value. </action>
<action type="fix" fixes-bug="53642" context="POI_Overall">XLS formula evaluation logging </action>
<action type="fix" fixes-bug="53561" context="HSSF">Unexpected adding of drawings into a workbook </action>
<action type="fix" fixes-bug="53413" context="HSSF">[GSoC] Improved work with shapes. HSSF </action>
<action type="fix" fixes-bug="53361" context="HSSF">feature: enhancements in EscherAggregate </action>
<action type="fix" fixes-bug="53302" context="HSSF">EscherAggregate does not handle Continue records </action>
<action type="fix" fixes-bug="53144" context="HSSF">First comment not cloned after cloneSheet() </action>
<action type="fix" fixes-bug="53028" context="HSSF">Broken auto fit row height in the cells with word wrap </action>
<action type="fix" fixes-bug="53010" context="HSSF">[GSoC2012] Improve drawing support in HSSF </action>
<action type="fix" fixes-bug="52764" context="HSSF">Unmodified cell comments disappear after HSSFWorkbook.write </action>
<action type="fix" fixes-bug="52300" context="HSSF">Corrupted File after cloneSheet() </action>
<action type="fix" fixes-bug="52272" context="HSSF">Inserting images on cloned sheet with images. </action>
<action type="fix" fixes-bug="51796" context="HSSF">The [EscherClientAnchorRecord] for object (eg: TextBox,Shape) may get lost. </action>
<action type="fix" fixes-bug="51683" context="HSSF">[HSSF] Improve support for Shapes and Shape Groups </action>
<action type="fix" fixes-bug="51676" context="HSSF">Using drawingPatriarch.createCellComment(anchor) leads to File error: data may have been lost </action>
<action type="fix" fixes-bug="51675" context="HSSF">Background images cause problems in HSSF spreadsheet </action>
<action type="fix" fixes-bug="51455" context="HSSF">It would be really nice to be able to set the background picture of a comment </action>
<action type="fix" fixes-bug="51341" context="HSSF">Adding Image to Header in Excel Using HSSF </action>
<action type="fix" fixes-bug="51280" context="HSSF">when we insert a new image to the existing excel file that corrupts the previous images </action>
<action type="fix" fixes-bug="50696" context="HSSF">File Error: data may have been lost </action>
<action type="fix" fixes-bug="48989" context="HSSF">If we have a comment but the row is not created we will not be able to get it. </action>
<action type="fix" fixes-bug="48873" context="HSSF">Comments not saving in XLS files with collapsible columns </action>
<action type="fix" fixes-bug="48654" context="HSSF">Not able to read Excel (xls) file having drawing objects </action>
<action type="fix" fixes-bug="48590" context="HSSF">Excel crashes after using removeCellComment methods </action>
<action type="fix" fixes-bug="46444" context="HSSF">cloning cloned sheet with autofilters corrupts the workbook </action>
<action type="fix" fixes-bug="45129" context="HSSF">Lost picture in file output after saving with POI </action>
<action type="fix" fixes-bug="47624" context="HSSF">File Error Data May Have been Lost error while opening commented workbook(excel file) </action>
<action type="fix" fixes-bug="46143" context="HSSF">setLineStyleColor for comments do not work </action>
<action type="fix" fixes-bug="53699" context="XSSF">Patch to correct BorderStyle enum positions </action>
<action type="add" fixes-bug="53604" context="HSSF">Ugly Duckling case study</action>
<action type="add" fixes-bug="53644" context="HSSF">XLS formula bugfix (CalFieldFunc) + WeekDay addon </action>
<action type="add" fixes-bug="53446" context="POI_Overall">Fixed some problems extracting PNGs </action>
<action type="fix" fixes-bug="53205" context="HDGF">Fixed some parsing errors and encoding issues in HDGF </action>
<action type="add" fixes-bug="53204" context="HSSF">Improved performance of PageSettingsBlock in HSSF </action>
<action type="add" fixes-bug="53500" context="POI_Overall">Getter for repeating rows and columns</action>
<action type="fix" fixes-bug="53369" context="XSSF">Fixed tests failing on JDK 1.7</action>
<action type="fix" fixes-bug="53360" context="SXSSF">Fixed SXSSF to correctly write text before escaped Unicode control character</action>
<action type="add" context="HSMF">Change HSMF Types to have full data on ID, Name and Length, rather than just being a simple ID</action>
<action type="add" fixes-bug="48469" context="HSSF">Updated case study</action>
<action type="add" fixes-bug="53476" context="HSSF">Support Complex Name in formulas </action>
<action type="fix" fixes-bug="53414" context="HSSF">properly update sheet dimensions when adding column </action>
<action type="add" context="OPC">Add File based constructor to OPCPackage, alongside existing String one (which constructed a File from the string internally)</action>
<action type="fix" fixes-bug="53389" context="POI_Overall">Handle formatting General and @ formats even if a locale is prefixed to them</action>
<action type="fix" fixes-bug="53271" context="SXSSF">Removed unconditional asserts in SXSSF</action>
<action type="add" fixes-bug="53025" context="XSSF">Updated documentation and example on using Data Validations </action>
<action type="add" fixes-bug="53227" context="XSSF">Corrected AddDimensionedImage.java to support XSSF/SXSSF </action>
<action type="add" fixes-bug="53058" context="HSSF">Utility for representing drawings contained in a binary Excel file as a XML tree</action>
<action type="add" fixes-bug="53165" context="HWPF">HWPF support for fetching the description (alt text) of a picture</action>
<action type="fix" fixes-bug="48528" context="XSSF">support negative arguments to the DATE() function</action>
<action type="fix" fixes-bug="53092" context="POI_Overall">allow specifying of a TimeZone to DateUtil.getJavaDate(), for when it is known that a file comes from a different (known) timezone to the current machine</action>
<action type="fix" fixes-bug="53043" context="XSSF">don't duplicate hyperlink relationships when saving XSSF file</action>
<action type="fix" fixes-bug="53101" context="XSSF">fixed evaluation of SUM over cell range > 255</action>
<action type="fix" fixes-bug="49529" context="HSSF">avoid exception when cloning sheets with no drawing records and initialized drawing patriarch</action>
</actions>
</release>
<release version="3.8-FINAL" date="2012-03-26">
<summary>
<!-- FIXME: formatting -->
<!-- Significant changes -->
<summary-item>NPOIFS: NIO driven API to read OLE2 filesystems with low memory footprint.</summary-item>
<summary-item>SXSSF: a low-memory footprint API built on top of XSSF that can be used when very large spreadsheets have to be produced, and heap space is limited</summary-item>
<summary-item>poi-excelant: Ant tasks for running POI against a workbook</summary-item>
<summary-item>Supported evaluation of new Excel formulas: IRR,NPV,MROUND,VAR,VARP,CLEAN,CHAR,ADDRESS,HOUR,MINUTE,SECOND,RATE,WORKDAY,NETWORKDAYS,SUMIFS,RANK</summary-item>
<summary-item>XSLF usermodel API: POI's implementation of the PowerPoint 2007 OOXML (.xlsx) file format. XSLF provides a rich usermodel API and a PPTX2PNG utility to export slides to images.</summary-item>
<summary-item>WordToFO, WordToHtml and WordToText converters: utilities to export MS Word .doc files into XSL-FO, html and text files. Output from WordToFO can be used to convert .doc files to pdf using Apache FOP.</summary-item>
<!-- Other notable changes:-->
<summary-item>Numerous improvements and refactorings in HWPF, Java API for MS Word .doc files: support for reading
footnotes, endnotes and bookmarks, improved support for handling tables, paragraphs, text runs and much more...</summary-item>
<summary-item>Initial support for charts in XSSF</summary-item>
<summary-item>support for OOXML Agile Encryption</summary-item>
</summary>
<actions>
<action type="add" fixes-bug="52928" context="POI_Overall">DateFormatConverter: an utility to convert instances of java.text.DateFormat to Excel format patterns</action>
<action type="fix" fixes-bug="52895" context="HSSF">show SSTIndex instead of XFIndex in LabelSSTRecord.toString()</action>
<action type="fix" fixes-bug="52835" context="XSSF">Tolerate missing Count and UniqueCount attributes when parsing shared strings table in XSSF eventusermodel</action>
<action type="add" fixes-bug="52818" context="HSSF">Added implementation for RANK()</action>
<action type="fix" fixes-bug="52682" context="HSLF">allow setting text with trailing carriage return in HSLF</action>
<action type="fix" fixes-bug="52244" context="HSLF">use correct text attributes when presentation has multiple TxMasterStyleAtoms of the same type</action>
<action type="add" context="XSSF">support setting background color of sheet tab in XSSF</action>
<action type="add" fixes-bug="51564" context="XWPF">support for enforcing fields update in XWPF</action>
<action type="add" fixes-bug="51673" context="SXSSF">support grouping rows in SXSSF</action>
<action type="add" fixes-bug="51780" context="POI_Overall">support replacement of content types in OPC packages </action>
<action type="fix" fixes-bug="52784" context="SXSSF">replace ISO control characters with question marks in SXSSF to be consistent with XSSF </action>
<action type="add" fixes-bug="52057" context="HSSF">updated formula test framework to be aware of recently added Functions </action>
<action type="add" fixes-bug="52574" context="HSSF">support setting header / footer page margins in HSSF </action>
<action type="add" fixes-bug="52583" context="HWPF">fixed WorkbookUtil#createSafeSheetName to escape colon </action>
<action type="add" fixes-bug="51710" context="XSSF">fixed reading shared formulas in XSSF </action>
<action type="add" fixes-bug="52708" context="POI_Overall">misc improvements in CellFormat </action>
<action type="add" fixes-bug="52690" context="POIFS">added a getter for length of encrypted data in Ecma and Agile decryptors</action>
<action type="fix" fixes-bug="52255" context="XWPF">support adding TIFF,EPS and WPG pictures in OOXML documents </action>
<action type="fix" fixes-bug="52078" context="HSLF">avoid OutOfMemoryError when rendering grouped pictures in HSLF </action>
<action type="fix" fixes-bug="52745" context="XSSF">fixed XSSFRichtextString.append to preserve leading / trailing spaces </action>
<action type="fix" fixes-bug="52716" context="XSSF">tolerate hyperlinks that have neither location nor relation </action>
<action type="fix" fixes-bug="52599" context="HSLF">avoid duplicate text when rendering slides in HSLF</action>
<action type="fix" fixes-bug="52598" context="HSLF">respect slide background when rendering slides in HSLF</action>
<action type="fix" fixes-bug="51731" context="HSLF">fixed painting shape outlines in HSLF</action>
<action type="fix" fixes-bug="52701" context="XSLF">fixed setting vertical alignment for XSLFTableCell</action>
<action type="fix" fixes-bug="52687" context="XSLF">fixed merging slides with pictures with associated custom tags</action>
<action type="add" context="SS_Common"> allow runtime registration of functions in FormulaEvaluator</action>
<action type="fix" fixes-bug="52665" context="POI_Overall">When reading from a ZipFileZipEntrySource that has already been closed, give IllegalArgumentException rather than NPE</action>
<action type="fix" fixes-bug="52664" context="HSMF">MAPIMessage may not always have name chunks when checking for 7 bit encodings</action>
<action type="fix" fixes-bug="52649" context="HWPF">fixed namespace issue in WordToFoConverter</action>
<action type="fix" fixes-bug="52385" context="HPSF">avoid truncated array and vector data when reading OLE properties</action>
<action type="fix" fixes-bug="52662" context="HWPF">CharacterRun NPE fix when fetching symbol fonts, where no fonts are defined</action>
<action type="add" fixes-bug="52658" context="XSLF">support merging table cells in XSLF</action>
<action type="add" context="SXSSF">validate row number and column index in SXSSF when creating new rows / cells</action>
<action type="fix" fixes-bug="51498" context="POI_Overall">fixed evaluation of blank cells in COUNTIF</action>
<action type="add" fixes-bug="52576" context="HSSF">support changing external file references in HSSFWorkbook</action>
<action type="add" fixes-bug="49896" context="POI_Overall">support external references in FormulaRenderer</action>
<action type="fix" fixes-bug="52527" context="HSSF">avoid exception when matching shared formula records in HSSF</action>
<action type="add" fixes-bug="52568" context="XWPF">Added methods to set/get an XWPFRun's text color</action>
<action type="add" fixes-bug="52566" context="XWPF">Added methods to set/get vertical alignment and color in XWPFTableCell</action>
<action type="add" fixes-bug="52562" context="XWPF">Added methods to get/set a table row's Can't Split and Repeat Header attributes in XWPF</action>
<action type="add" fixes-bug="52561" context="XWPF">Added methods to set table inside borders and cell margins in XWPF</action>
<action type="add" fixes-bug="52569" context="HSSF">Support DConRefRecord in HSSF</action>
<action type="add" fixes-bug="52575" context="HSSF">added an option to ignore missing workbook references in formula evaluator</action>
<action type="add" context="XSSF">Validate address of hyperlinks in XSSF</action>
<action type="fix" fixes-bug="52540" context="XWPF">Relax the M4.1 constraint on reading OOXML files, as some Office produced ones do have 2 Core Properties, despite the specification explicitly forbidding this</action>
<action type="add" fixes-bug="52462" context="HSSF">Added implementation for SUMIFS()</action>
<action type="add" context="OOXML">POIXMLPropertiesTextExtractor support for extracting custom OOXML properties as text</action>
<action type="fix" fixes-bug="52449" context="XWPF">Support writing XWPF documents with glossaries (Glossaries are not yet supported, but can now be written out again without changes)</action>
<action type="fix" fixes-bug="52446" context="POIFS">Handle files which have been truncated by a few bytes in NPropertyTable</action>
<action type="fix" fixes-bug="52438" context="POI_Overall">Update CellDateFormatter to handle times without seconds</action>
<action type="add" fixes-bug="52389" context="XSSF">Support ?/? as well as #/# fractions, and tighten DataFormatter rules for fraction matching</action>
<action type="add" fixes-bug="52200" context="XWPF">Updated XWPF table example code </action>
<action type="add" fixes-bug="52378" context="HSSF">Support for WORKDAY and NETWORKDAYS functions</action>
<action type="add" fixes-bug="52349" context="XSSF">Merge the logic between the TEXT function and DataFormatter</action>
<action type="fix" fixes-bug="52349" context="XSSF">Correctly support excel style date format strings in the TEXT function</action>
<action type="fix" fixes-bug="52369" context="XSSF">XSSFExcelExtractor should format numeric cells based on the format strings applied to them</action>
<action type="fix" fixes-bug="52369" context="XSSF">Event based XSSF parsing should handle formatting of formula values in XSSFSheetXMLHandler</action>
<action type="fix" fixes-bug="52348" context="XSSF">Avoid exception when creating cell style in a workbook that has an empty xf table</action>
<action type="fix" fixes-bug="52219" context="XSSF">fixed XSSFSimpleShape to set rich text attributes from XSSFRichtextString</action>
<action type="fix" fixes-bug="52314" context="POI_Overall">enhanced SheetUtil.getColumnWidth</action>
</actions>
</release>
<release version="3.8-beta5" date="2011-12-17">
<actions>
<action type="fix" fixes-bug="52204" context="XSSF">Deprecated XSSFWorkbook(String path) constructor because it does not close underlying .zip file</action>
<action type="fix" fixes-bug="46288" context="HSLF">fixed refcount of Fill pictures in HSLF </action>
<action type="add" fixes-bug="51961" context="SXSSF">support compression of temp files in SXSSF </action>
<action type="add" fixes-bug="52268" context="XSSF">support cloning sheets with drawings in XSSF </action>
<action type="add" fixes-bug="52285" context="XWPF">Support XWPF smart tags text in Paragraphs</action>
<action type="fix" fixes-bug="51875" context="XSSF">More XSSF new-line in formula support</action>
<action type="add" context="POIFS">POIFS EntryUtils.copyNodes(POFS,POIFS) now uses FilteringDirectoryNode, so can exclude from copying nodes not just directly under the root</action>
<action type="add" context="POIFS">POIFS Helper FilteringDirectoryNode, which wraps a DirectoryEntry and allows certain parts to be ignored</action>
<action type="fix" fixes-bug="52209" context="XSLF">fixed inserting multiple pictures in XSLF </action>
<action type="fix" fixes-bug="51803" context="HSLF">fixed HSLF TextExtractor to extract content from master slide </action>
<action type="fix" fixes-bug="52190" context="XWPF">null check on XWPF setFontFamily</action>
<action type="fix" fixes-bug="52062" context="SXSSF">ensure that temporary files in SXSSF are deleted</action>
<action type="fix" fixes-bug="50936" context="HWPF">Exception parsing MS Word 8.0 file (as duplicate of 47958)</action>
<action type="fix" fixes-bug="47958" context="HWPF">ArrayIndexOutOfBoundsException from PicturesTable.getAllPictures() during Escher tree walk</action>
<action type="fix" fixes-bug="51944" context="HWPF">PAPFormattedDiskPage.getPAPX - IndexOutOfBounds</action>
<action type="fix" fixes-bug="52032" context="HWPF">HWPF - ArrayIndexOutOfBoundsException with no stack trace (broken after revision 1178063)</action>
<action type="add" context="XSLF">support for converting pptx files into images with a PPTX2PNG tool</action>
<action type="add" fixes-bug="52050" context="HSSF">Support for the Excel RATE function</action>
<action type="fix" fixes-bug="51566" context="HSLF">HSLF fix for finishing parsing the picture stream on the first non-valid type</action>
<action type="fix" fixes-bug="51974" context="HWPF">Avoid HWPF issue when identifying the picture type</action>
<action type="fix" fixes-bug="52035" context="HWPF">Fix signed issue with very large word 6 files</action>
<action type="fix" fixes-bug="51949" context="POI_Overall">Avoid NPE on double close of ZipFileZipEntrySource</action>
<action type="fix" fixes-bug="51950" context="XWPF">XWPF fix for footnotes not always being present in a document</action>
<action type="fix" fixes-bug="51963" context="POI_Overall">Correct AreaReference handling of references containing a sheet name which includes a comma</action>
<action type="fix" fixes-bug="51955" context="XSSF">XSSFReader supplied StylesTables need to have the theme data available</action>
<action type="fix" fixes-bug="51716" context="SXSSF">Removed incorrect assert in SXSSFSheet#getSXSSFSheet</action>
<action type="fix" fixes-bug="51834" context="HWPF">Opening and Writing .doc file results in corrupt document</action>
<action type="fix" fixes-bug="51902" context="HWPF">Picture.fillRawImageContent - ArrayIndexOutOfBoundsException (duplicate)</action>
<action type="fix" fixes-bug="51890" context="HWPF">ArrayIndexOutOfBounds ExceptionPicture.fillRawImageContent</action>
<action type="add" context="SS_Common">Allow the passing of a File object to WorkbookFactory.create, which permits lower memory processing than the InputStream version</action>
<action type="fix" fixes-bug="51873" context="HSMF">update HSMF to ignore Outlook 2002 Olk10SideProp entries, which don't behave like normal chunks</action>
<action type="fix" fixes-bug="51850" context="XSSF">support creating comments in XSSF on an earlier slide when later ones already have them</action>
<action type="add" fixes-bug="51804" context="XSLF">optionally include Master Slide text in XSLF text extraction, as HSLF already offers</action>
<action type="add" context="OPC">New PackagePart method getRelatedPart(PackageRelationship) to simplify navigation of relations between OPC Parts</action>
<action type="fix" fixes-bug="51832" context="HSSF">handle XLS files where the WRITEPROTECT record precedes the FILEPASS one, rather than following as normal</action>
<action type="fix" fixes-bug="51809" context="HSSF">correct GTE handling in COUNTIF</action>
<action type="add" context="HWPF">Add HWPF API to update range text and delete bookmarks</action>
<action type="add" context="HWPF">HWPF Bookmarks tables are correctly updated on text updates</action>
<action type="add" fixes-bug="51670" context="POI_Overall">avoid LeftoverDataException when reading .xls files with invalid LabelRecords</action>
<action type="add" fixes-bug="51196" context="XSSF">prevent NPE in XWPFPicture.getPictureData() </action>
<action type="add" fixes-bug="51771" context="HSLF">prevent NPE when getting object data from OLEShape in HSLF</action>
<action type="add" fixes-bug="51196" context="XSSF">more progress with Chart APi in XSSF</action>
<action type="fix" fixes-bug="51785" context="XSSF">Allow XSSF setForceFormulaRecalculation to work with the minimal ooxml-schemas jar</action>
<action type="fix" fixes-bug="51772" context="HWPF">IllegalArgumentException Parsing MS Word 97 - 2003</action>
<action type="add" context="XSLF">XSLFPowerPointExtractor support for including comment authors with comment text</action>
<action type="fix" context="XSLF">Converted XSLFPowerPointExtractor to use UserModel for all text extraction</action>
<action type="add" context="XSLF">XSLF initial UserModel support for Notes and Comments for Slides</action>
<action type="add" context="HSLF">support for uncompressed OLE embeddings</action>
</actions>
</release>
<release version="3.8-beta4" date="2011-08-26">
<actions>
<action type="fix" fixes-bug="51678" context="HWPF">Extracting text from Bug51524.zip is slow</action>
<action type="fix" fixes-bug="51671" context="HWPF">HWPFDocument.write based on NPOIFSFileSystem throws a NullPointerException</action>
<action type="add" context="XSLF">support for tables and hyperlinks in XSLF</action>
<action type="fix" fixes-bug="51535" context="HSSF">correct signed vs unsigned short reading in NDocumentInputStream</action>
<action type="add" fixes-bug="51634" context="SXSSF">support SXSSF streaming from templates</action>
<action type="add" context="XSLF">initial support for XSLF usermodel API</action>
<action type="fix" fixes-bug="51187" context="XSLF">fixed OPCPackage to correctly handle self references</action>
<action type="fix" fixes-bug="51635" context="XSSF">Improved performance of XSSFSheet#write</action>
<action type="fix" fixes-bug="47731" context="HWPF">Word Extractor considers text copied from some website as an embedded object</action>
<action type="add" context="HWPF">Add Word-to-Text converter and use it as replacement for WordExtractor</action>
<action type="fix" fixes-bug="51604" context="HWPF">replace text fails for doc ( poi 3.8 beta release from download site )</action>
<action type="fix" context="SXSSF">Fixed incorrect encoding of non-breaking space (0xA0) in SXSSF</action>
<action type="add" context="XSSF">Support for conditional formatting in XSSF</action>
<action type="add" context="HSSF">Support isRightToLeft and setRightToLeft on the common spreadsheet Sheet interface, as per existing HSSF support</action>
<action type="fix" fixes-bug="50209" context="HSSF">Fixed evaluation of Subtotals to ignore nested subtotals</action>
<action type="fix" fixes-bug="44431" context="HWPF">HWPFDocument.write destroys fields</action>
<action type="fix" fixes-bug="50401" context="HSLF">fixed EscherProperty to return property name instead of 'unknown' for complex properties </action>
<action type="add" context="HWPF">Initial support for endnotes and footnotes in HWPF</action>
<action type="fix" fixes-bug="51470" context="XSSF">avoid exception when cloning XSSF sheets with background images</action>
<action type="fix" fixes-bug="51481" context="HSSF">Fixed autofilters in HSSF to avoid warnings in Excel 2007</action>
<action type="fix" fixes-bug="51533" context="XSSF">Avoid exception when changing name of a sheet containing shared formulas</action>
<action type="add" context="HSSF">Support for appending images to existing drawings in HSSF</action>
<action type="add" context="HWPF">Initial support for bookmarks in HWPF</action>
<action type="fix" fixes-bug="46250" context="HSSF">Fixed cloning worksheets with images</action>
<action type="fix" fixes-bug="51524" context="HWPF">PapBinTable constructor is slow (regression)</action>
<action type="fix" fixes-bug="51514" context="HSSF">allow HSSFObjectData to work with both POIFS and NPOIFS</action>
<action type="fix" fixes-bug="51514" context="HSSF">avoid NPE when copying nodes from one HSSF workbook to a new one, when opened from NPOIFS</action>
<action type="fix" fixes-bug="51504" context="HSSF">avoid NPE when DefaultRowHeight or DefaultColumnWidth records are missing</action>
<action type="fix" fixes-bug="51502" context="POI_Overall">Correct Subtotal function javadoc entry</action>
<action type="add" context="SXSSF">Support for hyperlinks in SXSSF</action>
<action type="fix" fixes-bug="49933" context="HWPF">Word 6/95 documents with sections cause ArrayIndexOutOfBoundsException</action>
<action type="add" fixes-bug="51469" context="XSSF">XSSF support for row styles, to match existing HSSF functionality</action>
<action type="fix" fixes-bug="51476" context="XSSF">Correct XSSF cell formatting in HTML export</action>
<action type="add" fixes-bug="51486" context="XWPF">XWPF support for adding new footnotes</action>
<action type="fix" fixes-bug="48065" context="HWPF">Problems with save output of HWPF (losing formatting)</action>
<action type="fix" fixes-bug="47563" context="HWPF">Exception when working with table</action>
<action type="fix" fixes-bug="47287" context="HWPF">StringIndexOutOfBoundsException in CharacterRun.replaceText()</action>
<action type="fix" fixes-bug="46817" context="HWPF">Regression: Text from some table cells missing</action>
<action type="add" context="HWPF">Add getOverallRange() method to HWPFDocumentCore</action>
<action type="fix" context="HWPF">PAPX referenced outside of TextPiecesTable are ignored now and not loaded</action>
<action type="fix" context="HWPF">Fix main part range (and section) detection for files with additional parts (like footers/headers)</action>
<action type="fix" context="HWPF">Fix wrong TextPiece parsing in very rare cases like Bug33519.doc</action>
<action type="fix" context="HWPF">Inner tables are correctly supported</action>
<action type="add" context="HWPF">Allow user to retrieve Table nesting level (based on file information)</action>
<action type="add" context="HWPF">Functionality of internal tool HWPFLister is greatly improved, including output of document PAPX and paragraphs</action>
<action type="add" context="HWPF">Expand Word structures definitions (TAP, PAP, TLP, etc) based on official documentation</action>
<action type="add" context="HWPF">Add Excel-to-HTML converter (2007 versions)</action>
<action type="add" context="HWPF">Add Word-to-HTML converter (95-2007 versions)</action>
<action type="fix" context="HWPF">Skip wrong-type SPRMs when characters SPRM is expected</action>
<action type="add" context="HWPF">Add toStrings() methods to internal HWPF structures: BorderCode, PAPX, Paragraph, PieceDescriptor, Section, SEPX, SprmOperation, TextPiece etc</action>
<action type="fix" fixes-bug="51474" context="SXSSF">SXSSF handling for null strings</action>
<action type="fix" fixes-bug="48294" context="HSSF">Fixed HSSFWorkbook.setSheetOrder() to respect inter-sheet references </action>
<action type="fix" fixes-bug="51448" context="POI_Overall">Avoid exception when evaluating workbooks with more than 256 sheets </action>
<action type="fix" fixes-bug="51458" context="POI_Overall">Correct BitField wrapping when setting large values</action>
<action type="add" fixes-bug="51460" context="HSSF">Improve HSSF performance when loading very long rows, by switching the CellValue array to an iterator</action>
<action type="fix" fixes-bug="51444" context="XSSF">Prevent corrupted output when saving files created by LibreOffice 3.3 </action>
<action type="add" fixes-bug="51422" context="HSSF">Support using RecalcIdRecord to trigger a full formula recalculation on load </action>
<action type="add" fixes-bug="50474" context="XWPF">Example demonstrating how to update Excel workbook embedded in a WordprocessingML document </action>
<action type="fix" fixes-bug="51431" context="XSSF">Avoid IndexOutOfBoundException when removing freeze panes in XSSF </action>
<action type="fix" fixes-bug="48877" context="XSSF">Fixed XSSFRichTextString to respect leading and trailing line breaks </action>
<action type="fix" fixes-bug="49564" context="XSSF">Fixed default behaviour of XSSFCellStyle.getLocked() </action>
<action type="fix" fixes-bug="48314" context="XSSF">Fixed setting column and row breaks in XSSF</action>
<action type="add" fixes-bug="51424" context="HWPF">Ignore exceptions in ParagraphSprmUncompressor</action>
<action type="fix" fixes-bug="51415" context="XSSF">Fixed Workbook.createSheet(sheetName) to truncate names longer than 31 characters</action>
<action type="fix" fixes-bug="51332" context="HSSF">Fixed internal IDs of shapes generated by HSSFPatriarch when there are more than 1023 drawing objects </action>
<action type="fix" fixes-bug="48408" context="HSSF">Improved documentation for Sheet.setColumnWidth </action>
<action type="add" fixes-bug="51390" context="HWPF">Added handling of additional properties to HWPF ParagraphSprmCompressor</action>
<action type="add" fixes-bug="51389" context="HWPF">Support for sprmPJc paragraph SPRM in HWPF</action>
<action type="fix" fixes-bug="48469" context="HSSF">New Case Study for POI web site </action>
<action type="fix" fixes-bug="50681" context="XSSF">Avoid exceptions in HSSFDataFormat.getDataFormatString() </action>
<action type="fix" fixes-bug="50681" context="XSSF">Fixed autosizing columns beyond 255 character limit </action>
<action type="fix" fixes-bug="51374" context="XSSF">Fixed incorrect setting of lastPrinted OOXML core property </action>
<action type="add" fixes-bug="51351" context="HWPF">Word to XSL-FO converter</action>
<action type="fix" fixes-bug="50458" context="XSSF">Fixed missing shapeId in XSSF drawings </action>
<action type="fix" fixes-bug="51339" context="XSSF">Fixed arithmetic rounding in formula evaluation </action>
<action type="add" fixes-bug="51356" context="SXSSF">Support autoSizeColumn in SXSSF</action>
<action type="add" fixes-bug="51335" context="HWPF">Parse picture goal and crop sizes in HWPF</action>
<action type="add" fixes-bug="51305" context="HWPF">Add sprmTCellPaddingDefault support in HWPF</action>
<action type="add" fixes-bug="51265" context="XWPF">Enhanced Handling of Picture Parts in XWPF</action>
<action type="add" fixes-bug="51292" context="HDF">Additional HWPF Table Cell Descriptor values</action>
</actions>
</release>
<release version="3.8-beta3" date="2011-06-06">
<actions>
<action type="fix" fixes-bug="51098" context="XSSF">Correctly calculate image width/height, if image fits into one cell</action>
<action type="fix" fixes-bug="47147" context="XWPF">Correct extra paragraphs from XWPF Table Cells</action>
<action type="add" fixes-bug="51188" context="XWPF">Support for getting and setting XWPF zoom settings</action>
<action type="add" fixes-bug="51134" context="XWPF">Support for adding Numbering and Styles to a XWPF document that doesn't already have them</action>
<action type="fix" fixes-bug="51273" context="HSSF">Formula Value Cache fix for repeated evaluations</action>
<action type="add" fixes-bug="51171" context="HSSF">Improved performance of SharedValueManager </action>
<action type="fix" fixes-bug="51236" context="XSSF">XSSF set colour support for black/white to match getter</action>
<action type="add" fixes-bug="51196" context="XSSF">Initial support for Spreadsheet Chart API</action>
<action type="add" context="OPC">Add support for OOXML Agile Encryption</action>
<action type="add" fixes-bug="51160" context="XSSF">Initial version of SXSSF, a low memory footprint API to produce xlsx files</action>
<action type="fix" fixes-bug="51171" context="HSSF">Improved performance of opening large .xls files</action>
<action type="add" fixes-bug="51172" context="XWPF">Add XWPF support for GIF pictures</action>
<action type="add" context="POIFS">NPOIFS Mini Streams now support extending the underlying big block stream to fit more data</action>
<action type="fix" fixes-bug="51148" context="XWPF">XWPFDocument now properly tracks paragraphs and tables when adding/removing them</action>
<action type="fix" fixes-bug="51153" context="HSSF">Correct sizing of LbsDataSubRecord with unused padding fields</action>
<action type="fix" fixes-bug="51143" context="HSSF">NameCommentRecord correction for writing non ASCII strings</action>
<action type="fix" fixes-bug="51112" context="XWPF">Correct XWPFTable tracking of new rows</action>
<action type="fix" fixes-bug="51113" context="XWPF">Correct XWPFParagraph tracking of inserted runs</action>
<action type="fix" fixes-bug="51111" context="XWPF">Correct XWPFParagraph tracking of new runs</action>
<action type="fix" fixes-bug="51115" context="POI_Overall">Handle DataFormatter escaping of "." in the same way as "-" and "/"</action>
<action type="fix" fixes-bug="51100" context="POIFS">Fix IOUtils issue for NPOIFS reading from an InputStream where every block is full</action>
<action type="fix" fixes-bug="50956" context="XSSF">Correct XSSF cell style cloning between workbooks</action>
<action type="add" context="XSSF">Add get/setForceFormulaRecalculation for XSSF, and promote the methods to the common usermodel Sheet</action>
<action type="fix" context="HSSF">Tweak the logic for sizing the HSSFCells array on a HSSFRow to reduce memory over allocation in many use cases</action>
<action type="add" fixes-bug="49765" context="XWPF">Support for adding a picture to a XSSFRun</action>
<action type="fix" context="XSSF">Rename/Move xssf.model.Table to xssf.usermodel.XSSFTable as it now has usermodel-like features</action>
<action type="fix" fixes-bug="51061" context="XSSF">Correct target URI for new XSSF Tables</action>
<action type="add" context="XSSF">Initial support for XSSF Charts. Provides easy access to the underlying CTChart object via the Sheet Drawing, but no high level interface onto the chart contents as yet</action>
<action type="fix" fixes-bug="50884" context="XSSF">XSSF and HSSF freeze panes now behave the same</action>
<action type="add" context="XSSF">Support for adding a table to a XSSFSheet</action>
<action type="add" context="HSMF">Improve HSMF MAPIMessage access to the HTML and RTF versions of the message body (where available)</action>
<action type="add" context="HSMF">Add new method to HSMF of MAPIMessage.has7BitEncodingStrings() to make it easier to decide when encoding guessing is needed</action>
<action type="fix" context="HSMF">OutlookTextExtractor now requests 7 bit encoding guessing</action>
<action type="add" context="HSMF">Improve HSMF encoding guessing for 7 bit fields in MAPIMessage</action>
<action type="add" context="HSMF">Allow HSMF access to the HTML body contents in MAPIMessage</action>
</actions>
</release>
<release version="3.8-beta2" date="2011-04-08">
<actions>
<action type="add" context="OPC">Implement the load method on MemoryPackagePart</action>
<action type="add" fixes-bug="50967" context="HSSF">Support for continued ExtSSTRecords</action>
<action type="add" fixes-bug="48968" context="HSSF">Support for HOUR, MINUTE and SECOND date formulas</action>
<action type="add" context="POIFS">Added NPOIFS constructors to most POIDocument classes and their extractors, and more widely deprecated the Document(DirectoryNode, POIFSFileSystem) constructor in favour of the more general Document(DirectoryNode) one</action>
<action type="fix" context="POIFS">Fixed NPOIFS handling of new and empty Document Nodes</action>
<action type="fix" context="POIFS">Fixed NPOIFS access to Document Nodes not in the top level directory</action>
<action type="fix" fixes-bug="50841" context="POI_Overall">Improved SpreadSheet DataFormatter to handle scientific notation, invalid dates and format spacers</action>
<action type="fix" fixes-bug="49381" context="HSSF">Correct createFreezePane in XSSF, so that the left row/column matches the documentation + HSSF</action>
<action type="fix" fixes-bug="49253" context="XSSF">When setting repeating rows and columns for XSSF, don't break the print settings if they were already there</action>
<action type="fix" fixes-bug="49219" context="HSSF">ExternalNameRecord support for DDE Link entries without an operation</action>
<action type="fix" fixes-bug="50846" context="XSSF">More XSSFColor theme improvements, this time for Cell Borders</action>
<action type="fix" fixes-bug="50939" context="HSSF">ChartEndObjectRecord is supposed to have 6 bytes at the end, but handle it not</action>
<action type="add" context="HMEF">HMEF - New component which supports TNEF (Transport Neutral Encoding Format), aka winmail.dat</action>
<action type="fix" fixes-bug="50313" context="HWPF">support for getting HWPFDocument fields</action>
<action type="fix" fixes-bug="50912" context="HSSF">fixed setting named styles to HSSFCells</action>
<action type="fix" fixes-bug="50779" context="HSSF">fixed RecordFormatException when reading unicode strings with photenic data</action>
<action type="fix" fixes-bug="50718" context="POI_Overall">More helpful error message when you try to create a CellReference with #REF!</action>
<action type="fix" fixes-bug="50784" context="XSSF">XSSFColors return by XSSFFont now have theme information applied to them</action>
<action type="fix" fixes-bug="50846" context="XSSF">Improve how XSSFColor inherits from Themes</action>
<action type="fix" fixes-bug="50847" context="XSSF">XSSFFont now accepts the full range of Charsets from FontChartset</action>
<action type="fix" fixes-bug="50786" context="XSSF">Speed up calls to HSSFColor.getIndexHash() by returning a cached, unmodifiable Map. HSSFColor.getModifiableIndexHash() provides access to the old (slow but modifiable) functionality</action>
<action type="fix" fixes-bug="47100" context="XSSF">Change related formulas and named ranges when XSSFWorkbook.setSheetName is called</action>
</actions>
</release>
<release version="3.8-beta1" date="2011-03-07">
<actions>
<action type="add" fixes-bug="50610" context="HSSF">Ant tasks for running POI against a workbook</action>
<action type="add" fixes-bug="32903" context="POIFS">Correct XBAT chaining explanation in /poifs/fileformat.html</action>
<action type="add" fixes-bug="50829" context="XSSF">Support for getting the tables associated with a XSSFSheet</action>
<action type="fix" fixes-bug="50299" context="XSSF">More XSSFColor updates for ARGB vs RGB</action>
<action type="fix" fixes-bug="50581" context="OOXML">Use stax:stax-api instead of org.apache.geronimo.specs:geronimo-stax-api_1.0_spec</action>
<action type="fix" fixes-bug="50786" context="XSSF">Fix XSSFColor to fetch the RGB values of old-style indexed colours</action>
<action type="fix" fixes-bug="50299" context="XSSF">Fix XSSFColor fetching of white and black background themes</action>
<action type="fix" fixes-bug="50795" context="XSSF">Avoid NPE from xmlbeans when moving XSSF Comments from one cell to another</action>
<action type="fix" fixes-bug="46664" context="HSSF">When creating HSSF Print Areas, ensure the named range is reference based not value based</action>
<action type="fix" fixes-bug="50756" context="POI_Overall">When formatting numbers based on their Cell Style, treat GENERAL the same as the more typical General</action>
<action type="fix" context="HSSF">fixed HSSFWorkbook.createCellStyle to throw exception if the maximum number of cell styles was exceeded</action>
<action type="fix" fixes-bug="50539" context="XSSF">Better fix for html-style br tags (invalid XML) inside XSSF documents</action>
<action type="add" fixes-bug="49928" context="POI_Overall">allow overridden built-in formats in HSSFCellStyle</action>
<action type="add" fixes-bug="50607" context="POI_Overall">Added implementation for CLEAN(), CHAR() and ADDRESS()</action>
<action type="add" fixes-bug="50587" context="HSSF">Improved documentation on user-defined functions</action>
<action type="add" context="OOXML">Inside ExtractorFactory, support finding embedded OOXML documents and providing extractors for them</action>
<action type="add" context="HDGF">Partial HDGF LZW compression support</action>
<action type="add" fixes-bug="50244" context="HSSF">Support for continued NameRecords</action>
<action type="fix" fixes-bug="50416" context="HSSF">Correct shifting of the first or last row in a sheet by multiple rows</action>
<action type="fix" fixes-bug="50440" context="XSSF">Support evaluating formulas with newlines in them, which XSSF may have (but HSSF may not)</action>
<action type="add" context="XSSF">Added inline string support to XSSF EventModel</action>
<action type="fix" fixes-bug="50246" context="HSSF">Properly position GutsRecord when reading HSSF workbooks</action>
<action type="add" fixes-bug="48539" context="XSSF">Added implementation for MROUND(), VAR() and VARP()</action>
<action type="add" fixes-bug="50446" context="POI_Overall">Code cleanup and optimizations to keep some IDE quiet</action>
<action type="add" fixes-bug="50437" context="POI_Overall">Support passing ranges to NPV()</action>
<action type="add" fixes-bug="50409" context="XSSF">Added implementation for IRR()</action>
<action type="add" fixes-bug="47405" context="HSSF">Improved performance of RowRecordsAggregate.getStartRowNumberForBlock / getEndRowNumberForBlock</action>
<action type="fix" fixes-bug="50315" context="XSSF">Avoid crashing Excel when sorting XSSFSheet autofilter</action>
<action type="add" fixes-bug="50076" context="XSSF">Allow access from XSSFReader to sheet comments and headers/footers</action>
<action type="add" fixes-bug="50076" context="XSSF">Refactor XSSFEventBasedExcelExtractor to make it easier for you to have control over outputting the cell contents</action>
<action type="fix" fixes-bug="50258" context="XSSF">avoid corruption of XSSFWorkbook after applying XSSFRichTextRun#applyFont</action>
<action type="fix" fixes-bug="50154" context="POIFS">Allow white spaces and unicode in OPC relationship targets </action>
<action type="fix" fixes-bug="50113" context="XSSF">Remove cell from Calculation Chain after setting cell type to blank </action>
<action type="fix" fixes-bug="49966" context="XSSF">Ensure that XSSFRow#removeCell clears calculation chain entries </action>
<action type="fix" fixes-bug="50096" context="XSSF">Fixed evaluation of cell references with column index greater than 255 </action>
<action type="fix" fixes-bug="49761" context="HSSF">Tolerate Double.NaN when reading .xls files</action>
<action type="fix" fixes-bug="50211" context="HSSF">Use cached formula result when auto-sizing formula cells</action>
<action type="fix" fixes-bug="50118" context="POIFS">OLE2 does allow a directory with an empty name, so support this in POIFS</action>
<action type="fix" fixes-bug="50119" context="XSSF">avoid NPE when XSSFReader comes across chart sheets</action>
</actions>
</release>
<release version="3.7" date="2010-10-29">
<summary>
<summary-item>OOXML</summary-item>
<summary-item>support for reading aes-encrypted/write-protected ooxml files</summary-item>
<summary-item>support Java 1.5 in auto-generated xmlbeans for ooxml schemas</summary-item>
<summary-item></summary-item>
<summary-item>Spreadsheet (Excel)</summary-item>
<summary-item>initial support for autofilters</summary-item>
<summary-item>support for data validation for ooxml format</summary-item>
<summary-item>initial support for themes for ooxml format</summary-item>
<summary-item>added implementation for new functions: RANDBETWEEN, POISSON, SUBTOTAL, TEXT, TRUNC</summary-item>
<summary-item>support evaluation of indirect defined names in INDIRECT</summary-item>
<summary-item>numerous fixes and performance optimizations in the Formula Evaluation module</summary-item>
<summary-item>ability to add, modify and remove series from HSSF Charts</summary-item>
<summary-item>numerous improvements in the cell data formatter (handling more formatting rules,
better color detection, allow overriding of default locale)</summary-item>
<summary-item>more examples including a rich "spreadsheet to HTML" converter</summary-item>
<summary-item></summary-item>
<summary-item>Document (Word)</summary-item>
<summary-item>initial support for the HWPF revision marks authors list</summary-item>
<summary-item>support for border codes in HWPF</summary-item>
<summary-item>support for processing of symbols in HWPF</summary-item>
<summary-item>support sections in Word 6 and Word 95 files</summary-item>
<summary-item>improved reading of auto-saved ("complex") documents in HWPF</summary-item>
<summary-item>improved support for manipulation of tables and paragraphs in XWPF</summary-item>
<summary-item></summary-item>
<summary-item>SlideShow (PowerPoint)</summary-item>
<summary-item>allow editing workbooks embedded into HSLF slide shows</summary-item>
<summary-item></summary-item>
<summary-item>Text Extraction</summary-item>
<summary-item>support for text extraction from XSLF tables</summary-item>
<summary-item>add PublisherTextExtractor support to extractorfactory</summary-item>
<summary-item>support attachments as embedded documents within the new OutlookTextExtactor</summary-item>
<summary-item>new event based XSSF text extractor (XSSFEventBasedExcelExtractor)</summary-item>
<summary-item>make it easier to tell which content types each POIXMLTextExtractor handles</summary-item>
<summary-item>paragraph level as well as whole-file text extraction for word 6/95 files</summary-item>
<summary-item></summary-item>
<summary-item>...and much much more: code cleanup, many bug fixes and performance improvements</summary-item>
</summary>
<actions>
<action type="fix" fixes-bug="50075" context="HWPF">avoid NPE in ListLevel.getNumberText() when numberText is null </action>
<action type="fix" fixes-bug="50067" context="POI_Overall">marked commons-logging and log4j as optional dependencies in POI poms</action>
<action type="add" fixes-bug="49928" context="POI_Overall">allow overridden built-in formats in XSSFCellStyle</action>
<action type="fix" fixes-bug="49919" context="HWPF">support for BorderCode in HWPF</action>
<action type="fix" fixes-bug="49908" context="HWPF">support for processing of symbols in HWPF</action>
<action type="fix" fixes-bug="50022" context="HSSF">support for retrieving pictures from HSSF workbooks</action>
<action type="fix" fixes-bug="50020" context="HSSF">Avoid IllegalStateException when creating Data validation in sheet with macro</action>
<action type="fix" fixes-bug="50033" context="XSSF">Improved rounding in MOD</action>
<action type="add" context="POI_Overall">Generate SHA1 hashes of distribution files, alongside existing MD5 ones</action>
</actions>
</release>
<release version="3.7-beta3" date="2010-09-24">
<actions>
<action type="fix" fixes-bug="48325" context="HSSF">If a HSSF header or footer lacks left/right/centre information, assume it is a centre one</action>
<action type="fix" fixes-bug="49966" context="XSSF">Correctly remove calcChain entries for XSSF cells that stop holding formulas</action>
<action type="add" fixes-bug="47582" context="XSSF">XSSFCellStyle support for creating a style in one workbook based on a style from a different one</action>
<action type="fix" fixes-bug="49931" context="HSSF">Avoid concurrency problems when re-ordering multiple HSSF header records for a PageSettingsBlock</action>
<action type="fix" fixes-bug="49765" context="XWPF">Fix XWPFDocument.addPicture so that it correctly sets up relationships</action>
<action type="fix" fixes-bug="48018" context="HWPF">Improve HWPF handling of lists in documents read and then saved, by preserving order better</action>
<action type="fix" fixes-bug="49820" context="HWPF">Fix HWPF paragraph levels, so that outline levels can be properly fetched</action>
<action type="fix" fixes-bug="47271" context="HWPF">Avoid infinite loops on broken HWPF documents with a corrupt CHP style with a parent of itself</action>
<action type="fix" fixes-bug="49936" context="HWPF">Handle HWPF documents with problematic HeaderStories better</action>
<action type="fix" fixes-bug="49933" context="HWPF">Support sections in Word 6 and Word 95 files (HWPFOldDocument)</action>
<action type="fix" fixes-bug="49941" context="HSSF">Correctly handle space preservation of XSSFRichTextRuns when applying fonts to parts of the string</action>
<action type="fix" context="XWPF">Correct XWPFRun detection of bold/italic in a paragraph with multiple runs of different styles</action>
<action type="add" context="XWPF">Link XWPFPicture to XWPFRun, so that embedded pictures can be access from where they live in the text stream</action>
<action type="fix" context="XWPF">Improve handling of Hyperlinks inside XWPFParagraph objects through XWPFHyperlinkRun</action>
<action type="fix" context="XWPF">Make XWPFParagraph make more use of XWPFRun, and less on internal StringBuffers</action>
<action type="add" context="XWPF">Add a getBodyElements() method to XWPF IBody, to make access to embedded paragraphs and tables easier</action>
<action type="add" context="XSLF">More XSLFRelation entries for common .pptx file parts</action>
<action type="fix" fixes-bug="49872" context="XSSF">avoid exception in XSSFFormulaEvaluator.evaluateInCell when evaluating shared formulas</action>
<action type="fix" fixes-bug="49895" context="XSSF">avoid corruption of XSSFWorkbook after removing all merged cells from sheet</action>
<action type="fix" fixes-bug="49907" context="HSSF">fixed inconsistent behaviour between HSSF and XSSF when creating consecutive names</action>
<action type="add" context="HWPF">Add getMimeType() method to HWPF Picture, alongside existing file extension</action>
<action type="add" context="POIFS">Add code for reading Ole10Native data</action>
<action type="add" context="HSSF XSSF">Add getMimeType() method to HSSF/XSSF PictureData, alongside existing file extension</action>
<action type="fix" fixes-bug="49887" context="HSSF">allow sheet names longer than 31 chars in XSSF, enforce name uniqueness on the first 31 chars</action>
<action type="fix" fixes-bug="49878" context="XSSF">improved API for hiding sheets</action>
<action type="fix" fixes-bug="49875" context="XSSF">fixed XSSFWorkbook.createSheet to throw exception if sheet name begins or ends with a single quote (')</action>
<action type="fix" fixes-bug="49873" context="XSSF">fixed XSSFFormulaEvaluator to support blank cells</action>
<action type="fix" fixes-bug="49850" context="HWPF">added a getter for _iStartAt in ListFormatOverrideLevel</action>
<action type="fix" fixes-bug="49761" context="HSSF">change cell type to error when setting Double.NaN or Infinities</action>
<action type="fix" fixes-bug="49833" context="XWPF">ensure that CTNumPr is included in poi-ooxml-schemas.jar</action>
<action type="fix" fixes-bug="49841" context="HSSF">fixed LEFT and RIGHT to return #VALUE! when called with a negative operand </action>
<action type="fix" fixes-bug="49783" context="POI_Overall">fixed evaluation of XSSF workbooks containing formulas with reference errors (#REF!)</action>
<action type="fix" fixes-bug="49751" context="HSSF">fixed fetching names of user defined styles in HSSFCellStyle.getUserStyleName()</action>
<action type="add" fixes-bug="48900" context="XSSF">support for protecting a XSSF workbook</action>
<action type="fix" fixes-bug="49725" context="POI_Overall">fixed FormulaParser to correctly process defined names with underscore</action>
<action type="add" fixes-bug="48526" context="XSSF">added implementation for RANDBETWEEN()</action>
<action type="fix" fixes-bug="49725" context="POI_Overall">avoid exception in OperandResolver.parseDouble when input is minus ("-")</action>
<action type="fix" fixes-bug="49723" context="HSSF">fixed OperandResolver to correctly handle inputs with leading decimal place</action>
<action type="add" context="HSSF">initial support for Excel autofilter</action>
</actions>
</release>
<release version="3.7-beta2" date="2010-08-09">
<actions>
<action type="add" fixes-bug="47990" context="HSMF">Support for .msg attachments within a MAPIMessage .msg</action>
<action type="fix" context="OPC">Improve handling and warnings when closing OPCPackage objects</action>
<action type="fix" fixes-bug="49702" context="XSSF">Correct XSSFWorkbook.getNumCellStyles to check the right styles list</action>
<action type="add" fixes-bug="49690" context="HSSF">Add WorkbookUtil, which provides a way of generating valid sheet names</action>
<action type="fix" fixes-bug="49694" context="HSSF">Use DataFormatter when autosizing columns, to better match the real display width of formatted cells</action>
<action type="add" fixes-bug="49441" context="HSMF">Allow overriding and guessing of HSMF non-unicode string encodings</action>
<action type="fix" fixes-bug="49689" context="HSSF">Allow the setting of user style names on newly created HSSF cell styles</action>
<action type="add" context="OOXML">Make it easier to tell which content types each POIXMLTextExtractor handles</action>
<action type="fix" fixes-bug="49649" context="HSSF">Added clone support for UserSView* and Feat* families of records</action>
<action type="fix" fixes-bug="49653" context="XSSF">Support for escaped unicode characters in Shared String Table</action>
<action type="fix" fixes-bug="49579" context="HSLF">prevent ArrayIndexOutOfBoundException in UnknownEscherRecord</action>
<action type="fix" fixes-bug="49593" context="XWPF">preserve leading and trailing white spaces in XWPFRun</action>
<action type="add" fixes-bug="49455" context="XWPF">Insert the content of fldSimple fields into the XWPFWordTextExtractor output</action>
<action type="fix" fixes-bug="49640" context="POI_Overall">Fixed parsing formulas containing defined names beginning with an underscore</action>
<action type="add" fixes-bug="49538" context="HSSF">Added implementation for POISSON()</action>
<action type="add" fixes-bug="49524" context="HSSF">Support for setting cell text to be vertically rotated, via style.setRotation(0xff)</action>
<action type="fix" fixes-bug="49609" context="XSSF">Case insensitive matching of OOXML part names</action>
<action type="add" fixes-bug="49581" context="HSSF">Ability to add, modify and remove series from HSSF Charts</action>
<action type="add" fixes-bug="49185" context="HSSF">Support for HSSFNames where the comment is stored in a NameCommentRecord</action>
<action type="fix" fixes-bug="49599" context="HSSF">correct writing of noterecord author text when switching between ascii and unicode</action>
<action type="fix" context="HWPF">improve reading of auto-saved ("complex") documents</action>
<action type="add" context="HWPF">paragraph level as well as whole-file text extraction for word 6/95 files through hwpf</action>
<action type="add" context="HWPF">text extraction support for older word 6 and word 95 files via hwpf</action>
<action type="add" fixes-bug="49508" context="XWPF">allow the addition of paragraphs to xwpf table cells</action>
<action type="fix" fixes-bug="49446" context="XWPF">don't consider 17.16.23 field codes as properly part of the paragraph's text</action>
<action type="fix" context="XSLF">xslfslideshow shouldn't break on .thmx (theme) files. support for them is still very limited though</action>
</actions>
</release>
<release version="3.7-beta1" date="2010-06-20">
<actions>
<action type="fix" fixes-bug="49432" context="XSSF">lazy caching of xssfcomment ctcomment objects by reference, to make repeated comment searching faster</action>
<action type="fix" context="HSMF">better handling of outlook messages in hsmf when there's no recipient email address</action>
<action type="fix" context="HSSF">when formatting numbers with dataformatter, handle brackets following colours</action>
<action type="add" fixes-bug="48574" context="XWPF">further xwpf support for tables, paragraphs, including enhanced support for adding new ones</action>
<action type="add" fixes-bug="48245" context="HWPF">tweak hwpf table cell detection to work across more files</action>
<action type="add" fixes-bug="48996" context="POI_Overall">initial support for external name references in hssf formula evaluation</action>
<action type="fix" fixes-bug="46664" context="HSSF">fix up tab ids when adding new sheets, so that print areas don't end up invalid</action>
<action type="fix" fixes-bug="45269" context="HWPF">improve replacetext on hwpf ranges</action>
<action type="fix" fixes-bug="47815" context="HSSF">correct documentation on what happens when you request a string from a non-string formula cell</action>
<action type="fix" fixes-bug="49386" context="HSLF">avoid npe when extracting ooxml file properties which are dates</action>
<action type="fix" fixes-bug="49377" context="POI_Overall">only call decimalformat.setroundingmode on java 1.6 - it's needed to match excel's rendering of numbers</action>
<action type="fix" fixes-bug="49378" context="POI_Overall">correct 1.6ism</action>
<action type="add" context="HSMF">parse the hsmf headers chunk if present, and use it to find dates in text extraction if needed</action>
<action type="fix" fixes-bug="48494" context="HSSF">detect and support time formats like hh:mm;hh:mm</action>
<action type="fix" fixes-bug="48494" context="HSSF">have excelextractor make use of hssfdataformatter, so that numbers and dates come out closer to how excel would render them</action>
<action type="fix" fixes-bug="48494" context="HSSF">have eventbasedexcelextractor make use of hssfdataformatter, so that numbers and dates come out closer to how excel would render them</action>
<action type="fix" fixes-bug="49096" context="HSSF">add clone support to chart begin and end records, to allow cloning of more chart containing sheets</action>
<action type="add" context="HSMF">list attachment names in the output of outlooktextextractor (to get attachment contents, use extractorfactory as normal)</action>
<action type="fix" fixes-bug="48872" context="POI_Overall">allow dateformatter.formatrawcellcontents to handle 1904 as well as 1900 dates</action>
<action type="fix" fixes-bug="48872" context="POI_Overall">handle mmmmm and elapsed time formatting rules in dataformatter</action>
<action type="fix" fixes-bug="48872" context="POI_Overall">handle zero formatting rules, and better color detection in dataformatter</action>
<action type="fix" fixes-bug="48872" context="POI_Overall">support for more kinds of formatting in dataformatter</action>
<action type="fix" fixes-bug="43161" context="HSLF">fixed construction of the dib picture header</action>
<action type="add" fixes-bug="49311" context="POIFS">initial support for reading aes-encrypted/write-protected ooxml files</action>
<action type="fix" fixes-bug="48718" context="XSSF">make the creation of multiple, un-modified fonts in a row in xssf match the old hssf behaviour</action>
<action type="fix" fixes-bug="44916" context="HSSF">allow access to the hssfpatriarch from hssfsheet once created</action>
<action type="add" fixes-bug="48779" context="XSSF">allow you to get straight from a cellstyle to a color, irrespective of if the color is indexed or inline-defined</action>
<action type="add" fixes-bug="48924" context="HWPF">allow access of the hwpf dateandtime underlying date values</action>
<action type="add" fixes-bug="48926" context="HWPF">initial support for the hwpf revision marks authors list</action>
<action type="fix" fixes-bug="49160" context="POI_Overall">ensure that ctdigsigblob is included in poi-ooxml jar</action>
<action type="fix" fixes-bug="49189" context="XWPF">detect w:tab and w:cr entries in xwpf paragraphs, even when the xsd is silly and maps them to ctempty</action>
<action type="fix" fixes-bug="49273" context="XSSF">correct handling for font character sets with indicies greater than 127</action>
<action type="add" fixes-bug="49334" context="HSSF">track the valuerangerecords of charts in hssfchart, to allow the basic axis operations</action>
<action type="add" fixes-bug="49242" context="HSSF">track the linkdatarecords of charts in hssfchart</action>
<action type="add" context="XSSF">improved performance of xssfworkbook.write </action>
<action type="fix" fixes-bug="48846" context="HSSF">avoid npe when finding cell comments</action>
<action type="fix" fixes-bug="49325" context="XSSF">ensure that ctphoneticpr is included in poi-ooxml jar</action>
<action type="fix" fixes-bug="49191" context="XSSF">fixed tests failing in non-english locales</action>
<action type="add" fixes-bug="48432" context="XSSF">support for xssf themes</action>
<action type="add" fixes-bug="49244" context="XSSF">support for data validation for ooxml format</action>
<action type="add" fixes-bug="49066" context="HSSF">worksheet/cell formatting, with view and html converter</action>
<action type="fix" fixes-bug="49020" context="XSSF">workaround excel outputting invalid xml in button definitions by not closing br tags</action>
<action type="fix" fixes-bug="49050" context="HSSF">improve performance of abstractescherholderrecord when there are lots of continue records</action>
<action type="fix" fixes-bug="49194" context="XSSF">correct text size limit for ooxml .xlsx files</action>
<action type="fix" fixes-bug="49254" context="XSSF">fix cellutils.setfont to use the correct type internally</action>
<action type="fix" fixes-bug="49139" context="POIFS">properly support 4k big block size in poifs</action>
<action type="fix" fixes-bug="48936" context="XSSF">avoid writing malformed cdata blocks in sharedstrings.xml</action>
<action type="add" fixes-bug="49026" context="POI_Overall">added implementation for text() </action>
<action type="add" fixes-bug="49025" context="POI_Overall">added implementation for trunc() </action>
<action type="fix" fixes-bug="49147" context="POI_Overall">properly close internal inputstream in extractorfactory#createextractor(file)</action>
<action type="fix" fixes-bug="49138" context="POI_Overall">fixed locale-sensitive formatters in packagepropertiespart</action>
<action type="fix" fixes-bug="49153" context="POI_Overall">ensure that ctvectorvariant is included in poi-ooxml-schemas.jar</action>
<action type="add" fixes-bug="49146" context="XWPF">added accessors to coreproperties.keywords </action>
<action type="fix" fixes-bug="48916" context="HSLF">propagate parent to parent-aware records decoded from escher</action>
<action type="fix" fixes-bug="48485" context="HSSF">add extra paper size constans to printsetup, such as a3, b4 and b5</action>
<action type="fix" context="POIFS">make poifs.filesystem.directorynode preserve the original ordering of its files, which hsmf needs to be able to correctly match up chunks</action>
<action type="add" context="HSSF">support evaluation of indirect defined names in indirect</action>
<action type="fix" fixes-bug="43670" context="POI_Overall">improve hdgf chunkv11 separator detection, and short string detection, to solve the "negative length of chunkheader" problem</action>
<action type="add" fixes-bug="48617" context="HSSF">optionally allow the overriding of the locale used by dataformatter to control how the default number and date formats should look</action>
<action type="add" context="XSSF">new event based xssf text extractor (xssfeventbasedexcelextractor)</action>
<action type="add" context="HSSF">extractorfactory can now be told to prefer event based extractors (current excel only) on a per-thread or overall basis</action>
<action type="fix" fixes-bug="48544" context="XSSF">avoid failures in xlsx2csv when shared string table is missing</action>
<action type="fix" fixes-bug="48571" context="POI_Overall">properly close all io streams created in opcpackage</action>
<action type="fix" fixes-bug="48572" context="XSSF">always copy all declared inner classes and interfaces when generating poi-ooxml-schemas</action>
<action type="add" context="HSSF">low level record support for the extrst (phonetic text) part of unicode strings. no usermodel access to it as yet though</action>
<action type="fix" context="HSSF">record.unicodestring has moved to record.common.unicodestring, to live with the other record-part classes, as it isn't a full record</action>
<action type="add" context="OPC">avoid creating temporary files when opening opc packages from input stream</action>
<action type="add" context="HSMF">improved how hsmf handles multiple recipients</action>
<action type="add" context="HPBF">add publishertextextractor support to extractorfactory</action>
<action type="add" context="XSLF">add xslf support for text extraction from tables</action>
<action type="add" context="HSMF">support attachments as embedded documents within the new outlooktextextractor</action>
<action type="add" context="HSMF">add a text extractor (outlooktextextractor) to hsmf for simpler extraction of text from .msg files</action>
<action type="fix" context="HSMF">some improvements to hsmf parsing of .msg files</action>
<action type="fix" context="HSSF">initialise the link type of hssfhyperlink, so that gettype() on it works</action>
<action type="fix" fixes-bug="48425" context="POI_Overall">improved performance of dateutil.iscelldateformatted() </action>
<action type="fix" fixes-bug="47215" context="HSSF">fixed interfaceendrecord to tolerate unexpected record contents </action>
<action type="fix" fixes-bug="48415" context="HSSF">improved javadoc on hsspicture.resize() </action>
<action type="add" context="POI_Overall">added ant target to install artifacts in local repository </action>
<action type="fix" fixes-bug="48026" context="HSSF">fixed pagesettingsblock to allow multiple headerfooterrecord records </action>
<action type="fix" fixes-bug="48202" context="HSSF">fixed cellrangeutil.mergecellranges to work for adjacent cell regions </action>
<action type="fix" fixes-bug="48339" context="HSSF">fixed externalnamerecord to properly distinguish dde data from ole data items </action>
<action type="fix" fixes-bug="47920" context="HSLF">allow editing workbooks embedded into powerpoint files</action>
<action type="add" fixes-bug="48343" context="HSSF">added implementation of subtotal function</action>
<action type="fix" context="OOXML">switch to compiling the ooxml schemas for java 1.5</action>
</actions>
</release>
<release version="3.6" date="2009-12-14">
<actions>
<action type="fix" fixes-bug="48332" context="HSSF">fixed xssfsheet autosizecolumn() to tolerate empty richtextstring</action>
<action type="fix" fixes-bug="48332" context="HSSF">fixed columninforecord to tolerate missing reserved field</action>
<action type="fix" fixes-bug="47701" context="HSSF">fixed recordformatexception when reading list subrecords (lbsdatasubrecord)</action>
<action type="add" context="XSSF"> memory usage optimization in xssf - avoid creating parentless xml beans</action>
<action type="fix" fixes-bug="47188" context="XSSF">avoid corruption of workbook when adding cell comments </action>
<action type="fix" fixes-bug="48106" context="XSSF">improved work with cell comments in xssf</action>
<action type="add" context="HPSF">add support for creating summaryinformation and documentsummaryinformation properties
on poidocuments that don't have them, via poidocument.createinformationproperties()
</action>
<action type="fix" fixes-bug="48180" context="POI_Overall">be more forgiving of short chart records, which skip some unused fields</action>
<action type="fix" fixes-bug="48274" context="HSSF">fix erronious wrapping of byte colours in hssfpalette.findsimilarcolor</action>
<action type="fix" fixes-bug="48269" context="XSSF">fix fetching of error codes from xssf formula cells</action>
<action type="fix" fixes-bug="48229" context="HSSF">fixed javadoc for hssfsheet.setcolumnwidth and xssfsheet setcolumnwidth </action>
<action type="fix" fixes-bug="47757" context="HSSF">fixed xlsx2csv to avoid exception when processing cells with multiple "t" elements</action>
<action type="add" fixes-bug="48195" context="HSSF">short-circuit evaluation of if() and choose()</action>
<action type="add" fixes-bug="48161" context="HSLF">support for text extraction from ppt master slides</action>
<action type="add" fixes-bug="47970" context="HSSF">added a method to set arabic mode in hssfsheet</action>
<action type="fix" fixes-bug="48134" context="HSSF">release system resources when using picture.resize()</action>
<action type="fix" fixes-bug="48087" context="XSSF">avoid npe in xssfchartsheet when calling methods of the superclass</action>
<action type="fix" fixes-bug="48038" context="HWPF">handle reading hwpf stylesheets from non zero offsets</action>
<action type="add" context="OOXML">when running the "compile-ooxml-xsds" ant task, also generate the source jar for the ooxml schemas</action>
<action type="fix" fixes-bug="45672" context="HSSF">improve handling by missingrecordawarehssflistener of records that cover multiple cells (mulblankrecord and mulrkrecord)</action>
<action type="fix" fixes-bug="48096" context="HSSF">relaxed validation check in recalcidrecord</action>
<action type="fix" fixes-bug="48085" context="HSSF">improved error checking in blockallocationtablereader to trap unreasonable field values</action>
<action type="fix" fixes-bug="47924" context="HSSF">fixed logic for matching cells and comments in hssfcell.getcellcomment()</action>
<action type="add" fixes-bug="47942" context="XWPF">added implementation of protection features to xlsx and docx files</action>
<action type="fix" fixes-bug="48070" context="XSSF">preserve leading and trailing white spaces in xssfrichtextstring</action>
<action type="add" fixes-bug="48044" context="HSSF">added implementation for countblank function</action>
<action type="fix" fixes-bug="48036" context="HSSF">added intersectioneval to allow evaluation of the intersection formula operator</action>
<action type="fix" fixes-bug="47999" context="POI_Overall">avoid un-needed call to the jvm garbage collector when working on ooxml opc packages</action>
<action type="add" fixes-bug="47922" context="HSMF">added example hsmf application that converts a .msg file to text and extracts attachments</action>
<action type="add" fixes-bug="47903" context="POI_Overall">added ant target to compile scratchpad examples</action>
<action type="add" fixes-bug="47839" context="POI_Overall">improved api for ooxml custom properties</action>
<action type="fix" fixes-bug="47862" context="XSSF">fixed xssfsheet.setcolumnwidth to handle columns included in a column span</action>
<action type="fix" fixes-bug="47804" context="XSSF">fixed xssfsheet.setcolumnhidden to handle columns included in a column span</action>
<action type="fix" fixes-bug="47889" context="XSSF">fixed xssfcell.getstringcellvalue() to properly handle cached formula results</action>
</actions>
</release>
<release version="3.5-final" date="2009-09-28">
<actions>
<action type="fix" fixes-bug="47747" context="HSSF">fixed logic for locating shared formula records</action>
<action type="add" fixes-bug="47809" context="POI_Overall">improved work with user-defined functions</action>
<action type="fix" fixes-bug="47581" context="XSSF">fixed xssfsheet.setcolumnwidth to produce xml compatible with mac excel 2008</action>
<action type="fix" fixes-bug="47734" context="POI_Overall">removed unnecessary svn:executable flag from files in svn trunk</action>
<action type="fix" fixes-bug="47543" context="HSSF">added javadoc how to avoid excel crash when creating too many hssfrichtextstring cells</action>
<action type="fix" fixes-bug="47813" context="XSSF">fixed problems with xssfworkbook.removesheetat when workbook contains chart</action>
<action type="fix" fixes-bug="47737" context="XSSF">adjust sheet indices of named ranges when deleting sheets</action>
<action type="fix" fixes-bug="47770" context="POI_Overall">built-in positive formats don't need starting '('</action>
<action type="add" fixes-bug="47771" context="POI_Overall">added method setfunction(boolean) for defined names</action>
<action type="add" fixes-bug="47768" context="HSSF">implementation of excel "days360" and "npv" functions</action>
<action type="fix" fixes-bug="47751" context="HSSF">do not allow hssf's cell text longer than 32,767 characters</action>
<action type="add" fixes-bug="47757" context="HSSF">added an example demonstrating how to convert an xlsx workbook to csv</action>
<action type="fix" fixes-bug="44770" context="HSLF">fixed ppt parser to tolerate comment2000 containers with missing comment text</action>
<action type="fix" fixes-bug="47773" context="XWPF">fix for extraction paragraphs and sections from headers/footers with xwpfwordextractor</action>
<action type="fix" fixes-bug="47727" context="XWPF">support for extraction of header / footer images in hwpf</action>
<action type="fix" context="POI_Overall">moved all test data to a top-level directory</action>
<action type="add" fixes-bug="47721" context="HSSF">Added implementation for INDIRECT()</action>
<action type="add" fixes-bug="45583" context="HWPF">Avoid exception when reading ClipboardData packet in OLE property sets</action>
<action type="add" fixes-bug="47652" context="HSSF">Added support for reading encrypted workbooks</action>
<action type="add" fixes-bug="47604" context="XSSF">Implementation of an XML to XLSX Importer using Custom XML Mapping</action>
<action type="fix" fixes-bug="47620" context="XSSF">Avoid FormulaParseException in XSSFWorkbook.setRepeatingRowsAndColumns when removing repeated rows and columns</action>
<action type="fix" fixes-bug="47606" context="XSSF">Fixed XSSFCell to correctly parse column indexes greater than 702 (ZZ)</action>
<action type="fix" fixes-bug="47598" context="HSSF">Improved formula evaluator number comparison</action>
<action type="fix" fixes-bug="47571" context="XWPF">Fixed XWPFWordExtractor to extract inserted/deleted text</action>
<action type="fix" fixes-bug="47548" context="HSSF">Fixed RecordFactoryInputStream to properly read continued DrawingRecords</action>
<action type="fix" fixes-bug="46419" context="XSSF">Fixed compatibility issue with OpenOffice 3.0</action>
<action type="fix" fixes-bug="47559" context="XSSF">
Fixed compatibility issue with Excel 2008 Mac sp2. Please see
<a href="site:spreadsheet"> the HSSF+XSSF project page</a>
for more information.
</action>
<action type="fix" fixes-bug="47540" context="XSSF">Fix for saving custom and extended OOXML properties</action>
<action type="fix" fixes-bug="47535" context="HWPF">Fixed WordExtractor to tolerate files with empty footnote block</action>
<action type="fix" fixes-bug="47517" context="POI_Overall">Fixed ExtractorFactory to support .xltx and .dotx files</action>
<action type="add" fixes-bug="45556" context="POI_Overall">Support for extraction of footnotes from docx files</action>
<action type="add" fixes-bug="45555" context="POI_Overall">Support for extraction of endnotes from docx files</action>
<action type="add" fixes-bug="47520" context="XSSF">Initial support for custom XML mappings in XSSF</action>
<action type="fix" fixes-bug="47460" context="XSSF">Fixed NPE when retrieving core properties from a newly created workbook</action>
<action type="fix" fixes-bug="47498" context="HSSF">Fixed HyperlinkRecord to properly handle URL monikers</action>
<action type="fix" fixes-bug="47504" context="XSSF">Fixed XSSFWorkbook to read files with hyperlinks to document locations</action>
<action type="fix" fixes-bug="47479" context="HSSF">Fix BoolErrRecord to tolerate incorrect format written by OOO</action>
<action type="fix" fixes-bug="47448" context="HSSF">Allow HSSFEventFactory to handle non-zero padding at the end of the workbook stream</action>
<action type="add" fixes-bug="47456" context="HSLF">Support for getting OLE object data in PowerPointExtractor</action>
<action type="fix" fixes-bug="47411" context="XSSF">Explicitly set the 1900 date system when creating XSSF workbooks</action>
<action type="add" fixes-bug="47400" context="HWPF">Support for text extraction of footnotes, endnotes and comments in HWPF</action>
<action type="fix" fixes-bug="47415" context="HSSF">Fixed PageSettingsBlock to allow multiple PLS records</action>
<action type="fix" fixes-bug="47412" context="POI_Overall">Fixed concurrency issue with EscherProperties.initProps()</action>
<action type="fix" fixes-bug="47143" context="HSSF">Fixed OOM in HSSFWorkbook#getAllPictures when reading .xls files containing metafiles</action>
<action type="add" context="HSSF">Added implementation for ISNA()</action>
<action type="add" fixes-bug="46793" context="HSLF">fixed SimpleShape#getLineWidth to handle default line width </action>
<action type="add" fixes-bug="47356" context="HWPF">removed unused private fields in HWPF BorderCode</action>
<action type="add" fixes-bug="47355" context="HWPF">Improved HWPF TableCell to expose TableCellDescriptor</action>
<action type="fix" fixes-bug="46610" context="HWPF">Improved HWPF to better handle unicode</action>
<action type="fix" fixes-bug="47261" context="HSLF">Fixed SlideShow#removeSlide to remove references to Notes</action>
<action type="fix" fixes-bug="47375" context="HSSF">Fixed HSSFHyperlink to correctly set inter-sheet and file links</action>
<action type="fix" fixes-bug="47384" context="HSSF">Fixed ExternalNameRecord to handle unicode names</action>
<action type="fix" fixes-bug="47372" context="HSSF">Fixed locale-sensitive unit tests to pass when running on non-US locale</action>
</actions>
</release>
<release version="3.5-beta6" date="2009-06-22">
<actions>
<action type="fix" fixes-bug="47363" context="HSSF">Fixed HSSFSheet to allow addition of data validations after sheet protection</action>
<action type="fix" fixes-bug="47294" context="XSSF">Fixed XSSFWorkbook#setRepeatingRowsAndColumns to tolerate sheet names with quotes</action>
<action type="fix" fixes-bug="47309" context="HSSF">Fixed logic in HSSFCell.getCellComment to handle sheets with more than 65536 comments</action>
<action type="fix" fixes-bug="46776" context="HSSF">Added clone() method to MulBlankRecord to fix crash in Sheet.cloneSheet()</action>
<action type="fix" fixes-bug="47244" context="HSSF">Fixed HSSFSheet to handle missing header / footer records</action>
<action type="fix" fixes-bug="47312" context="HSSF">Fixed formula parser to properly reject cell references with a '0' row component</action>
<action type="fix" fixes-bug="47199" context="HSSF">Fixed PageSettingsBlock/Sheet to tolerate margin records after other non-PSB records</action>
<action type="fix" fixes-bug="47069" context="HSSF">Fixed HSSFSheet#getFirstRowNum and HSSFSheet#getLastRowNum to return correct values after removal of all rows</action>
<action type="fix" fixes-bug="47278" context="XSSF">Fixed XSSFCell to avoid generating xsi:nil entries in shared string table</action>
<action type="fix" fixes-bug="47206" context="XSSF">Fixed XSSFCell to properly read inline strings</action>
<action type="add" fixes-bug="47250" context="HSSF">Fixed FontRecord to expect unicode flags even when name length is zero</action>
<action type="add" fixes-bug="47198" context="HSSF">Fixed formula evaluator comparison of -0.0 and 0.0</action>
<action type="add" fixes-bug="47229" context="HSSF">Fixed ExternalNameRecord to handle DDE links</action>
<action type="add" fixes-bug="46287" context="HSSF">Control of header and footer extraction in ExcelExtractor / XSSFExcelExtractor</action>
<action type="add" fixes-bug="46554" context="POI_Overall">New ant target "jar-examples"</action>
<action type="add" fixes-bug="46161" context="XSSF">Support in XSSF for setGroupColumnCollapsed and setGroupRowCollapsed</action>
<action type="add" fixes-bug="46806" context="XSSF">Allow columns greater than 255 and rows greater than 0x100000 in XSSF formulas</action>
<action type="add" fixes-bug="41711" context="HSLF">Base class for "old version" exceptions, and new HSLF detection + use of old versions exception</action>
<action type="fix" fixes-bug="47179" context="POIFS">Fix string encoding issues with HSMF chunks on non-windows platforms</action>
<action type="add" fixes-bug="47183" context="POIFS">Attachment support for HSMF</action>
<action type="fix" fixes-bug="47154" context="HSSF">Handle the cell format @ as the same as General</action>
<action type="fix" fixes-bug="47048" context="HSSF">Fixed evaluation of defined names with the 'complex' flag set</action>
<action type="fix" fixes-bug="46953" context="HSSF">More tweaks to PageSettingsBlock parsing logic in Sheet constructor</action>
<action type="fix" fixes-bug="47089" context="XSSF">Fixed XSSFWorkbook.createSheet to properly increment sheetId</action>
<action type="fix" fixes-bug="46568" context="POI_Overall">Fixed XSLFPowerPointExtractor to properly process line breaks</action>
<action type="fix" fixes-bug="39056" context="POIFS">Fixed POIFSFileSystem to set CLSID of root when constructing instances from InputStream</action>
<action type="fix" fixes-bug="47054" context="HSSF">Fixed cloneStyleFrom to avoid exception when cloning styles of the same family</action>
<action type="fix" fixes-bug="46186" context="HSSF">Fixed Sheet to read GutsRecord in the Sheet(RecordStream rs)</action>
<action type="fix" fixes-bug="46714" context="HSSF">Automatically call sheet.setAlternativeExpression when sheet.setRowSumsBelow is called </action>
<action type="fix" fixes-bug="46279" context="XSSF">Allow 255 arguments for excel functions in XSSF </action>
<action type="fix" fixes-bug="47028" context="XSSF">Fixed XSSFCell to preserve cell style when cell value is set to blank</action>
<action type="fix" fixes-bug="47026" context="XSSF">Avoid NPE in XSSFCell.setCellType() when workbook does not have SST</action>
<action type="fix" fixes-bug="46987" context="HSSF">Allow RecordFactory to handle non-zero padding at the end of the workbook stream</action>
<action type="fix" fixes-bug="47034" context="HSSF">Fix reading the name of a NameRecord when the name is very long</action>
<action type="fix" fixes-bug="47001" context="HSSF">Fixed WriteAccessRecord and LinkTable to handle unusual format written by Google Docs</action>
<action type="fix" fixes-bug="46973" context="HSSF">Fixed defined names to behave better when refersToFormula is unset</action>
<action type="fix" fixes-bug="46832" context="XSSF">Allow merged regions with columns greater than 255 or rows bigger than 65536 in XSSF</action>
<action type="fix" fixes-bug="46951" context="HSSF">Fixed formula parser to better handle range operators and whole row/column refs</action>
<action type="fix" fixes-bug="46948" context="HSSF">Fixed evaluation of range operator to allow for area-ref operands</action>
<action type="fix" fixes-bug="46918" context="HSSF">Fixed ExtendedPivotTableViewFieldsRecord(SXVDEX) to allow shorter format</action>
<action type="fix" fixes-bug="46898" context="XSSF">Fixed formula evaluator to not cache intermediate circular-reference error results</action>
<action type="fix" fixes-bug="46917" context="HSSF">Fixed PageItemRecord(SXPI) to allow multiple field infos</action>
<action type="fix" fixes-bug="46904" context="HSSF">Fix POIFS issue with duplicate block 0 references on very old BIFF5/BIFF7 files</action>
<action type="fix" fixes-bug="46840" context="HSSF">PageSettingsBlock should include HEADERFOOTER record</action>
<action type="fix" fixes-bug="46885" context="XSSF">update cell type when setting cached formula result in XSSFCell</action>
<action type="add" context="XSSF">added modifiers for anchor type to XSSFClientAnchor</action>
<action type="add" fixes-bug="46772" context="XSSF">support built-in data formats in XSSFDataFormat</action>
<action type="fix" fixes-bug="46719" context="XSSF">fixed XSSFSheet.shiftRows to correctly preserve row heights</action>
<action type="fix" fixes-bug="46715" context="XSSF">preserve custom column widths across re-serialization of XSSFWorkbook</action>
<action type="add" fixes-bug="46703" context="HSSF">added setDisplayZeros / isDisplayZeros to common interface org.apache.poi.ss.usermodel.Sheet</action>
<action type="add" fixes-bug="46708" context="XSSF">added getMergedRegion(int) to common interface org.apache.poi.ss.usermodel.Sheet</action>
<action type="fix" context="SS_Common">fixed Sheet.autoSizeColumn() to use cached formula values when processing formula cells </action>
<action type="fix" context="SS_Common">Fixed formula parser to handle names with backslashes</action>
<action type="add" fixes-bug="46660" context="HSSF">added Workbook getHidden() and setHidden(boolean)</action>
<action type="fix" fixes-bug="46693" context="HSSF">Fixed bugs serialization bugs in records: CHARTFORMAT, SHTPROPS, SXVD and SXVDEX</action>
<action type="fix" fixes-bug="46627" context="HSLF">Fixed offset of added images if Pictures stream contains pictures with zero length</action>
</actions>
</release>
<release version="3.5-beta5" date="2009-02-19">
<actions>
<action type="fix" fixes-bug="46536" context="XSSF">When shifting rows, update formulas on that sheet to point to the new location of those rows</action>
<action type="fix" fixes-bug="46663" context="XSSF">Fixed XSSFSheet.shiftRows to properly update references of the shifted cells</action>
<action type="fix" fixes-bug="46535" context="XSSF">Remove reference from calculation chain when a formula is deleted</action>
<action type="fix" fixes-bug="46654" context="HSSF">HSSFRow/RowRecord to properly update cell boundary indexes</action>
<action type="fix" fixes-bug="46643" context="HSSF">Fixed formula parser to encode range operator with tMemFunc</action>
<action type="fix" fixes-bug="46647" context="HSSF">Fixed COUNTIF NE operator and other special cases involving type conversion</action>
<action type="add" fixes-bug="46635" context="HSLF">Added a method to remove slides</action>
<action type="fix" fixes-bug="40520" context="HSSF">Fixed HSSFFont.applyFont() to properly apply font to overlapping regions</action>
<action type="fix" fixes-bug="46545" context="HSSF">Fixed ObjRecord to ignore excessive padding written by previous POI versions</action>
<action type="fix" fixes-bug="46613" context="HSSF">Fixed evaluator to perform case insensitive string comparisons</action>
<action type="add" fixes-bug="46544" context="HSSF">command line interface for hssf ExcelExtractor</action>
<action type="fix" fixes-bug="46547" context="HSSF">Allow addition of conditional formatting after data validation</action>
<action type="fix" fixes-bug="46548" context="HSSF">Page Settings Block fixes - continued PLS records and PSB in sheet sub-streams</action>
<action type="add" fixes-bug="46523" context="HSSF">added implementation for SUMIF function</action>
<action type="add" context="HSSF">Support for reading HSSF column styles</action>
<action type="fix" context="OOXML">Hook up POIXMLTextExtractor.getMetadataTextExtractor() to the already written POIXMLPropertiesTextExtractor</action>
<action type="fix" fixes-bug="46472" context="HPSF">Avoid NPE in HPSFPropertiesExtractor when no properties exist</action>
<action type="fix" fixes-bug="46479" context="HSSF">fixed bugs related to cached formula values and HSSFFormulaEvaluator.evaluateInCell()</action>
<action type="add" fixes-bug="45031" context="HSSF">added implementation for CHOOSE() function</action>
<action type="fix" fixes-bug="46361" context="HDF">resolve licensing issues around the HDGF resource file, chunks_parse_cmds.tbl</action>
<action type="add" fixes-bug="46410" context="HSSF">added implementation for TIME() function</action>
<action type="add" fixes-bug="46320" context="HSSF">added HSSFPictureData.getFormat()</action>
<action type="fix" fixes-bug="46445" context="HSSF">fixed HSSFSheet.shiftRow to move hyperlinks</action>
<action type="fix" context="SS_Common">fixed formula parser to correctly resolve sheet-level names</action>
<action type="fix" fixes-bug="46433" context="XSSF">support for shared formulas in XSSF</action>
<action type="add" fixes-bug="46299" context="XWPF">support for carriage return and line break in XWPFRun</action>
<action type="add" fixes-bug="46300" context="XWPF">support for line spacing in XWPFParagraph</action>
<action type="add" fixes-bug="46308" context="XWPF">initial support for creation of XWPFTable</action>
<action type="add" context="HSSF">Added getters to parent objects: HSSFSheet.getWorkbook(), HSSFRow.getSheet() and HSSFCell.getRow()</action>
<action type="fix" fixes-bug="46385" context="HSSF">(also patch 46362) fix serialization of StyleRecord with unicode name</action>
<action type="fix" fixes-bug="46368" context="HSSF">Fix HSSFRichTextRun and strings longer than 32768 characters</action>
<action type="add" context="HSSF">Support sheet-level names</action>
<action type="fix" context="XSSF">Fixed XSSFCell to properly handle cell references with column numbers up to XFD</action>
<action type="fix" fixes-bug="44914" context="HSSF">Fixed warning message "WARN. Unread n bytes of record 0xNN"</action>
<action type="add" fixes-bug="46156" context="HSSF">Improved number to text conversion to be closer to that of Excel</action>
<action type="fix" fixes-bug="46312" context="HSSF">Fixed ValueRecordsAggregate to handle removal of new empty row</action>
<action type="add" fixes-bug="46269" context="HSSF">Improved error message when attempting to read BIFF2 file</action>
<action type="fix" fixes-bug="46206" context="HSSF">Fixed Sheet to tolerate missing DIMENSION records</action>
<action type="add" fixes-bug="46301" context="HSSF">added pivot table records: SXDI, SXVDEX, SXPI, SXIDSTM, SXVIEW, SXVD, SXVS, et al</action>
<action type="fix" fixes-bug="46280" context="HSSF">Fixed RowRecordsAggregate etc to properly skip PivotTable records</action>
</actions>
</release>
<release version="3.5-beta4" date="2008-11-29">
<actions>
<action type="fix" fixes-bug="46213" context="HSSF">Fixed FormulaRecordAggregate to gracefully ignore extra StringRecords</action>
<action type="fix" fixes-bug="46174" context="HSSF">Fixed HSSFName to handle general formulas (not just area references)</action>
<action type="add" fixes-bug="46189" context="HSSF">added chart records: CHARTFRTINFO, STARTBLOCK, ENDBLOCK, STARTOBJECT, ENDOBJECT, and CATLAB</action>
<action type="fix" fixes-bug="46199" context="HSSF">More tweaks to EmbeddedObjectRefSubRecord</action>
<action type="add" context="SS_Common">Changes to formula evaluation allowing for reduced memory usage</action>
<action type="fix" fixes-bug="45290" context="POIFS">Support odd files where the POIFS header block comes after the data blocks, and is on the data blocks list</action>
<action type="fix" fixes-bug="46184" context="HSSF">More odd escaped date formats</action>
<action type="add" context="HSSF">Include the sheet number in the output of XLS2CSVmra</action>
<action type="fix" fixes-bug="46043" context="HWPF">correctly write out HPSF properties with HWPF</action>
<action type="add" fixes-bug="45973" context="POI_Overall">added CreationHelper.createFormulaEvaluator(), implemeted both for HSSF and XSSF</action>
<action type="fix" fixes-bug="46182" context="HSLF">fixed Slideshow.readPictures() to skip pictures with invalid headers</action>
<action type="fix" fixes-bug="46137" context="POIFS">Handle odd files with a ContinueRecord after EOFRecord</action>
<action type="fix" context="SS_Common">Fixed problem with linking shared formulas when ranges overlap</action>
<action type="fix" fixes-bug="45784" context="HSSF">More fixes to SeriesTextRecord</action>
<action type="fix" fixes-bug="46033" context="HSLF">fixed TableCell to correctly set text type</action>
<action type="fix" fixes-bug="46122" context="HSLF">fixed Picture.draw to skip rendering if picture data was not found</action>
<action type="fix" fixes-bug="15716" context="HSSF">memory usage optimisation - converted Ptg arrays into Formula objects</action>
<action type="add" fixes-bug="46065" context="HSSF">added implementation for VALUE function</action>
<action type="add" fixes-bug="45966" context="HSSF">added implementation for FIND function</action>
<action type="fix" fixes-bug="45778" context="HSSF">fixed ObjRecord to read ftLbsData properly</action>
<action type="fix" fixes-bug="46053" context="HSSF">fixed evaluation cache dependency analysis when changing blank cells</action>
</actions>
</release>
<release version="3.5-beta3" date="2008-09-26">
<actions>
<action type="fix" fixes-bug="45518" context="POI_Overall">Fix up ColumnHelper to output valid col tags, by making 1 based and 0 based bits clearer, and using the right ones</action>
<action type="fix" fixes-bug="45676" context="POI_Overall">Handle very long cells in the XSSF EventUserModel example</action>
<action type="add" context="OOXML">Initial ExtractorFactory support for building TextExtractors for embedded documents</action>
</actions>
</release>
<release version="3.5-beta2" date="2008-08-20">
<actions>
<action type="add" context="XSSF">Support stripping XSSF header and footer fields (eg page number) out of header and footer text if required</action>
<action type="add" context="OOXML">Add POIXMLPropertiesTextExtractor, which provides to the OOXML file formats a similar function to HPSF's HPSFPropertiesExtractor</action>
<action type="add" fixes-bug="45539" context="POI_Overall">Improve XWPFWordExtractor to extract headers and footers</action>
<action type="fix" context="XWPF">Improve how XWPF handles paragraph text</action>
<action type="add" context="XWPF">Support in XWPF handles headers and footers</action>
<action type="add" fixes-bug="45592" context="HWPF">Improve XWPF text extraction to include tables always, and picture text where possible</action>
<action type="add" fixes-bug="45545" context="POI_Overall">Improve XSLF usermodel support, and include XSLF comments in extracted text</action>
<action type="add" fixes-bug="45540" context="POI_Overall">Fix XSSF header and footer support, and include headers and footers in the output of XSSFExcelExtractor</action>
<action type="add" fixes-bug="45431" context="XSSF">Support for .xlsm files, sufficient for simple files to be loaded by excel without warning</action>
<action type="add" context="HSSF">New class org.apache.poi.hssf.record.RecordFormatException, which DDF uses instead of the HSSF version, and the HSSF version inherits from</action>
<action type="add" fixes-bug="45431" context="XSSF">Partial support for .xlm files. Not quite enough for excel to load them though</action>
<action type="fix" fixes-bug="45430" context="HSSF">Correct named range sheet reporting when no local sheet id is given in the xml</action>
</actions>
</release>
<release version="3.5-beta1" date="2008-07-18">
<actions>
<action type="add" fixes-bug="45018" context="POI_Overall">Support for fetching embedded documents from within an OOXML file</action>
<action type="add" context="XSSF">Port support for setting a policy on missing / blank cells when fetching, to XSSF too</action>
<action type="add" context="OOXML">Common text extraction factory, which returns the correct POITextExtractor for the supplied data</action>
<action type="add" context="OOXML">Text Extraction support for the new OOXML files (.xlsx, .docx and .pptx)</action>
<action type="add" context="XSSF">Initial support for processing OOXML Excel files (.xlsx), both directly through XSSF, and also through the new common UserModel</action>
<action type="add" context="HSLF XSLF">Created a common interface for handling PowerPoint files, irrespective of if they are .ppt or .pptx</action>
<action type="add" context="HSSF XSSF">Created a common interface for handling Excel files, irrespective of if they are .xls or .xlsx</action>
</actions>
</release>
<release version="3.2-FINAL" date="2008-10-19">
<actions>
<action type="fix" fixes-bug="45866" context="HSSF">allowed for change of unicode compression across Continue records</action>
<action type="fix" fixes-bug="45964" context="HSSF">support for link formulas in Text Objects</action>
<action type="fix" fixes-bug="43354" context="HSSF">support for evaluating formulas with missing args</action>
<action type="fix" fixes-bug="45912" context="HSSF">fixed ArrayIndexOutOfBoundsException in EmbeddedObjectRefSubRecord</action>
<action type="fix" fixes-bug="45889" context="HSLF">fixed ArrayIndexOutOfBoundsException when constructing HSLF Table with a single row </action>
<action type="add" context="HSLF">Initial support for creating hyperlinks in HSLF</action>
<action type="fix" fixes-bug="45876" context="HSSF">fixed BoundSheetRecord to allow sheet names longer than 31 chars</action>
<action type="add" fixes-bug="45890" context="HSSF">fixed HSSFSheet.shiftRows to also update conditional formats</action>
<action type="add" fixes-bug="45865" context="HSSF">modified Formula Parser/Evaluator to handle cross-worksheet formulas</action>
<action type="add" context="SS_Common">Optimised the FormulaEvaluator to take cell dependencies into account</action>
<action type="add" fixes-bug="16936" context="HSSF">Initial support for whole-row cell styling</action>
<action type="add" context="HSSF">Update hssf.extractor.ExcelExtractor to optionally output blank cells too</action>
<action type="add" context="HSSF">Include the sheet name in the output of examples.XLS2CSVmra</action>
<action type="fix" fixes-bug="45784" context="HSSF">Support long chart titles in SeriesTextRecords</action>
<action type="fix" fixes-bug="45777" context="HSSF">Throw an exception if HSSF Footer or Header is attempted to be set too long, rather than having it break during writing out</action>
<action type="add" fixes-bug="45844" context="HSLF">Additional diagnostics for HSLF SlideShowRecordDumper</action>
<action type="fix" fixes-bug="45829" context="HSSF">HSSFPicture.getImageDimension() failed when DPI of image is zero</action>
<action type="fix" fixes-bug="45815" context="HSLF">Bit mask values in StyleTextPropAtom were not preserved across read-write</action>
<action type="add" fixes-bug="45814" context="HSLF">Specify RecordType for slide show Handout (4041)</action>
<action type="fix" fixes-bug="45805" context="HSSF">Fixed 16-bit signed/unsigned bug in HSSFSheet.getColWidth etc</action>
<action type="fix" fixes-bug="45780" context="HSSF">Fixed HSSFSheet.shiftRows to also update Area refs</action>
<action type="fix" fixes-bug="45804" context="POI_Overall">Update HSMF to handle Outlook 3.0 msg files, which have a different string chunk type</action>
<action type="add" context="HSSF">Expose the name of Named Cell Styles via HSSFCellStyle (normally held on the parent style though)</action>
<action type="fix" fixes-bug="45978" context="HSSF">Fixed IOOBE in Ref3DPtg.toFormulaString() due eager initialisation of SheetReferences</action>
<action type="add" context="HSSF">Made HSSFFormulaEvaluator no longer require initialisation with sheet or row</action>
<action type="add" context="HSSF">Extended support for cached results of formula cells</action>
<action type="fix" fixes-bug="45639" context="HSSF">Fixed AIOOBE due to bad index logic in ColumnInfoRecordsAggregate</action>
<action type="fix" context="HSSF">Fixed special cases of INDEX function (single column/single row, errors)</action>
<action type="add" fixes-bug="45761" context="HSSF">Support for Very Hidden excel sheets in HSSF</action>
<action type="add" fixes-bug="45738" context="HWPF">Initial HWPF support for Office Art Shapes</action>
<action type="fix" fixes-bug="45720" context="HSSF">Fixed HSSFWorkbook.cloneSheet to correctly clone sheets with drawings</action>
<action type="fix" fixes-bug="45728" context="HSLF">Fix for SlideShow.reorderSlide in HSLF</action>
<action type="add" context="HSLF">Initial support for embedded movies and controls in HSLF</action>
<action type="fix" fixes-bug="45358" context="HSSF">signed/unsigned error when parsing 3-d area refs, performance problem evaluating area refs, and ClassCastExcecption in IF()</action>
<action type="add" context="HPBF">Support for HPBF Publisher hyperlinks, including during text extraction</action>
<action type="fix" fixes-bug="26321,44958" context="HSSF">preserve position of ArrayRecords and TableRecords among cell value records</action>
<action type="fix" context="HWPF">Impove empty header or footer handling in HWPF HeaderStories</action>
<action type="fix" context="HSSF">Avoid NPE in hssf.usermodel.HeaderFooter when stripping fields out</action>
<action type="fix" context="HSSF">Avoid NPE in EscherBSERecord on older escher records</action>
<action type="add" context="HPBF">Basic text extraction support in HPBF</action>
<action type="add" context="HPBF">Initial, low level support for Publisher files, in the form of HPBF</action>
<action type="fix" fixes-bug="45699" context="HSSF">Fix RowRecordsAggregate to tolerate intervening MERGEDCELLS records</action>
<action type="fix" fixes-bug="45698" context="HSSF">Fix LinkTable to tolerate multiple EXTERNSHEET records</action>
<action type="fix" fixes-bug="45682" context="HSSF">Fix for cloning of CFRecordsAggregate</action>
<action type="add" context="HSSF">Initial support for evaluating external add-in functions like YEARFRAC</action>
<action type="fix" fixes-bug="45672" context="HSSF">Fix for MissingRecordAwareHSSFListener to prevent multiple LastCellOfRowDummyRecords when shared formulas are present</action>
<action type="fix" fixes-bug="45645" context="HSSF">Fix for HSSFSheet.autoSizeColumn() for widths exceeding Short.MAX_VALUE</action>
<action type="add" fixes-bug="45623" context="HSSF">Support for additional HSSF header and footer fields, including bold and full file path</action>
<action type="add" fixes-bug="45623" context="HSSF">Support stripping HSSF header and footer fields (eg page number) out of header and footer text if required</action>
<action type="add" fixes-bug="45622" context="HWPF">Support stripping HWPF fields (eg macros) out of text, via Range.stripFields(text)</action>
<action type="add" context="HPSF">New HPSF based TextExtractor for document metadata, org.apache.poi.hpsf.extractor.HPSFPropertiesExtractor</action>
<action type="fix" context="HSLF">Properly update the array of Slide's text runs in HSLF when new text shapes are added</action>
<action type="fix" fixes-bug="45590" context="HSLF">Fix for Header/footer extraction for .ppt files saved in Office 2007</action>
<action type="fix" context="HWPF">Big improvement in how HWPF handles unicode text, and more sanity checking of text ranges within HWPF</action>
<action type="add" context="HWPF">Include headers and footers int he extracted text from HWPF's WordExtractor</action>
<action type="add" context="HWPF">Added support to HWPF for headers and footers</action>
<action type="fix" context="HWPF">Improve how HWPF deals with unicode internally. Should avoid some odd behaviour when manipulating unicode text</action>
<action type="add" fixes-bug="45577" context="HSSF">Added implementations for Excel functions NOW and TODAY</action>
<action type="fix" fixes-bug="45582" context="HSSF">Fix for workbook streams with extra bytes trailing the EOFRecord</action>
<action type="add" fixes-bug="45537" context="HSLF">Include headers and footers (of slides and notes) in the extracted text from HSLF</action>
<action type="fix" fixes-bug="45472" context="HSSF">Fixed incorrect default row height in OpenOffice 2.3</action>
<action type="fix" fixes-bug="44692" context="HSSF">HSSFPicture.resize() stretched image when there was a text next to it</action>
<action type="add" fixes-bug="45543" context="POI_Overall">Optionally extract comment text with PowerPointExtractor, and initial hslf model support for comments</action>
<action type="fix" fixes-bug="45538" context="POI_Overall">Include excel headers and footers in the output of ExcelExtractor</action>
<action type="fix" fixes-bug="44894" context="HSSF">refactor duplicate logic from EventRecordFactory to RecordFactory</action>
<action type="add" context="HSLF">Support for Headers / Footers in HSLF</action>
<action type="fix" fixes-bug="44953" context="HSSF">Extensive fixes for data validation</action>
<action type="fix" fixes-bug="45519" context="HSSF">Fixed to keep datavalidation records together</action>
<action type="add" context="HSSF">Support for creating new HSLF CurrentUserAtoms</action>
<action type="add" fixes-bug="45466" context="HSSF">Partial support for removing excel comments (won't work for all excel versions yet)</action>
<action type="fix" fixes-bug="45437" context="HWPF">Detect encrypted word documents, and throw an EncryptedDocumentException instead of a OOM</action>
<action type="add" fixes-bug="45404" context="HSSF">New class, hssf.usermodel.HSSFDataFormatter, for formatting numbers and dates in the same way that Excel does</action>
<action type="fix" fixes-bug="45414" context="HSSF">Don't add too many UncalcedRecords to sheets with charts in them</action>
<action type="fix" fixes-bug="45398" context="HSSF">Support detecting date formats containing "am/pm" as date times</action>
<action type="fix" fixes-bug="45410" context="HSSF">Removed dependency from contrib on commons beanutils,collections and lang</action>
<action type="add" context="HSSF">New helper, HSSFOptimiser, which handles removing duplicated font and style records, to avoid going over the limits in Excel</action>
<action type="fix" fixes-bug="45322" context="HSSF">Fixed NPE in HSSFSheet.autoSizeColumn() when cell number format was not found</action>
<action type="add" fixes-bug="45380" context="HSSF">Missing return keyword in ArrayPtg.toFormulaString()</action>
<action type="add" fixes-bug="44958" context="HSSF">Record level support for Data Tables. (No formula parser support though)</action>
<action type="add" fixes-bug="35583" context="POI_Overall">Include a version class, org.apache.poi.Version, to allow easy introspection of the POI version</action>
<action type="add" context="HSSF">Allow the cloning of one HSSFCellStyle onto another, including cloning styles from one HSSFWorkbook onto another</action>
<action type="fix" fixes-bug="45289" context="HSSF">finished support for special comparison operators in COUNTIF</action>
<action type="fix" fixes-bug="45126" context="HSSF">Avoid generating multiple NamedRanges with the same name, which Excel dislikes</action>
<action type="fix" context="HSSF">Fix cell.getRichStringCellValue() for formula cells with string results</action>
<action type="fix" fixes-bug="45365" context="HSSF">Handle more excel number formatting rules in FormatTrackingHSSFListener / XLS2CSVmra</action>
<action type="fix" fixes-bug="45373" context="HSSF">Improve the performance of HSSFSheet.shiftRows</action>
<action type="fix" fixes-bug="45367" context="HSSF">Fixed bug when last row removed from sheet is row zero</action>
<action type="fix" fixes-bug="45348" context="HSSF">Tweaks to RVA formula logic</action>
<action type="fix" fixes-bug="45354" context="HSSF">Fixed recognition of named ranges within formulas</action>
<action type="fix" fixes-bug="45338" context="HSSF">Fix HSSFWorkbook to give you the same HSSFFont every time, and then fix it to find newly added fonts</action>
<action type="fix" fixes-bug="45336" context="HSSF">Fix HSSFColor.getTripletHash()</action>
<action type="fix" fixes-bug="45334" context="HSSF">Fixed formula parser to handle dots in identifiers</action>
<action type="fix" fixes-bug="45252" context="HWPF">Improvement for HWPF Range.replaceText()</action>
<action type="fix" fixes-bug="45001" context="HWPF">Further fix for HWPF Range.delete() and unicode characters</action>
<action type="add" fixes-bug="45175" context="HWPF">Support for variable length operands in org.apache.poi.hwpf.sprm.SprmOperation</action>
<action type="fix" context="HSSF">Avoid spurious missing lines with the MissingRecordAware event code, and odd files that contain RowRecords in the middle of the cell Records</action>
<action type="add" context="HSSF">Support for parsing formulas during EventUserModel processing, via the new EventWorkbookBuilder</action>
</actions>
</release>
<release version="3.1-final" date="2008-06-29">
<actions>
<action type="fix" fixes-bug="30978" context="HSSF">Fixed re-serialization of tRefErr3d and tAreaErr3d</action>
<action type="fix" fixes-bug="45234" context="HSSF">Removed incorrect shared formula conversion in CFRuleRecord</action>
<action type="fix" fixes-bug="45001" context="HWPF">Improved HWPF Range.replaceText()</action>
<action type="fix" fixes-bug="44692" context="HSSF">Fixed HSSFPicture.resize() to properly resize pictures if the underlying columns/rows have modified size</action>
<action type="add" context="HSLF">Support custom image renderers in HSLF</action>
<action type="fix" context="HSLF">Correctly increment the reference count of a blip when a picture is inserted</action>
<action type="fix" fixes-bug="45110" context="HSLF">Fixed TextShape.resizeToFitText() to properly resize TextShape</action>
<action type="fix" fixes-bug="45091" context="HSSF">Fixed serialization of RefN~ tokens. Simplified Ptg class hierarchy</action>
<action type="fix" fixes-bug="45133" context="HSSF">Fixed OBJ Record (5Dh) to pad the sub-record data to a 4-byte boundary</action>
<action type="fix" fixes-bug="45145" context="HSSF">Fixed Sheet to always enforce RowRecordsAggregate before ValueRecordsAggregate</action>
<action type="fix" fixes-bug="45123" context="HSSF">Fixed SharedFormulaRecord.convertSharedFormulas() to propagate token operand classes</action>
<action type="fix" fixes-bug="45087" context="HSSF">Correctly detect date formats like [Black]YYYY as being date based</action>
<action type="add" fixes-bug="45060" context="HSSF">Improved token class transformation during formula parsing</action>
<action type="add" fixes-bug="44840" context="HSSF">Improved handling of HSSFObjectData, especially for entries with data held not in POIFS</action>
<action type="add" fixes-bug="45043" context="HSSF">Support for getting excel cell comments when extracting text</action>
<action type="add" context="HSSF">Extend the support for specifying a policy to HSSF on missing / blank cells when fetching, to be able to specify the policy at the HSSFWorkbook level</action>
<action type="fix" fixes-bug="45025" context="HSSF">improved FormulaParser parse error messages</action>
<action type="fix" fixes-bug="45046" context="HSSF">allowed EXTERNALBOOK(0x01AE) to be optional in the LinkTable</action>
<action type="fix" fixes-bug="45066" context="HSSF">fixed sheet encoding size mismatch problems</action>
<action type="add" fixes-bug="45003" context="POIFS">Support embedded HDGF visio documents</action>
<action type="fix" fixes-bug="45001" context="HWPF">Partial fix for HWPF Range.insertBefore() and Range.delete() with unicode characters</action>
<action type="fix" fixes-bug="44977" context="HSSF">Support for AM/PM in excel date formats</action>
<action type="add" context="HSSF">Support for specifying a policy to HSSF on missing / blank cells when fetching</action>
<action type="add" fixes-bug="44937" context="HWPF">Partial support for extracting Escher images from HWPF files</action>
<action type="fix" fixes-bug="44824" context="HWPF">Avoid an infinite loop when reading some HWPF pictures</action>
<action type="fix" fixes-bug="44898" context="POIFS">Correctly handle short last blocks in POIFS</action>
</actions>
</release>
<release version="3.1-beta2" date="2008-05-26">
<actions>
<action type="fix" fixes-bug="44306" context="HSSF">fixed reading/writing of AttrPtg(type=choose) and method toFormulaString() for CHOOSE formulas</action>
<action type="fix" fixes-bug="24207" context="HSSF">added HSSFName.isDeleted() to check if the name points to cell that no longer exists</action>
<action type="fix" fixes-bug="40414" context="HSSF">fixed selected/active sheet after removing sheet from workbook</action>
<action type="fix" fixes-bug="44523" context="HSSF">fixed workbook sheet selection and focus</action>
<action type="fix" fixes-bug="45000" context="HWPF">Fixed NPE in ListLevel when numberText is null</action>
<action type="fix" fixes-bug="44985" context="HSLF">Properly update TextSpecInfoAtom when the parent text is changed</action>
<action type="fix" fixes-bug="41187" context="HSSF">fixed HSSFSheet to properly read xls files without ROW records</action>
<action type="fix" fixes-bug="44950" context="HSSF">fixed HSSFFormulaEvaluator.evaluateInCell() and Area3DEval.getValue() also added validation for number of elements in AreaEvals</action>
<action type="fix" fixes-bug="42570" context="HSSF">fixed LabelRecord to use empty string instead of null when the length is zero</action>
<action type="fix" fixes-bug="42564" context="HSSF">fixed ArrayPtg to use ConstantValueParser. Fixed a few other ArrayPtg encoding issues</action>
<action type="fix" fixes-bug="28754" context="HSSF">Follow-on from 28754 - StringPtg.toFormulaString() should escape double quotes</action>
<action type="fix" fixes-bug="44929" context="POI_Overall">Improved error handling in HSSFWorkbook when attempting to read a BIFF5 file</action>
<action type="fix" fixes-bug="44675" context="HSSF">Parameter operand classes (function metadata) required to encode SUM() etc properly. Added parse validation for number of parameters</action>
<action type="fix" fixes-bug="44921" context="HSSF">allow Ptg.writeBytes() to be called on relative ref Ptgs (RefN* and AreaN*)</action>
<action type="fix" fixes-bug="44914" context="HSSF">Fix/suppress warning message "WARN. Unread n bytes of record 0xNN"</action>
<action type="fix" fixes-bug="44892" context="HSSF">made HSSFWorkbook.getSheet(String) case insensitive</action>
<action type="fix" fixes-bug="44886" context="HSSF">Correctly process PICT metafile in EscherMetafileBlip</action>
<action type="fix" fixes-bug="44893" context="HSSF">Take into account indentation in HSSFSheet.autoSizeColumn</action>
</actions>
</release>
<release version="3.1-beta1" date="2008-04-28">
<actions>
<action type="fix" fixes-bug="44857" context="HSSF">Avoid OOM on unknown escher records when EscherMetafileBlip is incorrect</action>
<action type="add" context="HSLF">Support for getting embedded sounds from slide show </action>
<action type="add" context="HSLF">Initial support for rendering slides into images</action>
<action type="add" context="HSLF">Support for getting OLE object data from slide show </action>
<action type="add" context="HSLF">Implemented more methods in PPGraphics2D</action>
<action type="add" context="HSLF">Added Freeform shape which can contain both lines and Bezier curves</action>
<action type="fix" fixes-bug="41071" context="POI_Overall">Improved text extraction in HSLF</action>
<action type="add" fixes-bug="30311" context="HSSF">Conditional Formatting - improved API, added HSSFSheetConditionalFormatting</action>
<action type="fix" context="HSSF">Update the formula parser code to use a HSSFWorkbook, rather than the low level model.Workbook, to make things cleaner and make supporting XSSF formulas in future much easier</action>
<action type="fix" context="POIFS">Fix the logger used by POIFSFileSystem, so that commons-logging isn't required when not used</action>
<action type="add" context="HSLF">Update HSLFSlideShow and HSSFWorkbook to take advantage of POIFS updates, and allow reading embedded documents</action>
<action type="add" context="POIFS">Improve how POIFS works with directory entries, and update HWPFDocument to support reading an embedded word document</action>
<action type="add" context="HSSF">Initial support for getting and changing chart and series titles</action>
<action type="add" context="HSSF">Implement a proxy HSSFListener which tracks the format records, and lets you lookup the format string for a given cell. Convert the xls to csv example to use it</action>
<action type="fix" fixes-bug="44792" context="HSSF">fixed encode/decode problems in ExternalNameRecord and CRNRecord</action>
<action type="fix" fixes-bug="43670,44501" context="POI_Overall HDGF">Fix how HDGF deals with trailing data in the list of chunk headers</action>
<action type="add" fixes-bug="30311" context="HSSF">More work on Conditional Formatting</action>
<action type="fix" context="HSSF">refactored all junits' usage of HSSF.testdata.path to one place</action>
<action type="fix" fixes-bug="44739" context="HSSF">Small fixes for conditional formatting (regions with max row/col index)</action>
<action type="add" fixes-bug="44694" context="HPSF">HPSF: Support for property sets without sections</action>
<action type="add" context="HSLF">Implement Sheet.removeShape(Shape shape) in HSLF</action>
<action type="add" fixes-bug="44675,44695,44691" context="HSSF">Various fixes: Recognising var-arg built-in functions #<bug num="44675"/>, ExternalNameRecord serialisation bug #<bug num="44695"/>, PMT() bug #<bug num="44691"/></action>
<action type="add" fixes-bug="30311" context="HSSF">More work on Conditional Formatting</action>
<action type="add" context="HSSF">Move the Formula Evaluator code out of scratchpad</action>
<action type="add" context="HSSF">Move the missing record aware eventusermodel code out of scratchpad</action>
<action type="add" fixes-bug="44652,44603" context="HWPF">Improved handling of Pictures in Word Documents</action>
<action type="fix" fixes-bug="44636" context="HSSF">Fix formula parsing of RefVPtg, which was causing #VALUE to be shown on subsequent edits</action>
<action type="fix" fixes-bug="44627" context="POI_Overall">Improve the thread safety of POILogFactory</action>
<action type="add" fixes-bug="30311" context="HSSF">Initial support for Conditional Formatting</action>
<action type="fix" fixes-bug="44609" context="HSSF">Handle leading spaces in formulas, such as '= 4'</action>
<action type="add" fixes-bug="44608" context="HSSF">Support for PercentPtg in the formula evaluator</action>
<action type="fix" fixes-bug="44606" context="HSSF">Support calculated string values for evaluated formulas</action>
<action type="add" context="HSSF">Add accessors to horizontal and vertical alignment in HSSFTextbox</action>
<action type="add" fixes-bug="44593" context="HSSF">Improved handling of short DVRecords</action>
<action type="add" fixes-bug="28627,44580" context="HDF HWPF">Fix Range.delete() in HWPF</action>
<action type="add" fixes-bug="44539" context="HSSF">Support for area references in formulas of rows >= 32768</action>
<action type="add" fixes-bug="44536" context="HSSF">Improved support for detecting read-only recommended files</action>
<action type="fix" fixes-bug="43901" context="HSSF">Correctly update the internal last cell number when adding and removing cells (previously sometimes off-by-one)</action>
<action type="fix" fixes-bug="44504" context="HSSF">Added initial support for recognising external functions like YEARFRAC and ISEVEN (using NameXPtg), via LinkTable support</action>
<action type="fix" fixes-bug="44504" context="HSSF">Improvements to FormulaParser - operators, precedence, error literals, quotes in string literals, range checking on IntPtg, formulas with extra un-parsed stuff at the end, improved parse error handling</action>
<action type="fix" fixes-bug="44504" context="HSSF">Fixed number conversion inconsistencies in many functions, and improved RefEval</action>
<action type="fix" fixes-bug="44504" context="HSSF">Added initial support for recognising external functions like YEARFRAC and ISEVEN (using NameXPtg), via LinkTable support</action>
<action type="fix" fixes-bug="44504" context="HSSF">Improvements to FormulaParser - operators, precedence, error literals, quotes in string literals, range checking on IntPtg, formulas with extra un-parsed stuff at the end, improved parse error handling</action>
<action type="fix" fixes-bug="44504" context="HSSF">Fixed number conversion inconsistencies in many functions, and improved RefEval</action>
<action type="fix" fixes-bug="44508" context="HSSF">Fix formula evaluation with evaluateInCell on boolean formulas</action>
<action type="fix" fixes-bug="44510" context="HSSF">Fix how DVALRecord works with dropdowns</action>
<action type="fix" fixes-bug="44495" context="HSSF">Handle named cell ranges in formulas that have lower case parts</action>
<action type="fix" fixes-bug="44491" context="POI_Overall">Don't have the new-style "HPSF properties are always available" affect the old-style use of HPSF alongside HSSF</action>
<action type="fix" fixes-bug="44471" context="HSSF">Crystal Reports generates files with short StyleRecords, which isn't allowed in the spec. Work around this</action>
<action type="fix" fixes-bug="44495" context="HSSF">Handle named cell ranges in formulas that have lower case parts</action>
<action type="fix" fixes-bug="44491" context="POI_Overall">Don't have the new-style "HPSF properties are always available" affect the old-style use of HPSF alongside HSSF</action>
<action type="fix" fixes-bug="44471" context="HSSF">Crystal Reports generates files with short StyleRecords, which isn't allowed in the spec. Work around this</action>
<action type="add" fixes-bug="44450" context="HSSF">Support for Lookup, HLookup and VLookup functions</action>
<action type="fix" fixes-bug="44449" context="HSSF">Avoid getting confused when two sheets have shared formulas for the same areas, and when the shared formula is set incorrectly</action>
<action type="fix" fixes-bug="44366" context="POIFS">InputStreams passed to POIFSFileSystem are now automatically closed. A warning is generated for people who might've relied on them not being closed before, and a wrapper to restore the old behaviour is supplied</action>
<action type="add" fixes-bug="44371" context="HSSF">Support for the Offset function</action>
<action type="fix" fixes-bug="38921" context="HSSF">Have HSSFPalette.findSimilar() work properly</action>
<action type="fix" fixes-bug="44456" context="HSSF">Fix the contrib SViewer / SViewerPanel to not fail on sheets with missing rows</action>
<action type="fix" fixes-bug="44403" context="HSSF">Further support for unusual, but valid, arguments to the Mid function</action>
<action type="fix" fixes-bug="44410" context="HSSF">Support for whole-column ranges, such as C:C, in formula strings and the formula evaluator</action>
<action type="fix" fixes-bug="44421" context="HSSF">Update Match function to properly support Area references</action>
<action type="fix" fixes-bug="44417" context="HSSF">Improved handling of references for the need to quote the sheet name for some formulas, but not when fetching a sheet by name</action>
<action type="fix" fixes-bug="44413" context="HSSF">Fix for circular references in INDEX, OFFSET, VLOOKUP formulas, where a cell is actually allowed to reference itself</action>
<action type="fix" fixes-bug="44403" context="HSSF">Fix for Mid function handling its arguments wrong</action>
<action type="add" fixes-bug="44364" context="HSSF">Support for Match, NA and SumProduct functions, as well as initial function error support</action>
<action type="fix" fixes-bug="44375" context="HPSF">Cope with a broken dictionary in Document Summary Information stream. RuntimeExceptions that occured when trying to read bogus data are now caught. Dictionary entries up to but not including the bogus one are preserved, the rest is
ignored</action>
<action type="fix" fixes-bug="38641" context="HSSF">Handle timezones better with cell.setCellValue(Calendar), so now 20:00-03:00, 20:00+00:00 and 20:00+03:00 will all be recorded as 20:00, and not 17:00 / 20:00 / 23:00 (pass a Date not a Calendar for old behaviour)</action>
<action type="fix" fixes-bug="44373" context="HSSF">Have HSSFDateUtil.isADateFormat recognize more formats as being dates</action>
<action type="add" fixes-bug="37923" context="HSSF">Support for Excel hyperlinks</action>
<action type="add" context="HSSF">Implement hashCode() and equals(obj) on HSSFFont and HSSFCellStyle</action>
<action type="fix" fixes-bug="44345" context="HSSF">Implement CountA, CountIf, Index, Rows and Columns functions</action>
<action type="fix" fixes-bug="44336" context="HSSF">Properly escape sheet names as required when figuring out the text of formulas</action>
<action type="add" fixes-bug="44326" context="POI_Overall">Improvements to how SystemOutLogger and CommonsLogger log messages with exceptions, and avoid an infinite loop with certain log messages with exceptions</action>
<action type="add" context="HSSF">Support for a completed Record based "pull" stream, via org.apache.poi.hssf.eventusermodel.HSSFRecordStream, to complement the existing "push" Event User Model listener stuff</action>
</actions>
</release>
<release version="3.0.2-FINAL" date="2008-02-04">
<actions>
<action type="fix" fixes-bug="44297" context="HSSF">IntPtg must operate with unsigned short. Reading signed short results in incorrect formula calculation</action>
<action type="fix" fixes-bug="44296" context="HSLF">Fix for reading slide background images</action>
<action type="fix" fixes-bug="44293" context="HSSF">Avoid swapping AreaPtgs from relative to absolute</action>
<action type="fix" fixes-bug="44292" context="HWPF">Correctly process the last paragraph in a word file</action>
<action type="fix" fixes-bug="44254" context="HSSF">Avoid some unread byte warnings, and properly understand DVALRecord</action>
<action type="add" context="HSSF">Add another formula evaluation method, evaluateFormulaCell(cell), which will re-calculate the value for a formula, without affecting the formula itself</action>
<action type="fix" fixes-bug="41726" context="HSSF">Fix how we handle signed cell offsets in relative areas and references</action>
<action type="add" fixes-bug="44233" context="HSSF">Support for getting and setting a flag on the sheet, which tells excel to re-calculate all formulas on it at next reload</action>
<action type="fix" fixes-bug="44201" context="HSSF">Enable cloning of sheets with data validation rules</action>
<action type="fix" fixes-bug="44200" context="HSSF">Enable cloning of sheets with notes</action>
<action type="add" fixes-bug="43008" context="HSSF">Add a moveCell method to HSSFRow, and deprecate setCellNum(), which didn't update things properly</action>
<action type="fix" fixes-bug="43058" context="HSSF">Support setting row grouping on files from CR IX, which lack GutsRecords</action>
<action type="fix" fixes-bug="31795" context="HSSF">Support cloning of sheets with certain drawing objects on them</action>
<action type="fix" fixes-bug="43902" context="HSSF">Don't consider merged regions when auto-sizing columns</action>
<action type="fix" fixes-bug="42464" context="HSSF">Avoid "Expected ExpPtg to be converted from Shared to Non-Shared Formula" on large, formula heavy worksheets</action>
<action type="add" fixes-bug="42033" context="HSSF">Add support for named ranges with unicode names</action>
<action type="add" fixes-bug="34023" context="HSSF">When shifting rows, update formulas on that sheet to point to the new location of those rows</action>
<action type="add" context="HSSF">Support getting all the cells referenced by an AreaReference, not just the corner ones</action>
<action type="add" fixes-bug="43510" context="HSSF">Add support for named ranges in formulas, including non-contiguous named ranges</action>
<action type="add" fixes-bug="43937" context="HSSF">Add support for hiding and un-hiding sheets, and checking their current hidden status</action>
<action type="fix" fixes-bug="44167" context="HSSF">Fix for non-contiguous named ranges</action>
<action type="fix" fixes-bug="44070" context="HSSF">Fix for shifting comments when shifting rows</action>
</actions>
</release>
<release version="3.0.2-BETA2" date="2008-01-12">
<actions>
<action type="add" context="HSLF">Support for tables in HSLF</action>
<action type="fix" fixes-bug="43781" context="HSLF">Fix for extracting text from TextBoxes HSLF in</action>
<action type="fix" context="HSSF">Improve JavaDocs relating to hssf font and fill colourings</action>
<action type="add" fixes-bug="44095,44097,44099" context="HSSF">Support for Mid, Replace and Substitute excel functions</action>
<action type="add" fixes-bug="44055" context="POI_Overall">Support for getting the from field from HSMF messages</action>
<action type="add" fixes-bug="43551" context="HSSF">Support for 1904 date windowing in HSSF (previously only supported 1900 date windowing)</action>
<action type="add" fixes-bug="41064" context="POIFS">Support for String continue records</action>
<action type="add" fixes-bug="27511" context="POI_Overall">Support for data validation, via DVRecord and DVALRecord</action>
</actions>
</release>
<release version="3.0.2-BETA1" date="2007-12-04">
<actions>
<action type="fix" fixes-bug="43877" context="HSSF">Fix for handling mixed OBJ and CONTINUE records</action>
<action type="fix" fixes-bug="39512" context="HSSF">Fix for handling mixed OBJ and CONTINUE records</action>
<action type="fix" fixes-bug="43837" context="HSSF">Support for unicode NameRecords</action>
<action type="fix" fixes-bug="43807" context="HSSF">Throw an IllegalArgumentException if asked to create a merged region with invalid columns or rows, rather than writing out a corrupt file</action>
<action type="fix" fixes-bug="43837" context="HSSF">Support for unicode NameRecords</action>
<action type="add" fixes-bug="43721" context="HSSF">Support for Chart Title Format records</action>
<action type="fix" fixes-bug="42794" context="HSSF">Fix for BOF records from things like Access</action>
<action type="fix" fixes-bug="43648" context="HSSF">Fix for IntPtg and short vs int</action>
<action type="fix" fixes-bug="43751" context="HSSF">Fix for handling rotated text in HSSFSheet.autoSizeColumn</action>
<action type="add" context="SS_Common">Include an Excel text extractor, and put all existing text extractors under a common superclass</action>
<action type="add" context="HDGF">Improvements to the LZW compression engine used by HDGF</action>
<action type="add" context="HSSF">HSSFPicture.resize() - a handy method to reset a picture to its original width and height</action>
<action type="add" context="HSSF">Add a getSheetIndex(HSSFSheet) method to HSSFWorkbook, and allow a HSSFSheet to get at its parent HSSFWorkbook</action>
<action type="add" context="HSSF">Move POIDocument out of Scratchpad, and update HSSFWorkbook to use it</action>
<action type="fix" fixes-bug="43399" context="HSSF">Fix for Cell References for rows > 32678</action>
<action type="fix" fixes-bug="43410" context="HSSF">Improved Formula Parser support for numbers and ranges</action>
<action type="add" context="HSLF">When writing HSLF files out, optionally preserve all OLE2 nodes (default is just the HSLF related nodes)</action>
<action type="add" fixes-bug="43323" context="HSLF">Support for adding Pictures to ShapeGroups in HSLF</action>
<action type="add" fixes-bug="43222" context="HSSF">Support for getting OLE object data from HSSFWorkbook</action>
<action type="add" fixes-bug="43247" context="HSLF">Support for getting OLE object data from slideshows</action>
<action type="add" fixes-bug="43125" context="HSSF">Support for reading EMF, WMF and PICT images via HSSFWorkbook.getAllPictures()</action>
<action type="fix" fixes-bug="43088" context="HSSF">Fix for reading files with long cell comments and text boxes</action>
<action type="fix" fixes-bug="42844" context="HSSF">Fix for the EventUserModel and records that aren't immediately followed by their ContinueRecords</action>
<action type="fix" fixes-bug="43055" context="HSSF">Fix for saving Crystal Reports xls files when preserving nodes</action>
<action type="fix" fixes-bug="43116" context="HSSF">Fix for Escher layer handling of embedded OLE2 documents</action>
<action type="fix" fixes-bug="43108" context="HSSF">Where permissions deny fetching System Properties, use sensible defaults</action>
<action type="fix" fixes-bug="43093" context="HSSF">Fix formula evaluator support for Area3D references to other sheets</action>
<action type="fix" context="HSSF">Improvements to HSSFDateUtils.isADateFormat, and have HSSFDateUtil.isCellDateFormatted use this</action>
<action type="fix" fixes-bug="42999" context="HSSF">Fix for HSSFPatriarch positioning problems</action>
<action type="add" context="HSSF">Support for write-protecting a HSSF workbook</action>
<action type="add" context="HSSF">Support for querying, setting and un-setting protection on sheets in a HSSF workbook</action>
<action type="add" context="HSMF">Initial HSMF (outlook) support</action>
<action type="fix" context="POI_Overall">Tidy up the javadocs</action>
</actions>
</release>
<release version="3.0.1-FINAL" date="2007-07-05">
<actions>
<action type="fix" context="POI_Overall">Administrative updates to the Maven POMs, and the release artifact build process</action>
<action type="fix" fixes-bug="23951" context="HSSF">Fix for HSSF setSheetOrder and tab names</action>
<action type="fix" fixes-bug="42524" context="HSLF">Better HSLF support for problem shape groups</action>
<action type="fix" fixes-bug="42520" context="HSLF">Better HSLF support for corrupt picture records</action>
<action type="add" context="HSSF">Initial support for a "missing record aware" HSSF event model</action>
<action type="add" context="HSLF">Additional HSLF support for Title and Slide Master Sheets</action>
<action type="fix" fixes-bug="42474" context="HSLF">Improved HSLF note to slide matching, and a NPE</action>
<action type="fix" fixes-bug="42481" context="HSLF">Tweak some HSLF exceptions, to make it clearer what you're catching</action>
<action type="fix" fixes-bug="42667" context="HSLF">Fix for HSLF writing of files with tables</action>
<action type="add" context="HSSF">Improved way of detecting HSSF cells that contain dates, isADateFormat</action>
<action type="add" context="HDGF">Initial, read-only support for Visio documents, as HDGF</action>
</actions>
</release>
<release version="3.0-FINAL" date="2007-05-18">
<actions>
<action type="fix" fixes-bug="39977" context="POI_Overall">Fix POM for Maven users</action>
<action type="fix" fixes-bug="38976" context="HSSF">Add createPicture to HSSFShapeGroup</action>
<action type="add" context="OOXML">Detect Office 2007 XML documents, and throw a meaningful exception</action>
<action type="add" context="HSLF">Additional HSLF support for PowerPoint</action>
<action type="add" context="HWPF">Initial support for HWPF image extraction</action>
</actions>
</release>
<release version="3.0-alpha3" date="2006-12-12">
<actions>
<action type="add" context="HSLF">Additional HSLF support for PowerPoint</action>
</actions>
</release>
<release version="3.0-alpha2" date="2006-06-16">
<actions>
<action type="add" context="HSSF">HSSF Formula support</action>
<action type="add" context="HSLF">Additional HSLF support for PowerPoint</action>
<action type="fix" fixes-bug="39389" context="HSSF">Extended Ascii support for WingDings</action>
</actions>
</release>
<release version="3.0-alpha1" date="2005-06-04">
<actions>
<action type="fix" context="HSSF">Bugzilla Bug 29976 HSSF hyperlink formula size problem</action>
<action type="add" context="HSSF">Image writing support</action>
<action type="add" context="HSLF">HSLF - Initial PowerPoint Support. Includes: Support for text extraction across the whole file; Support for getting individual slides, and their notes, and extracting text from those; Initial support for changing (but not adding) text</action>
</actions>
</release>
</changes>
|