betterself
betterself copied to clipboard
Update openpyxl to 3.1.2
This PR updates openpyxl from 2.4.9 to 3.1.2.
Changelog
3.1.2
==================
* `1963 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1963>`_ Cannot read worksheets in read-only mode with locally scoped definitions
* `1974 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1974>`_ Empty custom properties cause invalid files
3.1.1
==================
Bugfixes
--------
* `1881 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1881>`_ DocumentProperties times set by module import only
* `1947 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1947>`_ Worksheet-specific definitions are missing
3.1.0
==================
New Features
------------
* Added support for data table formulae
* Mapped chartspace graphical properties to charts for advanced formatting
Bugfixes
--------
* `1156 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1156>`_ Table filters are always overriden
* `1360 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1360>`_ Can't read some ScatterCharts if n
* `1724 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1724>`_ Problem with multilevel indices in dataframes
* `1772 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1772>`_ Problem with category indices in dataframes
* `1786 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1786>`_ NamedStyles share attributes - mutables gotcha
* `1851 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1851>`_ Allow print area to be set to None
* `1852 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1852>`_ Worksheet for print title and print areas can't be found
* `1853 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1853>`_ Custom document properties that are strings can be empty
* `1858 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1858>`_ ConditionalFormatting lost when pivot table updated
* `1864 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1864>`_ Better handling of defined names
* `1904 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1904>`_ dataframe_to_rows() misalignment on multiindex
* `1908 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1908>`_ Ditto
* `1912 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1912>`_ Excel doesn't like xmlns:space on nodes with only whitespace, which it treats as empty.
* `1942 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1942>`_ Exception when print areas use table references.
Pull Requests
-------------
* `PR409 <https://foss.heptapod.net/openpyxl/openpyxl/-/merge_requests/409/>`_ Support for Rich Text in cells
* `PR411 <https://foss.heptapod.net/openpyxl/openpyxl/-/merge_requests/411/>`_ Provide more information when workbook cannot be loaded
* `PR407 <https://foss.heptapod.net/openpyxl/openpyxl/-/merge_requests/407/>`_ Support for Custom Document Properties
Deprecations
------------
The following properties have been removed from worksheets: formula_attributes, page_breaks, show_summary_below, show_summary_right, page_size orientation. Client code should use the relevant objects.
Removals
--------
The following deprecated methods have been removed from workbooks: get_named_range, add_named_range, remove_named_range. And the get_emu_dimesions from images.
3.0.10
===================
Bugfixes
--------
* `1684 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1684>`_ Image files not closed when workbooks are saved
* `1778 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1778>`_ Problem with missing scope attribute in Pivot Table formats
* `1821 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1821>`_ Excel unhappy when multiple sorts are defined
3.0.9
==================
Bugfixes
--------
* `1284 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1284>`_ Ignore blank ignored in existing Data Validations
* `1539 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1539>`_ Add support for cell protection for merged cell ranges
* `1645 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1645>`_ Timezone-aware datetimes raise an Exception
* `1666 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1666>`_ Improved normalisation of chart series
* `1670 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1670>`_ Catch OverflowError for out of range datetimes
* `1708 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1708>`_ Alignment.relativeIndent can be negative
* `1736 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1769>`_ Incorrect default value `groupBy` attribute
3.0.8
==================
Deleted because it contained breaking changes from 3.1
3.0.7
==================
Bugfixes
--------
* `1510 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1510>`_ Problems with zero time values
* `1588 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1588>`_ Not possible to correctly convert excel dates to timedelta
* `1589 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1589>`_ Exception raised when merging cells which do not have borders all the way round.
* `1594 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1594>`_ Python 2 print statement in the tutorial
Pull Requests
-------------
* `PR392 <https://foss.heptapod.net/openpyxl/openpyxl/-/merge_requests/392/>`_ Add documentation on datetime handling
* `PR393 <https://foss.heptapod.net/openpyxl/openpyxl/-/merge_requests/393/>`_ Drop dependency on jdcal
* `PR394 <https://foss.heptapod.net/openpyxl/openpyxl/-/merge_requests/394/>`_ Datetime rounding
* `PR395 <https://foss.heptapod.net/openpyxl/openpyxl/-/merge_requests/395/>`_ Unify handling of 1900 epoch
* `PR397 <https://foss.heptapod.net/openpyxl/openpyxl/-/merge_requests/397/>`_ Add explicit support for reading datetime deltas
* `PR399 <https://foss.heptapod.net/openpyxl/openpyxl/-/merge_requests/399/>`_ Millisecond precision for datetimes
3.0.6
==================
Bugfixes
--------
* `1154 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1154>`_ Borders in differential styles are incorrect
* `1287 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1528>`_ Error when opening some pivot tables
* `1366 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1366>`_ Resave breaks the border format in conditional formatting rules
* `1450 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1450>`_ Read-only workbook not closed properly if generator interrupted
* `1547 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1547>`_ Pandas.Multiindex.labels deprecated
* `1552 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1557>`_ Pandas.Multiinex not expanded correctly
* `1557 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1557>`_ Cannot read rows with exponents
* `1568 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1568>`_ numpy.float is deprecated
* `1571 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1571>`_ Cells without coordinate attributes not always correctly handled
Pull Requests
-------------
* `PR385 <https://foss.heptapod.net/openpyxl/openpyxl/-/merge_requests/385/>`_ Improved handling of borders for differential styles
* `PR386 <https://foss.heptapod.net/openpyxl/openpyxl/-/merge_requests/386/>`_ Support subclasses of datetime objects
* `PR387 <https://foss.heptapod.net/openpyxl/openpyxl/-/merge_requests/387/>`_ Improved handling of cells without coordinates
3.0.5
==================
Bugfixes
--------
* `1413 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1413>`_ Incorrectly consider currency format as datetime
* `1490 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1490>`_ Cannot copy worksheets with merged cells
* `1492 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1492>`_ Empty worksheets do not return generators when looping.
* `1496 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1496>`_ Hyperlinks duplicated on multiple saves
* `1500 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1500>`_ Incorrectly literal format as datetime
* `1502 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1502>`_ Links set to range of cells not preserved
* `1507 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1507>`_ Exception when opening workbook with chartsheets and tables
3.0.4
==================
Bugfixes
--------
* `844 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/844>`_ Find tables by name
* `1414 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1414>`_ Worksheet protection missing in existing files
* `1439 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1439>`_ Exception when reading files with external images
* `1452 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1452>`_ Reading lots of merged cells is very slow.
* `1455 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1455>`_ Read support for Bubble Charts.
* `1458 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1458>`_ Preserve any indexed colours
* `1473 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1473>`_ Reading many thousand of merged cells is really slow.
* `1474 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1474>`_ Adding tables in write-only mode raises an exception.
Pull Requests
-------------
* `PR377 <https://foss.heptapod.net/openpyxl/openpyxl/-/merge_requests/377/>`_ Add support for finding tables by name or range.
3.0.3
==================
Bugfixes
--------
* `1260 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1260>`_ Exception when handling merged cells with hyperlinks
* `1373 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1373>`_ Problems when both lxml and defusedxml are installed
* `1385 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1385>`_ CFVO with incorrect values cannot be processed
3.0.2
==================
Bug fixes
---------
* `1267 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1267>`_ DeprecationError if both defusedxml and lxml are installed
* `1345 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1345>`_ ws._current_row is higher than ws.max_row
* `1365 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1365>`_ Border bottom style is not optional when it should be
* `1367 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1367>`_ Empty cells in read-only, values-only mode are sometimes returned as ReadOnlyCells
* `1368 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1368>`_ Cannot add page breaks to existing worksheets if none exist already
Pull Requests
-------------
* `PR359 <https://foss.heptapod.net/openpyxl/openpyxl/-/merge_requests/359/>`_ Improvements to the documentation
3.0.1
==================
Bugfixes
--------
* `1250 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1250>`_ Cannot read empty charts.
Pull Requests
-------------
* `PR354 <https://foss.heptapod.net/openpyxl/openpyxl/-/merge_requests/354/>`_ Fix for #1250
* `PR352 <https://foss.heptapod.net/openpyxl/openpyxl/-/merge_requests/354/>`_ TableStyleElement is a sequence
3.0.0
==================
Python 3.6+ only release
------------------------
2.6.4
==================
Final release for Python 2.7 and 3.5
------------------------------------
Bugfixes
--------
* ` 1330 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1330>`_ Cannot save workbooks with comments more than once.
2.6.3
==================
Bugfixes
--------
* `1237 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1237>`_ Fix 3D charts.
* `1290 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1290>`_ Minimum for holeSize in Doughnut charts too high
* `1291 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1291>`_ Warning for MergedCells with comments
* `1296 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1296>`_ Pagebreaks duplicated
* `1309 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1309>`_ Workbook has no default CellStyle
* `1330 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1330>`_ Workbooks with comments cannot be saved multiple times
Pull Requests
-------------
* `PR344 <https://foss.heptapod.net/openpyxl/openpyxl/-/merge_requests/345/>`_ Make sure NamedStyles number formats are correctly handled
2.6.2
==================
Bugfixes
--------
* `1173 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1173>`_ Workbook has no _date_formats attribute
* `1190 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1190>`_ Cannot create charts for worksheets with quotes in the title
* `1228 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1228>`_ MergedCells not removed when range is unmerged
* `1232 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1232>`_ Link to pivot table lost from charts
* `1233 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1233>`_ Chart colours change after saving
* `1236 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1236>`_ Cannot use ws.cell in read-only mode with Python 2.7
2.6.1
==================
Bugfixes
--------
* `1174 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1174>`_ ReadOnlyCell.is_date does not work properly
* `1175 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1175>`_ Cannot read Google Docs spreadsheet with a Pivot Table
* `1180 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1180>`_ Charts created with openpyxl cannot be styled
* `1181 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1181>`_ Cannot handle some numpy number types
* `1182 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1182>`_ Exception when reading unknowable number formats
* `1186 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1186>`_ Only last formatting rule for a range loaded
* `1191 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1191>`_ Give MergedCell a `value` attribute
* `1193 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1193>`_ Cannot process worksheets with comments
* `1197 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1197>`_ Cannot process worksheets with both row and page breaks
* `1204 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1204>`_ Cannot reset dimensions in ReadOnlyWorksheets
* `1211 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1211>`_ Incorrect descriptor in ParagraphProperties
* `1213 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1213>`_ Missing `hier` attribute in PageField raises an exception
2.6.0
==================
Bugfixes
--------
* `1162 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1162>`_ Exception on tables with names containing spaces.
* `1170 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1170>`_ Cannot save files with existing images.
2.6.b1
====================
Bugfixes
--------
* `1141 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1141>`_ Cannot use read-only mode with stream
* `1143 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1143>`_ Hyperlinks always set on A1
* `1151 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1151>`_ Internal row counter not initialised when reading files
* `1152 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1152>`_ Exception raised on out of bounds date
2.6a1
===================
Major changes
-------------
* Implement robust for merged cells so that these can be formatted the way
Excel does without confusion. Thanks to Magnus Schieder.
Minor changes
-------------
* Add support for worksheet scenarios
* Add read support for chartsheets
* Add method for moving ranges of cells on a worksheet
* Drop support for Python 3.4
* Last version to support Python 2.7
Deprecations
------------
* Type inference and coercion for cell values
2.5.14
===================
Bugfixes
--------
* `1150 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1150>`_ Correct typo in LineProperties
* `1142 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1142>`_ Exception raised for unsupported image files
* `1159 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1159>`_ Exception raised when cannot find source for non-local cache object
Pull Requests
-------------
* `PR301 <https://foss.heptapod.net/openpyxl/openpyxl/-/merge_requests/301/>`_ Add support for nested brackets to the tokeniser
* `PR303 <https://foss.heptapod.net/openpyxl/openpyxl/-/merge_requests/301/>`_ Improvements on handling nested brackets in the tokeniser
2.5.13
==================
2.5.12
===================
Bugfixes
--------
* `1130 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1130>`_ Overwriting default font in Normal style affects library default
* `1133 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1133>`_ Images not added to anchors.
* `1134 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1134>`_ Cannot read pivot table formats without dxId
* `1138 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1138>`_ Repeated registration of simple filter could lead to memory leaks
Pull Requests
-------------
* `PR300 <https://foss.heptapod.net/openpyxl/openpyxl/-/merge_requests/300/>`_ Use defusedxml if available
2.5.11
===================
Pull Requests
-------------
* `PR295 <https://foss.heptapod.net/openpyxl/openpyxl/-/merge_requests/295>`_ Improved handling of missing rows
* `PR296 <https://foss.heptapod.net/openpyxl/openpyxl/-/merge_requests/296>`_ Add support for defined names to tokeniser
2.5.10
===================
Bugfixes
--------
* `1114 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1114>`_ Empty column dimensions should not be saved.
Pull Requests
-------------
* `PR285 <https://foss.heptapod.net/openpyxl/openpyxl/-/merge_requests/285>`_ Tokenizer failure for quoted sheet name in second half of range
* `PR289 <https://foss.heptapod.net/openpyxl/openpyxl/-/merge_requests/289>`_ Improved error detection in ranges.
2.5.9
==================
Bugfixes
--------
* `1000 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1000>`_ Clean AutoFilter name definitions
* `1106 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1106>`_ Attribute missing from Shape object
* `1109 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1109>`_ Failure to read all DrawingML means workbook can't be read
Pull Requests
-------------
* `PR281 <https://foss.heptapod.net/openpyxl/openpyxl/-/merge_requests/281>`_ Allow newlines in formulae
* `PR284 <https://foss.heptapod.net/openpyxl/openpyxl/-/merge_requests/284>`_ Fix whitespace in front of infix operator in formulae
2.5.8
==================
* `877 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/877>`_ Cannot control how missing values are displayed in charts.
* `948 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/948>`_ Cell references can't be used for chart titles
* `1095 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1095>`_ Params in iter_cols and iter_rows methods are slightly wrong.
2.5.7
==================
* `954 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/954>`_ Sheet title containing % need quoting in references
* `1047 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1047>`_ Cannot set quote prefix
* `1093 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1093>`_ Pandas timestamps raise KeyError
2.5.6
==================
* `832 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/832>`_ Read-only mode can leave find-handles open when reading dimensions
* `933 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/933>`_ Set a worksheet directly as active
* `1086 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1086>`_ Internal row counter not adjusted when rows are deleted or inserted
2.5.5
==================
Bugfixes
--------
* `1049 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1049>`_ Files with Mac epoch are read incorrectly
* `1058 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1058>`_ Cannot copy merged cells
* `1066 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1066>`_ Cannot access ws.active_cell
Pull Requests
-------------
* `PR267 <https://foss.heptapod.net/openpyxl/openpyxl/-/merge_requests/267/image-read>`_ Introduce read-support for images
2.5.4
==================
Bugfixes
--------
* `1025 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1025>`_ Cannot read files with 3D charts.
* `1030 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1030>`_ Merged cells take a long time to parse
Minor changes
-------------
* Improve read support for pivot tables and don't always create a Filters child for filterColumn objects.
* `Support folding rows` <https://foss.heptapod.net/openpyxl/openpyxl/-/merge_requests/259/fold-rows>`_
2.5.3
==================
Bugfixes
--------
* `983 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/983>`_ Warning level too aggressive.
* `1015 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1015>`_ Alignment and protection values not saved for named styles.
* `1017 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1017>`_ Deleting elements from a legend doesn't work.
* `1018 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1018>`_ Index names repeated for every row in dataframe.
* `1020 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1020>`_ Worksheet protection not being stored.
* `1023 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1023>`_ Exception raised when reading a tooltip.
2.5.2
==================
Bugfixes
--------
* `949 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/949>`_ High memory use when reading text-heavy files.
* `970 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/970>`_ Copying merged cells copies references.
* `978 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/978>`_ Cannot set comment size.
* `985 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/895>`_ Exception when trying to save workbooks with no views.
* `995 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/995>`_ Cannot delete last row or column.
* `1002 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1002>`_ Cannot read Drawings containing embedded images.
Minor changes
-------------
* Support for dataframes with multiple columns and multiple indices.
2.5.1
==================
Bugfixes
--------
* `934 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/934>`_ Headers and footers not included in write-only mode.
* `960 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/960>`_ Deprecation warning raised when using ad-hoc access in read-only mode.
* `964 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/964>`_ Not all cells removed when deleting multiple rows.
* `966 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/966>`_ Cannot read 3d bar chart correctly.
* `967 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/967>`_ Problems reading some charts.
* `968 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/968>`_ Worksheets with SHA protection become corrupted after saving.
* `974 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/974>`_ Problem when deleting ragged rows or columns.
* `976 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/976>`_ GroupTransforms and GroupShapeProperties have incorrect descriptors
* Make sure that headers and footers in chartsheets are included in the file
2.5.0
==================
Minor changes
-------------
* Correct definition for Connection Shapes. Related to 958
2.5.0b2
=====================
Bugfixes
--------
* `915 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/915>`_ TableStyleInfo has no required attributes
* `925 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/925>`_ Cannot read files with 3D drawings
* `926 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/926>`_ Incorrect version check in installer
* Cell merging uses transposed parameters
* `928 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/928>`_ ExtLst missing keyword for PivotFields
* `932 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/932>`_ Inf causes problems for Excel
* `952 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/952>`_ Cannot load table styles with custom names
Major Changes
-------------
* You can now insert and delete rows and columns in worksheets
Minor Changes
-------------
* pip now handles which Python versions can be used.
2.5.0b1
=====================
Bugfixes
--------
* `812 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/812>`_ Explicitly support for multiple cell ranges in conditonal formatting
* `827 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/827>`_ Non-contiguous cell ranges in validators get merged
* `837 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/837>`_ Empty data validators create invalid Excel files
* `860 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/860>`_ Large validation ranges use lots of memory
* `876 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/876>`_ Unicode in chart axes not handled correctly in Python 2
* `882 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/882>`_ ScatterCharts have defective axes
* `885 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/885>`_ Charts with empty numVal elements cannot be read
* `894 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/894>`_ Scaling options from existing files ignored
* `895 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/895>`_ Charts with PivotSource cannot be read
* `903 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/903>`_ Cannot read gradient fills
* `904 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/904>`_ Quotes in number formats could be treated as datetimes
Major Changes
-------------
`worksheet.cell()` no longer accepts a `coordinate` parameter. The syntax is now `ws.cell(row, column, value=None)`
Minor Changes
-------------
Added CellRange and MultiCellRange types (thanks to Laurent LaPorte for the
suggestion) as a utility type for things like data validations, conditional
formatting and merged cells.
Deprecations
------------
ws.merged_cell_ranges has been deprecated because MultiCellRange provides sufficient functionality
2.5.0a3
=====================
Bugfixes
--------
* `848 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/848>`_ Reading workbooks with Pie Charts raises an exception
* `857 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/857>`_ Pivot Tables without Worksheet Sources raise an exception
2.5.0a2
=====================
Major Changes
-------------
* Read support for charts
Bugfixes
--------
* `833 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/833>`_ Cannot access chartsheets by title
* `834 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/834>`_ Preserve workbook views
* `841 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/841>`_ Incorrect classification of a datetime
2.5.0a1
=====================
Compatibility
-------------
* Dropped support for Python 2.6 and 3.3. openpyxl will not run with Python 2.6
Major Changes
-------------
* Read/write support for pivot tables
Deprecations
------------
* Dropped the anchor method from images and additional constructor arguments
Bugfixes
--------
* `779 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/779>`_ Fails to recognise Chinese date format`
* `828 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/828>`_ Include hidden cells in charts`
Pull requests
-------------
* `163 <https://foss.heptapod.net/openpyxl/openpyxl/-/merge_requests/163>`_ Improved GradientFill
Minor changes
-------------
* Remove deprecated methods from Cell
* Remove deprecated methods from Worksheet
* Added read/write support for the datetime type for cells
2.4.11
===================
* 957 `<https://foss.heptapod.net/openpyxl/openpyxl/-/issues/957>`_ Relationship type for tables is borked
2.4.10
===================
Bugfixes
--------
* 912 `<https://foss.heptapod.net/openpyxl/openpyxl/-/issues/912>`_ Copying objects uses shallow copy
* 921 `<https://foss.heptapod.net/openpyxl/openpyxl/-/issues/921>`_ API documentation not generated automatically
* 927 `<https://foss.heptapod.net/openpyxl/openpyxl/-/issues/927>`_ Exception raised when adding coloured borders together
* 931 `<https://foss.heptapod.net/openpyxl/openpyxl/-/issues/931>`_ Number formats not correctly deduplicated
Pull requests
-------------
* 203 `<https://foss.heptapod.net/openpyxl/openpyxl/-/merge_requests/203/>`_ Correction to worksheet protection description
* 210 `<https://foss.heptapod.net/openpyxl/openpyxl/-/merge_requests/210/>`_ Some improvements to the API docs
* 211 `<https://foss.heptapod.net/openpyxl/openpyxl/-/merge_requests/211/>`_ Improved deprecation decorator
* 218 `<https://foss.heptapod.net/openpyxl/openpyxl/-/merge_requests/218/>`_ Fix problems with deepcopy
Links
- PyPI: https://pypi.org/project/openpyxl
- Changelog: https://pyup.io/changelogs/openpyxl/
- Docs: https://openpyxl.readthedocs.io