forked from jmcnamara/XlsxWriter
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Changes
1581 lines (961 loc) · 41.6 KB
/
Changes
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
Release 3.1.2 - May 28 2023
---------------------------
* Added worksheet page break preview mode via ``worksheet.set_pagebreak_view()``.
Release 3.1.1 - May 21 2023
---------------------------
* Add support for new Excel dynamic functions added in 2023.
:issue:`984`.
* Added support for adding a color to the `invert_if_negative` chart option.
:feature:`854`.
Release 3.1.0 - April 13 2023
-----------------------------
* Minor fix for cell color issue.
Release 3.0.9 - March 10 2023
-----------------------------
* Add documentation and examples on :ref:`ewx_polars` to demonstrate new `Polars
<https://www.pola.rs>`_ integration of XlsxWriter in `write_excel()`_.
.. _write_excel(): https://pola-rs.github.io/polars/py-polars/html/reference/api/polars.DataFrame.write_excel.html#polars.DataFrame.write_excel
* Add fix for rare issue with duplicate number formats.
Release 3.0.8 - February 3 2023
-------------------------------
* Fix for ``autofit()`` exception when user defined column width was ``None``.
Release 3.0.7 - January 14 2023
-------------------------------
* Improved :func:`autofit` algorithm to account for the additional width of
autofilter and table dropdowns.
* Improved :func:`autofit` take user defined column widths into account.
Autofit will now only update the width for an existing column if it is greater
than the user defined value. This allows the user to pre-load a minimum column
width.
:feature:`936`.
Release 3.0.6 - January 5 2023
------------------------------
* Added simulated worksheet :func:`autofit` method.
:feature:`936`.
Release 3.0.5 - January 1 2023
------------------------------
* Added ``OverlappingRange`` exception which is raised during Worksheet
:func:`add_table()` or :func:`merge_range()` if the range overlaps an existing
worksheet table or merge range. This is a file corruption error in Excel. See
:ref:`exceptions`.
:issue:`848`
Release 3.0.4 - December 28 2022
--------------------------------
* Roll up release of several minor fixes.
* Drop support for EOL Python 3.4 and 3.5.
Release 3.0.3 - February 27 2022
--------------------------------
* Added :func:`print_black_and_white` worksheet method to set "Black and
White" print options.
:feature:`862`.
Release 3.0.2 - October 31 2021
-------------------------------
* Added :func:`set_top_left_cell` worksheet method to position the first
visible cell in a worksheet.
:feature:`837`.
Release 3.0.1 - August 10 2021
------------------------------
* Add python_requires version to setup.py to help pip find the correct
matching version for Python 2 and 3.
Release 3.0.0 - August 10 2021
------------------------------
* This is the first Python 3 only version of XlsxWriter. It is approximately
10-15% faster than the Python2/3 version.
Python 2 users should use XlsxWriter version 2.0.0, see below.
Release 2.0.0 - August 9 2021
-----------------------------
* This is the last XlsxWriter release to support Python 2. From now bug fixes
and new features will only be available for Python 3. The deprecation notice
for Python 2 support in XlsxWriter has been in place since May 2020 and the
Python community support for Python 2 ended in January 2020. Downloads of
XlsxWriter for Python 2 is currently less than 6% of all downloads of the
library, and decreasing month by month.
Python 2 users should still be able to install versions of XlsxWriter up to
this release but not any releases afterwards.
:feature:`720`.
Release 1.4.5 - July 29 2021
----------------------------
* Added Description/Alt Text and Decorative accessibility options for charts,
textboxes and buttons. These options were already available for images.
Release 1.4.4 - July 4 2021
---------------------------
* Added some performance improvements. Performance for larger files should be
5-10% better.
Release 1.4.3 - May 12 2021
---------------------------
* Added support for background images in worksheets. See
:func:`set_background` and :ref:`ex_background`.
Release 1.4.2 - May 7 2021
--------------------------
* Added support for GIF image files (and in Excel 365, animated GIF files).
Release 1.4.1 - May 6 2021
--------------------------
* Added support for dynamic arrays and new Excel 365 functions like UNIQUE and
FILTER. See :func:`write_dynamic_array_formula`,
:ref:`formula_dynamic_arrays` and :ref:`ex_dynamic_arrays`.
* Added constructor option "use_future_functions" to enable newer Excel
"future" functions in Formulas. See :ref:`formula_future`, and the
:func:`Workbook` constructor.
Release 1.4.0 - April 23 2021
-----------------------------
* Added fix for issue for where a y_axis font rotation of 0 was ignored.
Release 1.3.9 - April 15 2021
-----------------------------
* Added option to set row heights and column widths in pixels via the
:func:`set_row_pixels` and :func:`set_column_pixels` methods.
Release 1.3.8 - March 29 2021
-----------------------------
* Added ability to add accessibility options "description" and "decorative" to
images via :func:`insert_image`. :feature:`768`.
* Added fix for datetime.timedelta values that exceed the Excel 1900 leap day
(timedeltas greater than 59 days, in hours). This is a backward incompatible
change. :issue:`731`.
* Added the worksheet :func:`read_only_recommended` method to set the Excel
"Read-only Recommended" option that is available when saving a file.
:feature:`784`.
* Fixed issue where temp files used in `constant_memory` mode weren't
closed/deleted if the workbook object was garbage collected. :issue:`764`.
* Fixed issue where pattern formats without colors were given a default black
fill color. :issue:`790`.
* Added option to set a chart crossing to 'min' as well as the existing 'max'
option. The 'min' option isn't available in the Excel interface but can be
enabled via VBA. :feature:`773`.
Release 1.3.7 - October 13 2020
-------------------------------
* Fixed issue where custom chart data labels didn't inherit the position of
the data labels in the series. :issue:`754`.
* Added text alignment for textboxes. The existing options allowed the text
area to be aligned but didn't offer control over the text within that area.
* Added Python 3.9 to the test matrix.
Release 1.3.6 - September 23 2020
---------------------------------
* Added the worksheet :func:`unprotect_range()` method to allow ranges within
a protected worksheet to be unprotected. :feature:`507`.
* There are now over 1500 test cases in the test suite, including 900 tests
that compare the output from XlsxWriter, byte for byte, against test files
created in Excel. This is to ensure the maximum possible compatibility with
Excel.
Release 1.3.5 - September 21 2020
---------------------------------
* Fixed issue where relative url links in images didn't work. :issue:`751`.
* Added ``use_zip64`` as a constructor option. :issue:`745`.
* Added check, and warning, for worksheet tables with no data row. Either
with or without a header row. :issue:`715` and :issue:`679`.
* Add a warning when the string length in :func:`write_rich_string()` exceeds
Excel's limit. :issue:`372`.
Release 1.3.4 - September 16 2020
---------------------------------
* Replaced internal MD5 digest used to check for duplicate images with a
SHA256 digest to avoid issues on operating systems such as Red Hat in FIPS
mode which don't support MD5 for security reasons. :issue:`749`.
Release 1.3.3 - August 13 2020
------------------------------
* Added :func:`ignore_errors()` worksheet method to to allow Excel worksheet
errors/warnings to be ignored in user defined ranges. See also
:ref:`ex_ignore_errors`. :feature:`678`.
* Added warning when closing a file more than once via :func:`close()` to help
avoid errors where a file is closed within a loop or at the wrong scope
level.
Release 1.3.2 - August 6 2020
-----------------------------
* Added Border, Fill, Pattern and Gradient formatting to chart data labels and
chart custom data labels. See :ref:`chart_series_option_data_labels` and
:ref:`chart_series_option_custom_data_labels`.
Release 1.3.1 - August 3 2020
-----------------------------
* Fix for issue where array formulas weren't included in the output file for
certain ranges/conditions. :issue:`735`.
Release 1.3.0 - July 30 2020
----------------------------
* Added support for chart :ref:`custom data labels
<chart_series_option_custom_data_labels>`. :feature:`343`.
Release 1.2.9 - May 29 2020
---------------------------
* Added support for ``stacked`` and ``percent_stacked`` Line charts.
Release 1.2.8 - February 22 2020
--------------------------------
* Fix for issue where duplicate images with hyperlinks weren't handled
correctly. :issue:`686`.
* Removed ``ReservedWorksheetName`` exception which was used with the reserved
worksheet name "History" since this name is allowed in some Excel variants.
:issue:`688`.
* Fix for worksheet objects (charts, images and textboxes) that are inserted
with an offset that starts in a hidden cell. :issue:`676`.
* Fix to allow handling of NoneType in :func:`add_write_handler`.
:issue:`677`.
Release 1.2.7 - December 23 2019
--------------------------------
* Fix for duplicate images being copied to an XlsxWriter file. Excel uses an
optimization where it only stores one copy of a repeated/duplicate image in
a workbook. XlsxWriter didn't do this which meant that the file size would
increase when then was a large number of repeated images. This release fixes
that issue and replicates Excel's behavior. :issue:`615`.
* Added documentation on :ref:`num_format_categories` and
:ref:`num_format_locale`.
* Added note to :func:`protect()` about how it is possible to encrypt an
XlsxWriter file using a third party, cross platform, open source tool called
`msoffice-crypt <https://github.com/herumi/msoffice>`_.
Release 1.2.6 - November 15 2019
--------------------------------
* Added option to remove style from worksheet tables. :feature:`670`.
Release 1.2.5 - November 10 2019
--------------------------------
* Added option to add hyperlinks to textboxes. See :ref:`textbox_hyperlink`.
:feature:`419`.
Release 1.2.4 - November 9 2019
-------------------------------
* Added option to link textbox text from a cell. See :ref:`textbox_textlink`.
:feature:`516`.
* Added option to rotate text in a textbox. See
:ref:`textbox_formatting_rotation`. :feature:`638`.
Release 1.2.3 - November 7 2019
-------------------------------
* Increased allowable worksheet url length from 255 to 2079 characters, as
supported in more recent versions of Excel. A lower or user defined limit
can be set via the ``max_url_length`` property in the :func:`Workbook`
constructor.
* Fixed several issues with hyperlinks in worksheet images.
Release 1.2.2 - October 16 2019
-------------------------------
* Fixed Python 3.8.0 warnings. :issue:`660`.
Release 1.2.1 - September 14 2019
---------------------------------
* Added the :func:`add_write_handler` method to allow user defined types to be
handled by the :func:`write` method. See :ref:`writing_user_types` for more
information. :feature:`631`.
* Add support for East Asian vertical fonts in charts. :feature:`648`.
Release 1.2.0 - August 26 2019
------------------------------
* Refactored exception handling around the workbook file :func:`close()`
method to allow exceptions to be caught and handled. See
:ref:`ex_check_close`. Also refactored the code to clean up temp files in
the event of an exception. :issue`471` and :issue:`647`.
* Added the option to allow chart fonts to be rotated to 270 degrees to give a
stacked orientation. See :ref:`chart_fonts`. :issue:`648`.
Release 1.1.9 - August 19 2019
------------------------------
* Another fix for issues where zipfile.py raises "ZIP does not support
timestamps before 1980" exception. :issue:`651`.
Release 1.1.8 - May 5 2019
--------------------------
* Added ability to combine Doughnut and Pie charts.
* Added gauge chart example which is a combination of a Doughnut and a Pie
chart. See :ref:`ex_chart_gauge`.
Release 1.1.7 - April 20 2019
-----------------------------
* Added docs on :ref:`object_position`.
* Added fix for sizing of cell comment boxes when they cross columns/rows that
have size changes that occur after the comment is written. :issue:`403` and
:issue:`312`.
* Added fix for the sizing of worksheet objects (images, charts, textboxes)
when the underlying cell sizes have changed and the "object_position"
parameter has been set to 1 "Move and size with cells". An additional mode 4
has been added to simulate inserting the object in hidden rows.
:issue:`618`.
* Added object positioning for charts and textboxes, it was already supported
for images. Note, the parameter is now called ``object_position``. The
previous parameter name ``positioning`` is deprecated but still supported
for images. :issue:`568`.
Release 1.1.6 - April 7 2019
----------------------------
* Fixed issue where images that started in hidden rows/columns weren't placed
correctly in the worksheet. :issue:`613`.
* Fixed the mime-type reported by system ``file(1)``. The mime-type reported
by "file --mime-type"/magic was incorrect for XlsxWriter files since it
expected the ``[Content_types]`` to be the first file in the zip container.
:issue:`614`.
Release 1.1.5 - February 22 2019
--------------------------------
* This version removes support for end of life Pythons 2.5, 2.6, 3.1, 3.2 and
3.3. For older, unsupported versions of Python use version 1.1.4 of
XlsxWriter.
Release 1.1.4 - February 10 2019
--------------------------------
* Fix for issues where zipfile.py raises "ZIP does not support timestamps
before 1980" exception. :issue:`535`.
Release 1.1.3 - February 9 2019
-------------------------------
* Fix handling of ``'num_format': '0'`` in duplicate formats. :issue:`584`.
Release 1.1.2 - October 20 2018
-------------------------------
* Fix for issue where ``in_memory`` files weren't compressed. :issue:`573`.
* Fix ``write()`` so that it handles array formulas as documented.
:issue:`418`.
* Fix for issue with special characters in worksheet table functions.
:issue:`442`.
* Added warnings for input issues in :func:`write_rich_string()` such as blank
strings, double formats or insufficient parameters. :issue:`425`.
Release 1.1.1 - September 22 2018
---------------------------------
* Added comment font name and size options. :issue:`201`.
* Fix for issue when using text boxes in the same workbook as a chartsheet.
:issue:`420`.
Release 1.1.0 - September 2 2018
--------------------------------
* Added functionality to align chart category axis labels. See the
``label_align`` property of the :func:`set_x_axis()` method.
* Added worksheet :func:`hide_row_col_headers()` method to turn off worksheet
row and column headings. :issue:`480`.
* Added the :func:`set_tab_ratio()` method to set the ratio between the
worksheet tabs and the horizontal slider. :issue:`481`.
* Fixed issue with icon conditional formats when the values were zero.
:issue:`565`.
Release 1.0.9 - August 27 2018
------------------------------
* Fix for issue with formulas quoted as strings in conditional formats,
introduced in version 1.0.7. :issue:`564`.
Release 1.0.8 - August 27 2018
------------------------------
* Added named exceptions to XlsxWriter. See :ref:`exceptions`.
* Removed the implicit :func:`close()` in the destructor since it wasn't
guaranteed to work correctly and raised a confusing exception when any other
exception was triggered. **Note that this is a backward incompatible
change.** The ``with`` context manager is a better way to close
automatically, see :func:`close()`.
* Added border, fill, pattern and gradient formatting options to
:func:`set_legend()`. :issue:`545`.
* Added ``top_right`` position to :func:`set_legend()`. :issue:`537`.
Release 1.0.7 - August 16 2018
------------------------------
* Fix for unicode type error in Python 3. :issue:`554`.
Release 1.0.6 - August 15 2018
------------------------------
* Added some performance improvements. :pull:`551`.
Release 1.0.5 - May 19 2018
---------------------------
* Added example of how to subclass the Workbook and Worksheet objects. See
:ref:`ex_inheritance1` and :ref:`ex_inheritance2`.
* Added support for WMF and EMF image formats to the Worksheet
:func:`add_image` method.
Release 1.0.4 - April 14 2018
-----------------------------
* Set the xlsx internal file member datetimes to 1980-01-01 00:00:00 like
Excel so that apps can produce a consistent binary file once the workbook
:func:`set_properties` ``created`` date is set. :pull:`495`.
* Fix for jpeg images that reported unknown height/width due to unusual SOF
markers. :issue:`506`.
* Added support for blanks in list autofilter. :issue:`505`.
Release 1.0.3 - April 10 2018
-----------------------------
* Added Excel 2010 data bar features such as solid fills and control over the
display of negative values. See :ref:`working_with_conditional_formats` and
:ref:`ex_cond_format`. :feature:`502`.
* Fixed :func:`set_column` parameter names to match docs and other methods.
Note, this is a backward incompatible change. :issue:`504`.
* Fixed missing plotarea formatting in pie/doughnut charts.
Release 1.0.2 - October 14 2017
-------------------------------
* Fix for cases where the hyperlink style added in the previous release didn't
work. :feature:`455`.
Release 1.0.1 - October 14 2017
-------------------------------
* Changed default :func:`write_url` format to the Excel hyperlink style so
that it changes when the theme is changed and also so that it indicates that
the link has been clicked. :feature:`455`.
Release 1.0.0 - September 16 2017
---------------------------------
* Added icon sets to conditional formatting. See
:ref:`working_with_conditional_formats` and :ref:`ex_cond_format`.
:feature:`387`.
Release 0.9.9 - September 5 2017
--------------------------------
* Added ``stop_if_true`` parameter to conditional formatting. :feature:`386`.
Release 0.9.8 - July 1 2017
---------------------------
* Fixed issue where spurious deprecation warning was raised in ``-Werror``
mode. :issue:`451`.
Release 0.9.7 - June 25 2017
----------------------------
* Minor bug and doc fixes.
Release 0.9.6 - Dec 26 2016
---------------------------
* Fix for table with data but without a header. :issue:`405`.
* Add a warning when the number of series in a chart exceeds Excel's limit of
1. :issue:`399`.
Release 0.9.5 - Dec 24 2016
---------------------------
* Fix for missing `remove_timezone` option in Chart class. :pull:`404` from
Thomas Arnhold.
Release 0.9.4 - Dec 2 2016
--------------------------
* Added user definable removal of timezones in datetimes. See the
:func:`Workbook` constructor option ``remove_timezone`` and :ref:`Timezone
Handling in XlsxWriter <timezone_handling>`. :issue:`257`.
* Fix duplicate header warning in :func:`add_table` when there is only one
user defined header. :issue:`380`.
* Fix for `center_across` property in :func:`add_format`. :issue:`381`.
Release 0.9.3 - July 8 2016
---------------------------
* Added check to :func:`add_table` to prevent duplicate header names which
leads to a corrupt Excel file. :issue:`362`.
Release 0.9.2 - June 13 2016
----------------------------
* Added workbook :func:`set_size` method to set the workbook window size.
Release 0.9.1 - June 8 2016
---------------------------
* Added font support to chart :func:`set_table`.
* Documented used of font rotation in chart :ref:`data labels
<chart_series_option_data_labels>`. :issue:`337`.
Release 0.9.0 - June 7 2016
---------------------------
* Added :ref:`trendline properties <chart_series_option_trendline>`:
``intercept``, ``display_equation`` and ``display_r_squared``.
:feature:`357`.
Release 0.8.9 - June 1 2016
---------------------------
* Fix for :func:`insert_image` issue when handling images with zero dpi.
:issue:`356`.
Release 0.8.8 - May 31 2016
---------------------------
* Added workbook :func:`set_custom_property` method to set custom document
properties. :feature:`355`.
Release 0.8.7 - May 13 2016
---------------------------
* Fix for issue when inserting read-only images on Windows.
:issue:`352`.
* Added :func:`get_worksheet_by_name()` method to allow the retrieval of a
worksheet from a workbook via its name.
* Fixed issue where internal file creation and modification dates were in the
local timezone instead of UTC.
Release 0.8.6 - April 27 2016
-----------------------------
* Fix for ``external:`` urls where the target/anchor contains spaces.
:issue:`350`.
Release 0.8.5 - April 17 2016
-----------------------------
* Added additional documentation on :ref:`ewx_pandas` and
:ref:`pandas_examples`.
* Added fix for :func:`set_center_across` format method.
Release 0.8.4 - January 16 2016
-------------------------------
* Fix for :func:`write_url` exception when the URL contains two ``#``
location/anchors. Note, URLs like this aren't strictly valid and cannot be
entered manually in Excel.
:issue:`330`.
Release 0.8.3 - January 14 2016
-------------------------------
* Added options to configure chart axis tick placement. See :func:`set_x_axis()`.
Release 0.8.2 - January 13 2016
-------------------------------
* Added transparency option to solid fill colors in chart areas
(:ref:`chart_formatting_fill`).
:feature:`298`.
Release 0.8.1 - January 12 2016
-------------------------------
* Added option to set chart tick interval.
:feature:`251`.
Release 0.8.0 - January 10 2016
-------------------------------
* Added additional documentation on :ref:`working_with_formulas`.
Release 0.7.9 - January 9 2016
------------------------------
* Added chart pattern fills, see :ref:`chart_formatting_pattern` and
:ref:`ex_chart_pattern`.
:feature:`268`.
Release 0.7.8 - January 6 2016
------------------------------
* Add checks for valid and non-duplicate worksheet table names.
:issue:`319`.
Release 0.7.7 - October 19 2015
-------------------------------
* Added support for table header formatting and a fix for wrapped lines in the
header.
:feature:`287`.
Release 0.7.6 - October 7 2015
------------------------------
* Fix for images with negative offsets.
:issue:`273`.
Release 0.7.5 - October 4 2015
------------------------------
* Allow hyperlinks longer than 255 characters when the link and anchor are
each less than or equal to 255 characters.
* Added ``hyperlink_base`` document property.
:feature:`306`.
Release 0.7.4 - September 29 2015
---------------------------------
* Added option to allow data validation input messages with the 'any' validate
parameter.
* Fixed url encoding of links to external files and directories.
:issue:`278`.
Release 0.7.3 - May 7 2015
--------------------------
* Added documentation on :ref:`ewx_pandas` and :ref:`pandas_examples`.
* Added support for ``with`` context manager.
:PR`239`.
Release 0.7.2 - March 29 2015
-----------------------------
* Added support for textboxes in worksheets. See :func:`insert_textbox()` and
:ref:`working_with_textboxes` for more details.
:feature:`107`.
Release 0.7.1 - March 23 2015
-----------------------------
* Added gradient fills to chart objects such as the plot area of columns. See
:ref:`chart_formatting_gradient` and :ref:`ex_chart_gradient`.
:feature:`228`.
Release 0.7.0 - March 21 2015
-----------------------------
* Added support for display units in chart axes. See :func:`set_x_axis()`.
:feature:`185`.
* Added ``nan_inf_to_errors`` :func:`Workbook` constructor option to allow
mapping of Python `nan/inf` value to Excel error formulas in ``write()`` and
``write_number()``.
:feature:`150`.
Release 0.6.9 - March 19 2015
-----------------------------
* Added support for clustered category charts. See :ref:`ex_chart_clustered`
for details.
:feature:`180`.
* Refactored the :ref:`format` and formatting documentation.
Release 0.6.8 - March 17 2015
-----------------------------
* Added option to combine two different chart types. See the
:ref:`chart_combined_charts` section and :ref:`ex_chart_combined` and
:ref:`ex_chart_pareto` for more details.
:feature:`72`.
Release 0.6.7 - March 1 2015
----------------------------
* Added option to add function value in worksheet :func:`add_table`.
:feature:`216`.
* Fix for A1 row/col numbers below lower bound.
:issue:`212`.
Release 0.6.6 - January 16 2015
-------------------------------
* Fix for incorrect shebang line in `vba_extract.py` packaged in wheel.
:issue:`211`.
* Added docs and example for diagonal cell border.
See :ref:`ex_diagonal_border`.
Release 0.6.5 - December 31 2014
--------------------------------
* Added worksheet quoting for chart names in lists.
:issue:`205`.
* Added docs on how to find and set VBA codenames.
:issue:`202`.
* Fix Python3 issue with unused charts.
:issue:`200`.
* Enabled warning for missing category is scatter chart.
:issue:`197`.
* Fix for upper chart style limit. Increased the chart style limit from
42 to the correct 48.
:issue:`192`.
* Raise warning if a chart is inserted more than once.
:issue:`184`.
Release 0.6.4 - November 15 2014
--------------------------------
* Fix for issue where fonts applied to data labels raised exception.
:issue:`179`.
* Added option to allow explicit text axis types for charts, similar to date
axes.
:feature:`178`.
* Fix for issue where the bar/column chart gap and overlap weren't
applied to the secondary axis.
:issue:`177`.
Release 0.6.3 - November 6 2014
-------------------------------
* Added support for adding VBA macros to workbooks. See :ref:`macros`.
:feature:`126`.
Release 0.6.2 - November 1 2014
-------------------------------
* Added chart axis line and fill properties.
:feature:`88`.
Release 0.6.1 - October 29 2014
-------------------------------
* Added chart specific handling of data label positions since not all positions
are available for all chart types.
:issue:`170`.
* Added number formatting
(:issue:`130`),
font handling, separator and legend key for data labels.
See :ref:`chart_series_option_data_labels`
* Fix for non-quoted worksheet names containing spaces and non-alphanumeric
characters.
:issue:`167`.
Release 0.6.0 - October 15 2014
-------------------------------
* Added option to add images to headers and footers. See
:ref:`ex_headers_footers`.
:feature:`133`.
* Fixed issue where non 96dpi images weren't scaled properly in Excel.
:issue:`164`.
* Added option to not scale header/footer with page. See :func:`set_header`.
:feature:`134`.
Release 0.5.9 - October 11 2014
-------------------------------
* Removed ``egg_base`` requirement from ``setup.cfg`` which was preventing
installation on Windows.
:issue:`162`.
* Fix for issue where X axis title formula was overwritten by the Y axis
title.
:issue:`161`.
Release 0.5.8 - September 28 2014
---------------------------------
* Added support for Doughnut charts.
:feature:`157`.
* Added support for wheel packages.
:feature:`156`.
* Made the exception handling in ``write()`` clearer for unsupported types so
that it raises a more accurate TypeError instead of a ValueError.
:issue:`153`.
Release 0.5.7 - August 13 2014
------------------------------
* Added support for :func:`insert_image` images from byte streams to allow
images from URLs and other sources.
:feature:`118`.
* Added :func:`write_datetime` support for datetime.timedelta.
:feature:`128`.
Release 0.5.6 - July 22 2014
----------------------------
* Fix for spurious exception message when :func:`close()` isn't used.