summaryrefslogtreecommitdiff
path: root/HISTORY.md
blob: 00b849b437d2365d13cae05a0c623ff10f8a6b73 (plain)
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
# History

## Unreleased

### Breaking changes

- Dropped Python 3.5 support

### Improvements

- Added Python 3.9 support

### Bugfixes

- Prevented crash in rst export with only-space strings (#469).

## 2.0.0 (2020-05-16)

### Breaking changes

- The `Row.lpush/rpush` logic was reversed. `lpush` was appending while `rpush`
  and `append` were prepending. This was fixed (reversed behavior). If you
  counted on the broken behavior, please update your code (#453).

### Bugfixes

- Fixed minimal openpyxl dependency version to 2.6.0 (#457).
- Dates from xls files are now read as Python datetime objects (#373).
- Allow import of "ragged" xlsx files (#465).

### Improvements

- When importing an xlsx file, Tablib will now read cell values instead of formulas (#462).

## 1.1.0 (2020-02-13)

### Deprecations

- Upcoming breaking change in Tablib 2.0.0: the `Row.lpush/rpush` logic is reversed.
  `lpush` is appending while `rpush` and `append` are prepending. The broken behavior
  will remain in Tablib 1.x and will be fixed (reversed) in Tablib 2.0.0 (#453). If you
  count on the broken behavior, please update your code when you upgrade to Tablib 2.x.

### Improvements

- Tablib is now able to import CSV content where not all rows have the same
  length. Missing columns on any line receive the empty string (#226).

## 1.0.0 (2020-01-13)

### Breaking changes

- Dropped Python 2 support
- Dependencies are now all optional. To install `tablib` as before with all
  possible supported formats, run `pip install tablib[all]`

### Improvements

- Formats can now be dynamically registered through the
  `tablib.formats.registry.refister` API (#256).
- Tablib methods expecting data input (`detect_format`, `import_set`,
  `Dataset.load`, `Databook.load`) now accepts file-like objects in addition
  to raw strings and bytestrings (#440).

### Bugfixes

- Fixed a crash when exporting an empty string with the ReST format (#368)
- Error cells from imported .xls files contain now the error string (#202)

## 0.14.0 (2019-10-19)

### Deprecations

- The 0.14.x series will be the last to support Python 2

### Breaking changes

- Dropped Python 3.4 support

### Improvements

- Added Python 3.7 and 3.8 support
- The project is now maintained by the Jazzband team, https://jazzband.co
- Improved format autodetection and added autodetection for the odf format.
- Added search to all documentation pages
- Open xlsx workbooks in read-only mode (#316)
- Unpin requirements
- Only install backports.csv on Python 2

### Bugfixes

- Fixed `DataBook().load` parameter ordering (first stream, then format).
- Fixed a regression for xlsx exports where non-string values were forced to
  strings (#314)
- Fixed xlsx format detection (which was often detected as `xls` format)

## 0.13.0 (2019-03-08)

- Added reStructuredText output capability (#336)
- Added Jira output capability
- Stopped calling openpyxl deprecated methods (accessing cells, removing sheets)
  (openpyxl minimal version is now 2.4.0)
- Fixed a circular dependency issue in JSON output (#332)
- Fixed Unicode error for the CSV export on Python 2 (#215)
- Removed usage of optional `ujson` (#311)
- Dropped Python 3.3 support

## 0.12.1 (2017-09-01)

- Favor `Dataset.export(<format>)` over `Dataset.<format>` syntax in docs
- Make Panda dependency optional

## 0.12.0 (2017-08-27)

- Add initial Panda DataFrame support
- Dropped Python 2.6 support

## 0.11.5 (2017-06-13)

- Use `yaml.safe_load` for importing yaml.

## 0.11.4 (2017-01-23)

- Use built-in `json` package if available
- Support Python 3.5+ in classifiers

### Bugfixes

- Fixed textual representation for Dataset with no headers
- Handle decimal types

## 0.11.3 (2016-02-16)

- Release fix.

## 0.11.2 (2016-02-16)

### Bugfixes

- Fix export only formats.
- Fix for xlsx output.

## 0.11.1 (2016-02-07)

### Bugfixes

- Fixed packaging error on Python 3.


## 0.11.0 (2016-02-07)

### New Formats!

- Added LaTeX table export format (`Dataset.latex`).
- Support for dBase (DBF) files (`Dataset.dbf`).

### Improvements

- New import/export interface (`Dataset.export()`, `Dataset.load()`).
- CSV custom delimiter support (`Dataset.export('csv', delimiter='$')`).
- Adding ability to remove duplicates to all rows in a dataset (`Dataset.remove_duplicates()`).
- Added a mechanism to avoid `datetime.datetime` issues when serializing data.
- New `detect_format()` function (mostly for internal use).
- Update the vendored unicodecsv to fix `None` handling.
- Only freeze the headers row, not the headers columns (xls).

### Breaking Changes

- `detect()` function removed.

### Bugfixes

- Fix XLSX import.
- Bugfix for `Dataset.transpose().transpose()`.


## 0.10.0 (2014-05-27)

* Unicode Column Headers
* ALL the bugfixes!

## 0.9.11 (2011-06-30)

* Bugfixes

## 0.9.10 (2011-06-22)

* Bugfixes

## 0.9.9 (2011-06-21)

* Dataset API Changes
* `stack_rows` => `stack`, `stack_columns` => `stack_cols`
* column operations have their own methods now (`append_col`, `insert_col`)
* List-style `pop()`
* Redis-style `rpush`, `lpush`, `rpop`, `lpop`, `rpush_col`, and `lpush_col`

## 0.9.8 (2011-05-22)

* OpenDocument Spreadsheet support (.ods)
* Full Unicode TSV support


## 0.9.7 (2011-05-12)

* Full XLSX Support!
* Pickling Bugfix
* Compat Module


## 0.9.6 (2011-05-12)

* `seperators` renamed to `separators`
* Full unicode CSV support


## 0.9.5 (2011-03-24)

* Python 3.1, Python 3.2 Support (same code base!)
* Formatter callback support
* Various bug fixes



## 0.9.4 (2011-02-18)

* Python 2.5 Support!
* Tox Testing for 2.5, 2.6, 2.7
* AnyJSON Integrated
* OrderedDict support
* Caved to community pressure (spaces)


## 0.9.3 (2011-01-31)

* Databook duplication leak fix.
* HTML Table output.
* Added column sorting.


## 0.9.2 (2010-11-17)

* Transpose method added to Datasets.
* New frozen top row in Excel output.
* Pickling support for Datasets and Rows.
* Support for row/column stacking.


## 0.9.1 (2010-11-04)

* Minor reference shadowing bugfix.


## 0.9.0 (2010-11-04)

* Massive documentation update!
* Tablib.org!
* Row tagging and Dataset filtering!
* Column insert/delete support
* Column append API change (header required)
* Internal Changes (Row object and use thereof)


## 0.8.5 (2010-10-06)

* New import system. All dependencies attempt to load from site-packages,
  then fallback on tenderized modules.


## 0.8.4 (2010-10-04)

* Updated XLS output: Only wrap if '\\n' in cell.


## 0.8.3 (2010-10-04)

* Ability to append new column passing a callable
  as the value that will be applied to every row.


## 0.8.2 (2010-10-04)

* Added alignment wrapping to written cells.
* Added separator support to XLS.


## 0.8.1 (2010-09-28)

* Packaging Fix


## 0.8.0 (2010-09-25)

* New format plugin system!
* Imports! ELEGANT Imports!
* Tests. Lots of tests.


## 0.7.1 (2010-09-20)

* Reverting methods back to properties.
* Windows bug compensated in documentation.


## 0.7.0 (2010-09-20)

* Renamed DataBook Databook for consistency.
* Export properties changed to methods (XLS filename / StringIO bug).
* Optional Dataset.xls(path='filename') support (for writing on windows).
* Added utf-8 on the worksheet level.


## 0.6.4 (2010-09-19)

* Updated unicode export for XLS.
* More exhaustive unit tests.


## 0.6.3 (2010-09-14)

* Added Dataset.append() support for columns.


## 0.6.2 (2010-09-13)

* Fixed Dataset.append() error on empty dataset.
* Updated Dataset.headers property w/ validation.
* Added Testing Fixtures.

## 0.6.1 (2010-09-12)

* Packaging hotfixes.


## 0.6.0 (2010-09-11)

* Public Release.
* Export Support for XLS, JSON, YAML, and CSV.
* DataBook Export for XLS, JSON, and YAML.
* Python Dict Property Support.