1> Legend: 2 - feat: A new feature 3 - fix: A bug fix 4 - docs: Documentation only changes 5 - style: White-space, formatting, missing semi-colons, etc 6 - refactor: A code change that neither fixes a bug nor adds a feature 7 - perf: A code change that improves performance 8 - test: Adding missing tests 9 - chore: Changes to the build process or auxiliary tools/libraries/documentation 10 11## 0.16.2 12- docs: add `deserialize_with` example in readme 13- fix: Skip phonetic run 14- fix: Fix XLS float parsing error 15- docs: Correct MBSC to MBCS in vba.rs (mispelled before) 16- style: use 2018 edition paths 17- fix: Add the ability to read formula values from XLSB 18- fix: support integral date types 19 20## 0.16.1 21- feat: Make `Metadata.sheets` (and `Reader.sheet_names`) always return names in workbook order 22- style: fix warnings in tests 23 24## 0.16.0 25- feat: deprecate failure and impl `std::error::Error` for all errors. 26- feat: add `dates` feature to enrich `DataType` with date conversions fns. 27 28## 0.15.6 29- feat: update dependencies 30 31## 0.15.5 32- fix: wrong bound comparisons 33 34## 0.15.4 35- feat: improve deserializer 36- feat: bump dependencies 37 38## 0.15.3 39- feat: add several new convenient fn to `DataType` 40- feat: add a `Range::range` fn to get subranges 41- feat: add a new `Range::cells` iterator 42- feat: impl DoubleEndedIterator when possible 43- perf: add some missing `size_hint` impl in iterators 44- feat: add a `Range::get` fn (similar to slice's) 45- perf: add some `ExactSizeIterator` 46 47## 0.15.2 48- feat: consider empty cell as empty str if deserializing to str or String 49 50## 0.15.1 51- fix: xls - allow sectors ending after eof (truncate them!) 52 53## 0.15.0 54- feat: codepage/encoding_rs for codpage mapping 55 56## 0.14.10 57- fix: serde map do not stop at first empty value 58 59## 0.14.9 60- fix: do not return map keys for empty cells. Fixes not working `#[serde(default)]` 61 62## 0.14.8 63- feat: bump dependencies 64- feat: add a `RangeDeserializerBuilder::with_headers` fn to improve serde deserializer 65 66## 0.14.7 67- feat: ods, support *text:s* and *text:p* 68 69## 0.14.6 70- fix: support MulRk for xls files 71 72## 0.14.5 73- fix: properly parse richtext ods files 74- refactor: bump dependencies 75 76## 0.14.4 77- feat: ods: display sheet names in order. 78 79## 0.14.3 80- feat: handle 'covered cells' which are behind merge-cells in ODS 81 82## 0.14.2 83- fix: boolean detection and missing repeated cells in ODS 84- refactor: bump dependencies 85 86## 0.14.1 87- fix: possibility of index out of bound in get_value and eventually in Index<(usize, usize)> 88 89## 0.14.0 90- feat: have Range `start`/`end` return None if the range is actually empty 91- feat: Have `Range::get_value` return an Option if the index is out of range 92 93## 0.13.1 94- refactor: bump dependencies 95- feat: make `Range::from_sparse` public 96 97## 0.13.0 98- feat: migrate from error-chain to failure 99- refactor: simplify Reader trait (enable direct Xlsx read etc ...) 100- refactor: always initialize at creation 101- feat: more documentation on error 102- feat: bump dependencies (calamine, encoding_rs and zip) 103- feat: process any Read not only Files 104- docs: fix various typos 105 106## 0.12.1 107- feat: update dependencies 108 109## 0.12.0 110- feat: add serde deserialization 111 112## 0.11.8 113- perf: update dependencies, in particular quick-xml 0.9.1 114 115## 0.11.7 116- fix: add a bound check when decoding cfb 117- refactor: bump dependencies 118 119## 0.11.6 120- refactor: bump dependencies 121- style: ignore .bk files 122 123## 0.11.5 124- refactor: bump dependencies 125 126## 0.11.4 127- refactor: update to quick-xml 0.7.3 and encoding_rs 0.6.6 128 129## 0.11.3 130- feat: implement Display for DataType and CellTypeError 131- feat: add a CellType alias trait 132 133## 0.11.2 134- perf: update to quick-xml 0.7.1 135 136## 0.11.1 137- refactor: update encoding_rs to 0.6.2 138- perf: add benches and avoid clearing a buffer supposed to be reused 139 140## 0.11.0 141- feat: add support for formula parsing/decoding 142- refactor: make `Range` generic over its content 143- fix: convert codepage 21010 as codepage 1200 144- fix: support EUC_KR encoding 145 146## 0.10.2 147- fix: error while using a singlebyte encoding for xls files (read_dbcs) 148 149## 0.10.1 150- fix: error while using a singlebyte encoding for xls files (short_strings) 151 152## 0.10.0 153- feat: support defined names for named ranges 154- refactor: better internal logics 155 156## 0.9.0 157- refactor: rename `Excel` in `Sheets` to accomodate OpenDocuments 158- feat: add Index/IndexMut for Range 159 160## 0.8.0 161- feat: add basic support for opendocument spreadsheets 162- style: apply rustfmt 163- feat: force rustfmt on travis checks 164 165## 0.7.0 166- fix: extend appveyor paths to be able to use curl 167- refactor: update deps 168- fix: extract richtext reading from `read_shared_strings` to `read_string`, 169and use for inlineStr instead of `read_inline_str` 170- style: rustfmt 171- fix: enable namespaced xmls when parsing xlsx files 172 173## 0.6.0 174- refactor: bump dependencies 175- refactor: move from rust-encoding to encoding_rs (faster), loses some decoders ... 176 177## 0.5.1 178- refactor: bump to quick-xml 0.6.0 (supposedly faster) 179 180## 0.5.0 181- style: rustfmt the code 182- feat: xlsx - support 'inlineStr' elements (`<is>` nodes) 183- fix: xlsx - support sheetnames prefixed with 'xl/' or '/xl/' 184- chore: bump deps (error-chain 0.8.1, quick-xml 0.5.0) 185 186## 0.4.0 187- refactor: replace `try!` with `?` operator 188- feat: adds a new `worksheet_range_by_index` function. 189- feat: adds new `ErrorKind`s 190- refactor: simplify `search_error` example by using a `run()` function 191 192## 0.3.3 193- refactor: update dependencies (error-chain and byteorder) 194 195## 0.3.2 196- refactor: update dependencies 197 198## 0.3.1 199- perf: [xls] preload vba only instead of sheets only 200- refactor: [vba] consume cfb in constructor and do not store cfb 201 202## 0.3.0 203- feat: [all] better `Range` initialization via `Range::from_sparse` 204- feat: [all] several new fn in `Range` (`used_cells`, `start`, `end` ...) 205- refactor: adds a `range_eq!` macro in tests 206 207## 0.2.1 208- fix: [xls] allow directory start to empty sector if version = 3 209- fix: [vba] support all project codepage encodings 210- feat: [xls] early exit if workbook is password protected 211- fix: [xls] better decoding based on codepage 212- fix: [xlsb] simplify setting values and early exit when stepping into an invalid BrtRowHdr 213- fix: [xlsb] fix record length calculation 214 215## 0.2.0 216- fix: [all] allow range to resize when we try to set a value out of bounds 217- docs: less `unwrap`s, no unused imports 218- refactor: range bounds is not (`start`, `end`) instead of (`position`, `size`) 219- feat: add new methods for `Range`: `width`, `height`, `is_empty` 220 221## 0.1.3 222- fix: [xls] better management of continue record for rich_extended_strings 223 224## 0.1.2 225- fix: [all] return error when trying to set out of bound values in `Range` 226- fix: [xls] do a proper encoding when reading cells (force 2 bytes unicode instead of utf8) 227- fix: [xls] support continue records 228- fix: [all] allow empty rows iterator 229 230## 0.1.1 231- fix: remove some development `println!` 232 233## 0.1.0 234- first release! 235