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