1Changelog
2=========
3
42021.11.2
5---------
6
7Released on November 19, 2021
8
9- Only run gpuCI bump script daily (:pr:`8404`) `Charles Blackmon-Luca`_
10- Actually ignore index when asked in ``assert_eq`` (:pr:`8396`) `Gabe Joseph`_
11- Ensure single-partition join ``divisions`` is ``tuple`` (:pr:`8389`) `Charles Blackmon-Luca`_
12- Try to make divisions behavior clearer (:pr:`8379`) `Julia Signell`_
13- Fix typo in ``set_index`` ``partition_size`` parameter description (:pr:`8384`) `FredericOdermatt`_
14- Use ``blockwise`` in ``single_partition_join`` (:pr:`8341`) `Gabe Joseph`_
15- Use more explicit keyword arguments (:pr:`8354`) `Boaz Mohar`_
16- Fix ``.loc`` of DataFrame with nullable boolean ``dtype`` (:pr:`8368`) `Marco Rossi`_
17- Parameterize shuffle implementation in tests (:pr:`8250`) `Ian Rose`_
18- Remove some doc build warnings (:pr:`8369`) `Boaz Mohar`_
19- Include properties in array API docs (:pr:`8356`) `Julia Signell`_
20- Fix Zarr for upstream (:pr:`8367`) `Julia Signell`_
21- Pin ``graphviz`` to avoid issue with windows and Python 3.7 (:pr:`8365`) `Julia Signell`_
22- Import ``graphviz.Diagraph`` from top of module, not from ``dot`` (:pr:`8363`) `Julia Signell`_
23
24
252021.11.1
26---------
27
28Released on November 8, 2021
29
30Patch release to update ``distributed`` dependency to version ``2021.11.1``.
31
32
332021.11.0
34---------
35
36Released on November 5, 2021
37
38- Fx ``required_extension`` behavior in ``read_parquet`` (:pr:`8351`) `Richard (Rick) Zamora`_
39- Add ``align_dataframes`` to ``map_partitions`` to broadcast a dataframe passed as an arg (:pr:`6628`) `Julia Signell`_
40- Better handling for arrays/series of keys in ``dask.dataframe.loc`` (:pr:`8254`) `Julia Signell`_
41- Point users to Discourse (:pr:`8332`) `Ian Rose`_
42- Add ``name_function`` option to ``to_parquet`` (:pr:`7682`) `Matthew Powers`_
43- Get rid of ``environment-latest.yml`` and update to Python 3.9 (:pr:`8275`) `Julia Signell`_
44- Require newer ``s3fs`` in CI (:pr:`8336`) `James Bourbeau`_
45- Groupby Rolling (:pr:`8176`) `Julia Signell`_
46- Add more ordering diagnostics to ``dask.visualize`` (:pr:`7992`) `Erik Welch`_
47- Use ``HighLevelGraph`` optimizations for ``delayed`` (:pr:`8316`) `Ian Rose`_
48- ``demo_tuples`` produces malformed ``HighLevelGraph`` (:pr:`8325`) `Guido Imperiale`_
49- Dask calendar should show events in local time (:pr:`8312`) `Genevieve Buckley`_
50- Fix flaky ``test_interrupt`` (:pr:`8314`) `Guido Imperiale`_
51- Deprecate ``AxisError`` (:pr:`8305`) `Guido Imperiale`_
52- Fix name of cuDF in extension documentation. (:pr:`8311`) `Vyas Ramasubramani`_
53- Add single eq operator (=) to parquet filters  (:pr:`8300`) `Ayush Dattagupta`_
54- Improve support for Spark output in ``read_parquet`` (:pr:`8274`) `Richard (Rick) Zamora`_
55- Add ``dask.ml`` module (:pr:`6384`) `Matthew Rocklin`_
56- CI fixups (:pr:`8298`) `James Bourbeau`_
57- Make slice errors match NumPy (:pr:`8248`) `Julia Signell`_
58- Fix API docs misrendering with new sphinx theme (:pr:`8296`) `Julia Signell`_
59- Replace ``block`` property with ``blockview`` for array-like operations on blocks (:pr:`8242`) `Davis Bennett`_
60- Deprecate ``file_path`` and make it possible to save  from within a notebook (:pr:`8283`) `Julia Signell`_
61
62
632021.10.0
64---------
65
66Released on October 22, 2021
67
68- ``da.store`` to create well-formed ``HighLevelGraph`` (:pr:`8261`) `Guido Imperiale`_
69- CI: force nightly ``pyarrow`` in the upstream build (:pr:`8281`) `Joris Van den Bossche`_
70- Remove ``chest`` (:pr:`8279`) `James Bourbeau`_
71- Skip doctests if optional dependencies are not installed (:pr:`8258`) `Genevieve Buckley`_
72- Update ``tmpdir`` and ``tmpfile`` context manager docstrings (:pr:`8270`) `Daniel Mesejo-León`_
73- Unregister callbacks in doctests (:pr:`8276`) `James Bourbeau`_
74- Fix typo in docs (:pr:`8277`) `JoranDox`_
75- Stale label GitHub action (:pr:`8244`) `Genevieve Buckley`_
76- Client-shutdown method appears twice (:pr:`8273`) `German Shiklov`_
77- Add pre-commit to test requirements (:pr:`8257`) `Genevieve Buckley`_
78- Refactor ``read_metadata`` in ``fastparquet`` engine (:pr:`8092`) `Richard (Rick) Zamora`_
79- Support ``Path`` objects in ``from_zarr`` (:pr:`8266`) `Samuel Gaist`_
80- Make nested redirects work (:pr:`8272`) `Julia Signell`_
81- Set ``memory_usage`` to ``True`` if ``verbose`` is ``True`` in info (:pr:`8222`) `Kinshuk Dua`_
82- Remove individual API doc pages from sphinx toctree (:pr:`8238`) `James Bourbeau`_
83- Ignore whitespace in gufunc ``signature`` (:pr:`8267`) `James Bourbeau`_
84- Add workflow to update gpuCI (:pr:`8215`) `Charles Blackmon-Luca`_
85- ``DataFrame.head`` shouldn't warn when there's one partition (:pr:`8091`) `Pankaj Patil`_
86- Ignore arrow doctests if ``pyarrow`` not installed (:pr:`8256`) `Genevieve Buckley`_
87- Fix ``debugging.html`` redirect (:pr:`8251`) `James Bourbeau`_
88- Fix null sorting for single partition dataframes (:pr:`8225`) `Charles Blackmon-Luca`_
89- Fix ``setup.html`` redirect (:pr:`8249`) `Florian Jetter`_
90- Run ``pyupgrade`` in CI (:pr:`8246`) `Guido Imperiale`_
91- Fix label typo in upstream CI build (:pr:`8237`) `James Bourbeau`_
92- Add support for "dependent" columns in DataFrame.assign (:pr:`8086`) `Suriya Senthilkumar`_
93- add NumPy array of Dask keys to ``Array`` (:pr:`7922`) `Davis Bennett`_
94- Remove unnecessary ``dask.multiprocessing`` import in docs (:pr:`8240`) `Ray Bell`_
95- Adjust retrieving ``_max_workers`` from ``Executor`` (:pr:`8228`) `John A Kirkham`_
96- Update function signatures in ``delayed`` best practices docs (:pr:`8231`) `Vũ Trung Đức`_
97- Docs reoganization (:pr:`7984`) `Julia Signell`_
98- Fix ``df.quantile`` on all missing data (:pr:`8129`) `Julia Signell`_
99- Add ``tokenize.ensure-deterministic`` config option (:pr:`7413`) `Hristo Georgiev`_
100- Use ``inclusive`` rather than ``closed`` with ``pandas>=1.4.0`` and ``pd.date_range`` (:pr:`8213`) `Julia Signell`_
101- Add ``dask-gateway``, Coiled, and Saturn-Cloud to list of Dask setup tools (:pr:`7814`) `Kristopher Overholt`_
102- Ensure existing futures get passed as deps when serializing ``HighLevelGraph`` layers (:pr:`8199`) `Jim Crist-Harif`_
103- Make sure that the divisions of the single partition merge is left (:pr:`8162`) `Julia Signell`_
104- Refactor ``read_metadata`` in ``pyarrow`` parquet engines (:pr:`8072`) `Richard (Rick) Zamora`_
105- Support negative ``drop_axis`` in ``map_blocks`` and ``map_overlap`` (:pr:`8192`) `Gregory R. Lee`_
106- Fix upstream tests (:pr:`8205`) `Julia Signell`_
107- Add support for scalar item assignment by Series (:pr:`8195`) `Charles Blackmon-Luca`_
108- Add some basic examples to doc strings on ``dask.bag`` ``all``, ``any``, ``count`` methods (:pr:`7630`) `Nathan Danielsen`_
109- Don't have upstream report depend on commit message (:pr:`8202`) `James Bourbeau`_
110- Ensure upstream CI cron job runs (:pr:`8200`) `James Bourbeau`_
111- Use ``pytest.param`` to properly label param-specific GPU tests (:pr:`8197`) `Charles Blackmon-Luca`_
112- Add ``test_set_index`` to tests ran on gpuCI (:pr:`8198`) `Charles Blackmon-Luca`_
113- Suppress ``tmpfile`` OSError (:pr:`8191`) `James Bourbeau`_
114- Use ``s.isna`` instead of ``pd.isna(s)`` in ``set_partitions_pre`` (fix cudf CI) (:pr:`8193`) `Charles Blackmon-Luca`_
115- Open an issue for ``test-upstream`` failures (:pr:`8067`) `Wallace Reis`_
116- Fix ``to_parquet`` bug in call to ``pyarrow.parquet.read_metadata`` (:pr:`8186`) `Richard (Rick) Zamora`_
117- Add handling for null values in ``sort_values`` (:pr:`8167`) `Charles Blackmon-Luca`_
118- Bump ``RAPIDS_VER`` for gpuCI (:pr:`8184`) `Charles Blackmon-Luca`_
119- Dispatch walks MRO for lazily registered handlers (:pr:`8185`) `Jim Crist-Harif`_
120- Configure SSHCluster instructions (:pr:`8181`) `Ray Bell`_
121- Preserve ``HighLevelGraphs`` in ``DataFrame.from_delayed`` (:pr:`8174`) `Gabe Joseph`_
122- Deprecate ``inplace`` argument for Dask series renaming (:pr:`8136`) `Marcel Coetzee`_
123- Fix rolling for compatibility with ``pandas > 1.3.0`` (:pr:`8150`) `Julia Signell`_
124- Raise error when ``setitem`` on unknown chunks (:pr:`8166`) `Julia Signell`_
125- Include divisions when doing ``Index.to_series`` (:pr:`8165`) `Julia Signell`_
126
127
1282021.09.1
129---------
130
131Released on September 21, 2021
132
133- Fix ``groupby`` for future pandas (:pr:`8151`) `Julia Signell`_
134- Remove warning filters in tests that are no longer needed (:pr:`8155`) `Julia Signell`_
135- Add link to diagnostic visualize function in local diagnostic docs (:pr:`8157`) `David Hoese`_
136- Add ``datetime_is_numeric`` to ``dataframe.describe`` (:pr:`7719`) `Julia Signell`_
137- Remove references to ``pd.Int64Index`` in anticipation of deprecation (:pr:`8144`) `Julia Signell`_
138- Use ``loc`` if needed for series ``__get_item__`` (:pr:`7953`) `Julia Signell`_
139- Specifically ignore warnings on mean for empty slices (:pr:`8125`) `Julia Signell`_
140- Skip ``groupby`` ``nunique`` test for pandas >= 1.3.3 (:pr:`8142`) `Julia Signell`_
141- Implement ``ascending`` arg for ``sort_values`` (:pr:`8130`) `Charles Blackmon-Luca`_
142- Replace ``operator.getitem``  (:pr:`8015`) `Naty Clementi`_
143- Deprecate ``zero_broadcast_dimensions`` and ``homogeneous_deepmap`` (:pr:`8134`) `SnkSynthesis`_
144- Add error if ``drop_index`` is negative (:pr:`8064`) `neel iyer`_
145- Allow ``scheduler`` to be an ``Executor`` (:pr:`8112`) `John A Kirkham`_
146- Handle ``asarray``/``asanyarray`` cases where ``like`` is a ``dask.Array`` (:pr:`8128`) `Peter Andreas Entschev`_
147- Fix ``index_col`` duplication if ``index_col`` is type ``str`` (:pr:`7661`) `McToel`_
148- Add ``dtype`` and ``order`` to ``asarray`` and ``asanyarray`` definitions (:pr:`8106`) `Julia Signell`_
149- Deprecate ``dask.dataframe.Series.__contains__`` (:pr:`7914`) `Julia Signell`_
150- Fix edge case with ``like``-arrays in ``_wrapped_qr`` (:pr:`8122`) `Peter Andreas Entschev`_
151- Deprecate ``boundary_slice`` kwarg: ``kind`` for pandas compat (:pr:`8037`) `Julia Signell`_
152
153
1542021.09.0
155---------
156
157Released on September 3, 2021
158
159- Fewer open files (:pr:`7303`) `Julia Signell`_
160- Add ``FileNotFound`` to expected http errors (:pr:`8109`) `Martin Durant`_
161- Add ``DataFrame.sort_values`` to API docs (:pr:`8107`) `Benjamin Zaitlen`_
162- Change to ``dask.order``: be more eager at times (:pr:`7929`) `Erik Welch`_
163- Add pytest color to CI (:pr:`8090`) `James Bourbeau`_
164- FIX: ``make_people`` works with ``processes`` scheduler (:pr:`8103`) `Dahn`_
165- Adds ``deep`` param to Dataframe copy method and restrict it to ``False`` (:pr:`8068`) `João Paulo Lacerda`_
166- Fix typo in configuration docs (:pr:`8104`) `Robert Hales`_
167- Update formatting in ``DataFrame.query`` docstring (:pr:`8100`) `James Bourbeau`_
168- Un-xfail ``sparse`` tests for 0.13.0 release (:pr:`8102`) `James Bourbeau`_
169- Add axes property to DataFrame and Series (:pr:`8069`) `Jordan Jensen`_
170- Add CuPy support in ``da.unique`` (values only) (:pr:`8021`) `Peter Andreas Entschev`_
171- Unit tests for ``sparse.zeros_like`` (xfailed) (:pr:`8093`) `Guido Imperiale`_
172- Add explicit ``like`` kwarg support to array creation functions (:pr:`8054`) `Peter Andreas Entschev`_
173- Separate Array and DataFrame mindeps builds (:pr:`8079`) `James Bourbeau`_
174- Fork out ``percentile_dispatch`` to ``dask.array`` (:pr:`8083`) `GALI PREM SAGAR`_
175- Ensure ``filepath`` exists in ``to_parquet`` (:pr:`8057`) `James Bourbeau`_
176- Update scheduler plugin usage in ``test_scheduler_highlevel_graph_unpack_import`` (:pr:`8080`) `James Bourbeau`_
177- Add ``DataFrame.shuffle`` to API docs (:pr:`8076`) `Martin Fleischmann`_
178- Order requirements alphabetically (:pr:`8073`) `John A Kirkham`_
179
180
1812021.08.1
182---------
183
184Released on August 20, 2021
185
186- Add ``ignore_metadata_file`` option to ``read_parquet`` (``pyarrow-dataset`` and ``fastparquet`` support only) (:pr:`8034`) `Richard (Rick) Zamora`_
187- Add reference to ``pytest-xdist`` in dev docs (:pr:`8066`) `Julia Signell`_
188- Include ``tz`` in meta from ``to_datetime`` (:pr:`8000`) `Julia Signell`_
189- CI Infra Docs (:pr:`7985`) `Benjamin Zaitlen`_
190- Include invalid DataFrame key in ``assert_eq`` check (:pr:`8061`) `James Bourbeau`_
191- Use ``__class__`` when creating DataFrames (:pr:`8053`) `Mads R. B. Kristensen`_
192- Use development version of ``distributed`` in gpuCI build (:pr:`7976`) `James Bourbeau`_
193- Ignore whitespace when gufunc ``signature`` (:pr:`8049`) `James Bourbeau`_
194- Move pandas import and percentile dispatch refactor (:pr:`8055`) `GALI PREM SAGAR`_
195- Add colors to represent high level layer types (:pr:`7974`) `Freyam Mehta`_
196- Upstream instance fix (:pr:`8060`) `Jacob Tomlinson`_
197- Add ``dask.widgets`` and migrate HTML reprs to ``jinja2`` (:pr:`8019`) `Jacob Tomlinson`_
198- Remove ``wrap_func_like_safe``, not required with NumPy >= 1.17 (:pr:`8052`) `Peter Andreas Entschev`_
199- Fix threaded scheduler memory backpressure regression (:pr:`8040`) `David Hoese`_
200- Add percentile dispatch (:pr:`8029`) `GALI PREM SAGAR`_
201- Use a publicly documented attribute ``obj`` in ``groupby`` rather than private ``_selected_obj`` (:pr:`8038`) `GALI PREM SAGAR`_
202- Specify module to ``import rechunk`` from (:pr:`8039`) `Illviljan`_
203- Use ``dict`` to store data for {nan,}arg{min,max} in certain cases (:pr:`8014`) `Peter Andreas Entschev`_
204- Fix ``blocksize`` description formatting in ``read_pandas`` (:pr:`8047`) `Louis Maddox`_
205- Fix "point" -> "pointers" typo in docs (:pr:`8043`) `David Chudzicki`_
206
207
2082021.08.0
209---------
210
211Released on August 13, 2021
212
213- Fix ``to_orc`` delayed compute behavior (:pr:`8035`) `Richard (Rick) Zamora`_
214- Don't convert to low-level task graph in ``compute_as_if_collection`` (:pr:`7969`) `James Bourbeau`_
215- Fix multifile read for hdf (:pr:`8033`) `Julia Signell`_
216- Resolve warning in ``distributed`` tests (:pr:`8025`) `James Bourbeau`_
217- Update ``to_orc`` collection name (:pr:`8024`) `James Bourbeau`_
218- Resolve ``skipfooter`` problem (:pr:`7855`) `Ross`_
219- Raise ``NotImplementedError`` for non-indexable arg passed to ``to_datetime`` (:pr:`7989`) `Doug Davis`_
220- Ensure we error on warnings from ``distributed`` (:pr:`8002`) `James Bourbeau`_
221- Added ``dict`` format in ``to_bag`` accessories of DataFrame (:pr:`7932`) `gurunath`_
222- Delayed docs indirect dependencies (:pr:`8016`) `aa1371`_
223- Add tooltips to graphviz high-level graphs (:pr:`7973`) `Freyam Mehta`_
224- Close 2021 User Survey (:pr:`8007`) `Julia Signell`_
225- Reorganize CuPy tests into multiple files (:pr:`8013`) `Peter Andreas Entschev`_
226- Refactor and Expand Dask-Dataframe ORC API (:pr:`7756`) `Richard (Rick) Zamora`_
227- Don't enforce columns if ``enforce=False`` (:pr:`7916`) `Julia Signell`_
228- Fix ``map_overlap`` trimming behavior when ``drop_axis`` is not ``None`` (:pr:`7894`) `Gregory R. Lee`_
229- Mark gpuCI CuPy test as flaky (:pr:`7994`) `Peter Andreas Entschev`_
230- Avoid using ``Delayed`` in ``to_csv`` and ``to_parquet`` (:pr:`7968`) `Matthew Rocklin`_
231- Removed redundant ``check_dtypes`` (:pr:`7952`) `gurunath`_
232- Use ``pytest.warns`` instead of raises for checking parquet engine deprecation (:pr:`7993`) `Joris Van den Bossche`_
233- Bump ``RAPIDS_VER`` in gpuCI to 21.10 (:pr:`7991`) `Charles Blackmon-Luca`_
234- Add back ``pyarrow-legacy`` test coverage for ``pyarrow>=5`` (:pr:`7988`) `Richard (Rick) Zamora`_
235- Allow ``pyarrow>=5`` in ``to_parquet`` and ``read_parquet`` (:pr:`7967`) `Richard (Rick) Zamora`_
236- Skip CuPy tests requiring NEP-35 when NumPy < 1.20 is available (:pr:`7982`) `Peter Andreas Entschev`_
237- Add ``tail`` and ``head`` to ``SeriesGroupby`` (:pr:`7935`) `Daniel Mesejo-León`_
238- Update Zoom link for monthly meeting (:pr:`7979`) `James Bourbeau`_
239- Add gpuCI build script (:pr:`7966`) `Charles Blackmon-Luca`_
240- Deprecate ``daily_stock`` utility (:pr:`7949`) `James Bourbeau`_
241- Add ``distributed.nanny`` to configuration reference docs (:pr:`7955`) `James Bourbeau`_
242- Require NumPy 1.18+ & Pandas 1.0+ (:pr:`7939`) `John A Kirkham`_
243
244
2452021.07.2
246---------
247
248Released on July 30, 2021
249
250.. note::
251
252  This is the last release with support for NumPy 1.17 and pandas 0.25.
253  Beginning with the next release, NumPy 1.18 and pandas 1.0 will be the minimum
254  supported versions.
255
256- Add ``dask.array`` SVG to the HTML Repr (:pr:`7886`) `Freyam Mehta`_
257- Avoid use of ``Delayed`` in ``to_parquet`` (:pr:`7958`) `Matthew Rocklin`_
258- Temporarily pin ``pyarrow<5`` in CI (:pr:`7960`) `James Bourbeau`_
259- Add deprecation warning for top-level ``ucx`` and ``rmm`` config values (:pr:`7956`) `James Bourbeau`_
260- Remove skips from doctests (4 of 6) (:pr:`7865`) `Zhengnan Zhao`_
261- Remove skips from doctests (5 of 6) (:pr:`7864`) `Zhengnan Zhao`_
262- Adds missing prepend/append functionality to ``da.diff`` (:pr:`7946`) `Peter Andreas Entschev`_
263- Change graphviz font family to sans (:pr:`7931`) `Freyam Mehta`_
264- Fix read-csv name - when path is different, use different name for task (:pr:`7942`) `Julia Signell`_
265- Update configuration reference for ``ucx`` and ``rmm`` changes (:pr:`7943`) `James Bourbeau`_
266- Add meta support to ``__setitem__`` (:pr:`7940`) `Peter Andreas Entschev`_
267- NEP-35 support for ``slice_with_int_dask_array`` (:pr:`7927`) `Peter Andreas Entschev`_
268- Unpin fastparquet in CI (:pr:`7928`) `James Bourbeau`_
269- Remove skips from doctests (3 of 6) (:pr:`7872`) `Zhengnan Zhao`_
270
271
2722021.07.1
273---------
274
275Released on July 23, 2021
276
277- Make array ``assert_eq`` check dtype (:pr:`7903`) `Julia Signell`_
278- Remove skips from doctests (6 of 6) (:pr:`7863`) `Zhengnan Zhao`_
279- Remove experimental feature warning from actors docs (:pr:`7925`) `Matthew Rocklin`_
280- Remove skips from doctests (2 of 6) (:pr:`7873`) `Zhengnan Zhao`_
281- Separate out Array and Bag API (:pr:`7917`) `Julia Signell`_
282- Implement lazy ``Array.__iter__`` (:pr:`7905`) `Julia Signell`_
283- Clean up places where we inadvertently iterate over arrays (:pr:`7913`) `Julia Signell`_
284- Add ``numeric_only`` kwarg to DataFrame reductions (:pr:`7831`) `Julia Signell`_
285- Add pytest marker for GPU tests (:pr:`7876`) `Charles Blackmon-Luca`_
286- Add support for ``histogram2d`` in ``dask.array`` (:pr:`7827`) `Doug Davis`_
287- Remove skips from doctests (1 of 6) (:pr:`7874`) `Zhengnan Zhao`_
288- Add node size scaling to the Graphviz output for the high level graphs (:pr:`7869`) `Freyam Mehta`_
289- Update old Bokeh links (:pr:`7915`) `Bryan Van de Ven`_
290- Temporarily pin ``fastparquet`` in CI (:pr:`7907`) `James Bourbeau`_
291- Add ``dask.array`` import to progress bar docs (:pr:`7910`) `Fabian Gebhart`_
292- Use separate files for each DataFrame API function and method (:pr:`7890`) `Julia Signell`_
293- Fix ``pyarrow-dataset`` ordering bug (:pr:`7902`) `Richard (Rick) Zamora`_
294- Generalize unique aggregate (:pr:`7892`) `GALI PREM SAGAR`_
295- Raise ``NotImplementedError`` when using ``pd.Grouper`` (:pr:`7857`) `Ruben van de Geer`_
296- Add ``aggregate_files`` argument to enable multi-file partitions in ``read_parquet`` (:pr:`7557`) `Richard (Rick) Zamora`_
297- Un-``xfail`` ``test_daily_stock`` (:pr:`7895`) `James Bourbeau`_
298- Update access configuration docs (:pr:`7837`) `Naty Clementi`_
299- Use packaging for version comparisons (:pr:`7820`) `Elliott Sales de Andrade`_
300- Handle infinite loops in ``merge_asof`` (:pr:`7842`) `gerrymanoim`_
301
302
3032021.07.0
304---------
305
306Released on July 9, 2021
307
308- Include ``fastparquet`` in upstream CI build (:pr:`7884`) `James Bourbeau`_
309- Blockwise: handle non-string constant dependencies  (:pr:`7849`) `Mads R. B. Kristensen`_
310- ``fastparquet`` now supports new time types, including ns precision (:pr:`7880`) `Martin Durant`_
311- Avoid ``ParquetDataset`` API when appending in ``ArrowDatasetEngine`` (:pr:`7544`) `Richard (Rick) Zamora`_
312- Add retry logic to ``test_shuffle_priority`` (:pr:`7879`) `Richard (Rick) Zamora`_
313- Use strict channel priority in CI (:pr:`7878`) `James Bourbeau`_
314- Support nested ``dask.distributed`` imports (:pr:`7866`) `Matthew Rocklin`_
315- Should check module name only, not the entire directory filepath (:pr:`7856`) `Genevieve Buckley`_
316- Updates due to https://github.com/dask/fastparquet/pull/623 (:pr:`7875`) `Martin Durant`_
317- ``da.eye`` fix for ``chunks=-1`` (:pr:`7854`) `Naty Clementi`_
318- Temporarily xfail ``test_daily_stock`` (:pr:`7858`) `James Bourbeau`_
319- Set priority annotations in ``SimpleShuffleLayer`` (:pr:`7846`) `Richard (Rick) Zamora`_
320- Blockwise: stringify constant key inputs (:pr:`7838`) `Mads R. B. Kristensen`_
321- Allow mixing dask and numpy arrays in ``@guvectorize`` (:pr:`6863`) `Julia Signell`_
322- Don't sample dict result of a shuffle group when calculating its size (:pr:`7834`) `Florian Jetter`_
323- Fix scipy tests (:pr:`7841`) `Julia Signell`_
324- Deterministically tokenize ``datetime.date`` (:pr:`7836`) `James Bourbeau`_
325- Add ``sample_rows`` to ``read_csv``-like (:pr:`7825`) `Martin Durant`_
326- Fix typo in ``config.deserialize`` docstring (:pr:`7830`) `Geoffrey Lentner`_
327- Remove warning filter in ``test_dataframe_picklable`` (:pr:`7822`) `James Bourbeau`_
328- Improvements to ``histogramdd`` (for handling inputs that are sequences-of-arrays). (:pr:`7634`) `Doug Davis`_
329- Make ``PY_VERSION`` private (:pr:`7824`) `James Bourbeau`_
330
331
3322021.06.2
333---------
334
335Released on June 22, 2021
336
337- ``layers.py`` compare ``parts_out`` with ``set(self.parts_out)`` (:pr:`7787`) `Genevieve Buckley`_
338- Make ``check_meta`` understand pandas dtypes better (:pr:`7813`) `Julia Signell`_
339- Remove "Educational Resources" doc page (:pr:`7818`) `James Bourbeau`_
340
341
3422021.06.1
343---------
344
345Released on June 18, 2021
346
347- Replace funding page with 'Supported By' section on dask.org (:pr:`7817`) `James Bourbeau`_
348- Add initial deprecation utilities (:pr:`7810`) `James Bourbeau`_
349- Enforce dtype conservation in ufuncs that explicitly use ``dtype=`` (:pr:`7808`) `Doug Davis`_
350- Add Coiled to list of paid support organizations (:pr:`7811`) `Kristopher Overholt`_
351- Small tweaks to the HTML repr for ``Layer`` & ``HighLevelGraph`` (:pr:`7812`) `Genevieve Buckley`_
352- Add dark mode support to HLG HTML repr (:pr:`7809`) `Jacob Tomlinson`_
353- Remove compatibility entries for old distributed (:pr:`7801`) `Elliott Sales de Andrade`_
354- Implementation of HTML repr for ``HighLevelGraph`` layers (:pr:`7763`) `Genevieve Buckley`_
355- Update default ``blockwise`` token to avoid DataFrame column name clash (:pr:`6546`) `James Bourbeau`_
356- Use dispatch ``concat`` for ``merge_asof`` (:pr:`7806`) `Julia Signell`_
357- Fix upstream freq tests (:pr:`7795`) `Julia Signell`_
358- Use more context managers from the standard library (:pr:`7796`) `James Bourbeau`_
359- Simplify skips in parquet tests (:pr:`7802`) `Elliott Sales de Andrade`_
360- Remove check for outdated bokeh (:pr:`7804`) `Elliott Sales de Andrade`_
361- More test coverage uploads (:pr:`7799`) `James Bourbeau`_
362- Remove ``ImportError`` catching from ``dask/__init__.py`` (:pr:`7797`) `James Bourbeau`_
363- Allow ``DataFrame.join()`` to take a list of DataFrames to merge with (:pr:`7578`) `Krishan Bhasin`_
364- Fix maximum recursion depth exception in ``dask.array.linspace`` (:pr:`7667`) `Daniel Mesejo-León`_
365- Fix docs links (:pr:`7794`) `Julia Signell`_
366- Initial ``da.select()`` implementation and test (:pr:`7760`) `Gabriel Miretti`_
367- Layers must implement ``get_output_keys`` method (:pr:`7790`) `Genevieve Buckley`_
368- Don't include or expect ``freq`` in divisions (:pr:`7785`) `Julia Signell`_
369- A ``HighLevelGraph`` abstract layer for ``map_overlap`` (:pr:`7595`) `Genevieve Buckley`_
370- Always include kwarg name in ``drop`` (:pr:`7784`) `Julia Signell`_
371- Only rechunk for median if needed (:pr:`7782`) `Julia Signell`_
372- Add ``add_(prefix|suffix)`` to DataFrame and Series (:pr:`7745`) `tsuga`_
373- Move ``read_hdf`` to ``Blockwise`` (:pr:`7625`) `Richard (Rick) Zamora`_
374- Make ``Layer.get_output_keys`` officially an abstract method (:pr:`7775`) `Genevieve Buckley`_
375- Non-dask-arrays and broadcasting in ``ravel_multi_index`` (:pr:`7594`) `Gabe Joseph`_
376- Fix for paths ending with "/" in parquet overwrite (:pr:`7773`) `Martin Durant`_
377- Fixing calling ``.visualize()`` with ``filename=None`` (:pr:`7740`) `Freyam Mehta`_
378- Generate unique names for ``SubgraphCallable`` (:pr:`7637`) `Bruce Merry`_
379- Pin ``fsspec`` to ``2021.5.0`` in CI (:pr:`7771`) `James Bourbeau`_
380- Evaluate graph lazily if meta is provided in ``from_delayed`` (:pr:`7769`) `Florian Jetter`_
381- Add ``meta`` support for ``DatetimeTZDtype`` (:pr:`7627`) `gerrymanoim`_
382- Add dispatch label to automatic PR labeler (:pr:`7701`) `James Bourbeau`_
383- Fix HDFS tests (:pr:`7752`) `Julia Signell`_
384
385
3862021.06.0
387---------
388
389Released on June 4, 2021
390
391- Remove abstract tokens from graph keys in ``rewrite_blockwise`` (:pr:`7721`) `Richard (Rick) Zamora`_
392- Ensure correct column order in csv ``project_columns`` (:pr:`7761`) `Richard (Rick) Zamora`_
393- Renamed inner loop variables to avoid duplication (:pr:`7741`) `Boaz Mohar`_
394- Do not return delayed object from ``to_zarr`` (:pr:`7738`) `Chris Roat`
395- Array: correct number of outputs in ``apply_gufunc`` (:pr:`7669`) `Gabe Joseph`_
396- Rewrite ``da.fromfunction`` with ``da.blockwise`` (:pr:`7704`) `John A Kirkham`_
397- Rename ``make_meta_util`` to ``make_meta`` (:pr:`7743`) `GALI PREM SAGAR`_
398- Repartition before shuffle if the requested partitions are less than input partitions (:pr:`7715`) `Vibhu Jawa`_
399- Blockwise: handle constant key inputs (:pr:`7734`) `Mads R. B. Kristensen`_
400- Added raise to ``apply_gufunc`` (:pr:`7744`) `Boaz Mohar`_
401- Show failing tests summary in CI (:pr:`7735`) `Genevieve Buckley`_
402- ``sizeof`` sets in Python 3.9 (:pr:`7739`) `Mads R. B. Kristensen`_
403- Warn if using pandas datetimelike string in ``dataframe.__getitem__`` (:pr:`7749`) `Julia Signell`_
404- Highlight the ``client.dashboard_link`` (:pr:`7747`) `Genevieve Buckley`_
405- Easier link for subscribing to the Google calendar (:pr:`7733`) `Genevieve Buckley`_
406- Automatically show graph visualization in Jupyter notebooks (:pr:`7716`) `Genevieve Buckley`_
407- Add ``autofunction`` for ``unify_chunks`` in API docs (:pr:`7730`) `James Bourbeau`_
408
409
4102021.05.1
411---------
412
413Released on May 28, 2021
414
415- Pandas compatibility (:pr:`7712`) `Julia Signell`_
416- Fix ``optimize_dataframe_getitem`` bug (:pr:`7698`) `Richard (Rick) Zamora`_
417- Update ``make_meta`` import in docs (:pr:`7713`) `Benjamin Zaitlen`_
418- Implement ``da.searchsorted`` (:pr:`7696`) `Tom White`_
419- Fix format string in error message (:pr:`7706`) `Jiaming Yuan`_
420- Fix ``read_sql_table`` returning wrong result for single column loads (:pr:`7572`) `c-thiel`_
421- Add slack join link in ``support.rst`` (:pr:`7679`) `Naty Clementi`_
422- Remove unused alphabet variable (:pr:`7700`) `James Bourbeau`_
423- Fix meta creation incase of ``object`` (:pr:`7586`) `GALI PREM SAGAR`_
424- Add dispatch for ``union_categoricals`` (:pr:`7699`) `GALI PREM SAGAR`_
425- Consolidate array ``Dispatch`` objects (:pr:`7505`) `James Bourbeau`_
426- Move DataFrame ``dispatch.registers`` to their own file (:pr:`7503`) `Julia Signell`_
427- Fix delayed with ``dataclasses`` where ``init=False`` (:pr:`7656`) `Julia Signell`_
428- Allow a column to be named ``divisions`` (:pr:`7605`) `Julia Signell`_
429- Stack nd array with unknown chunks (:pr:`7562`) `Chris Roat`_
430- Promote the 2021 Dask User Survey (:pr:`7694`) `Genevieve Buckley`_
431- Fix typo in ``DataFrame.set_index()`` (:pr:`7691`) `James Lamb`_
432- Cleanup array API reference links (:pr:`7684`) `David Hoese`_
433- Accept ``axis`` tuple for ``flip`` to be consistent with NumPy (:pr:`7675`) `Andrew Champion`_
434- Bump ``pre-commit`` hook versions (:pr:`7676`) `James Bourbeau`_
435- Cleanup ``to_zarr`` docstring (:pr:`7683`) `David Hoese`_
436- Fix the docstring of ``read_orc`` (:pr:`7678`) `keewis`_
437- Doc ``ipyparallel`` & ``mpi4py`` ``concurrent.futures`` (:pr:`7665`) `John A Kirkham`_
438- Update tests to support CuPy 9 (:pr:`7671`) `Peter Andreas Entschev`_
439- Fix some ``HighLevelGraph`` documentation inaccuracies (:pr:`7662`) `Mads R. B. Kristensen`_
440- Fix spelling in Series ``getitem`` error message (:pr:`7659`) `Maisie Marshall`_
441
442
4432021.05.0
444---------
445
446Released on May 14, 2021
447
448- Remove deprecated ``kind`` kwarg to comply with pandas 1.3.0 (:pr:`7653`) `Julia Signell`_
449- Fix bug in DataFrame column projection (:pr:`7645`) `Richard (Rick) Zamora`_
450- Merge global annotations when packing (:pr:`7565`) `Mads R. B. Kristensen`_
451- Avoid ``inplace=`` in pandas ``set_categories`` (:pr:`7633`) `James Bourbeau`_
452- Change the active-fusion default to ``False`` for Dask-Dataframe (:pr:`7620`) `Richard (Rick) Zamora`_
453- Array: remove extraneous code from ``RandomState`` (:pr:`7487`) `Gabe Joseph`_
454- Implement ``str.concat`` when ``others=None`` (:pr:`7623`) `Daniel Mesejo-León`_
455- Fix ``dask.dataframe`` in sandboxed environments (:pr:`7601`) `Noah D. Brenowitz`_
456- Support for ``cupyx.scipy.linalg`` (:pr:`7563`) `Benjamin Zaitlen`_
457- Move ``timeseries`` and daily-stock to ``Blockwise`` (:pr:`7615`) `Richard (Rick) Zamora`_
458- Fix bugs in broadcast join (:pr:`7617`) `Richard (Rick) Zamora`_
459- Use ``Blockwise`` for DataFrame IO (parquet, csv, and orc) (:pr:`7415`) `Richard (Rick) Zamora`_
460- Adding chunk & type information to Dask ``HighLevelGraph`` s (:pr:`7309`) `Genevieve Buckley`_
461- Add ``pyarrow`` sphinx ``intersphinx_mapping`` (:pr:`7612`) `Ray Bell`_
462- Remove skip on test freq (:pr:`7608`) `Julia Signell`_
463- Defaults in ``read_parquet`` parameters (:pr:`7567`) `Ray Bell`_
464- Remove ``ignore_abc_warning`` (:pr:`7606`) `Julia Signell`_
465- Harden DataFrame merge between column-selection and index (:pr:`7575`) `Richard (Rick) Zamora`_
466- Get rid of ``ignore_abc`` decorator (:pr:`7604`) `Julia Signell`_
467- Remove kwarg validation for bokeh (:pr:`7597`) `Julia Signell`_
468- Add ``loky`` example (:pr:`7590`) `Naty Clementi`_
469- Delayed: ``nout`` when arguments become tasks (:pr:`7593`) `Gabe Joseph`_
470- Update distributed version in mindep CI build (:pr:`7602`) `James Bourbeau`_
471- Support all or no overlap between partition columns and real columns (:pr:`7541`) `Richard (Rick) Zamora`_
472
473
4742021.04.1
475---------
476
477Released on April 23, 2021
478
479- Handle ``Blockwise`` HLG pack/unpack for ``concatenate=True`` (:pr:`7455`) `Richard (Rick) Zamora`_
480- ``map_partitions``: use tokenized info as name of the ``SubgraphCallable`` (:pr:`7524`) `Mads R. B. Kristensen`_
481- Using ``tmp_path`` and ``tmpdir`` to avoid temporary files and directories hanging in the repo (:pr:`7592`) `Naty Clementi`_
482- Contributing to docs (development guide) (:pr:`7591`) `Naty Clementi`_
483- Add more packages to Python 3.9 CI build (:pr:`7588`) `James Bourbeau`_
484- Array: Fix NEP-18 dispatching in finalize (:pr:`7508`) `Gabe Joseph`_
485- Misc fixes for ``numpydoc`` (:pr:`7569`) `Matthias Bussonnier`_
486- Avoid pandas ``level=`` keyword deprecation (:pr:`7577`) `James Bourbeau`_
487- Map e.g. ``.repartition(freq="M")`` to ``.repartition(freq="MS")`` (:pr:`7504`) `Ruben van de Geer`_
488- Remove hash seeding in parallel CI runs (:pr:`7128`) `Elliott Sales de Andrade`_
489- Add defaults in parameters in ``to_parquet`` (:pr:`7564`) `Ray Bell`_
490- Simplify transpose axes cleanup (:pr:`7561`) `Julia Signell`_
491- Make ``ValueError in len(index_names) > 1`` explicit it's using ``fastparquet`` (:pr:`7556`) `Ray Bell`_
492- Fix ``dict``-column appending for ``pyarrow`` parquet engines (:pr:`7527`) `Richard (Rick) Zamora`_
493- Add a documentation auto label (:pr:`7560`) `Doug Davis`_
494- Add ``dask.delayed.Delayed`` to docs so it can be referenced by other sphinx docs (:pr:`7559`) `Doug Davis`_
495- Fix upstream ``idxmaxmin`` for uneven ``split_every`` (:pr:`7538`) `Julia Signell`_
496- Make ``normalize_token`` for pandas ``Series``/``DataFrame`` future proof (no direct block access) (:pr:`7318`) `Joris Van den Bossche`_
497- Redesigned ``__setitem__`` implementation (:pr:`7393`) `David Hassell`_
498- ``histogram``, ``histogramdd`` improvements (docs; return consistencies) (:pr:`7520`) `Doug Davis`_
499- Force nightly ``pyarrow`` in the upstream build (:pr:`7530`) `Joris Van den Bossche`_
500- Fix Configuration Reference (:pr:`7533`) `Benjamin Zaitlen`_
501- Use ``.to_parquet`` on ``dask.dataframe`` in doc string (:pr:`7528`) `Ray Bell`_
502- Avoid double ``msgpack`` serialization of HLGs (:pr:`7525`) `Mads R. B. Kristensen`_
503- Encourage usage of ``yaml.safe_load()`` in configuration doc (:pr:`7529`) `Hristo Georgiev`_
504- Fix ``reshape`` bug. Add relevant test. Fixes #7171. (:pr:`7523`) `JSKenyon`_
505- Support ``custom_metadata=`` argument in ``to_parquet`` (:pr:`7359`) `Richard (Rick) Zamora`_
506- Clean some documentation warnings (:pr:`7518`) `Daniel Mesejo-León`_
507- Getting rid of more docs warnings (:pr:`7426`) `Julia Signell`_
508- Added ``product`` (alias of ``prod``) (:pr:`7517`) `Freyam Mehta`_
509- Fix upstream ``__array_ufunc__`` tests (:pr:`7494`) `Julia Signell`_
510- Escape from ``map_overlap`` to ``map_blocks`` if depth is zero (:pr:`7481`) `Genevieve Buckley`_
511- Add ``check_type`` to array ``assert_eq`` (:pr:`7491`) `Julia Signell`_
512
513
5142021.04.0
515---------
516
517Released on April 2, 2021
518
519- Adding support for multidimensional histograms with ``dask.array.histogramdd`` (:pr:`7387`) `Doug Davis`_
520- Update docs on number of threads and workers in default ``LocalCluster`` (:pr:`7497`) `cameron16`_
521- Add labels automatically when certain files are touched in a PR (:pr:`7506`) `Julia Signell`_
522- Extract ``ignore_order`` from ``kwargs`` (:pr:`7500`) `GALI PREM SAGAR`_
523- Only provide installation instructions when distributed is missing (:pr:`7498`) `Matthew Rocklin`_
524- Start adding ``isort`` (:pr:`7370`) `Julia Signell`_
525- Add ``ignore_order`` parameter in ``dd.concat`` (:pr:`7473`) `Daniel Mesejo-León`_
526- Use powers-of-two when displaying RAM (:pr:`7484`) `Guido Imperiale`_
527- Added License Classifier (:pr:`7485`) `Tom Augspurger`_
528- Replace conda with mamba (:pr:`7227`) `Guido Imperiale`_
529- Fix typo in array docs (:pr:`7478`) `James Lamb`_
530- Use ``concurrent.futures`` in local scheduler (:pr:`6322`) `John A Kirkham`_
531
532
5332021.03.1
534---------
535
536Released on March 26, 2021
537
538- Add a dispatch for ``is_categorical_dtype`` to handle non-pandas objects (:pr:`7469`) `brandon-b-miller`_
539- Use ``multiprocessing.Pool`` in ``test_read_text`` (:pr:`7472`) `John A Kirkham`_
540- Add missing ``meta`` kwarg to gufunc class (:pr:`7423`) `Peter Andreas Entschev`_
541- Example for memory-mapped Dask array (:pr:`7380`) `Dieter Weber`_
542- Fix NumPy upstream failures ``xfail`` pandas and fastparquet failures (:pr:`7441`) `Julia Signell`_
543- Fix bug in repartition with freq (:pr:`7357`) `Ruben van de Geer`_
544- Fix ``__array_function__`` dispatching for ``tril``/``triu`` (:pr:`7457`) `Peter Andreas Entschev`_
545- Use ``concurrent.futures.Executors`` in a few tests (:pr:`7429`) `John A Kirkham`_
546- Require NumPy >=1.16 (:pr:`7383`) `Guido Imperiale`_
547- Minor ``sort_values`` housekeeping (:pr:`7462`) `Ryan Williams`_
548- Ensure natural sort order in parquet part paths (:pr:`7249`) `Ryan Williams`_
549- Remove global env mutation upon running ``test_config.py`` (:pr:`7464`) `Hristo Georgiev`_
550- Update NumPy intersphinx URL (:pr:`7460`) `Gabe Joseph`_
551- Add ``rot90`` (:pr:`7440`) `Trevor Manz`_
552- Update docs for required package for endpoint (:pr:`7454`) `Nick Vazquez`_
553- Master -> main in ``slice_array`` docstring (:pr:`7453`) `Gabe Joseph`_
554- Expand ``dask.utils.is_arraylike`` docstring (:pr:`7445`) `Doug Davis`_
555- Simplify ``BlockwiseIODeps`` importing (:pr:`7420`) `Richard (Rick) Zamora`_
556- Update layer annotation packing method (:pr:`7430`) `James Bourbeau`_
557- Drop duplicate test in ``test_describe_empty`` (:pr:`7431`) `John A Kirkham`_
558- Add ``Series.dot`` method to dataframe module (:pr:`7236`) `Madhu94`_
559- Added df ``kurtosis``-method and testing (:pr:`7273`) `Jan Borchmann`_
560- Avoid quadratic-time performance for HLG culling (:pr:`7403`) `Bruce Merry`_
561- Temporarily skip problematic ``sparse`` test (:pr:`7421`) `James Bourbeau`_
562- Update some CI workflow names (:pr:`7422`) `James Bourbeau`_
563- Fix HDFS test (:pr:`7418`) `Julia Signell`_
564- Make changelog subtitles match the hierarchy (:pr:`7419`) `Julia Signell`_
565- Add support for normalize in ``value_counts`` (:pr:`7342`) `Julia Signell`_
566- Avoid unnecessary imports for HLG Layer unpacking and materialization (:pr:`7381`) `Richard (Rick) Zamora`_
567- Bincount fix slicing (:pr:`7391`) `Genevieve Buckley`_
568- Add ``sliding_window_view`` (:pr:`7234`) `Deepak Cherian`_
569- Fix typo in ``docs/source/develop.rst`` (:pr:`7414`) `Hristo Georgiev`_
570- Switch documentation builds for PRs to readthedocs (:pr:`7397`) `James Bourbeau`_
571- Adds ``sort_values`` to dask.DataFrame (:pr:`7286`) `gerrymanoim`_
572- Pin ``sqlalchemy<1.4.0`` in CI (:pr:`7405`) `James Bourbeau`_
573- Comment fixes (:pr:`7215`) `Ryan Williams`_
574- Dead code removal / fixes (:pr:`7388`) `Ryan Williams`_
575- Use single thread for ``pa.Table.from_pandas`` calls (:pr:`7347`) `Richard (Rick) Zamora`_
576- Replace ``'container'`` with ``'image'`` (:pr:`7389`) `James Lamb`_
577- DOC hyperlink repartition (:pr:`7394`) `Ray Bell`_
578- Pass delimiter to ``fsspec`` in ``bag.read_text`` (:pr:`7349`) `Martin Durant`_
579- Update ``read_hdf`` default mode to ``"r"`` (:pr:`7039`) `rs9w33`_
580- Embed literals in ``SubgraphCallable`` when packing ``Blockwise`` (:pr:`7353`) `Mads R. B. Kristensen`_
581- Update ``test_hdf.py`` to not reuse file handlers (:pr:`7044`) `rs9w33`_
582- Require additional dependencies: cloudpickle, partd, fsspec, toolz (:pr:`7345`) `Julia Signell`_
583- Prepare ``Blockwise`` + IO infrastructure (:pr:`7281`) `Richard (Rick) Zamora`_
584- Remove duplicated imports from ``test_slicing.py`` (:pr:`7365`) `Hristo Georgiev`_
585- Add test deps for pip development (:pr:`7360`) `Julia Signell`_
586- Support int slicing for non-NumPy arrays (:pr:`7364`) `Peter Andreas Entschev`_
587- Automatically cancel previous CI builds (:pr:`7348`) `James Bourbeau`_
588- ``dask.array.asarray`` should handle case where ``xarray`` class is in top-level namespace (:pr:`7335`) `Tom White`_
589- ``HighLevelGraph`` length without materializing layers (:pr:`7274`) `Gabe Joseph`_
590- Drop support for Python 3.6 (:pr:`7006`) `James Bourbeau`_
591- Fix fsspec usage in ``create_metadata_file`` (:pr:`7295`) `Richard (Rick) Zamora`_
592- Change default branch from master to main (:pr:`7198`) `Julia Signell`_
593- Add Xarray to CI software environment (:pr:`7338`) `James Bourbeau`_
594- Update repartition argument name in error text (:pr:`7336`) `Eoin Shanaghy`_
595- Run upstream tests based on commit message (:pr:`7329`) `James Bourbeau`_
596- Use ``pytest.register_assert_rewrite`` on util modules (:pr:`7278`) `Bruce Merry`_
597- Add example on using specific chunk sizes in ``from_array()`` (:pr:`7330`) `James Lamb`_
598- Move NumPy skip into test (:pr:`7247`) `Julia Signell`_
599
600
6012021.03.0
602---------
603
604Released on March 5, 2021
605
606.. note::
607
608    This is the first release with support for Python 3.9 and the
609    last release with support for Python 3.6
610
611- Bump minimum version of ``distributed`` (:pr:`7328`) `James Bourbeau`_
612- Fix ``percentiles_summary`` with ``dask_cudf`` (:pr:`7325`) `Peter Andreas Entschev`_
613- Temporarily revert recent ``Array.__setitem__`` updates (:pr:`7326`) `James Bourbeau`_
614- ``Blockwise.clone`` (:pr:`7312`) `Guido Imperiale`_
615- NEP-35 duck array update (:pr:`7321`) `James Bourbeau`_
616- Don't allow setting ``.name`` for array (:pr:`7222`) `Julia Signell`_
617- Use nearest interpolation for creating percentiles of integer input (:pr:`7305`) `Kyle Barron`_
618- Test ``exp`` with CuPy arrays (:pr:`7322`) `John A Kirkham`_
619- Check that computed chunks have right size and dtype (:pr:`7277`) `Bruce Merry`_
620- ``pytest.mark.flaky`` (:pr:`7319`) `Guido Imperiale`_
621- Contributing docs: add note to pull the latest git tags before pip installing Dask (:pr:`7308`) `Genevieve Buckley`_
622- Support for Python 3.9 (:pr:`7289`) `Guido Imperiale`_
623- Add broadcast-based merge implementation (:pr:`7143`) `Richard (Rick) Zamora`_
624- Add ``split_every`` to ``graph_manipulation`` (:pr:`7282`) `Guido Imperiale`_
625- Typo in optimize docs (:pr:`7306`) `Julius Busecke`_
626- ``dask.graph_manipulation`` support for ``xarray.Dataset`` (:pr:`7276`) `Guido Imperiale`_
627- Add plot width and height support for Bokeh 2.3.0 (:pr:`7297`) `James Bourbeau`_
628- Add NumPy functions ``tri``, ``triu_indices``, ``triu_indices_from``, ``tril_indices``, ``tril_indices_from`` (:pr:`6997`) `Illviljan`_
629- Remove "cleanup" task in DataFrame on-disk shuffle (:pr:`7260`) `Sinclair Target`_
630- Use development version of ``distributed`` in CI (:pr:`7279`) `James Bourbeau`_
631- Moving high level graph pack/unpack Dask  (:pr:`7179`) `Mads R. B. Kristensen`_
632- Improve performance of ``merge_percentiles`` (:pr:`7172`) `Ashwin Srinath`_
633- DOC: add ``dask-sql`` and ``fugue`` (:pr:`7129`) `Ray Bell`_
634- Example for working with categoricals and parquet (:pr:`7085`) `McToel`_
635- Adds tree reduction to ``bincount`` (:pr:`7183`) `Thomas J. Fan`_
636- Improve documentation of ``name`` in ``from_array`` (:pr:`7264`) `Bruce Merry`_
637- Fix ``cumsum`` for empty partitions (:pr:`7230`) `Julia Signell`_
638- Add ``map_blocks`` example to dask array creation docs (:pr:`7221`) `Julia Signell`_
639- Fix performance issue in ``dask.graph_manipulation.wait_on()`` (:pr:`7258`) `Guido Imperiale`_
640- Replace coveralls with codecov.io (:pr:`7246`) `Guido Imperiale`_
641- Pin to a particular ``black`` rev in pre-commit (:pr:`7256`) `Julia Signell`_
642- Minor typo in documentation: ``array-chunks.rst`` (:pr:`7254`) `Magnus Nord`_
643- Fix bugs in ``Blockwise`` and ``ShuffleLayer`` (:pr:`7213`) `Richard (Rick) Zamora`_
644- Fix parquet filtering bug for ``"pyarrow-dataset"`` with pyarrow-3.0.0 (:pr:`7200`) `Richard (Rick) Zamora`_
645- ``graph_manipulation`` without NumPy (:pr:`7243`) `Guido Imperiale`_
646- Support for NEP-35 (:pr:`6738`) `Peter Andreas Entschev`_
647- Avoid running unit tests during doctest CI build (:pr:`7240`) `James Bourbeau`_
648- Run doctests on CI (:pr:`7238`) `Julia Signell`_
649- Cleanup code quality on set arithmetics (:pr:`7196`) `Guido Imperiale`_
650- Add ``dask.array.delete`` (:pr:`7125`) `Julia Signell`_
651- Unpin graphviz now that new conda-forge recipe is built (:pr:`7235`) `Julia Signell`_
652- Don't use NumPy 1.20 from conda-forge on Mac (:pr:`7211`) `Guido Imperiale`_
653- ``map_overlap``: Don't rechunk axes without overlap (:pr:`7233`) `Deepak Cherian`_
654- Pin graphviz to avoid issue with latest conda-forge build (:pr:`7232`) `Julia Signell`_
655- Use ``html_css_files`` in docs for custom CSS (:pr:`7220`) `James Bourbeau`_
656- Graph manipulation: ``clone``, ``bind``, ``checkpoint``, ``wait_on`` (:pr:`7109`) `Guido Imperiale`_
657- Fix handling of filter expressions in parquet ``pyarrow-dataset`` engine (:pr:`7186`) `Joris Van den Bossche`_
658- Extend ``__setitem__`` to more closely match numpy (:pr:`7033`) `David Hassell`_
659- Clean up Python 2 syntax (:pr:`7195`) `Guido Imperiale`_
660- Fix regression in ``Delayed._length`` (:pr:`7194`) `Guido Imperiale`_
661- ``__dask_layers__()`` tests and tweaks (:pr:`7177`) `Guido Imperiale`_
662- Properly convert ``HighLevelGraph`` in multiprocessing scheduler (:pr:`7191`) `Jim Crist-Harif`_
663- Don't fail fast in CI (:pr:`7188`) `James Bourbeau`_
664
665
6662021.02.0
667---------
668
669Released on February 5, 2021
670
671- Add ``percentile`` support for NEP-35 (:pr:`7162`) `Peter Andreas Entschev`_
672- Added support for ``Float64`` in column assignment (:pr:`7173`) `Nils Braun`_
673- Coarsen rechunking error (:pr:`7127`) `Davis Bennett`_
674- Fix upstream CI tests (:pr:`6896`) `Julia Signell`_
675- Revise ``HighLevelGraph`` Mapping API (:pr:`7160`) `Guido Imperiale`_
676- Update low-level graph spec to use any hashable for keys (:pr:`7163`) `James Bourbeau`_
677- Generically rebuild a collection with different keys (:pr:`7142`) `Guido Imperiale`_
678- Make easier to link issues in PRs (:pr:`7130`) `Ray Bell`_
679- Add ``dask.array.append`` (:pr:`7146`) `D-Stacks`_
680- Allow ``dask.array.ravel`` to accept ``array_like`` argument (:pr:`7138`) `D-Stacks`_
681- Fixes link in array design doc (:pr:`7152`) `Thomas J. Fan`_
682- Fix example of using ``blockwise`` for an outer product (:pr:`7119`) `Bruce Merry`_
683- Deprecate ``HighlevelGraph.dicts`` in favor of ``.layers`` (:pr:`7145`) `Amit Kumar`_
684- Align ``FastParquetEngine`` with pyarrow engines (:pr:`7091`) `Richard (Rick) Zamora`_
685- Merge annotations (:pr:`7102`) `Ian Rose`_
686- Simplify contents of parts list in ``read_parquet`` (:pr:`7066`) `Richard (Rick) Zamora`_
687- ``check_meta(``): use ``__class__`` when checking DataFrame types (:pr:`7099`) `Mads R. B. Kristensen`_
688- Cache several properties (:pr:`7104`) `Illviljan`_
689- Fix parquet ``getitem`` optimization (:pr:`7106`) `Richard (Rick) Zamora`_
690- Add cytoolz back to CI environment (:pr:`7103`) `James Bourbeau`_
691
692
6932021.01.1
694---------
695
696Released on January 22, 2021
697
698- Partially fix ``cumprod`` (:pr:`7089`) `Julia Signell`_
699- Test pandas 1.1.x / 1.2.0 releases and pandas nightly (:pr:`6996`) `Joris Van den Bossche`_
700- Use assign to avoid ``SettingWithCopyWarning`` (:pr:`7092`) `Julia Signell`_
701- ``'mode'`` argument passed to ``bokeh.output_file()`` (:pr:`7034`) (:pr:`7075`) `patquem`_
702- Skip empty partitions when doing ``groupby.value_counts`` (:pr:`7073`) `Julia Signell`_
703- Add error messages to ``assert_eq()`` (:pr:`7083`) `James Lamb`_
704- Make cached properties read-only (:pr:`7077`) `Illviljan`_
705
706
7072021.01.0
708---------
709
710Released on January 15, 2021
711
712- ``map_partitions`` with review comments (:pr:`6776`) `Kumar Bharath Prabhu`_
713- Make sure that ``population`` is a real list (:pr:`7027`) `Julia Signell`_
714- Propagate ``storage_options`` in ``read_csv`` (:pr:`7074`) `Richard (Rick) Zamora`_
715- Remove all ``BlockwiseIO`` code (:pr:`7067`) `Richard (Rick) Zamora`_
716- Fix CI (:pr:`7069`) `James Bourbeau`_
717- Add option to control rechunking in ``reshape`` (:pr:`6753`) `Tom Augspurger`_
718- Fix ``linalg.lstsq`` for complex inputs (:pr:`7056`) `Johnnie Gray`_
719- Add ``compression='infer'`` default to ``read_csv`` (:pr:`6960`) `Richard (Rick) Zamora`_
720- Revert parameter changes in ``svd_compressed`` #7003 (:pr:`7004`) `Eric Czech`_
721- Skip failing s3 test (:pr:`7064`) `Martin Durant`_
722- Revert ``BlockwiseIO`` (:pr:`7048`) `Richard (Rick) Zamora`_
723- Add some cross-references to ``DataFrame.to_bag()`` and ``Series.to_bag()`` (:pr:`7049`) `Rob Malouf`_
724- Rewrite ``matmul`` as ``blockwise`` without contraction/concatenate (:pr:`7000`) `Rafal Wojdyla`_
725- Use ``functools.cached_property`` in ``da.shape`` (:pr:`7023`) `Illviljan`_
726- Use meta value in series ``non_empty`` (:pr:`6976`) `Julia Signell`_
727- Revert "Temporarly pin sphinx version to 3.3.1 (:pr:`7002`)" (:pr:`7014`) `Rafal Wojdyla`_
728- Revert ``python-graphviz`` pinning (:pr:`7037`) `Julia Signell`_
729- Accidentally committed print statement (:pr:`7038`) `Julia Signell`_
730- Pass ``dropna`` and ``observed`` in ``agg`` (:pr:`6992`) `Julia Signell`_
731- Add index to ``meta`` after ``.str.split`` with expand (:pr:`7026`) `Ruben van de Geer`_
732- CI: test pyarrow 2.0 and nightly (:pr:`7030`) `Joris Van den Bossche`_
733- Temporarily pin ``python-graphviz`` in CI (:pr:`7031`) `James Bourbeau`_
734- Underline section in ``numpydoc`` (:pr:`7013`) `Matthias Bussonnier`_
735- Keep normal optimizations when adding custom optimizations (:pr:`7016`) `Matthew Rocklin`_
736- Temporarily pin sphinx version to 3.3.1 (:pr:`7002`) `Rafal Wojdyla`_
737- DOC: Misc formatting (:pr:`6998`) `Matthias Bussonnier`_
738- Add ``inline_array`` option to ``from_array`` (:pr:`6773`) `Tom Augspurger`_
739- Revert "Initial pass at blockwise array creation routines (:pr:`6931)" (:pr:`6995`) `James Bourbeau`_
740- Set ``npartitions`` in ``set_index`` (:pr:`6978`) `Julia Signell`_
741- Upstream ``config`` serialization and inheritance (:pr:`6987`) `Jacob Tomlinson`_
742- Bump the minimum time in ``test_minimum_time`` (:pr:`6988`) `Martin Durant`_
743- Fix pandas ``dtype`` inference for ``read_parquet`` (:pr:`6985`) `Richard (Rick) Zamora`_
744- Avoid data loss in ``set_index`` with ``sorted=True`` (:pr:`6980`) `Richard (Rick) Zamora`_
745- Bugfix in ``read_parquet`` for handling un-named indices with ``index=False`` (:pr:`6969`) `Richard (Rick) Zamora`_
746- Use ``__class__`` when comparing meta data (:pr:`6981`) `Mads R. B. Kristensen`_
747- Comparing string versions won't always work (:pr:`6979`) `Rafal Wojdyla`_
748- Fix :pr:`6925` (:pr:`6982`) `sdementen`_
749- Initial pass at blockwise array creation routines (:pr:`6931`) `Ian Rose`_
750- Simplify ``has_parallel_type()`` (:pr:`6927`) `Mads R. B. Kristensen`_
751- Handle annotation unpacking in ``BlockwiseIO`` (:pr:`6934`) `Simon Perkins`_
752- Avoid deprecated ``yield_fixture`` in ``test_sql.py`` (:pr:`6968`) `Richard (Rick) Zamora`_
753- Remove bad graph logic in ``BlockwiseIO`` (:pr:`6933`) `Richard (Rick) Zamora`_
754- Get config item if variable is ``None`` (:pr:`6862`) `Jacob Tomlinson`_
755- Update ``from_pandas`` docstring (:pr:`6957`) `Richard (Rick) Zamora`_
756- Prevent ``fuse_roots`` from clobbering annotations (:pr:`6955`) `Simon Perkins`_
757
758
7592020.12.0
760---------
761
762Released on December 10, 2020
763
764Highlights
765^^^^^^^^^^
766
767- Switched to `CalVer <https://calver.org/>`_ for versioning scheme.
768- Introduced new APIs for ``HighLevelGraph`` to enable sending high-level representations of
769  task graphs to the distributed scheduler.
770- Introduced new ``HighLevelGraph`` layer objects including ``BasicLayer``, ``Blockwise``,
771  ``BlockwiseIO``, ``ShuffleLayer``, and more.
772- Added support for applying custom ``Layer``-level annotations like ``priority``, ``retries``,
773  etc. with the ``dask.annotations`` context manager.
774- Updated minimum supported version of pandas to 0.25.0 and NumPy to 1.15.1.
775- Support for the ``pyarrow.dataset`` API to ``read_parquet``.
776- Several fixes to Dask Array's SVD.
777
778All changes
779^^^^^^^^^^^
780
781- Make ``observed`` kwarg optional (:pr:`6952`) `Julia Signell`_
782- Min supported pandas 0.25.0 numpy 1.15.1 (:pr:`6895`) `Julia Signell`_
783- Make order of categoricals unambiguous (:pr:`6949`) `Julia Signell`_
784- Improve "pyarrow-dataset" statistics performance for ``read_parquet`` (:pr:`6918`) `Richard (Rick) Zamora`_
785- Add ``observed`` keyword to ``groupby`` (:pr:`6854`) `Julia Signell`_
786- Make sure ``include_path_column`` works when there are multiple partitions per file (:pr:`6911`) `Julia Signell`_
787- Fix: ``array.overlap`` and ``array.map_overlap`` block sizes are incorrect when depth is an unsigned bit type (:pr:`6909`) `GFleishman`_
788- Fix syntax error in HLG docs example (:pr:`6946`) `Mark`_
789- Return a ``Bag`` from ``sample`` (:pr:`6941`) `Shang Wang`_
790- Add ``ravel_multi_index`` (:pr:`6939`) `Illviljan`_
791- Enable parquet metadata collection in parallel (:pr:`6921`) `Richard (Rick) Zamora`_
792- Avoid using ``_file`` in ``progressbar`` if it is ``None`` (:pr:`6938`) `Mark Harfouche`_
793- Add Zarr to upstream CI build (:pr:`6932`) `James Bourbeau`_
794- Introduce ``BlockwiseIO`` layer (:pr:`6878`) `Richard (Rick) Zamora`_
795- Transmit ``Layer`` Annotations to Scheduler (:pr:`6889`) `Simon Perkins`_
796- Update opportunistic caching page to remove experimental warning (:pr:`6926`) `Timost`_
797- Allow ``pyarrow >2.0.0`` (:pr:`6772`) `Richard (Rick) Zamora`_
798- Support ``pyarrow.dataset`` API for ``read_parquet`` (:pr:`6534`) `Richard (Rick) Zamora`_
799- Add more informative error message to ``da.coarsen`` when coarsening factors do not divide shape (:pr:`6908`) `Davis Bennett`_
800- Only run the cron CI on ``dask/dask`` not forks (:pr:`6905`) `Jacob Tomlinson`_
801- Add ``annotations`` to ``ShuffleLayers`` (:pr:`6913`) `Matthew Rocklin`_
802- Temporarily xfail ``test_from_s3`` (:pr:`6915`) `James Bourbeau`_
803- Added dataframe ``skew`` method (:pr:`6881`) `Jan Borchmann`_
804- Fix ``dtype`` in array ``meta`` (:pr:`6893`) `Julia Signell`_
805- Missing ``name`` arg in ``helm install ...`` (:pr:`6903`) `Ruben van de Geer`_
806- Fix: exception when reading an item with filters (:pr:`6901`) `Martin Durant`_
807- Add support for ``cupyx`` sparse to ``dask.array.dot`` (:pr:`6846`) `Akira Naruse`_
808- Pin array mindeps up a bit to get the tests to pass [test-mindeps] (:pr:`6894`) `Julia Signell`_
809- Update/remove pandas and numpy in mindeps (:pr:`6888`) `Julia Signell`_
810- Fix ``ArrowEngine`` bug in use of ``clear_known_categories`` (:pr:`6887`) `Richard (Rick) Zamora`_
811- Fix documentation about task scheduler (:pr:`6879`) `Zhengnan Zhao`_
812- Add human relative time formatting utility (:pr:`6883`) `Jacob Tomlinson`_
813- Possible fix for 6864 ``set_index`` issue (:pr:`6866`) `Richard (Rick) Zamora`_
814- ``BasicLayer``: remove dependency arguments (:pr:`6859`) `Mads R. B. Kristensen`_
815- Serialization of ``Blockwise`` (:pr:`6848`) `Mads R. B. Kristensen`_
816- Address ``columns=[]`` bug (:pr:`6871`) `Richard (Rick) Zamora`_
817- Avoid duplicate parquet schema communication (:pr:`6841`) `Richard (Rick) Zamora`_
818- Add ``create_metadata_file`` utility for existing parquet datasets (:pr:`6851`) `Richard (Rick) Zamora`_
819- Improve ordering for workloads with a common terminus (:pr:`6779`) `Tom Augspurger`_
820- Stringify utilities (:pr:`6852`) `Mads R. B. Kristensen`_
821- Add keyword ``overwrite=True`` to ``to_parquet`` to remove dangling files when overwriting a pyarrow ``Dataset``. (:pr:`6825`) `Greg Hayes`_
822- Removed ``map_tasks()`` and ``map_basic_layers()`` (:pr:`6853`) `Mads R. B. Kristensen`_
823- Introduce QR iteration to ``svd_compressed`` (:pr:`6813`) `RogerMoens`_
824- ``__dask_distributed_pack__()`` now takes a ``client`` argument (:pr:`6850`) `Mads R. B. Kristensen`_
825- Use ``map_partitions`` instead of ``delayed`` in ``set_index`` (:pr:`6837`) `Mads R. B. Kristensen`_
826- Add doc hit for ``as_completed().update(futures)`` (:pr:`6817`) `manuels`_
827- Bump GHA ``setup-miniconda`` version (:pr:`6847`) `Jacob Tomlinson`_
828- Remove nans when setting sorted index (:pr:`6829`) `Rockwell Weiner`_
829- Fix transpose of u in SVD (:pr:`6799`) `RogerMoens`_
830- Migrate to GitHub Actions (:pr:`6794`) `Jacob Tomlinson`_
831- Fix sphinx ``currentmodule`` usage (:pr:`6839`) `James Bourbeau`_
832- Fix minimum dependencies CI builds (:pr:`6838`) `James Bourbeau`_
833- Avoid graph materialization during ``Blockwise`` culling (:pr:`6815`) `Richard (Rick) Zamora`_
834- Fixed typo (:pr:`6834`) `Devanshu Desai`_
835- Use ``HighLevelGraph.merge`` in ``collections_to_dsk`` (:pr:`6836`) `Mads R. B. Kristensen`_
836- Respect ``dtype`` in svd ``compression_matrix`` #2849 (:pr:`6802`) `RogerMoens`_
837- Add blocksize to task name (:pr:`6818`) `Julia Signell`_
838- Check for all-NaN partitions (:pr:`6821`) `Rockwell Weiner`_
839- Change "institutional" SQL doc section to point to main SQL doc (:pr:`6823`) `Martin Durant`_
840- Fix: ``DataFrame.join`` doesn't accept Series as other (:pr:`6809`) `David Katz`_
841- Remove ``to_delayed`` operations from ``to_parquet`` (:pr:`6801`) `Richard (Rick) Zamora`_
842- Layer annotation docstrings improvements (:pr:`6806`) `Simon Perkins`_
843- Avro reader (:pr:`6780`) `Martin Durant`_
844- Rechunk array if smallest chunk size is smaller than depth (:pr:`6708`) `Julia Signell`_
845- Add Layer Annotations (:pr:`6767`) `Simon Perkins`_
846- Add "view code" links to documentation (:pr:`6793`) `manuels`_
847- Add optional IO-subgraph to ``Blockwise`` Layers (:pr:`6715`) `Richard (Rick) Zamora`_
848- Add high level graph pack/unpack for distributed (:pr:`6786`) `Mads R. B. Kristensen`_
849- Add missing methods of the Dataframe API (:pr:`6789`) `Stephannie Jimenez Gacha`_
850- Add doc on managing environments (:pr:`6778`) `Martin Durant`_
851- HLG: ``get_all_external_keys()`` (:pr:`6774`) `Mads R. B. Kristensen`_
852- Avoid rechunking in reshape with ``chunksize=1`` (:pr:`6748`) `Tom Augspurger`_
853- Try to make categoricals work on join (:pr:`6205`) `Julia Signell`_
854- Fix some minor typos and trailing whitespaces in ``array-slice.rst`` (:pr:`6771`) `Magnus Nord`_
855- Bugfix for parquet metadata writes of empty dataframe partitions (pyarrow)  (:pr:`6741`) `Callum Noble`_
856- Document ``meta`` kwarg in ``map_blocks`` and ``map_overlap``. (:pr:`6763`) `Peter Andreas Entschev`_
857- Begin experimenting with parallel prefix scan for ``cumsum`` and ``cumprod`` (:pr:`6675`) `Erik Welch`_
858- Clarify differences in boolean indexing between dask and numpy arrays (:pr:`6764`) `Illviljan`_
859- Efficient serialization of shuffle layers (:pr:`6760`) `James Bourbeau`_
860- Config array optimize to skip fusion and return a HLG (:pr:`6751`) `Mads R. B. Kristensen`_
861- Temporarily use ``pyarrow<2`` in CI (:pr:`6759`) `James Bourbeau`_
862- Fix meta for ``min``/``max`` reductions (:pr:`6736`) `Peter Andreas Entschev`_
863- Add 2D possibility to ``da.linalg.lstsq`` - mirroring numpy (:pr:`6749`) `Pascal Bourgault`_
864- CI: Fixed bug causing flaky test failure in pivot (:pr:`6752`) `Tom Augspurger`_
865- Serialization of layers (:pr:`6693`) `Mads R. B. Kristensen`_
866- Add ``attrs`` property to Series/Dataframe (:pr:`6742`) `Illviljan`_
867- Removed Mutable Default Argument (:pr:`6747`) `Mads R. B. Kristensen`_
868- Adjust parquet ``ArrowEngine`` to allow more easy subclass for writing (:pr:`6505`) `Joris Van den Bossche`_
869- Add ``ShuffleStage`` HLG Layer (:pr:`6650`) `Richard (Rick) Zamora`_
870- Handle literal in ``meta_from_array`` (:pr:`6731`) `Peter Andreas Entschev`_
871- Do balanced rechunking even if chunks are the same (:pr:`6735`) `Chris Roat`_
872- Fix docstring ``DataFrame.set_index`` (:pr:`6739`) `Gil Forsyth`_
873- Ensure ``HighLevelGraph`` layers always contain ``Layer`` instances (:pr:`6716`) `James Bourbeau`_
874- Map on ``HighLevelGraph`` Layers (:pr:`6689`) `Mads R. B. Kristensen`_
875- Update overlap ``*_like`` function calls and CuPy tests (:pr:`6728`) `Peter Andreas Entschev`_
876- Fixes for ``svd`` with ``__array_function__`` (:pr:`6727`) `Peter Andreas Entschev`_
877- Added doctest extension for documentation (:pr:`6397`) `Jim Circadian`_
878- Minor fix to #5628 using @pentschev's suggestion (:pr:`6724`) `John A Kirkham`_
879- Change type of Dask array when meta type changes (:pr:`5628`) `Matthew Rocklin`_
880- Add ``az`` (:pr:`6719`) `Ray Bell`_
881- HLG: ``get_dependencies()`` of single keys (:pr:`6699`) `Mads R. B. Kristensen`_
882- Revert "Revert "Use HighLevelGraph layers everywhere in collections (:pr:`6510`)" (:pr:`6697`)" (:pr:`6707`) `Tom Augspurger`_
883- Allow ``*_like`` array creation functions to respect input array type (:pr:`6680`) `Genevieve Buckley`_
884- Update ``dask-sphinx-theme`` version (:pr:`6700`) `Gil Forsyth`_
885
886
8872.30.0 / 2020-10-06
888-------------------
889
890Array
891^^^^^
892
893- Allow ``rechunk`` to evenly split into N chunks (:pr:`6420`) `Scott Sievert`_
894
895
8962.29.0 / 2020-10-02
897-------------------
898
899Array
900^^^^^
901
902- ``_repr_html_``: color sides darker instead of drawing all the lines (:pr:`6683`) `Julia Signell`_
903- Removes warning from ``nanstd`` and ``nanvar`` (:pr:`6667`) `Thomas J. Fan`_
904- Get shape of output from original array - ``map_overlap`` (:pr:`6682`) `Julia Signell`_
905- Replace ``np.searchsorted`` with ``bisect`` in indexing (:pr:`6669`) `Joachim B Haga`_
906
907Bag
908^^^
909
910- Make sure subprocesses have a consistent hash for bag ``groupby`` (:pr:`6660`) `Itamar Turner-Trauring`_
911
912Core
913^^^^
914
915- Revert "Use ``HighLevelGraph`` layers everywhere in collections (:pr:`6510`)" (:pr:`6697`) `Tom Augspurger`_
916- Use ``pandas.testing`` (:pr:`6687`) `John A Kirkham`_
917- Improve 128-bit floating-point skip in tests (:pr:`6676`) `Elliott Sales de Andrade`_
918
919DataFrame
920^^^^^^^^^
921
922- Allow setting dataframe items using a bool dataframe (:pr:`6608`) `Julia Signell`_
923
924Documentation
925^^^^^^^^^^^^^
926
927- Fix typo (:pr:`6692`) `garanews`_
928- Fix a few typos (:pr:`6678`) `Pav A`_
929
930
9312.28.0 / 2020-09-25
932-------------------
933
934Array
935^^^^^
936
937- Partially reverted changes to ``Array`` indexing that produces large changes.
938  This restores the behavior from Dask 2.25.0 and earlier, with a warning
939  when large chunks are produced. A configuration option is provided
940  to avoid creating the large chunks, see :ref:`array.slicing.efficiency`.
941  (:pr:`6665`) `Tom Augspurger`_
942- Add ``meta`` to ``to_dask_array`` (:pr:`6651`) `Kyle Nicholson`_
943- Fix :pr:`6631` and :pr:`6611` (:pr:`6632`) `Rafal Wojdyla`_
944- Infer object in array reductions (:pr:`6629`) `Daniel Saxton`_
945- Adding ``v_based`` flag for ``svd_flip`` (:pr:`6658`) `Eric Czech`_
946- Fix flakey array ``mean`` (:pr:`6656`) `Sam Grayson`_
947
948Core
949^^^^
950
951- Removed ``dsk`` equality check from ``SubgraphCallable.__eq__`` (:pr:`6666`) `Mads R. B. Kristensen`_
952- Use ``HighLevelGraph`` layers everywhere in collections (:pr:`6510`) `Mads R. B. Kristensen`_
953- Adds hash dunder method to ``SubgraphCallable`` for caching purposes (:pr:`6424`) `Andrew Fulton`_
954- Stop writing commented out config files by default (:pr:`6647`) `Matthew Rocklin`_
955
956DataFrame
957^^^^^^^^^
958
959- Add support for collect list aggregation via ``agg`` API (:pr:`6655`) `Madhur Tandon`_
960- Slightly better error message (:pr:`6657`) `Julia Signell`_
961
962
9632.27.0 / 2020-09-18
964-------------------
965
966Array
967^^^^^
968
969- Preserve ``dtype`` in ``svd`` (:pr:`6643`) `Eric Czech`_
970
971Core
972^^^^
973
974- ``store()``: create a single HLG layer (:pr:`6601`) `Mads R. B. Kristensen`_
975- Add pre-commit CI build (:pr:`6645`) `James Bourbeau`_
976- Update ``.pre-commit-config`` to latest black. (:pr:`6641`) `Julia Signell`_
977- Update super usage to remove Python 2 compatibility (:pr:`6630`) `Poruri Sai Rahul`_
978- Remove u string prefixes (:pr:`6633`) `Poruri Sai Rahul`_
979
980DataFrame
981^^^^^^^^^
982
983- Improve error message for ``to_sql`` (:pr:`6638`) `Julia Signell`_
984- Use empty list as categories (:pr:`6626`) `Julia Signell`_
985
986Documentation
987^^^^^^^^^^^^^
988
989- Add ``autofunction`` to array api docs for more ufuncs (:pr:`6644`) `James Bourbeau`_
990- Add a number of missing ufuncs to ``dask.array`` docs (:pr:`6642`) `Ralf Gommers`_
991- Add ``HelmCluster`` docs (:pr:`6290`) `Jacob Tomlinson`_
992
993
9942.26.0 / 2020-09-11
995-------------------
996
997Array
998^^^^^
999
1000- Backend-aware dtype inference for single-chunk svd (:pr:`6623`) `Eric Czech`_
1001- Make ``array.reduction`` docstring match for dtype (:pr:`6624`) `Martin Durant`_
1002- Set lower bound on compression level for ``svd_compressed`` using rows and cols (:pr:`6622`) `Eric Czech`_
1003- Improve SVD consistency and small array handling (:pr:`6616`) `Eric Czech`_
1004- Add ``svd_flip`` #6599 (:pr:`6613`) `Eric Czech`_
1005- Handle sequences containing dask Arrays (:pr:`6595`) `Gabe Joseph`_
1006- Avoid large chunks from ``getitem`` with lists (:pr:`6514`) `Tom Augspurger`_
1007- Eagerly slice numpy arrays in ``from_array`` (:pr:`6605`) `Deepak Cherian`_
1008- Restore ability to pickle dask arrays (:pr:`6594`) `Noah D. Brenowitz`_
1009- Add SVD support for short-and-fat arrays (:pr:`6591`) `Eric Czech`_
1010- Add simple chunk type registry and defer as appropriate to upcast types (:pr:`6393`) `Jon Thielen`_
1011- Align coarsen chunks by default (:pr:`6580`) `Deepak Cherian`_
1012- Fixup reshape on unknown dimensions and other testing fixes (:pr:`6578`) `Ryan Williams`_
1013
1014Core
1015^^^^
1016
1017- Add validation and fixes for ``HighLevelGraph`` dependencies (:pr:`6588`) `Mads R. B. Kristensen`_
1018- Fix linting issue (:pr:`6598`) `Tom Augspurger`_
1019- Skip ``bokeh`` version 2.0.0 (:pr:`6572`) `John A Kirkham`_
1020
1021DataFrame
1022^^^^^^^^^
1023
1024- Added bytes/row calculation when using meta (:pr:`6585`) `McToel`_
1025- Handle ``min_count`` in ``Series.sum`` / ``prod`` (:pr:`6618`) `Daniel Saxton`_
1026- Update ``DataFrame.set_index`` docstring (:pr:`6549`) `Timost`_
1027- Always compute 0 and 1 quantiles during quantile calculations (:pr:`6564`) `Erik Welch`_
1028- Fix wrong path when reading empty csv file (:pr:`6573`) `Abdulelah Bin Mahfoodh`_
1029
1030Documentation
1031^^^^^^^^^^^^^
1032
1033- Doc: Troubleshooting dashboard 404 (:pr:`6215`) `Kilian Lieret`_
1034- Fixup ``extraConfig`` example (:pr:`6625`) `Tom Augspurger`_
1035- Update supported Python versions (:pr:`6609`) `Julia Signell`_
1036- Document dask/daskhub helm chart (:pr:`6560`) `Tom Augspurger`_
1037
1038
10392.25.0 / 2020-08-28
1040-------------------
1041
1042Core
1043^^^^
1044
1045- Compare key hashes in ``subs()`` (:pr:`6559`) `Mads R. B. Kristensen`_
1046- Rerun with latest ``black`` release (:pr:`6568`) `James Bourbeau`_
1047- License update (:pr:`6554`) `Tom Augspurger`_
1048
1049DataFrame
1050^^^^^^^^^
1051
1052- Add gs ``read_parquet`` example (:pr:`6548`) `Ray Bell`_
1053
1054Documentation
1055^^^^^^^^^^^^^
1056
1057- Remove version from documentation page names (:pr:`6558`) `James Bourbeau`_
1058- Update ``kubernetes-helm.rst`` (:pr:`6523`) `David Sheldon`_
1059- Stop 2020 survey (:pr:`6547`) `Tom Augspurger`_
1060
1061
10622.24.0 / 2020-08-22
1063-------------------
1064
1065Array
1066^^^^^
1067
1068-   Fix setting random seed in tests. (:pr:`6518`) `Elliott Sales de Andrade`_
1069-   Support meta in apply gufunc (:pr:`6521`) `joshreback`_
1070-   Replace `cupy.sparse` with `cupyx.scipy.sparse` (:pr:`6530`) `John A Kirkham`_
1071
1072Dataframe
1073^^^^^^^^^
1074
1075-   Bump up tolerance for rolling tests (:pr:`6502`) `Julia Signell`_
1076-   Implement DatFrame.__len__ (:pr:`6515`) `Tom Augspurger`_
1077-   Infer arrow schema in to_parquet  (for ArrowEngine`) (:pr:`6490`) `Richard (Rick) Zamora`_
1078-   Fix parquet test when no pyarrow (:pr:`6524`) `Martin Durant`_
1079-   Remove problematic ``filter`` arguments in ArrowEngine (:pr:`6527`) `Richard (Rick) Zamora`_
1080-   Avoid schema validation by default in ArrowEngine (:pr:`6536`) `Richard (Rick) Zamora`_
1081
1082Core
1083^^^^
1084
1085-   Use unpack_collections in make_blockwise_graph (:pr:`6517`) `Thomas J. Fan`_
1086-   Move key_split() from optimization.py to utils.py (:pr:`6529`) `Mads R. B. Kristensen`_
1087-   Make tests run on moto server (:pr:`6528`) `Martin Durant`_
1088
1089
10902.23.0 / 2020-08-14
1091-------------------
1092
1093Array
1094^^^^^
1095
1096- Reduce ``np.zeros``, ``ones``, and ``full`` array size with broadcasting (:pr:`6491`) `Matthias Bussonnier`_
1097- Add missing ``meta=`` for ``trim`` in ``map_overlap`` (:pr:`6494`) `Peter Andreas Entschev`_
1098
1099Bag
1100^^^
1101
1102- Bag repartition partition size (:pr:`6371`) `joshreback`_
1103
1104Core
1105^^^^
1106
1107- ``Scalar.__dask_layers__()`` to return ``self._name`` instead of ``self.key`` (:pr:`6507`) `Mads R. B. Kristensen`_
1108- Update dependencies correctly in ``fuse_root`` optimization (:pr:`6508`) `Mads R. B. Kristensen`_
1109
1110
1111DataFrame
1112^^^^^^^^^
1113
1114- Adds ``items`` to dataframe (:pr:`6503`) `Thomas J. Fan`_
1115- Include compression in ``write_table`` call (:pr:`6499`) `Julia Signell`_
1116- Fixed warning in ``nonempty_series`` (:pr:`6485`) `Tom Augspurger`_
1117- Intelligently determine partitions based on type of first arg (:pr:`6479`) `Matthew Rocklin`_
1118- Fix pyarrow ``mkdirs`` (:pr:`6475`) `Julia Signell`_
1119- Fix duplicate parquet output in ``to_parquet`` (:pr:`6451`) `michaelnarodovitch`_
1120
1121Documentation
1122^^^^^^^^^^^^^
1123
1124- Fix documentation ``da.histogram`` (:pr:`6439`) `Roberto Panai`_
1125- Add ``agg`` ``nunique`` example (:pr:`6404`) `Ray Bell`_
1126- Fixed a few typos in the SQL docs (:pr:`6489`) `Mike McCarty`_
1127- Docs for SQLing (:pr:`6453`) `Martin Durant`_
1128
1129
11302.22.0 / 2020-07-31
1131-------------------
1132
1133Array
1134^^^^^
1135
1136- Compatibility for NumPy dtype deprecation (:pr:`6430`) `Tom Augspurger`_
1137
1138Core
1139^^^^
1140
1141- Implement ``sizeof`` for some ``bytes``-like objects (:pr:`6457`) `John A Kirkham`_
1142- HTTP error for new ``fsspec`` (:pr:`6446`) `Martin Durant`_
1143- When ``RecursionError`` is raised, return uuid from ``tokenize`` function (:pr:`6437`) `Julia Signell`_
1144- Install deps of upstream-dev packages (:pr:`6431`) `Tom Augspurger`_
1145- Use updated link in ``setup.cfg`` (:pr:`6426`) `Zhengnan Zhao`_
1146
1147DataFrame
1148^^^^^^^^^
1149
1150- Add single quotes around column names if strings (:pr:`6471`) `Gil Forsyth`_
1151- Refactor ``ArrowEngine`` for better ``read_parquet`` performance (:pr:`6346`) `Richard (Rick) Zamora`_
1152- Add ``tolist`` dispatch (:pr:`6444`) `GALI PREM SAGAR`_
1153- Compatibility with pandas 1.1.0rc0 (:pr:`6429`) `Tom Augspurger`_
1154- Multi value pivot table (:pr:`6428`) `joshreback`_
1155- Duplicate argument definitions in ``to_csv`` docstring (:pr:`6411`) `Jun Han (Johnson) Ooi`_
1156
1157Documentation
1158^^^^^^^^^^^^^
1159
1160- Add utility to docs to convert YAML config to env vars and back (:pr:`6472`) `Jacob Tomlinson`_
1161- Fix parameter server rendering (:pr:`6466`) `Scott Sievert`_
1162- Fixes broken links (:pr:`6403`) `Jim Circadian`_
1163- Complete parameter server implementation in docs (:pr:`6449`) `Scott Sievert`_
1164- Fix typo (:pr:`6436`) `Jack Xiaosong Xu`_
1165
1166
11672.21.0 / 2020-07-17
1168-------------------
1169
1170Array
1171^^^^^
1172
1173- Correct error message in ``array.routines.gradient()`` (:pr:`6417`) `johnomotani`_
1174- Fix blockwise concatenate for array with some ``dimension=1`` (:pr:`6342`) `Matthias Bussonnier`_
1175
1176Bag
1177^^^
1178
1179- Fix ``bag.take`` example (:pr:`6418`) `Roberto Panai`_
1180
1181Core
1182^^^^
1183
1184- Groups values in optimization pass should only be graph and keys -- not an optimization + keys (:pr:`6409`) `Benjamin Zaitlen`_
1185- Call custom optimizations once, with ``kwargs`` provided (:pr:`6382`) `Clark Zinzow`_
1186- Include ``pickle5`` for testing on Python 3.7 (:pr:`6379`) `John A Kirkham`_
1187
1188DataFrame
1189^^^^^^^^^
1190
1191- Correct typo in error message (:pr:`6422`) `Tom McTiernan`_
1192- Use ``pytest.warns`` to check for ``UserWarning`` (:pr:`6378`) `Richard (Rick) Zamora`_
1193- Parse ``bytes_per_chunk keyword`` from string (:pr:`6370`) `Matthew Rocklin`_
1194
1195Documentation
1196^^^^^^^^^^^^^
1197
1198- Numpydoc formatting (:pr:`6421`) `Matthias Bussonnier`_
1199- Unpin ``numpydoc`` following 1.1 release (:pr:`6407`) `Gil Forsyth`_
1200- Numpydoc formatting (:pr:`6402`) `Matthias Bussonnier`_
1201- Add instructions for using conda when installing code for development (:pr:`6399`) `Ray Bell`_
1202- Update ``visualize`` docstrings (:pr:`6383`) `Zhengnan Zhao`_
1203
1204
12052.20.0 / 2020-07-02
1206-------------------
1207
1208Array
1209^^^^^
1210
1211- Register ``sizeof`` for numpy zero-strided arrays (:pr:`6343`) `Matthias Bussonnier`_
1212- Use ``concatenate_lookup`` in ``concatenate`` (:pr:`6339`) `John A Kirkham`_
1213- Fix rechunking of arrays with some zero-length dimensions (:pr:`6335`) `Matthias Bussonnier`_
1214
1215DataFrame
1216^^^^^^^^^
1217
1218- Dispatch ``iloc``` calls to ``getitem`` (:pr:`6355`) `Gil Forsyth`_
1219- Handle unnamed pandas ``RangeIndex`` in fastparquet engine (:pr:`6350`) `Richard (Rick) Zamora`_
1220- Preserve index when writing partitioned parquet datasets with pyarrow (:pr:`6282`) `Richard (Rick) Zamora`_
1221- Use ``ignore_index`` for pandas' ``group_split_dispatch`` (:pr:`6251`) `Richard (Rick) Zamora`_
1222
1223Documentation
1224^^^^^^^^^^^^^
1225
1226- Add doc describing argument (:pr:`6318`) `asmith26`_
1227
1228
12292.19.0 / 2020-06-19
1230-------------------
1231
1232Array
1233^^^^^
1234
1235- Cast chunk sizes to python int ``dtype`` (:pr:`6326`) `Gil Forsyth`_
1236- Add ``shape=None`` to ``*_like()`` array creation functions (:pr:`6064`) `Anderson Banihirwe`_
1237
1238Core
1239^^^^
1240
1241- Update expected error msg for protocol difference in fsspec (:pr:`6331`) `Gil Forsyth`_
1242- Fix for floats < 1 in ``parse_bytes`` (:pr:`6311`) `Gil Forsyth`_
1243- Fix exception causes all over the codebase (:pr:`6308`) `Ram Rachum`_
1244- Fix duplicated tests (:pr:`6303`) `James Lamb`_
1245- Remove unused testing function (:pr:`6304`) `James Lamb`_
1246
1247DataFrame
1248^^^^^^^^^
1249
1250- Add high-level CSV Subgraph (:pr:`6262`) `Gil Forsyth`_
1251- Fix ``ValueError`` when merging an index-only 1-partition dataframe (:pr:`6309`) `Krishan Bhasin`_
1252- Make ``index.map`` clear divisions. (:pr:`6285`) `Julia Signell`_
1253
1254Documentation
1255^^^^^^^^^^^^^
1256
1257- Add link to 2020 survey (:pr:`6328`) `Tom Augspurger`_
1258- Update ``bag.rst`` (:pr:`6317`) `Ben Shaver`_
1259
1260
12612.18.1 / 2020-06-09
1262-------------------
1263
1264Array
1265^^^^^
1266
1267- Don't try to set name on ``full`` (:pr:`6299`) `Julia Signell`_
1268- Histogram: support lazy values for range/bins (another way) (:pr:`6252`) `Gabe Joseph`_
1269
1270Core
1271^^^^
1272
1273- Fix exception causes in ``utils.py`` (:pr:`6302`) `Ram Rachum`_
1274- Improve performance of ``HighLevelGraph`` construction (:pr:`6293`) `Julia Signell`_
1275
1276Documentation
1277^^^^^^^^^^^^^
1278
1279- Now readthedocs builds unrelased features' docstrings (:pr:`6295`) `Antonio Ercole De Luca`_
1280- Add ``asyncssh`` intersphinx mappings (:pr:`6298`) `Jacob Tomlinson`_
1281
1282
12832.18.0 / 2020-06-05
1284-------------------
1285
1286Array
1287^^^^^
1288
1289- Cast slicing index to dask array if same shape as original (:pr:`6273`) `Julia Signell`_
1290- Fix ``stack`` error message (:pr:`6268`) `Stephanie Gott`_
1291- ``full`` & ``full_like``: error on non-scalar ``fill_value`` (:pr:`6129`) `Huite`_
1292- Support for multiple arrays in ``map_overlap`` (:pr:`6165`) `Eric Czech`_
1293- Pad resample divisions so that edges are counted (:pr:`6255`) `Julia Signell`_
1294
1295Bag
1296^^^
1297
1298- Random sampling of k elements from a dask bag #4799 (:pr:`6239`) `Antonio Ercole De Luca`_
1299
1300DataFrame
1301^^^^^^^^^
1302
1303- Add ``dropna``, ``sort``, and ``ascending`` to ``sort_values`` (:pr:`5880`) `Julia Signell`_
1304- Generalize ``from_dask_array`` (:pr:`6263`) `GALI PREM SAGAR`_
1305- Add derived docstring for ``SeriesGroupby.nunique`` (:pr:`6284`) `Julia Signell`_
1306- Remove ``NotImplementedError`` in resample with rule  (:pr:`6274`) `Abdulelah Bin Mahfoodh`_
1307- Add ``dd.to_sql`` (:pr:`6038`) `Ryan Williams`_
1308
1309Documentation
1310^^^^^^^^^^^^^
1311
1312- Update remote data section (:pr:`6258`) `Ray Bell`_
1313
1314
13152.17.2 / 2020-05-28
1316-------------------
1317
1318Core
1319^^^^
1320
1321- Re-add the ``complete`` extra (:pr:`6257`) `Jim Crist-Harif`_
1322
1323DataFrame
1324^^^^^^^^^
1325
1326- Raise error if ``resample`` isn't going to give right answer (:pr:`6244`) `Julia Signell`_
1327
1328
13292.17.1 / 2020-05-28
1330-------------------
1331
1332Array
1333^^^^^
1334
1335- Empty array rechunk (:pr:`6233`) `Andrew Fulton`_
1336
1337Core
1338^^^^
1339
1340- Make ``pyyaml`` required (:pr:`6250`) `Jim Crist-Harif`_
1341- Fix install commands from ``ImportError`` (:pr:`6238`) `Gaurav Sheni`_
1342- Remove issue template (:pr:`6249`) `Jacob Tomlinson`_
1343
1344DataFrame
1345^^^^^^^^^
1346
1347- Pass ``ignore_index`` to ``dd_shuffle`` from ``DataFrame.shuffle`` (:pr:`6247`) `Richard (Rick) Zamora`_
1348- Cope with missing HDF keys (:pr:`6204`) `Martin Durant`_
1349- Generalize ``describe`` & ``quantile`` apis (:pr:`5137`) `GALI PREM SAGAR`_
1350
1351
13522.17.0 / 2020-05-26
1353-------------------
1354
1355Array
1356^^^^^
1357
1358- Small improvements to ``da.pad`` (:pr:`6213`) `Mark Boer`_
1359- Return ``tuple`` if multiple outputs in ``dask.array.apply_gufunc``, add test to check for tuple (:pr:`6207`) `Kai Mühlbauer`_
1360- Support ``stack`` with unknown chunksizes (:pr:`6195`) `swapna`_
1361
1362Bag
1363^^^
1364
1365- Random Choice on Bags (:pr:`6208`) `Antonio Ercole De Luca`_
1366
1367Core
1368^^^^
1369
1370- Raise warning ``delayed.visualise()`` (:pr:`6216`) `Amol Umbarkar`_
1371- Ensure other pickle arguments work (:pr:`6229`) `John A Kirkham`_
1372- Overhaul ``fuse()`` config (:pr:`6198`) `Guido Imperiale`_
1373- Update ``dask.order.order`` to consider "next" nodes using both FIFO and LIFO (:pr:`5872`) `Erik Welch`_
1374
1375DataFrame
1376^^^^^^^^^
1377
1378- Use 0 as ``fill_value`` for more agg methods (:pr:`6245`) `Julia Signell`_
1379- Generalize ``rearrange_by_column_tasks`` and add ``DataFrame.shuffle`` (:pr:`6066`) `Richard (Rick) Zamora`_
1380- Xfail ``test_rolling_numba_engine`` for newer numba and older pandas (:pr:`6236`) `James Bourbeau`_
1381- Generalize ``fix_overlap`` (:pr:`6240`) `GALI PREM SAGAR`_
1382- Fix ``DataFrame.shape`` with no columns (:pr:`6237`) `noreentry`_
1383- Avoid shuffle when setting a presorted index with overlapping divisions (:pr:`6226`) `Krishan Bhasin`_
1384- Adjust the Parquet engine classes to allow more easily subclassing (:pr:`6211`) `Marius van Niekerk`_
1385- Fix ``dd.merge_asof`` with ``left_on='col'`` & ``right_index=True`` (:pr:`6192`) `noreentry`_
1386- Disable warning for ``concat`` (:pr:`6210`) `Tung Dang`_
1387- Move ``AUTO_BLOCKSIZE`` out of ``read_csv`` signature (:pr:`6214`) `Jim Crist-Harif`_
1388- ``.loc`` indexing with callable (:pr:`6185`) `Endre Mark Borza`_
1389- Avoid apply in ``_compute_sum_of_squares`` for groupby std agg (:pr:`6186`) `Richard (Rick) Zamora`_
1390- Minor correction to ``test_parquet`` (:pr:`6190`) `Brian Larsen`_
1391- Adhering to the passed pat for delimeter join and fix error message (:pr:`6194`) `GALI PREM SAGAR`_
1392- Skip ``test_to_parquet_with_get`` if no parquet libs available (:pr:`6188`) `Scott Sanderson`_
1393
1394Documentation
1395^^^^^^^^^^^^^
1396
1397- Added documentation for ``distributed.Event`` class (:pr:`6231`) `Nils Braun`_
1398- Doc write to remote (:pr:`6124`) `Ray Bell`_
1399
1400
14012.16.0 / 2020-05-08
1402-------------------
1403
1404Array
1405^^^^^
1406
1407- Fix array general-reduction name (:pr:`6176`) `Nick Evans`_
1408- Replace ``dim`` with ``shape`` in ``unravel_index`` (:pr:`6155`) `Julia Signell`_
1409- Moment: handle all elements being masked (:pr:`5339`) `Gabe Joseph`_
1410
1411Core
1412^^^^
1413
1414- Remove Redundant string concatenations in dask code-base (:pr:`6137`) `GALI PREM SAGAR`_
1415- Upstream compat (:pr:`6159`) `Tom Augspurger`_
1416- Ensure ``sizeof`` of dict and sequences returns an integer (:pr:`6179`) `James Bourbeau`_
1417- Estimate python collection sizes with random sampling (:pr:`6154`) `Florian Jetter`_
1418- Update test upstream (:pr:`6146`) `Tom Augspurger`_
1419- Skip test for mindeps build (:pr:`6144`) `Tom Augspurger`_
1420- Switch default multiprocessing context to "spawn" (:pr:`4003`) `Itamar Turner-Trauring`_
1421- Update manifest to include dask-schema (:pr:`6140`) `Benjamin Zaitlen`_
1422
1423DataFrame
1424^^^^^^^^^
1425
1426- Harden inconsistent-schema handling in pyarrow-based ``read_parquet`` (:pr:`6160`) `Richard (Rick) Zamora`_
1427- Add compute ``kwargs`` to methods that write data to disk (:pr:`6056`) `Krishan Bhasin`_
1428- Fix issue where ``unique`` returns an index like result from backends (:pr:`6153`) `GALI PREM SAGAR`_
1429- Fix internal error in ``map_partitions`` with collections (:pr:`6103`) `Tom Augspurger`_
1430
1431Documentation
1432^^^^^^^^^^^^^
1433
1434- Add phase of computation to index TOC (:pr:`6157`) `Benjamin Zaitlen`_
1435- Remove unused imports in scheduling script (:pr:`6138`) `James Lamb`_
1436- Fix indent (:pr:`6147`) `Martin Durant`_
1437- Add Tom's log config example (:pr:`6143`) `Martin Durant`_
1438
1439
14402.15.0 / 2020-04-24
1441-------------------
1442
1443Array
1444^^^^^
1445
1446- Update ``dask.array.from_array`` to warn when passed a Dask collection (:pr:`6122`) `James Bourbeau`_
1447- Un-numpy like behaviour in ``dask.array.pad`` (:pr:`6042`) `Mark Boer`_
1448- Add support for ``repeats=0`` in ``da.repeat`` (:pr:`6080`) `James Bourbeau`_
1449
1450Core
1451^^^^
1452
1453- Fix yaml layout for schema (:pr:`6132`) `Benjamin Zaitlen`_
1454- Configuration Reference (:pr:`6069`) `Benjamin Zaitlen`_
1455- Add configuration option to turn off task fusion (:pr:`6087`) `Matthew Rocklin`_
1456- Skip pyarrow on windows (:pr:`6094`) `Tom Augspurger`_
1457- Set limit to maximum length of fused key (:pr:`6057`) `Lucas Rademaker`_
1458- Add test against #6062 (:pr:`6072`) `Martin Durant`_
1459- Bump checkout action to v2 (:pr:`6065`) `James Bourbeau`_
1460
1461DataFrame
1462^^^^^^^^^
1463
1464- Generalize categorical calls to support cudf ``Categorical`` (:pr:`6113`) `GALI PREM SAGAR`_
1465- Avoid reading ``_metadata`` on every worker (:pr:`6017`) `Richard (Rick) Zamora`_
1466- Use ``group_split_dispatch`` and ``ignore_index`` in ``apply_concat_apply`` (:pr:`6119`) `Richard (Rick) Zamora`_
1467- Handle new (dtype) pandas metadata with pyarrow (:pr:`6090`) `Richard (Rick) Zamora`_
1468- Skip ``test_partition_on_cats_pyarrow`` if pyarrow is not installed (:pr:`6112`) `James Bourbeau`_
1469- Update DataFrame len to handle columns with the same name (:pr:`6111`) `James Bourbeau`_
1470- ``ArrowEngine`` bug fixes and test coverage (:pr:`6047`) `Richard (Rick) Zamora`_
1471- Added mode (:pr:`5958`) `Adam Lewis`_
1472
1473Documentation
1474^^^^^^^^^^^^^
1475
1476- Update "helm install" for helm 3 usage (:pr:`6130`) `JulianWgs`_
1477- Extend preload documentation (:pr:`6077`) `Matthew Rocklin`_
1478- Fixed small typo in DataFrame ``map_partitions()`` docstring (:pr:`6115`) `Eugene Huang`_
1479- Fix typo: "double" should be times, not plus (:pr:`6091`) `David Chudzicki`_
1480- Fix first line of ``array.random.*`` docs (:pr:`6063`) `Martin Durant`_
1481- Add section about ``Semaphore`` in distributed (:pr:`6053`) `Florian Jetter`_
1482
1483
14842.14.0 / 2020-04-03
1485-------------------
1486
1487Array
1488^^^^^
1489
1490- Added ``np.iscomplexobj`` implementation (:pr:`6045`) `Tom Augspurger`_
1491
1492Core
1493^^^^
1494
1495- Update ``test_rearrange_disk_cleanup_with_exception`` to pass without cloudpickle installed (:pr:`6052`) `James Bourbeau`_
1496- Fixed flaky ``test-rearrange`` (:pr:`5977`) `Tom Augspurger`_
1497
1498DataFrame
1499^^^^^^^^^
1500
1501- Use ``_meta_nonempty`` for dtype casting in ``stack_partitions`` (:pr:`6061`) `mlondschien`_
1502- Fix bugs in ``_metadata`` creation and filtering in parquet ``ArrowEngine`` (:pr:`6023`) `Richard (Rick) Zamora`_
1503
1504Documentation
1505^^^^^^^^^^^^^
1506
1507- DOC: Add name caveats (:pr:`6040`) `Tom Augspurger`_
1508
1509
15102.13.0 / 2020-03-25
1511-------------------
1512
1513Array
1514^^^^^
1515
1516- Support ``dtype`` and other keyword arguments in ``da.random`` (:pr:`6030`) `Matthew Rocklin`_
1517- Register support for ``cupy`` sparse ``hstack``/``vstack`` (:pr:`5735`) `Corey J. Nolet`_
1518- Force ``self.name`` to ``str`` in ``dask.array`` (:pr:`6002`) `Chuanzhu Xu`_
1519
1520Bag
1521^^^
1522
1523- Set ``rename_fused_keys`` to ``None`` by default in ``bag.optimize`` (:pr:`6000`) `Lucas Rademaker`_
1524
1525Core
1526^^^^
1527
1528- Copy dict in ``to_graphviz`` to prevent overwriting (:pr:`5996`) `JulianWgs`_
1529- Stricter pandas ``xfail`` (:pr:`6024`) `Tom Augspurger`_
1530- Fix CI failures (:pr:`6013`) `James Bourbeau`_
1531- Update ``toolz`` to 0.8.2 and use ``tlz`` (:pr:`5997`) `Ryan Grout`_
1532- Move Windows CI builds to GitHub Actions (:pr:`5862`) `James Bourbeau`_
1533
1534DataFrame
1535^^^^^^^^^
1536
1537- Improve path-related exceptions in ``read_hdf`` (:pr:`6032`) `psimaj`_
1538- Fix ``dtype`` handling in ``dd.concat`` (:pr:`6006`) `mlondschien`_
1539- Handle cudf's leftsemi and leftanti joins (:pr:`6025`) `Richard J Zamora`_
1540- Remove unused ``npartitions`` variable in ``dd.from_pandas`` (:pr:`6019`) `Daniel Saxton`_
1541- Added shuffle to ``DataFrame.random_split`` (:pr:`5980`) `petiop`_
1542
1543Documentation
1544^^^^^^^^^^^^^
1545
1546- Fix indentation in scheduler-overview docs (:pr:`6022`) `Matthew Rocklin`_
1547- Update task graphs in optimize docs (:pr:`5928`) `Julia Signell`_
1548- Optionally get rid of intermediary boxes in visualize, and add more labels (:pr:`5976`) `Julia Signell`_
1549
1550
15512.12.0 / 2020-03-06
1552-------------------
1553
1554Array
1555^^^^^
1556
1557- Improve reuse of temporaries with numpy (:pr:`5933`) `Bruce Merry`_
1558- Make ``map_blocks`` with ``block_info`` produce a ``Blockwise`` (:pr:`5896`) `Bruce Merry`_
1559- Optimize ``make_blockwise_graph`` (:pr:`5940`) `Bruce Merry`_
1560- Fix axes ordering in ``da.tensordot`` (:pr:`5975`) `Gil Forsyth`_
1561- Adds empty mode to ``array.pad`` (:pr:`5931`) `Thomas J. Fan`_
1562
1563Core
1564^^^^
1565
1566- Remove ``toolz.memoize`` dependency in ``dask.utils`` (:pr:`5978`) `Ryan Grout`_
1567- Close pool leaking subprocess (:pr:`5979`) `Tom Augspurger`_
1568- Pin ``numpydoc`` to ``0.8.0`` (fix double autoescape) (:pr:`5961`) `Gil Forsyth`_
1569- Register deterministic tokenization for ``range`` objects (:pr:`5947`) `James Bourbeau`_
1570- Unpin ``msgpack`` in CI (:pr:`5930`) `JAmes Bourbeau`_
1571- Ensure dot results are placed in unique files. (:pr:`5937`) `Elliott Sales de Andrade`_
1572- Add remaining optional dependencies to Travis 3.8 CI build environment (:pr:`5920`) `James Bourbeau`_
1573
1574DataFrame
1575^^^^^^^^^
1576
1577- Skip parquet ``getitem`` optimization for some keys (:pr:`5917`) `Tom Augspurger`_
1578- Add ``ignore_index`` argument to ``rearrange_by_column`` code path (:pr:`5973`) `Richard J Zamora`_
1579- Add DataFrame and Series ``memory_usage_per_partition`` methods (:pr:`5971`) `James Bourbeau`_
1580- ``xfail`` test_describe when using Pandas 0.24.2 (:pr:`5948`) `James Bourbeau`_
1581- Implement ``dask.dataframe.to_numeric`` (:pr:`5929`) `Julia Signell`_
1582- Add new error message content when columns are in a different order (:pr:`5927`) `Julia Signell`_
1583- Use shallow copy for assign operations when possible (:pr:`5740`) `Richard J Zamora`_
1584
1585Documentation
1586^^^^^^^^^^^^^
1587
1588- Changed above to below in ``dask.array.triu`` docs (:pr:`5984`) `Henrik Andersson`_
1589- Array slicing: fix typo in ``slice_with_int_dask_array`` error message (:pr:`5981`) `Gabe Joseph`_
1590- Grammar and formatting updates to docstrings (:pr:`5963`) `James Lamb`_
1591- Update develop doc with conda option (:pr:`5939`) `Ray Bell`_
1592- Update title of DataFrame extension docs (:pr:`5954`) `James Bourbeau`_
1593- Fixed typos in documentation (:pr:`5962`) `James Lamb`_
1594- Add original class or module as a ``kwarg`` on ``_bind_*`` methods (:pr:`5946`) `Julia Signell`_
1595- Add collect list example (:pr:`5938`) `Ray Bell`_
1596- Update optimization doc for python 3 (:pr:`5926`) `Julia Signell`_
1597
1598
15992.11.0 / 2020-02-19
1600-------------------
1601
1602Array
1603^^^^^
1604
1605- Cache result of ``Array.shape`` (:pr:`5916`) `Bruce Merry`_
1606- Improve accuracy of ``estimate_graph_size`` for ``rechunk`` (:pr:`5907`) `Bruce Merry`_
1607- Skip rechunk steps that do not alter chunking (:pr:`5909`) `Bruce Merry`_
1608- Support ``dtype`` and other ``kwargs`` in ``coarsen`` (:pr:`5903`) `Matthew Rocklin`_
1609- Push chunk override from ``map_blocks`` into blockwise (:pr:`5895`) `Bruce Merry`_
1610- Avoid using ``rewrite_blockwise`` for a singleton (:pr:`5890`) `Bruce Merry`_
1611- Optimize ``slices_from_chunks`` (:pr:`5891`) `Bruce Merry`_
1612- Avoid unnecessary ``__getitem__`` in ``block()`` when chunks have correct dimensionality (:pr:`5884`) `Thomas Robitaille`_
1613
1614Bag
1615^^^
1616
1617- Add ``include_path`` option for ``dask.bag.read_text`` (:pr:`5836`) `Yifan Gu`_
1618- Fixes ``ValueError`` in delayed execution of bagged NumPy array (:pr:`5828`) `Surya Avala`_
1619
1620Core
1621^^^^
1622
1623- CI: Pin ``msgpack`` (:pr:`5923`) `Tom Augspurger`_
1624- Rename ``test_inner`` to ``test_outer`` (:pr:`5922`) `Shiva Raisinghani`_
1625- ``quote`` should quote dicts too (:pr:`5905`) `Bruce Merry`_
1626- Register a normalizer for literal (:pr:`5898`) `Bruce Merry`_
1627- Improve layer name synthesis for non-HLGs (:pr:`5888`) `Bruce Merry`_
1628- Replace flake8 pre-commit-hook with upstream (:pr:`5892`) `Julia Signell`_
1629- Call pip as a module to avoid warnings (:pr:`5861`) `Cyril Shcherbin`_
1630- Close ``ThreadPool`` at exit (:pr:`5852`) `Tom Augspurger`_
1631- Remove ``dask.dataframe`` import in tokenization code (:pr:`5855`) `James Bourbeau`_
1632
1633DataFrame
1634^^^^^^^^^
1635
1636- Require ``pandas>=0.23`` (:pr:`5883`) `Tom Augspurger`_
1637- Remove lambda from dataframe aggregation (:pr:`5901`) `Matthew Rocklin`_
1638- Fix exception chaining in ``dataframe/__init__.py`` (:pr:`5882`) `Ram Rachum`_
1639- Add support for reductions on empty dataframes (:pr:`5804`) `Shiva Raisinghani`_
1640- Expose ``sort=`` argument for groupby (:pr:`5801`) `Richard J Zamora`_
1641- Add ``df.empty`` property (:pr:`5711`) `rockwellw`_
1642- Use parquet read speed-ups from ``fastparquet.api.paths_to_cats``. (:pr:`5821`) `Igor Gotlibovych`_
1643
1644Documentation
1645^^^^^^^^^^^^^
1646
1647- Deprecate ``doc_wraps`` (:pr:`5912`) `Tom Augspurger`_
1648- Update array internal design docs for HighLevelGraph era (:pr:`5889`) `Bruce Merry`_
1649- Move over dashboard connection docs (:pr:`5877`) `Matthew Rocklin`_
1650- Move prometheus docs from distributed.dask.org (:pr:`5876`) `Matthew Rocklin`_
1651- Removing duplicated DO block at the end (:pr:`5878`) `K.-Michael Aye`_
1652- ``map_blocks`` see also (:pr:`5874`) `Tom Augspurger`_
1653- More derived from (:pr:`5871`) `Julia Signell`_
1654- Fix typo (:pr:`5866`) `Yetunde Dada`_
1655- Fix typo in ``cloud.rst`` (:pr:`5860`) `Andrew Thomas`_
1656- Add note pointing to code of conduct and diversity statement (:pr:`5844`) `Matthew Rocklin`_
1657
1658
16592.10.1 / 2020-01-30
1660-------------------
1661
1662- Fix Pandas 1.0 version comparison (:pr:`5851`) `Tom Augspurger`_
1663- Fix typo in distributed diagnostics documentation (:pr:`5841`) `Gerrit Holl`_
1664
1665
16662.10.0 / 2020-01-28
1667-------------------
1668
1669- Support for pandas 1.0's new ``BooleanDtype`` and ``StringDtype`` (:pr:`5815`) `Tom Augspurger`_
1670- Compatibility with pandas 1.0's API breaking changes and deprecations (:pr:`5792`) `Tom Augspurger`_
1671- Fixed non-deterministic tokenization of some extension-array backed pandas objects (:pr:`5813`) `Tom Augspurger`_
1672- Fixed handling of dataclass class objects in collections (:pr:`5812`) `Matteo De Wint`_
1673- Fixed resampling with tz-aware dates when one of the endpoints fell in a non-existent time (:pr:`5807`) `dfonnegra`_
1674- Delay initial Zarr dataset creation until the computation occurs (:pr:`5797`) `Chris Roat`_
1675- Use parquet dataset statistics in more cases with the ``pyarrow`` engine (:pr:`5799`) `Richard J Zamora`_
1676- Fixed exception in ``groupby.std()`` when some of the keys were large integers (:pr:`5737`) `H. Thomson Comer`_
1677
1678
16792.9.2 / 2020-01-16
1680------------------
1681
1682Array
1683^^^^^
1684
1685- Unify chunks in ``broadcast_arrays`` (:pr:`5765`) `Matthew Rocklin`_
1686
1687Core
1688^^^^
1689
1690- ``xfail`` CSV encoding tests (:pr:`5791`) `Tom Augspurger`_
1691- Update order to handle empty dask graph (:pr:`5789`) `James Bourbeau`_
1692- Redo ``dask.order.order`` (:pr:`5646`) `Erik Welch`_
1693
1694DataFrame
1695^^^^^^^^^
1696
1697- Add transparent compression for on-disk shuffle with ``partd`` (:pr:`5786`) `Christian Wesp`_
1698- Fix ``repr`` for empty dataframes (:pr:`5781`) `Shiva Raisinghani`_
1699- Pandas 1.0.0RC0 compat (:pr:`5784`) `Tom Augspurger`_
1700- Remove buggy assertions (:pr:`5783`) `Tom Augspurger`_
1701- Pandas 1.0 compat (:pr:`5782`) `Tom Augspurger`_
1702- Fix bug in pyarrow-based ``read_parquet`` on partitioned datasets (:pr:`5777`) `Richard J Zamora`_
1703- Compat for pandas 1.0 (:pr:`5779`) `Tom Augspurger`_
1704- Fix groupby/mean error with with categorical index (:pr:`5776`) `Richard J Zamora`_
1705- Support empty partitions when performing cumulative aggregation (:pr:`5730`) `Matthew Rocklin`_
1706- ``set_index`` accepts single-item unnested list (:pr:`5760`) `Wes Roach`_
1707- Fixed partitioning in set index for ordered ``Categorical`` (:pr:`5715`) `Tom Augspurger`_
1708
1709Documentation
1710^^^^^^^^^^^^^
1711
1712- Note additional use case for ``normalize_token.register`` (:pr:`5766`) `Thomas A Caswell`_
1713- Update bag ``repartition`` docstring (:pr:`5772`) `Timost`_
1714- Small typos (:pr:`5771`) `Maarten Breddels`_
1715- Fix typo in Task Expectations docs (:pr:`5767`) `James Bourbeau`_
1716- Add docs section on task expectations to graph page (:pr:`5764`) `Devin Petersohn`_
1717
1718
17192.9.1 / 2019-12-27
1720------------------
1721
1722Array
1723^^^^^
1724
1725-  Support Array.view with dtype=None (:pr:`5736`) `Anderson Banihirwe`_
1726-  Add dask.array.nanmedian (:pr:`5684`) `Deepak Cherian`_
1727
1728Core
1729^^^^
1730
1731-  xfail test_temporary_directory on Python 3.8 (:pr:`5734`) `James Bourbeau`_
1732-  Add support for Python 3.8 (:pr:`5603`) `James Bourbeau`_
1733-  Use id to dedupe constants in rewrite_blockwise (:pr:`5696`) `Jim Crist`_
1734
1735DataFrame
1736^^^^^^^^^
1737
1738-  Raise error when converting a dask dataframe scalar to a boolean (:pr:`5743`) `James Bourbeau`_
1739-  Ensure dataframe groupby-variance is greater than zero (:pr:`5728`) `Matthew Rocklin`_
1740-  Fix DataFrame.__iter__ (:pr:`5719`) `Tom Augspurger`_
1741-  Support Parquet filters in disjunctive normal form, like PyArrow (:pr:`5656`) `Matteo De Wint`_
1742-  Auto-detect categorical columns in ArrowEngine-based read_parquet (:pr:`5690`) `Richard J Zamora`_
1743-  Skip parquet getitem optimization tests if no engine found (:pr:`5697`) `James Bourbeau`_
1744-  Fix independent optimization of parquet-getitem (:pr:`5613`) `Tom Augspurger`_
1745
1746Documentation
1747^^^^^^^^^^^^^
1748
1749-  Update helm config doc (:pr:`5750`) `Ray Bell`_
1750-  Link to examples.dask.org in several places (:pr:`5733`) `Tom Augspurger`_
1751-  Add missing " in performance report example (:pr:`5724`) `James Bourbeau`_
1752-  Resolve several documentation build warnings (:pr:`5685`) `James Bourbeau`_
1753-  add info on performance_report (:pr:`5713`) `Benjamin Zaitlen`_
1754-  Add more docs disclaimers (:pr:`5710`) `Julia Signell`_
1755-  Fix simple typo: wihout -> without (:pr:`5708`) `Tim Gates`_
1756-  Update numpydoc dependency (:pr:`5694`) `James Bourbeau`_
1757
1758
17592.9.0 / 2019-12-06
1760------------------
1761
1762Array
1763^^^^^
1764- Fix ``da.std`` to work with NumPy arrays (:pr:`5681`) `James Bourbeau`_
1765
1766Core
1767^^^^
1768- Register ``sizeof`` functions for Numba and RMM (:pr:`5668`) `John A Kirkham`_
1769- Update meeting time (:pr:`5682`) `Tom Augspurger`_
1770
1771DataFrame
1772^^^^^^^^^
1773- Modify ``dd.DataFrame.drop`` to use shallow copy (:pr:`5675`) `Richard J Zamora`_
1774- Fix bug in ``_get_md_row_groups`` (:pr:`5673`) `Richard J Zamora`_
1775- Close sqlalchemy engine after querying DB (:pr:`5629`) `Krishan Bhasin`_
1776- Allow ``dd.map_partitions`` to not enforce meta (:pr:`5660`) `Matthew Rocklin`_
1777- Generalize ``concat_unindexed_dataframes`` to support cudf-backend (:pr:`5659`) `Richard J Zamora`_
1778- Add dataframe resample methods (:pr:`5636`) `Benjamin Zaitlen`_
1779- Compute length of dataframe as length of first column (:pr:`5635`) `Matthew Rocklin`_
1780
1781Documentation
1782^^^^^^^^^^^^^
1783- Doc fixup (:pr:`5665`) `James Bourbeau`_
1784- Update doc build instructions (:pr:`5640`) `James Bourbeau`_
1785- Fix ADL link (:pr:`5639`) `Ray Bell`_
1786- Add documentation build (:pr:`5617`) `James Bourbeau`_
1787
1788
17892.8.1 / 2019-11-22
1790------------------
1791
1792Array
1793^^^^^
1794- Use auto rechunking in ``da.rechunk`` if no value given (:pr:`5605`) `Matthew Rocklin`_
1795
1796Core
1797^^^^
1798- Add simple action to activate GH actions (:pr:`5619`) `James Bourbeau`_
1799
1800DataFrame
1801^^^^^^^^^
1802- Fix "file_path_0" bug in ``aggregate_row_groups`` (:pr:`5627`) `Richard J Zamora`_
1803- Add ``chunksize`` argument to ``read_parquet`` (:pr:`5607`) `Richard J Zamora`_
1804- Change ``test_repartition_npartitions`` to support arch64 architecture (:pr:`5620`) `ossdev07`_
1805- Categories lost after groupby + agg (:pr:`5423`) `Oliver Hofkens`_
1806- Fixed relative path issue with parquet metadata file (:pr:`5608`) `Nuno Gomes Silva`_
1807- Enable gpu-backed covariance/correlation in dataframes (:pr:`5597`) `Richard J Zamora`_
1808
1809Documentation
1810^^^^^^^^^^^^^
1811- Fix institutional faq and unknown doc warnings (:pr:`5616`) `James Bourbeau`_
1812- Add doc for some utils (:pr:`5609`) `Tom Augspurger`_
1813- Removes ``html_extra_path`` (:pr:`5614`) `James Bourbeau`_
1814- Fixed See Also referencence (:pr:`5612`) `Tom Augspurger`_
1815
1816
18172.8.0 / 2019-11-14
1818------------------
1819
1820Array
1821^^^^^
1822-  Implement complete dask.array.tile function (:pr:`5574`) `Bouwe Andela`_
1823-  Add median along an axis with automatic rechunking (:pr:`5575`) `Matthew Rocklin`_
1824-  Allow da.asarray to chunk inputs (:pr:`5586`) `Matthew Rocklin`_
1825
1826Bag
1827^^^
1828
1829-  Use key_split in Bag name (:pr:`5571`) `Matthew Rocklin`_
1830
1831Core
1832^^^^
1833-  Switch Doctests to Py3.7 (:pr:`5573`) `Ryan Nazareth`_
1834-  Relax get_colors test to adapt to new Bokeh release (:pr:`5576`) `Matthew Rocklin`_
1835-  Add dask.blockwise.fuse_roots optimization (:pr:`5451`) `Matthew Rocklin`_
1836-  Add sizeof implementation for small dicts (:pr:`5578`) `Matthew Rocklin`_
1837-  Update fsspec, gcsfs, s3fs (:pr:`5588`) `Tom Augspurger`_
1838
1839DataFrame
1840^^^^^^^^^
1841-  Add dropna argument to groupby (:pr:`5579`) `Richard J Zamora`_
1842-  Revert "Remove import of dask_cudf, which is now a part of cudf (:pr:`5568`)" (:pr:`5590`) `Matthew Rocklin`_
1843
1844Documentation
1845^^^^^^^^^^^^^
1846
1847-  Add best practice for dask.compute function (:pr:`5583`) `Matthew Rocklin`_
1848-  Create FUNDING.yml (:pr:`5587`) `Gina Helfrich`_
1849-  Add screencast for coordination primitives (:pr:`5593`) `Matthew Rocklin`_
1850-  Move funding to .github repo (:pr:`5589`) `Tom Augspurger`_
1851-  Update calendar link (:pr:`5569`) `Tom Augspurger`_
1852
1853
18542.7.0 / 2019-11-08
1855------------------
1856
1857This release drops support for Python 3.5
1858
1859Array
1860^^^^^
1861
1862-  Reuse code for assert_eq util method (:pr:`5496`) `Vijayant`_
1863-  Update da.array to always return a dask array (:pr:`5510`) `James Bourbeau`_
1864-  Skip transpose on trivial inputs (:pr:`5523`) `Ryan Abernathey`_
1865-  Avoid NumPy scalar string representation in tokenize (:pr:`5527`) `James Bourbeau`_
1866-  Remove unnecessary tiledb shape constraint (:pr:`5545`) `Norman Barker`_
1867-  Removes bytes from sparse array HTML repr (:pr:`5556`) `James Bourbeau`_
1868
1869Core
1870^^^^
1871
1872-  Drop Python 3.5 (:pr:`5528`) `James Bourbeau`_
1873-  Update the use of fixtures in distributed tests (:pr:`5497`) `Matthew Rocklin`_
1874-  Changed deprecated bokeh-port to dashboard-address (:pr:`5507`) `darindf`_
1875-  Avoid updating with identical dicts in ensure_dict (:pr:`5501`) `James Bourbeau`_
1876-  Test Upstream (:pr:`5516`) `Tom Augspurger`_
1877-  Accelerate reverse_dict (:pr:`5479`) `Ryan Grout`_
1878-  Update test_imports.sh (:pr:`5534`) `James Bourbeau`_
1879-  Support cgroups limits on cpu count in multiprocess and threaded schedulers (:pr:`5499`) `Albert DeFusco`_
1880-  Update minimum pyarrow version on CI (:pr:`5562`) `James Bourbeau`_
1881-  Make cloudpickle optional (:pr:`5511`) `Guido Imperiale`_
1882
1883DataFrame
1884^^^^^^^^^
1885
1886-  Add an example of index_col usage (:pr:`3072`) `Bruno Bonfils`_
1887-  Explicitly use iloc for row indexing (:pr:`5500`) `Krishan Bhasin`_
1888-  Accept dask arrays on columns assignemnt (:pr:`5224`) `Henrique Ribeiro`-
1889-  Implement unique and value_counts for SeriesGroupBy (:pr:`5358`) `Scott Sievert`_
1890-  Add sizeof definition for pyarrow tables and columns (:pr:`5522`) `Richard J Zamora`_
1891-  Enable row-group task partitioning in pyarrow-based read_parquet (:pr:`5508`) `Richard J Zamora`_
1892-  Removes npartitions='auto' from dd.merge docstring (:pr:`5531`) `James Bourbeau`_
1893-  Apply enforce error message shows non-overlapping columns. (:pr:`5530`) `Tom Augspurger`_
1894-  Optimize meta_nonempty for repetitive dtypes (:pr:`5553`) `Petio Petrov`_
1895-  Remove import of dask_cudf, which is now a part of cudf (:pr:`5568`) `Mads R. B. Kristensen`_
1896
1897Documentation
1898^^^^^^^^^^^^^
1899
1900-  Make capitalization more consistent in FAQ docs (:pr:`5512`) `Matthew Rocklin`_
1901-  Add CONTRIBUTING.md (:pr:`5513`) `Jacob Tomlinson`_
1902-  Document optional dependencies (:pr:`5456`) `Prithvi MK`_
1903-  Update helm chart docs to reflect new chart repo (:pr:`5539`) `Jacob Tomlinson`_
1904-  Add Resampler to API docs (:pr:`5551`) `James Bourbeau`_
1905-  Fix typo in read_sql_table (:pr:`5554`) `Eric Dill`_
1906-  Add adaptive deployments screencast [skip ci] (:pr:`5566`) `Matthew Rocklin`_
1907
1908
19092.6.0 / 2019-10-15
1910------------------
1911
1912Core
1913^^^^
1914
1915- Call ``ensure_dict`` on graphs before entering ``toolz.merge`` (:pr:`5486`) `Matthew Rocklin`_
1916- Consolidating hash dispatch functions (:pr:`5476`) `Richard J Zamora`_
1917
1918DataFrame
1919^^^^^^^^^
1920
1921- Support Python 3.5 in Parquet code (:pr:`5491`) `Benjamin Zaitlen`_
1922- Avoid identity check in ``warn_dtype_mismatch`` (:pr:`5489`) `Tom Augspurger`_
1923- Enable unused groupby tests (:pr:`3480`) `Jörg Dietrich`_
1924- Remove old parquet and bcolz dataframe optimizations (:pr:`5484`) `Matthew Rocklin`_
1925- Add getitem optimization for ``read_parquet`` (:pr:`5453`) `Tom Augspurger`_
1926- Use ``_constructor_sliced`` method to determine Series type (:pr:`5480`) `Richard J Zamora`_
1927- Fix map(series) for unsorted base series index (:pr:`5459`) `Justin Waugh`_
1928- Fix ``KeyError`` with Groupby label (:pr:`5467`) `Ryan Nazareth`_
1929
1930Documentation
1931^^^^^^^^^^^^^
1932
1933- Use Zoom meeting instead of appear.in (:pr:`5494`) `Matthew Rocklin`_
1934- Added curated list of resources (:pr:`5460`) `Javad`_
1935- Update SSH docs to include ``SSHCluster`` (:pr:`5482`) `Matthew Rocklin`_
1936- Update "Why Dask?" page (:pr:`5473`) `Matthew Rocklin`_
1937- Fix typos in docstrings (:pr:`5469`) `garanews`_
1938
1939
19402.5.2 / 2019-10-04
1941------------------
1942
1943Array
1944^^^^^
1945
1946-  Correct chunk size logic for asymmetric overlaps (:pr:`5449`) `Ben Jeffery`_
1947-  Make da.unify_chunks public API (:pr:`5443`) `Matthew Rocklin`_
1948
1949DataFrame
1950^^^^^^^^^
1951
1952-  Fix dask.dataframe.fillna handling of Scalar object (:pr:`5463`) `Zhenqing Li`_
1953
1954Documentation
1955^^^^^^^^^^^^^
1956
1957-  Remove boxes in Spark comparison page (:pr:`5445`) `Matthew Rocklin`_
1958-  Add latest presentations (:pr:`5446`) `Javad`_
1959-  Update cloud documentation (:pr:`5444`) `Matthew Rocklin`_
1960
1961
19622.5.0 / 2019-09-27
1963------------------
1964
1965Core
1966^^^^
1967
1968-  Add sentinel no_default to get_dependencies task (:pr:`5420`) `James Bourbeau`_
1969-  Update fsspec version (:pr:`5415`) `Matthew Rocklin`_
1970-  Remove PY2 checks (:pr:`5400`) `Jim Crist`_
1971
1972DataFrame
1973^^^^^^^^^
1974
1975-  Add option to not check meta in dd.from_delayed (:pr:`5436`) `Christopher J. Wright`_
1976-  Fix test_timeseries_nulls_in_schema failures with pyarrow master (:pr:`5421`) `Richard J Zamora`_
1977-  Reduce read_metadata output size in pyarrow/parquet (:pr:`5391`) `Richard J Zamora`_
1978-  Test numeric edge case for repartition with npartitions. (:pr:`5433`) `amerkel2`_
1979-  Unxfail pandas-datareader test (:pr:`5430`) `Tom Augspurger`_
1980-  Add DataFrame.pop implementation (:pr:`5422`) `Matthew Rocklin`_
1981-  Enable merge/set_index for cudf-based dataframes with cupy ``values`` (:pr:`5322`) `Richard J Zamora`_
1982-  drop_duplicates support for positional subset parameter (:pr:`5410`) `Wes Roach`_
1983
1984Documentation
1985^^^^^^^^^^^^^
1986
1987-  Add screencasts to array, bag, dataframe, delayed, futures and setup  (:pr:`5429`) (:pr:`5424`) `Matthew Rocklin`_
1988-  Fix delimeter parsing documentation (:pr:`5428`) `Mahmut Bulut`_
1989-  Update overview image (:pr:`5404`) `James Bourbeau`_
1990
1991
19922.4.0 / 2019-09-13
1993------------------
1994
1995Array
1996^^^^^
1997
1998- Adds explicit ``h5py.File`` mode (:pr:`5390`) `James Bourbeau`_
1999- Provides method to compute unknown array chunks sizes (:pr:`5312`) `Scott Sievert`_
2000- Ignore runtime warning in Array ``compute_meta`` (:pr:`5356`) `estebanag`_
2001- Add ``_meta`` to ``Array.__dask_postpersist__`` (:pr:`5353`) `Benoit Bovy`_
2002- Fixup ``da.asarray`` and ``da.asanyarray`` for datetime64 dtype and xarray objects (:pr:`5334`) `Stephan Hoyer`_
2003- Add shape implementation (:pr:`5293`) `Tom Augspurger`_
2004- Add chunktype to array text repr (:pr:`5289`) `James Bourbeau`_
2005- Array.random.choice: handle array-like non-arrays (:pr:`5283`) `Gabe Joseph`_
2006
2007Core
2008^^^^
2009
2010- Remove deprecated code (:pr:`5401`) `Jim Crist`_
2011- Fix ``funcname`` when vectorized func has no ``__name__`` (:pr:`5399`) `James Bourbeau`_
2012- Truncate ``funcname`` to avoid long key names (:pr:`5383`) `Matthew Rocklin`_
2013- Add support for ``numpy.vectorize`` in ``funcname`` (:pr:`5396`) `James Bourbeau`_
2014- Fixed HDFS upstream test (:pr:`5395`) `Tom Augspurger`_
2015- Support numbers and None in ``parse_bytes``/``timedelta`` (:pr:`5384`) `Matthew Rocklin`_
2016- Fix tokenizing of subindexes on memmapped numpy arrays (:pr:`5351`) `Henry Pinkard`_
2017- Upstream fixups (:pr:`5300`) `Tom Augspurger`_
2018
2019DataFrame
2020^^^^^^^^^
2021
2022- Allow pandas to cast type of statistics (:pr:`5402`) `Richard J Zamora`_
2023- Preserve index dtype after applying ``dd.pivot_table`` (:pr:`5385`) `therhaag`_
2024- Implement explode for Series and DataFrame (:pr:`5381`) `Arpit Solanki`_
2025- ``set_index`` on categorical fails with less categories than partitions (:pr:`5354`) `Oliver Hofkens`_
2026- Support output to a single CSV file (:pr:`5304`) `Hongjiu Zhang`_
2027- Add ``groupby().transform()`` (:pr:`5327`) `Oliver Hofkens`_
2028- Adding filter kwarg to pyarrow dataset call (:pr:`5348`) `Richard J Zamora`_
2029- Implement and check compression defaults for parquet (:pr:`5335`) `Sarah Bird`_
2030- Pass sqlalchemy params to delayed objects (:pr:`5332`) `Arpit Solanki`_
2031- Fixing schema handling in arrow-parquet (:pr:`5307`) `Richard J Zamora`_
2032- Add support for DF and Series ``groupby().idxmin/max()`` (:pr:`5273`) `Oliver Hofkens`_
2033- Add correlation calculation and add test (:pr:`5296`) `Benjamin Zaitlen`_
2034
2035Documentation
2036^^^^^^^^^^^^^
2037
2038- Numpy docstring standard has moved (:pr:`5405`) `Wes Roach`_
2039- Reference correct NumPy array name (:pr:`5403`) `Wes Roach`_
2040- Minor edits to Array chunk documentation (:pr:`5372`) `Scott Sievert`_
2041- Add methods to API docs (:pr:`5387`) `Tom Augspurger`_
2042- Add namespacing to configuration example (:pr:`5374`) `Matthew Rocklin`_
2043- Add get_task_stream and profile to the diagnostics page (:pr:`5375`) `Matthew Rocklin`_
2044- Add best practice to load data with Dask (:pr:`5369`) `Matthew Rocklin`_
2045- Update ``institutional-faq.rst`` (:pr:`5345`) `DomHudson`_
2046- Add threads and processes note to the best practices (:pr:`5340`) `Matthew Rocklin`_
2047- Update cuDF links (:pr:`5328`) `James Bourbeau`_
2048- Fixed small typo with parentheses placement (:pr:`5311`) `Eugene Huang`_
2049- Update link in reshape docstring (:pr:`5297`) `James Bourbeau`_
2050
2051
20522.3.0 / 2019-08-16
2053------------------
2054
2055Array
2056^^^^^
2057
2058- Raise exception when ``from_array`` is given a dask array (:pr:`5280`) `David Hoese`_
2059- Avoid adjusting gufunc's meta dtype twice (:pr:`5274`) `Peter Andreas Entschev`_
2060- Add ``meta=`` keyword to map_blocks and add test with sparse (:pr:`5269`) `Matthew Rocklin`_
2061- Add rollaxis and moveaxis (:pr:`4822`) `Tobias de Jong`_
2062- Always increment old chunk index (:pr:`5256`) `James Bourbeau`_
2063- Shuffle dask array (:pr:`3901`) `Tom Augspurger`_
2064- Fix ordering when indexing a dask array with a bool dask array (:pr:`5151`) `James Bourbeau`_
2065
2066Bag
2067^^^
2068
2069- Add workaround for memory leaks in bag generators (:pr:`5208`) `Marco Neumann`_
2070
2071Core
2072^^^^
2073
2074- Set strict xfail option (:pr:`5220`) `James Bourbeau`_
2075- test-upstream (:pr:`5267`) `Tom Augspurger`_
2076- Fixed HDFS CI failure (:pr:`5234`) `Tom Augspurger`_
2077- Error nicely if no file size inferred (:pr:`5231`) `Jim Crist`_
2078- A few changes to ``config.set`` (:pr:`5226`) `Jim Crist`_
2079- Fixup black string normalization (:pr:`5227`) `Jim Crist`_
2080- Pin NumPy in windows tests (:pr:`5228`) `Jim Crist`_
2081- Ensure parquet tests are skipped if fastparquet and pyarrow not installed (:pr:`5217`) `James Bourbeau`_
2082- Add fsspec to readthedocs (:pr:`5207`) `Matthew Rocklin`_
2083- Bump NumPy and Pandas to 1.17 and 0.25 in CI test (:pr:`5179`) `John A Kirkham`_
2084
2085DataFrame
2086^^^^^^^^^
2087
2088- Fix ``DataFrame.query`` docstring (incorrect numexpr API) (:pr:`5271`) `Doug Davis`_
2089- Parquet metadata-handling improvements (:pr:`5218`) `Richard J Zamora`_
2090- Improve messaging around sorted parquet columns for index (:pr:`5265`) `Martin Durant`_
2091- Add ``rearrange_by_divisions`` and ``set_index`` support for cudf (:pr:`5205`) `Richard J Zamora`_
2092- Fix ``groupby.std()`` with integer colum names (:pr:`5096`) `Nicolas Hug`_
2093- Add ``Series.__iter__`` (:pr:`5071`) `Blane`_
2094- Generalize ``hash_pandas_object`` to work for non-pandas backends (:pr:`5184`) `GALI PREM SAGAR`_
2095- Add rolling cov (:pr:`5154`) `Ivars Geidans`_
2096- Add columns argument in drop function (:pr:`5223`) `Henrique Ribeiro`_
2097
2098Documentation
2099^^^^^^^^^^^^^
2100
2101- Update institutional FAQ doc (:pr:`5277`) `Matthew Rocklin`_
2102- Add draft of institutional FAQ (:pr:`5214`) `Matthew Rocklin`_
2103- Make boxes for dask-spark page (:pr:`5249`) `Martin Durant`_
2104- Add motivation for shuffle docs (:pr:`5213`) `Matthew Rocklin`_
2105- Fix links and API entries for best-practices (:pr:`5246`) `Martin Durant`_
2106- Remove "bytes" (internal data ingestion) doc page (:pr:`5242`) `Martin Durant`_
2107- Redirect from our local distributed page to distributed.dask.org (:pr:`5248`) `Matthew Rocklin`_
2108- Cleanup API page (:pr:`5247`) `Matthew Rocklin`_
2109- Remove excess endlines from install docs (:pr:`5243`) `Matthew Rocklin`_
2110- Remove item list in phases of computation doc (:pr:`5245`) `Martin Durant`_
2111- Remove custom graphs from the TOC sidebar (:pr:`5241`) `Matthew Rocklin`_
2112- Remove experimental status of custom collections (:pr:`5236`) `James Bourbeau`_
2113- Adds table of contents to Why Dask? (:pr:`5244`) `James Bourbeau`_
2114- Moves bag overview to top-level bag page (:pr:`5240`) `James Bourbeau`_
2115- Remove use-cases in favor of stories.dask.org (:pr:`5238`) `Matthew Rocklin`_
2116- Removes redundant TOC information in index.rst (:pr:`5235`) `James Bourbeau`_
2117- Elevate dashboard in distributed diagnostics documentation (:pr:`5239`) `Martin Durant`_
2118- Updates "add" layer in HLG docs example (:pr:`5237`) `James Bourbeau`_
2119- Update GUFunc documentation (:pr:`5232`) `Matthew Rocklin`_
2120
2121
21222.2.0 / 2019-08-01
2123------------------
2124
2125Array
2126^^^^^
2127
2128-  Use da.from_array(..., asarray=False) if input follows NEP-18 (:pr:`5074`) `Matthew Rocklin`_
2129-  Add missing attributes to from_array documentation (:pr:`5108`) `Peter Andreas Entschev`_
2130-  Fix meta computation for some reduction functions (:pr:`5035`) `Peter Andreas Entschev`_
2131-  Raise informative error in to_zarr if unknown chunks (:pr:`5148`) `James Bourbeau`_
2132-  Remove invalid pad tests (:pr:`5122`) `Tom Augspurger`_
2133-  Ignore NumPy warnings in compute_meta (:pr:`5103`) `Peter Andreas Entschev`_
2134-  Fix kurtosis calc for single dimension input array (:pr:`5177`) `@andrethrill`_
2135-  Support Numpy 1.17 in tests (:pr:`5192`) `Matthew Rocklin`_
2136
2137Bag
2138^^^
2139
2140-  Supply pool to bag test to resolve intermittent failure (:pr:`5172`) `Tom Augspurger`_
2141
2142Core
2143^^^^
2144
2145-  Base dask on fsspec (:pr:`5064`) (:pr:`5121`) `Martin Durant`_
2146-  Various upstream compatibility fixes (:pr:`5056`) `Tom Augspurger`_
2147-  Make distributed tests optional again. (:pr:`5128`) `Elliott Sales de Andrade`_
2148-  Fix HDFS in dask (:pr:`5130`) `Martin Durant`_
2149-  Ignore some more invalid value warnings. (:pr:`5140`) `Elliott Sales de Andrade`_
2150
2151DataFrame
2152^^^^^^^^^
2153
2154-  Fix pd.MultiIndex size estimate (:pr:`5066`) `Brett Naul`_
2155-  Generalizing has_known_categories (:pr:`5090`) `GALI PREM SAGAR`_
2156-  Refactor Parquet engine (:pr:`4995`) `Richard J Zamora`_
2157-  Add divide method to series and dataframe (:pr:`5094`) `msbrown47`_
2158-  fix flaky partd test (:pr:`5111`) `Tom Augspurger`_
2159-  Adjust is_dataframe_like to adjust for value_counts change (:pr:`5143`) `Tom Augspurger`_
2160-  Generalize rolling windows to support non-Pandas dataframes (:pr:`5149`) `Nick Becker`_
2161-  Avoid unnecessary aggregation in pivot_table (:pr:`5173`) `Daniel Saxton`_
2162-  Add column names to apply_and_enforce error message (:pr:`5180`) `Matthew Rocklin`_
2163-  Add schema keyword argument to to_parquet (:pr:`5150`) `Sarah Bird`_
2164-  Remove recursion error in accessors (:pr:`5182`) `Jim Crist`_
2165-  Allow fastparquet to handle gather_statistics=False for file lists (:pr:`5157`) `Richard J Zamora`_
2166
2167Documentation
2168^^^^^^^^^^^^^
2169
2170-  Adds NumFOCUS badge to the README (:pr:`5086`) `James Bourbeau`_
2171-  Update developer docs [ci skip] (:pr:`5093`) `Jim Crist`_
2172-  Document DataFrame.set_index computataion behavior `Natalya Rapstine`_
2173-  Use pip install . instead of calling setup.py (:pr:`5139`) `Matthias Bussonier`_
2174-  Close user survey (:pr:`5147`) `Tom Augspurger`_
2175-  Fix Google Calendar meeting link (:pr:`5155`) `Loïc Estève`_
2176-  Add docker image customization example (:pr:`5171`) `James Bourbeau`_
2177-  Update remote-data-services after fsspec (:pr:`5170`) `Martin Durant`_
2178-  Fix typo in spark.rst (:pr:`5164`) `Xavier Holt`_
2179-  Update setup/python docs for async/await API (:pr:`5163`) `Matthew Rocklin`_
2180-  Update Local Storage HPC documentation (:pr:`5165`) `Matthew Rocklin`_
2181
2182
2183
21842.1.0 / 2019-07-08
2185------------------
2186
2187Array
2188^^^^^
2189
2190- Add ``recompute=`` keyword to ``svd_compressed`` for lower-memory use (:pr:`5041`) `Matthew Rocklin`_
2191- Change ``__array_function__`` implementation for backwards compatibility (:pr:`5043`) `Ralf Gommers`_
2192- Added ``dtype`` and ``shape`` kwargs to ``apply_along_axis`` (:pr:`3742`) `Davis Bennett`_
2193- Fix reduction with empty tuple axis (:pr:`5025`) `Peter Andreas Entschev`_
2194- Drop size 0 arrays in ``stack`` (:pr:`4978`) `John A Kirkham`_
2195
2196Core
2197^^^^
2198
2199- Removes index keyword from pandas ``to_parquet`` call (:pr:`5075`) `James Bourbeau`_
2200- Fixes upstream dev CI build installation (:pr:`5072`) `James Bourbeau`_
2201- Ensure scalar arrays are not rendered to SVG (:pr:`5058`) `Willi Rath`_
2202- Environment creation overhaul (:pr:`5038`) `Tom Augspurger`_
2203- s3fs, moto compatibility (:pr:`5033`) `Tom Augspurger`_
2204- pytest 5.0 compat (:pr:`5027`) `Tom Augspurger`_
2205
2206DataFrame
2207^^^^^^^^^
2208
2209- Fix ``compute_meta`` recursion in blockwise (:pr:`5048`) `Peter Andreas Entschev`_
2210- Remove hard dependency on pandas in ``get_dummies`` (:pr:`5057`) `GALI PREM SAGAR`_
2211- Check dtypes unchanged when using ``DataFrame.assign`` (:pr:`5047`) `asmith26`_
2212- Fix cumulative functions on tables with more than 1 partition (:pr:`5034`) `tshatrov`_
2213- Handle non-divisible sizes in repartition (:pr:`5013`) `George Sakkis`_
2214- Handles timestamp and ``preserve_index`` changes in pyarrow (:pr:`5018`) `Richard J Zamora`_
2215- Fix undefined ``meta`` for ``str.split(expand=False)`` (:pr:`5022`) `Brett Naul`_
2216- Removed checks used for debugging ``merge_asof`` (:pr:`5011`) `Cody Johnson`_
2217- Don't use type when getting accessor in dataframes (:pr:`4992`) `Matthew Rocklin`_
2218- Add ``melt`` as a method of Dask DataFrame (:pr:`4984`) `Dustin Tindall`_
2219- Adds path-like support to ``to_hdf`` (:pr:`5003`) `James Bourbeau`_
2220
2221Documentation
2222^^^^^^^^^^^^^
2223
2224- Point to latest K8s setup article in JupyterHub docs (:pr:`5065`) `Sean McKenna`_
2225- Changes vizualize to visualize (:pr:`5061`) `David Brochart`_
2226- Fix ``from_sequence`` typo in delayed best practices (:pr:`5045`) `James Bourbeau`_
2227- Add user survey link to docs (:pr:`5026`) `James Bourbeau`_
2228- Fixes typo in optimization docs (:pr:`5015`) `James Bourbeau`_
2229- Update community meeting information (:pr:`5006`) `Tom Augspurger`_
2230
2231
22322.0.0 / 2019-06-25
2233------------------
2234
2235Array
2236^^^^^
2237
2238-  Support automatic chunking in da.indices (:pr:`4981`) `James Bourbeau`_
2239-  Err if there are no arrays to stack (:pr:`4975`) `John A Kirkham`_
2240-  Asymmetrical Array Overlap (:pr:`4863`) `Michael Eaton`_
2241-  Dispatch concatenate where possible within dask array (:pr:`4669`) `Hameer Abbasi`_
2242-  Fix tokenization of memmapped numpy arrays on different part of same file (:pr:`4931`) `Henry Pinkard`_
2243-  Preserve NumPy condition in da.asarray to preserve output shape (:pr:`4945`) `Alistair Miles`_
2244-  Expand foo_like_safe usage (:pr:`4946`) `Peter Andreas Entschev`_
2245-  Defer order/casting einsum parameters to NumPy implementation (:pr:`4914`) `Peter Andreas Entschev`_
2246-  Remove numpy warning in moment calculation (:pr:`4921`) `Matthew Rocklin`_
2247-  Fix meta_from_array to support Xarray test suite (:pr:`4938`) `Matthew Rocklin`_
2248-  Cache chunk boundaries for integer slicing (:pr:`4923`) `Bruce Merry`_
2249-  Drop size 0 arrays in concatenate (:pr:`4167`) `John A Kirkham`_
2250-  Raise ValueError if concatenate is given no arrays (:pr:`4927`) `John A Kirkham`_
2251-  Promote types in `concatenate` using `_meta` (:pr:`4925`) `John A Kirkham`_
2252-  Add chunk type to html repr in Dask array (:pr:`4895`) `Matthew Rocklin`_
2253-  Add Dask Array._meta attribute (:pr:`4543`) `Peter Andreas Entschev`_
2254    -  Fix _meta slicing of flexible types (:pr:`4912`) `Peter Andreas Entschev`_
2255    -  Minor meta construction cleanup in concatenate (:pr:`4937`) `Peter Andreas Entschev`_
2256    -  Further relax Array meta checks for Xarray (:pr:`4944`) `Matthew Rocklin`_
2257    -  Support meta= keyword in da.from_delayed (:pr:`4972`) `Matthew Rocklin`_
2258    -  Concatenate meta along axis (:pr:`4977`) `John A Kirkham`_
2259    -  Use meta in stack (:pr:`4976`) `John A Kirkham`_
2260    -  Move blockwise_meta to more general compute_meta function (:pr:`4954`) `Matthew Rocklin`_
2261-  Alias .partitions to .blocks attribute of dask arrays (:pr:`4853`) `Genevieve Buckley`_
2262-  Drop outdated `numpy_compat` functions (:pr:`4850`) `John A Kirkham`_
2263-  Allow da.eye to support arbitrary chunking sizes with chunks='auto'  (:pr:`4834`) `Anderson Banihirwe`_
2264-  Fix CI warnings in dask.array tests (:pr:`4805`) `Tom Augspurger`_
2265-  Make map_blocks work with drop_axis + block_info (:pr:`4831`) `Bruce Merry`_
2266-  Add SVG image and table in Array._repr_html_ (:pr:`4794`) `Matthew Rocklin`_
2267-  ufunc: avoid __array_wrap__ in favor of __array_function__ (:pr:`4708`) `Peter Andreas Entschev`_
2268-  Ensure trivial padding returns the original array (:pr:`4990`) `John A Kirkham`_
2269-  Test ``da.block`` with 0-size arrays (:pr:`4991`) `John A Kirkham`_
2270
2271
2272Core
2273^^^^
2274
2275-  **Drop Python 2.7** (:pr:`4919`) `Jim Crist`_
2276-  Quiet dependency installs in CI (:pr:`4960`) `Tom Augspurger`_
2277-  Raise on warnings in tests (:pr:`4916`) `Tom Augspurger`_
2278-  Add a diagnostics extra to setup.py (includes bokeh) (:pr:`4924`) `John A Kirkham`_
2279-  Add newline delimter keyword to OpenFile (:pr:`4935`) `btw08`_
2280-  Overload HighLevelGraphs values method (:pr:`4918`) `James Bourbeau`_
2281-  Add __await__ method to Dask collections (:pr:`4901`) `Matthew Rocklin`_
2282-  Also ignore AttributeErrors which may occur if snappy (not python-snappy) is installed (:pr:`4908`) `Mark Bell`_
2283-  Canonicalize key names in config.rename (:pr:`4903`) `Ian Bolliger`_
2284-  Bump minimum partd to 0.3.10 (:pr:`4890`) `Tom Augspurger`_
2285-  Catch async def SyntaxError (:pr:`4836`) `James Bourbeau`_
2286-  catch IOError in ensure_file (:pr:`4806`) `Justin Poehnelt`_
2287-  Cleanup CI warnings (:pr:`4798`) `Tom Augspurger`_
2288-  Move distributed's parse and format functions to dask.utils (:pr:`4793`) `Matthew Rocklin`_
2289-  Apply black formatting (:pr:`4983`) `James Bourbeau`_
2290-  Package license file in wheels (:pr:`4988`) `John A Kirkham`_
2291
2292
2293DataFrame
2294^^^^^^^^^
2295
2296-  Add an optional partition_size parameter to repartition (:pr:`4416`) `George Sakkis`_
2297-  merge_asof and prefix_reduction (:pr:`4877`) `Cody Johnson`_
2298-  Allow dataframes to be indexed by dask arrays (:pr:`4882`) `Endre Mark Borza`_
2299-  Avoid deprecated message parameter in pytest.raises (:pr:`4962`) `James Bourbeau`_
2300-  Update test_to_records to test with lengths argument(:pr:`4515`) `asmith26`_
2301-  Remove pandas pinning in Dataframe accessors (:pr:`4955`) `Matthew Rocklin`_
2302-  Fix correlation of series with same names (:pr:`4934`) `Philipp S. Sommer`_
2303-  Map Dask Series to Dask Series (:pr:`4872`) `Justin Waugh`_
2304-  Warn in dd.merge on dtype warning (:pr:`4917`) `mcsoini`_
2305-  Add groupby Covariance/Correlation (:pr:`4889`) `Benjamin Zaitlen`_
2306-  keep index name with to_datetime (:pr:`4905`) `Ian Bolliger`_
2307-  Add Parallel variance computation for dataframes (:pr:`4865`) `Ksenia Bobrova`_
2308-  Add divmod implementation to arrays and dataframes (:pr:`4884`) `Henrique Ribeiro`_
2309-  Add documentation for dataframe reshape methods (:pr:`4896`) `tpanza`_
2310-  Avoid use of pandas.compat (:pr:`4881`) `Tom Augspurger`_
2311-  Added accessor registration for Series, DataFrame, and Index (:pr:`4829`) `Tom Augspurger`_
2312-  Add read_function keyword to read_json (:pr:`4810`) `Richard J Zamora`_
2313-  Provide full type name in check_meta (:pr:`4819`) `Matthew Rocklin`_
2314-  Correctly estimate bytes per row in read_sql_table (:pr:`4807`) `Lijo Jose`_
2315-  Adding support of non-numeric data to describe() (:pr:`4791`) `Ksenia Bobrova`_
2316-  Scalars for extension dtypes. (:pr:`4459`) `Tom Augspurger`_
2317-  Call head before compute in dd.from_delayed (:pr:`4802`) `Matthew Rocklin`_
2318-  Add support for rolling operations with larger window that partition size in DataFrames with Time-based index (:pr:`4796`) `Jorge Pessoa`_
2319-  Update groupby-apply doc with warning (:pr:`4800`) `Tom Augspurger`_
2320-  Change groupby-ness tests in `_maybe_slice` (:pr:`4786`) `Benjamin Zaitlen`_
2321-  Add master best practices document (:pr:`4745`) `Matthew Rocklin`_
2322-  Add document for how Dask works with GPUs (:pr:`4792`) `Matthew Rocklin`_
2323-  Add cli API docs (:pr:`4788`) `James Bourbeau`_
2324-  Ensure concat output has coherent dtypes (:pr:`4692`) `Guillaume Lemaitre`_
2325-  Fixes pandas_datareader dependencies installation (:pr:`4989`) `James Bourbeau`_
2326-  Accept pathlib.Path as pattern in read_hdf (:pr:`3335`) `Jörg Dietrich`_
2327
2328
2329Documentation
2330^^^^^^^^^^^^^
2331
2332-  Move CLI API docs to relavant pages (:pr:`4980`) `James Bourbeau`_
2333-  Add to_datetime function to dataframe API docs `Matthew Rocklin`_
2334-  Add documentation entry for dask.array.ma.average (:pr:`4970`) `Bouwe Andela`_
2335-  Add bag.read_avro to bag API docs (:pr:`4969`) `James Bourbeau`_
2336-  Fix typo (:pr:`4968`) `mbarkhau`_
2337-  Docs: Drop support for Python 2.7 (:pr:`4932`) `Hugo`_
2338-  Remove requirement to modify changelog (:pr:`4915`) `Matthew Rocklin`_
2339-  Add documentation about meta column order (:pr:`4887`) `Tom Augspurger`_
2340-  Add documentation note in DataFrame.shift (:pr:`4886`) `Tom Augspurger`_
2341-  Docs: Fix typo (:pr:`4868`) `Paweł Kordek`_
2342-  Put do/don't into boxes for delayed best practice docs (:pr:`3821`) `Martin Durant`_
2343-  Doc fixups (:pr:`2528`) `Tom Augspurger`_
2344-  Add quansight to paid support doc section (:pr:`4838`) `Martin Durant`_
2345-  Add document for custom startup (:pr:`4833`) `Matthew Rocklin`_
2346-  Allow `utils.derive_from` to accept functions, apply across array (:pr:`4804`) `Martin Durant`_
2347-  Add "Avoid Large Partitions" section to best practices (:pr:`4808`) `Matthew Rocklin`_
2348-  Update URL for joblib to new website hosting their doc (:pr:`4816`) `Christian Hudon`_
2349
23501.2.2 / 2019-05-08
2351------------------
2352
2353Array
2354^^^^^
2355
2356- Clarify regions kwarg to array.store (:pr:`4759`) `Martin Durant`_
2357- Add dtype= parameter to da.random.randint (:pr:`4753`) `Matthew Rocklin`_
2358- Use "row major" rather than "C order" in docstring (:pr:`4452`) `@asmith26`_
2359- Normalize Xarray datasets to Dask arrays (:pr:`4756`) `Matthew Rocklin`_
2360- Remove normed keyword in da.histogram (:pr:`4755`) `Matthew Rocklin`_
2361
2362Bag
2363^^^
2364
2365- Add key argument to Bag.distinct (:pr:`4423`) `Daniel Severo`_
2366
2367Core
2368^^^^
2369
2370- Add core dask config file (:pr:`4774`) `Matthew Rocklin`_
2371- Add core dask config file to MANIFEST.in (:pr:`4780`) `James Bourbeau`_
2372- Enabling glob with HTTP file-system (:pr:`3926`) `Martin Durant`_
2373- HTTPFile.seek with whence=1 (:pr:`4751`) `Martin Durant`_
2374- Remove config key normalization (:pr:`4742`) `Jim Crist`_
2375
2376DataFrame
2377^^^^^^^^^
2378
2379- Remove explicit references to Pandas in dask.dataframe.groupby (:pr:`4778`) `Matthew Rocklin`_
2380- Add support for group_keys kwarg in DataFrame.groupby() (:pr:`4771`) `Brian Chu`_
2381- Describe doc (:pr:`4762`) `Martin Durant`_
2382- Remove explicit pandas check in cumulative aggregations (:pr:`4765`) `Nick Becker`_
2383- Added meta for read_json and test (:pr:`4588`) `Abhinav Ralhan`_
2384- Add test for dtype casting (:pr:`4760`) `Martin Durant`_
2385- Document alignment in map_partitions (:pr:`4757`) `Jim Crist`_
2386- Implement Series.str.split(expand=True) (:pr:`4744`) `Matthew Rocklin`_
2387
2388Documentation
2389^^^^^^^^^^^^^
2390
2391- Tweaks to develop.rst from trying to run tests (:pr:`4772`) `Christian Hudon`_
2392- Add document describing phases of computation (:pr:`4766`) `Matthew Rocklin`_
2393- Point users to Dask-Yarn from spark documentation (:pr:`4770`) `Matthew Rocklin`_
2394- Update images in delayed doc to remove labels (:pr:`4768`) `Martin Durant`_
2395- Explain intermediate storage for dask arrays (:pr:`4025`) `John A Kirkham`_
2396- Specify bash code-block in array best practices (:pr:`4764`) `James Bourbeau`_
2397- Add array best practices doc (:pr:`4705`) `Matthew Rocklin`_
2398- Update optimization docs now that cull is not automatic (:pr:`4752`) `Matthew Rocklin`_
2399
2400
24011.2.1 / 2019-04-29
2402------------------
2403
2404Array
2405^^^^^
2406
2407-  Fix map_blocks with block_info and broadcasting (:pr:`4737`) `Bruce Merry`_
2408-  Make 'minlength' keyword argument optional in da.bincount (:pr:`4684`) `Genevieve Buckley`_
2409-  Add support for map_blocks with no array arguments (:pr:`4713`) `Bruce Merry`_
2410-  Add dask.array.trace (:pr:`4717`) `Danilo Horta`_
2411-  Add sizeof support for cupy.ndarray (:pr:`4715`) `Peter Andreas Entschev`_
2412-  Add name kwarg to from_zarr (:pr:`4663`) `Michael Eaton`_
2413-  Add chunks='auto' to from_array (:pr:`4704`) `Matthew Rocklin`_
2414-  Raise TypeError if dask array is given as shape for da.ones, zeros, empty or full (:pr:`4707`) `Genevieve Buckley`_
2415-  Add TileDB backend (:pr:`4679`) `Isaiah Norton`_
2416
2417Core
2418^^^^
2419
2420-  Delay long list arguments (:pr:`4735`) `Matthew Rocklin`_
2421-  Bump to numpy >= 1.13, pandas >= 0.21.0 (:pr:`4720`) `Jim Crist`_
2422-  Remove file "test" (:pr:`4710`) `James Bourbeau`_
2423-  Reenable development build, uses upstream libraries (:pr:`4696`) `Peter Andreas Entschev`_
2424-  Remove assertion in HighLevelGraph constructor (:pr:`4699`) `Matthew Rocklin`_
2425
2426DataFrame
2427^^^^^^^^^
2428
2429-  Change cum-aggregation last-nonnull-value algorithm (:pr:`4736`) `Nick Becker`_
2430-  Fixup series-groupby-apply (:pr:`4738`) `Jim Crist`_
2431-  Refactor array.percentile and dataframe.quantile to use t-digest (:pr:`4677`) `Janne Vuorela`_
2432-  Allow naive concatenation of sorted dataframes (:pr:`4725`) `Matthew Rocklin`_
2433-  Fix perf issue in dd.Series.isin (:pr:`4727`) `Jim Crist`_
2434-  Remove hard pandas dependency for melt by using methodcaller (:pr:`4719`) `Nick Becker`_
2435-  A few dataframe metadata fixes (:pr:`4695`) `Jim Crist`_
2436-  Add Dataframe.replace (:pr:`4714`) `Matthew Rocklin`_
2437-  Add 'threshold' parameter to pd.DataFrame.dropna (:pr:`4625`) `Nathan Matare`_
2438
2439Documentation
2440^^^^^^^^^^^^^
2441
2442-   Add warning about derived docstrings early in the docstring (:pr:`4716`) `Matthew Rocklin`_
2443-   Create dataframe best practices doc (:pr:`4703`) `Matthew Rocklin`_
2444-   Uncomment dask_sphinx_theme (:pr:`4728`) `James Bourbeau`_
2445-   Fix minor typo fix in a Queue/fire_and_forget example (:pr:`4709`) `Matthew Rocklin`_
2446-   Update from_pandas docstring to match signature (:pr:`4698`) `James Bourbeau`_
2447
24481.2.0 / 2019-04-12
2449------------------
2450
2451Array
2452^^^^^
2453
2454-  Fixed mean() and moment() on sparse arrays (:pr:`4525`) `Peter Andreas Entschev`_
2455-  Add test for NEP-18. (:pr:`4675`) `Hameer Abbasi`_
2456-  Allow None to say "no chunking" in normalize_chunks (:pr:`4656`) `Matthew Rocklin`_
2457-  Fix limit value in auto_chunks (:pr:`4645`) `Matthew Rocklin`_
2458
2459Core
2460^^^^
2461
2462-  Updated diagnostic bokeh test for compatibility with bokeh>=1.1.0 (:pr:`4680`) `Philipp Rudiger`_
2463-  Adjusts codecov's target/threshold, disable patch (:pr:`4671`) `Peter Andreas Entschev`_
2464-  Always start with empty http buffer, not None (:pr:`4673`) `Martin Durant`_
2465
2466DataFrame
2467^^^^^^^^^
2468
2469-  Propagate index dtype and name when create dask dataframe from array (:pr:`4686`) `Henrique Ribeiro`_
2470-  Fix ordering of quantiles in describe (:pr:`4647`) `gregrf`_
2471-  Clean up and document rearrange_column_by_tasks (:pr:`4674`) `Matthew Rocklin`_
2472-  Mark some parquet tests xfail (:pr:`4667`) `Peter Andreas Entschev`_
2473-  Fix parquet breakages with arrow 0.13.0 (:pr:`4668`) `Martin Durant`_
2474-  Allow sample to be False when reading CSV from a remote URL (:pr:`4634`) `Ian Rose`_
2475-  Fix timezone metadata inference on parquet load (:pr:`4655`) `Martin Durant`_
2476-  Use is_dataframe/index_like in dd.utils (:pr:`4657`) `Matthew Rocklin`_
2477-  Add min_count parameter to groupby sum method (:pr:`4648`) `Henrique Ribeiro`_
2478-  Correct quantile to handle unsorted quantiles (:pr:`4650`) `gregrf`_
2479
2480Documentation
2481^^^^^^^^^^^^^
2482
2483-  Add delayed extra dependencies to install docs (:pr:`4660`) `James Bourbeau`_
2484
2485
24861.1.5 / 2019-03-29
2487------------------
2488
2489Array
2490^^^^^
2491
2492-  Ensure that we use the dtype keyword in normalize_chunks (:pr:`4646`) `Matthew Rocklin`_
2493
2494Core
2495^^^^
2496
2497-  Use recursive glob in LocalFileSystem (:pr:`4186`) `Brett Naul`_
2498-  Avoid YAML deprecation (:pr:`4603`)
2499-  Fix CI and add set -e (:pr:`4605`) `James Bourbeau`_
2500-  Support builtin sequence types in dask.visualize (:pr:`4602`)
2501-  unpack/repack orderedDict (:pr:`4623`) `Justin Poehnelt`_
2502-  Add da.random.randint to API docs (:pr:`4628`) `James Bourbeau`_
2503-  Add zarr to CI environment (:pr:`4604`) `James Bourbeau`_
2504-  Enable codecov (:pr:`4631`) `Peter Andreas Entschev`_
2505
2506DataFrame
2507^^^^^^^^^
2508
2509-  Support setting the index (:pr:`4565`)
2510-  DataFrame.itertuples accepts index, name kwargs (:pr:`4593`) `Dan O'Donovan`_
2511-  Support non-Pandas series in dd.Series.unique (:pr:`4599`) `Benjamin Zaitlen`_
2512-  Replace use of explicit type check with ._is_partition_type predicate (:pr:`4533`)
2513-  Remove additional pandas warnings in tests (:pr:`4576`)
2514-  Check object for name/dtype attributes rather than type (:pr:`4606`)
2515-  Fix comparison against pd.Series (:pr:`4613`) `amerkel2`_
2516-  Fixing warning from setting categorical codes to floats (:pr:`4624`) `Julia Signell`_
2517-  Fix renaming on index to_frame method (:pr:`4498`) `Henrique Ribeiro`_
2518-  Fix divisions when joining two single-partition dataframes (:pr:`4636`) `Justin Waugh`_
2519-  Warn if partitions overlap in compute_divisions (:pr:`4600`) `Brian Chu`_
2520-  Give informative meta= warning (:pr:`4637`) `Matthew Rocklin`_
2521-  Add informative error message to Series.__getitem__ (:pr:`4638`) `Matthew Rocklin`_
2522-  Add clear exception message when using index or index_col in read_csv (:pr:`4651`) `Álvaro Abella Bascarán`_
2523
2524Documentation
2525^^^^^^^^^^^^^
2526
2527-  Add documentation for custom groupby aggregations (:pr:`4571`)
2528-  Docs dataframe joins (:pr:`4569`)
2529-  Specify fork-based contributions  (:pr:`4619`) `James Bourbeau`_
2530-  correct to_parquet example in docs (:pr:`4641`) `Aaron Fowles`_
2531-  Update and secure several references (:pr:`4649`) `Søren Fuglede Jørgensen`_
2532
2533
25341.1.4 / 2019-03-08
2535------------------
2536
2537Array
2538^^^^^
2539
2540-  Use mask selection in compress (:pr:`4548`) `John A Kirkham`_
2541-  Use `asarray` in `extract` (:pr:`4549`) `John A Kirkham`_
2542-  Use correct dtype when test concatenation. (:pr:`4539`) `Elliott Sales de Andrade`_
2543-  Fix CuPy tests or properly marks as xfail (:pr:`4564`) `Peter Andreas Entschev`_
2544
2545Core
2546^^^^
2547
2548-  Fix local scheduler callback to deal with custom caching (:pr:`4542`) `Yu Feng`_
2549-  Use parse_bytes in read_bytes(sample=...) (:pr:`4554`) `Matthew Rocklin`_
2550
2551DataFrame
2552^^^^^^^^^
2553
2554-  Fix up groupby-standard deviation again on object dtype keys (:pr:`4541`) `Matthew Rocklin`_
2555-  TST/CI: Updates for pandas 0.24.1 (:pr:`4551`) `Tom Augspurger`_
2556-  Add ability to control number of unique elements in timeseries (:pr:`4557`) `Matthew Rocklin`_
2557-  Add support in read_csv for parameter skiprows for other iterables (:pr:`4560`) `@JulianWgs`_
2558
2559Documentation
2560^^^^^^^^^^^^^
2561
2562-  DataFrame to Array conversion and unknown chunks (:pr:`4516`) `Scott Sievert`_
2563-  Add docs for random array creation (:pr:`4566`) `Matthew Rocklin`_
2564-  Fix typo in docstring (:pr:`4572`) `Shyam Saladi`_
2565
2566
25671.1.3 / 2019-03-01
2568------------------
2569
2570Array
2571^^^^^
2572
2573-  Modify mean chunk functions to return dicts rather than arrays (:pr:`4513`) `Matthew Rocklin`_
2574-  Change sparse installation in CI for NumPy/Python2 compatibility (:pr:`4537`) `Matthew Rocklin`_
2575
2576DataFrame
2577^^^^^^^^^
2578
2579-  Make merge dispatchable on pandas/other dataframe types (:pr:`4522`) `Matthew Rocklin`_
2580-  read_sql_table - datetime index fix and  index type checking (:pr:`4474`) `Joe Corbett`_
2581-  Use generalized form of index checking (is_index_like) (:pr:`4531`) `Benjamin Zaitlen`_
2582-  Add tests for groupby reductions with object dtypes (:pr:`4535`) `Matthew Rocklin`_
2583-  Fixes #4467 : Updates time_series for pandas deprecation (:pr:`4530`) `@HSR05`_
2584
2585Documentation
2586^^^^^^^^^^^^^
2587
2588-  Add missing method to documentation index (:pr:`4528`) `Bart Broere`_
2589
2590
25911.1.2 / 2019-02-25
2592------------------
2593
2594Array
2595^^^^^
2596
2597-  Fix another unicode/mixed-type edge case in normalize_array (:pr:`4489`) `Marco Neumann`_
2598-  Add dask.array.diagonal (:pr:`4431`) `Danilo Horta`_
2599-  Call asanyarray in unify_chunks (:pr:`4506`) `Jim Crist`_
2600-  Modify moment chunk functions to return dicts (:pr:`4519`) `Peter Andreas Entschev`_
2601
2602
2603Bag
2604^^^
2605
2606-  Don't inline output keys in dask.bag (:pr:`4464`) `Jim Crist`_
2607-  Ensure that bag.from_sequence always includes at least one partition (:pr:`4475`) `Anderson Banihirwe`_
2608-  Implement out_type for bag.fold (:pr:`4502`) `Matthew Rocklin`_
2609-  Remove map from bag keynames (:pr:`4500`) `Matthew Rocklin`_
2610-  Avoid itertools.repeat in map_partitions (:pr:`4507`) `Matthew Rocklin`_
2611
2612
2613DataFrame
2614^^^^^^^^^
2615
2616-  Fix relative path parsing on windows when using fastparquet (:pr:`4445`) `Janne Vuorela`_
2617-  Fix bug in pyarrow and hdfs (:pr:`4453`) (:pr:`4455`) `Michał Jastrzębski`_
2618-  df getitem with integer slices is not implemented (:pr:`4466`) `Jim Crist`_
2619-  Replace cudf-specific code with dask-cudf import (:pr:`4470`) `Matthew Rocklin`_
2620-  Avoid groupby.agg(callable) in groupby-var (:pr:`4482`) `Matthew Rocklin`_
2621-  Consider uint types as numerical in check_meta (:pr:`4485`) `Marco Neumann`_
2622-  Fix some typos in groupby comments (:pr:`4494`) `Daniel Saxton`_
2623-  Add error message around set_index(inplace=True) (:pr:`4501`) `Matthew Rocklin`_
2624-  meta_nonempty works with categorical index (:pr:`4505`) `Jim Crist`_
2625-  Add module name to expected meta error message (:pr:`4499`) `Matthew Rocklin`_
2626-  groupby-nunique works on empty chunk (:pr:`4504`) `Jim Crist`_
2627-  Propagate index metadata if not specified (:pr:`4509`) `Jim Crist`_
2628
2629Documentation
2630^^^^^^^^^^^^^
2631
2632-  Update docs to use ``from_zarr`` (:pr:`4472`) `John A Kirkham`_
2633-  DOC: add section of `Using Other S3-Compatible Services` for remote-data-services (:pr:`4405`) `Aploium`_
2634-  Fix header level of section in changelog (:pr:`4483`) `Bruce Merry`_
2635-  Add quotes to pip install [skip-ci] (:pr:`4508`) `James Bourbeau`_
2636
2637Core
2638^^^^
2639
2640-  Extend started_cbs AFTER state is initialized (:pr:`4460`) `Marco Neumann`_
2641-  Fix bug in HTTPFile._fetch_range with headers (:pr:`4479`) (:pr:`4480`) `Ross Petchler`_
2642-  Repeat optimize_blockwise for diamond fusion (:pr:`4492`) `Matthew Rocklin`_
2643
2644
26451.1.1 / 2019-01-31
2646------------------
2647
2648Array
2649^^^^^
2650
2651-  Add support for cupy.einsum (:pr:`4402`) `Johnnie Gray`_
2652-  Provide byte size in chunks keyword (:pr:`4434`) `Adam Beberg`_
2653-  Raise more informative error for histogram bins and range (:pr:`4430`) `James Bourbeau`_
2654
2655DataFrame
2656^^^^^^^^^
2657
2658-  Lazily register more cudf functions and move to backends file (:pr:`4396`) `Matthew Rocklin`_
2659-  Fix ORC tests for pyarrow 0.12.0 (:pr:`4413`) `Jim Crist`_
2660-  rearrange_by_column: ensure that shuffle arg defaults to 'disk' if it's None in dask.config (:pr:`4414`) `George Sakkis`_
2661-  Implement filters for _read_pyarrow (:pr:`4415`) `George Sakkis`_
2662-  Avoid checking against types in is_dataframe_like (:pr:`4418`) `Matthew Rocklin`_
2663-  Pass username as 'user' when using pyarrow (:pr:`4438`) `Roma Sokolov`_
2664
2665Delayed
2666^^^^^^^
2667
2668-  Fix DelayedAttr return value (:pr:`4440`) `Matthew Rocklin`_
2669
2670Documentation
2671^^^^^^^^^^^^^
2672
2673-  Use SVG for pipeline graphic (:pr:`4406`) `John A Kirkham`_
2674-  Add doctest-modules to py.test documentation (:pr:`4427`) `Daniel Severo`_
2675
2676Core
2677^^^^
2678
2679-  Work around psutil 5.5.0 not allowing pickling Process objects `Janne Vuorela`_
2680
2681
26821.1.0 / 2019-01-18
2683------------------
2684
2685Array
2686^^^^^
2687
2688-  Fix the average function when there is a masked array (:pr:`4236`) `Damien Garaud`_
2689-  Add allow_unknown_chunksizes to hstack and vstack (:pr:`4287`) `Paul Vecchio`_
2690-  Fix tensordot for 27+ dimensions (:pr:`4304`) `Johnnie Gray`_
2691-  Fixed block_info with axes. (:pr:`4301`) `Tom Augspurger`_
2692-  Use safe_wraps for matmul (:pr:`4346`) `Mark Harfouche`_
2693-  Use chunks="auto" in array creation routines (:pr:`4354`) `Matthew Rocklin`_
2694-  Fix np.matmul in dask.array.Array.__array_ufunc__ (:pr:`4363`) `Stephan Hoyer`_
2695-  COMPAT: Re-enable multifield copy->view change (:pr:`4357`) `Diane Trout`_
2696-  Calling np.dtype on a delayed object works (:pr:`4387`) `Jim Crist`_
2697-  Rework normalize_array for numpy data (:pr:`4312`) `Marco Neumann`_
2698
2699DataFrame
2700^^^^^^^^^
2701
2702-  Add fill_value support for series comparisons (:pr:`4250`) `James Bourbeau`_
2703-  Add schema name in read_sql_table for empty tables (:pr:`4268`) `Mina Farid`_
2704-  Adjust check for bad chunks in map_blocks (:pr:`4308`) `Tom Augspurger`_
2705-  Add dask.dataframe.read_fwf (:pr:`4316`) `@slnguyen`_
2706-  Use atop fusion in dask dataframe (:pr:`4229`) `Matthew Rocklin`_
2707-  Use parallel_types() in from_pandas (:pr:`4331`) `Matthew Rocklin`_
2708-  Change DataFrame._repr_data to method (:pr:`4330`) `Matthew Rocklin`_
2709-  Install pyarrow fastparquet for Appveyor (:pr:`4338`) `Gábor Lipták`_
2710-  Remove explicit pandas checks and provide cudf lazy registration (:pr:`4359`) `Matthew Rocklin`_
2711-  Replace isinstance(..., pandas) with is_dataframe_like (:pr:`4375`) `Matthew Rocklin`_
2712-  ENH: Support 3rd-party ExtensionArrays (:pr:`4379`) `Tom Augspurger`_
2713-  Pandas 0.24.0 compat (:pr:`4374`) `Tom Augspurger`_
2714
2715Documentation
2716^^^^^^^^^^^^^
2717
2718-  Fix link to 'map_blocks' function in array api docs (:pr:`4258`) `David Hoese`_
2719-  Add a paragraph on Dask-Yarn in the cloud docs (:pr:`4260`) `Jim Crist`_
2720-  Copy edit documentation (:pr:`4267`), (:pr:`4263`), (:pr:`4262`), (:pr:`4277`), (:pr:`4271`), (:pr:`4279`), (:pr:`4265`), (:pr:`4295`), (:pr:`4293`), (:pr:`4296`), (:pr:`4302`), (:pr:`4306`), (:pr:`4318`), (:pr:`4314`), (:pr:`4309`), (:pr:`4317`), (:pr:`4326`), (:pr:`4325`), (:pr:`4322`), (:pr:`4332`), (:pr:`4333`), `Miguel Farrajota`_
2721-  Fix typo in code example (:pr:`4272`) `Daniel Li`_
2722-  Doc: Update array-api.rst (:pr:`4259`) (:pr:`4282`) `Prabakaran Kumaresshan`_
2723-  Update hpc doc (:pr:`4266`) `Guillaume Eynard-Bontemps`_
2724-  Doc: Replace from_avro with read_avro in documents (:pr:`4313`) `Prabakaran Kumaresshan`_
2725-  Remove reference to "get" scheduler functions in docs (:pr:`4350`) `Matthew Rocklin`_
2726-  Fix typo in docstring (:pr:`4376`) `Daniel Saxton`_
2727-  Added documentation for dask.dataframe.merge (:pr:`4382`) `Jendrik Jördening`_
2728
2729Core
2730^^^^
2731
2732-  Avoid recursion in dask.core.get (:pr:`4219`) `Matthew Rocklin`_
2733-  Remove verbose flag from pytest setup.cfg (:pr:`4281`) `Matthew Rocklin`_
2734-  Support Pytest 4.0 by specifying marks explicitly (:pr:`4280`) `Takahiro Kojima`_
2735-  Add High Level Graphs (:pr:`4092`) `Matthew Rocklin`_
2736-  Fix SerializableLock locked and acquire methods (:pr:`4294`) `Stephan Hoyer`_
2737-  Pin boto3 to earlier version in tests to avoid moto conflict (:pr:`4276`) `Martin Durant`_
2738-  Treat None as missing in config when updating (:pr:`4324`) `Matthew Rocklin`_
2739-  Update Appveyor to Python 3.6 (:pr:`4337`) `Gábor Lipták`_
2740-  Use parse_bytes more liberally in dask.dataframe/bytes/bag (:pr:`4339`) `Matthew Rocklin`_
2741-  Add a better error message when cloudpickle is missing (:pr:`4342`) `Mark Harfouche`_
2742-  Support pool= keyword argument in threaded/multiprocessing get functions (:pr:`4351`) `Matthew Rocklin`_
2743-  Allow updates from arbitrary Mappings in config.update, not only dicts. (:pr:`4356`) `Stuart Berg`_
2744-  Move dask/array/top.py code to dask/blockwise.py (:pr:`4348`) `Matthew Rocklin`_
2745-  Add has_parallel_type (:pr:`4395`) `Matthew Rocklin`_
2746-  CI: Update Appveyor (:pr:`4381`) `Tom Augspurger`_
2747-  Ignore non-readable config files (:pr:`4388`) `Jim Crist`_
2748
2749
27501.0.0 / 2018-11-28
2751------------------
2752
2753Array
2754^^^^^
2755
2756-  Add nancumsum/nancumprod unit tests (:pr:`4215`) `Guido Imperiale`_
2757
2758DataFrame
2759^^^^^^^^^
2760
2761-  Add index to to_dask_dataframe docstring (:pr:`4232`) `James Bourbeau`_
2762-  Text and fix when appending categoricals with fastparquet (:pr:`4245`) `Martin Durant`_
2763-  Don't reread metadata when passing ParquetFile to read_parquet (:pr:`4247`) `Martin Durant`_
2764
2765Documentation
2766^^^^^^^^^^^^^
2767
2768-  Copy edit documentation (:pr:`4222`) (:pr:`4224`) (:pr:`4228`) (:pr:`4231`) (:pr:`4230`) (:pr:`4234`) (:pr:`4235`) (:pr:`4254`) `Miguel Farrajota`_
2769-  Updated doc for the new scheduler keyword (:pr:`4251`) `@milesial`_
2770
2771
2772Core
2773^^^^
2774
2775-  Avoid a few warnings (:pr:`4223`) `Matthew Rocklin`_
2776-  Remove dask.store module (:pr:`4221`) `Matthew Rocklin`_
2777-  Remove AUTHORS.md `Jim Crist`_
2778
2779
27800.20.2 / 2018-11-15
2781-------------------
2782
2783Array
2784^^^^^
2785
2786-  Avoid fusing dependencies of atop reductions (:pr:`4207`) `Matthew Rocklin`_
2787
2788Dataframe
2789^^^^^^^^^
2790
2791-  Improve memory footprint for dataframe correlation (:pr:`4193`) `Damien Garaud`_
2792-  Add empty DataFrame check to boundary_slice (:pr:`4212`) `James Bourbeau`_
2793
2794
2795Documentation
2796^^^^^^^^^^^^^
2797
2798-  Copy edit documentation (:pr:`4197`) (:pr:`4204`) (:pr:`4198`) (:pr:`4199`) (:pr:`4200`) (:pr:`4202`) (:pr:`4209`) `Miguel Farrajota`_
2799-  Add stats module namespace (:pr:`4206`) `James Bourbeau`_
2800-  Fix link in dataframe documentation (:pr:`4208`) `James Bourbeau`_
2801
2802
28030.20.1 / 2018-11-09
2804-------------------
2805
2806Array
2807^^^^^
2808
2809-  Only allocate the result space in wrapped_pad_func (:pr:`4153`) `John A Kirkham`_
2810-  Generalize expand_pad_width to expand_pad_value (:pr:`4150`) `John A Kirkham`_
2811-  Test da.pad with 2D linear_ramp case (:pr:`4162`) `John A Kirkham`_
2812-  Fix import for broadcast_to. (:pr:`4168`) `samc0de`_
2813-  Rewrite Dask Array's `pad` to add only new chunks (:pr:`4152`) `John A Kirkham`_
2814-  Validate index inputs to atop (:pr:`4182`) `Matthew Rocklin`_
2815
2816Core
2817^^^^
2818
2819-  Dask.config set and get normalize underscores and hyphens (:pr:`4143`) `James Bourbeau`_
2820-  Only subs on core collections, not subclasses (:pr:`4159`) `Matthew Rocklin`_
2821-  Add block_size=0 option to HTTPFileSystem. (:pr:`4171`) `Martin Durant`_
2822-  Add traverse support for dataclasses (:pr:`4165`) `Armin Berres`_
2823-  Avoid optimization on sharedicts without dependencies (:pr:`4181`) `Matthew Rocklin`_
2824-  Update the pytest version for TravisCI (:pr:`4189`) `Damien Garaud`_
2825-  Use key_split rather than funcname in visualize names (:pr:`4160`) `Matthew Rocklin`_
2826
2827Dataframe
2828^^^^^^^^^
2829
2830-  Add fix for  DataFrame.__setitem__ for index (:pr:`4151`) `Anderson Banihirwe`_
2831-  Fix column choice when passing list of files to fastparquet (:pr:`4174`) `Martin Durant`_
2832-  Pass engine_kwargs from read_sql_table to sqlalchemy (:pr:`4187`) `Damien Garaud`_
2833
2834Documentation
2835^^^^^^^^^^^^^
2836
2837-  Fix documentation in Delayed best practices example that returned an empty list (:pr:`4147`) `Jonathan Fraine`_
2838-  Copy edit documentation (:pr:`4164`) (:pr:`4175`) (:pr:`4185`) (:pr:`4192`) (:pr:`4191`) (:pr:`4190`) (:pr:`4180`) `Miguel Farrajota`_
2839-  Fix typo in docstring (:pr:`4183`) `Carlos Valiente`_
2840
2841
28420.20.0 / 2018-10-26
2843-------------------
2844
2845Array
2846^^^^^
2847
2848-  Fuse Atop operations (:pr:`3998`), (:pr:`4081`) `Matthew Rocklin`_
2849-  Support da.asanyarray on dask dataframes (:pr:`4080`) `Matthew Rocklin`_
2850-  Remove unnecessary endianness check in datetime test (:pr:`4113`) `Elliott Sales de Andrade`_
2851-  Set name=False in array foo_like functions (:pr:`4116`) `Matthew Rocklin`_
2852-  Remove dask.array.ghost module (:pr:`4121`) `Matthew Rocklin`_
2853-  Fix use of getargspec in dask array (:pr:`4125`) `Stephan Hoyer`_
2854-  Adds dask.array.invert (:pr:`4127`), (:pr:`4131`) `Anderson Banihirwe`_
2855-  Raise informative error on arg-reduction on unknown chunksize (:pr:`4128`), (:pr:`4135`) `Matthew Rocklin`_
2856-  Normalize reversed slices in dask array (:pr:`4126`) `Matthew Rocklin`_
2857
2858Bag
2859^^^
2860
2861-  Add bag.to_avro (:pr:`4076`) `Martin Durant`_
2862
2863Core
2864^^^^
2865
2866-  Pull num_workers from config.get (:pr:`4086`), (:pr:`4093`) `James Bourbeau`_
2867-  Fix invalid escape sequences with raw strings (:pr:`4112`) `Elliott Sales de Andrade`_
2868-  Raise an error on the use of the get= keyword and set_options (:pr:`4077`) `Matthew Rocklin`_
2869-  Add import for Azure DataLake storage, and add docs (:pr:`4132`) `Martin Durant`_
2870-  Avoid collections.Mapping/Sequence (:pr:`4138`)  `Matthew Rocklin`_
2871
2872Dataframe
2873^^^^^^^^^
2874
2875-  Include index keyword in to_dask_dataframe (:pr:`4071`) `Matthew Rocklin`_
2876-  add support for duplicate column names (:pr:`4087`) `Jan Koch`_
2877-  Implement min_count for the DataFrame methods sum and prod (:pr:`4090`) `Bart Broere`_
2878-  Remove pandas warnings in concat (:pr:`4095`) `Matthew Rocklin`_
2879-  DataFrame.to_csv header option to only output headers in the first chunk (:pr:`3909`) `Rahul Vaidya`_
2880-  Remove Series.to_parquet (:pr:`4104`) `Justin Dennison`_
2881-  Avoid warnings and deprecated pandas methods (:pr:`4115`) `Matthew Rocklin`_
2882-  Swap 'old' and 'previous' when reporting append error (:pr:`4130`) `Martin Durant`_
2883
2884Documentation
2885^^^^^^^^^^^^^
2886
2887-  Copy edit documentation (:pr:`4073`), (:pr:`4074`), (:pr:`4094`), (:pr:`4097`), (:pr:`4107`), (:pr:`4124`), (:pr:`4133`), (:pr:`4139`) `Miguel Farrajota`_
2888-  Fix typo in code example (:pr:`4089`) `Antonino Ingargiola`_
2889-  Add pycon 2018 presentation (:pr:`4102`) `Javad`_
2890-  Quick description for gcsfs (:pr:`4109`) `Martin Durant`_
2891-  Fixed typo in docstrings of read_sql_table method (:pr:`4114`) `TakaakiFuruse`_
2892-  Make target directories in redirects if they don't exist (:pr:`4136`) `Matthew Rocklin`_
2893
2894
2895
28960.19.4 / 2018-10-09
2897-------------------
2898
2899Array
2900^^^^^
2901
2902-  Implement ``apply_gufunc(..., axes=..., keepdims=...)`` (:pr:`3985`) `Markus Gonser`_
2903
2904Bag
2905^^^
2906
2907-  Fix typo in datasets.make_people (:pr:`4069`) `Matthew Rocklin`_
2908
2909Dataframe
2910^^^^^^^^^
2911
2912-  Added `percentiles` options for `dask.dataframe.describe` method (:pr:`4067`) `Zhenqing Li`_
2913-  Add DataFrame.partitions accessor similar to Array.blocks (:pr:`4066`) `Matthew Rocklin`_
2914
2915Core
2916^^^^
2917
2918-  Pass get functions and Clients through scheduler keyword (:pr:`4062`) `Matthew Rocklin`_
2919
2920Documentation
2921^^^^^^^^^^^^^
2922
2923-  Fix Typo on hpc example. (missing `=` in kwarg). (:pr:`4068`) `Matthias Bussonier`_
2924-  Extensive copy-editing: (:pr:`4065`), (:pr:`4064`), (:pr:`4063`) `Miguel Farrajota`_
2925
2926
29270.19.3 / 2018-10-05
2928-------------------
2929
2930Array
2931^^^^^
2932
2933-   Make da.RandomState extensible to other modules (:pr:`4041`) `Matthew Rocklin`_
2934-   Support unknown dims in ravel no-op case (:pr:`4055`) `Jim Crist`_
2935-   Add basic infrastructure for cupy (:pr:`4019`) `Matthew Rocklin`_
2936-   Avoid asarray and lock arguments for from_array(getitem) (:pr:`4044`) `Matthew Rocklin`_
2937-   Move local imports in `corrcoef` to global imports (:pr:`4030`) `John A Kirkham`_
2938-   Move local `indices` import to global import (:pr:`4029`) `John A Kirkham`_
2939-   Fix-up Dask Array's fromfunction w.r.t. dtype and kwargs (:pr:`4028`) `John A Kirkham`_
2940-   Don't use dummy expansion for trim_internal in overlapped (:pr:`3964`) `Mark Harfouche`_
2941-   Add unravel_index (:pr:`3958`) `John A Kirkham`_
2942
2943Bag
2944^^^
2945
2946-   Sort result in Bag.frequencies (:pr:`4033`) `Matthew Rocklin`_
2947-   Add support for npartitions=1 edge case in groupby (:pr:`4050`) `James Bourbeau`_
2948-   Add new random dataset for people (:pr:`4018`) `Matthew Rocklin`_
2949-   Improve performance of bag.read_text on small files (:pr:`4013`) `Eric Wolak`_
2950-   Add bag.read_avro (:pr:`4000`) (:pr:`4007`) `Martin Durant`_
2951
2952Dataframe
2953^^^^^^^^^
2954
2955-   Added an ``index`` parameter to :meth:`dask.dataframe.from_dask_array` for creating a dask DataFrame from a dask Array with a given index. (:pr:`3991`) `Tom Augspurger`_
2956-   Improve sub-classability of dask dataframe (:pr:`4015`) `Matthew Rocklin`_
2957-   Fix failing hdfs test [test-hdfs] (:pr:`4046`) `Jim Crist`_
2958-   fuse_subgraphs works without normal fuse (:pr:`4042`) `Jim Crist`_
2959-   Make path for reading many parquet files without prescan (:pr:`3978`) `Martin Durant`_
2960-   Index in dd.from_dask_array (:pr:`3991`) `Tom Augspurger`_
2961-   Making skiprows accept lists (:pr:`3975`) `Julia Signell`_
2962-   Fail early in fastparquet read for nonexistent column (:pr:`3989`) `Martin Durant`_
2963
2964Core
2965^^^^
2966
2967-   Add support for npartitions=1 edge case in groupby (:pr:`4050`) `James Bourbeau`_
2968-   Automatically wrap large arguments with dask.delayed in map_blocks/partitions (:pr:`4002`) `Matthew Rocklin`_
2969-   Fuse linear chains of subgraphs (:pr:`3979`) `Jim Crist`_
2970-   Make multiprocessing context configurable (:pr:`3763`) `Itamar Turner-Trauring`_
2971
2972Documentation
2973^^^^^^^^^^^^^
2974
2975-   Extensive copy-editing  (:pr:`4049`), (:pr:`4034`),  (:pr:`4031`), (:pr:`4020`), (:pr:`4021`), (:pr:`4022`), (:pr:`4023`), (:pr:`4016`), (:pr:`4017`), (:pr:`4010`), (:pr:`3997`), (:pr:`3996`), `Miguel Farrajota`_
2976-   Update shuffle method selection docs (:pr:`4048`) `James Bourbeau`_
2977-   Remove docs/source/examples, point to examples.dask.org (:pr:`4014`) `Matthew Rocklin`_
2978-   Replace readthedocs links with dask.org (:pr:`4008`) `Matthew Rocklin`_
2979-   Updates DataFrame.to_hdf docstring for returned values (:pr:`3992`) `James Bourbeau`_
2980
2981
29820.19.2 / 2018-09-17
2983-------------------
2984
2985Array
2986^^^^^
2987
2988-  ``apply_gufunc`` implements automatic infer of functions output dtypes (:pr:`3936`) `Markus Gonser`_
2989-  Fix array histogram range error when array has nans (:pr:`3980`) `James Bourbeau`_
2990-  Issue 3937 follow up, int type checks. (:pr:`3956`) `Yu Feng`_
2991-  from_array: add @martindurant's explaining of how hashing is done for an array. (:pr:`3965`) `Mark Harfouche`_
2992-  Support gradient with coordinate (:pr:`3949`) `Keisuke Fujii`_
2993
2994Core
2995^^^^
2996
2997-  Fix use of has_keyword with partial in Python 2.7 (:pr:`3966`) `Mark Harfouche`_
2998-  Set pyarrow as default for HDFS (:pr:`3957`) `Matthew Rocklin`_
2999
3000Documentation
3001^^^^^^^^^^^^^
3002
3003-  Use dask_sphinx_theme (:pr:`3963`) `Matthew Rocklin`_
3004-  Use JupyterLab in Binder links from main page `Matthew Rocklin`_
3005-  DOC: fixed sphinx syntax (:pr:`3960`) `Tom Augspurger`_
3006
3007
30080.19.1 / 2018-09-06
3009-------------------
3010
3011Array
3012^^^^^
3013
3014-  Don't enforce dtype if result has no dtype (:pr:`3928`) `Matthew Rocklin`_
3015-  Fix NumPy issubtype deprecation warning (:pr:`3939`) `Bruce Merry`_
3016-  Fix arg reduction tokens to be unique with different arguments (:pr:`3955`) `Tobias de Jong`_
3017-  Coerce numpy integers to ints in slicing code (:pr:`3944`) `Yu Feng`_
3018-  Linalg.norm ndim along axis partial fix (:pr:`3933`) `Tobias de Jong`_
3019
3020Dataframe
3021^^^^^^^^^
3022
3023-  Deterministic DataFrame.set_index (:pr:`3867`) `George Sakkis`_
3024-  Fix divisions in read_parquet when dealing with filters #3831 #3930 (:pr:`3923`) (:pr:`3931`)  `@andrethrill`_
3025-  Fixing returning type in categorical.as_known  (:pr:`3888`) `Sriharsha Hatwar`_
3026-  Fix DataFrame.assign for callables (:pr:`3919`) `Tom Augspurger`_
3027-  Include partitions with no width in repartition (:pr:`3941`) `Matthew Rocklin`_
3028-  Don't constrict stage/k dtype in dataframe shuffle (:pr:`3942`) `Matthew Rocklin`_
3029
3030Documentation
3031^^^^^^^^^^^^^
3032
3033-  DOC: Add hint on how to render task graphs horizontally (:pr:`3922`) `Uwe Korn`_
3034-  Add try-now button to main landing page (:pr:`3924`) `Matthew Rocklin`_
3035
3036
30370.19.0 / 2018-08-29
3038-------------------
3039
3040Array
3041^^^^^
3042
3043-  Support coordinate in gradient (:pr:`3949`) `Keisuke Fujii`_
3044-  Fix argtopk split_every bug (:pr:`3810`) `Guido Imperiale`_
3045-  Ensure result computing dask.array.isnull() always gives a numpy array (:pr:`3825`) `Stephan Hoyer`_
3046-  Support concatenate for scipy.sparse in dask array (:pr:`3836`) `Matthew Rocklin`_
3047-  Fix argtopk on 32-bit systems. (:pr:`3823`) `Elliott Sales de Andrade`_
3048-  Normalize keys in rechunk (:pr:`3820`) `Matthew Rocklin`_
3049-  Allow shape of dask.array to be a numpy array (:pr:`3844`) `Mark Harfouche`_
3050-  Fix numpy deprecation warning on tuple indexing (:pr:`3851`) `Tobias de Jong`_
3051-  Rename ghost module to overlap (:pr:`3830`) `Robert Sare`_
3052-  Re-add the ghost import to da __init__ (:pr:`3861`) `Jim Crist`_
3053-  Ensure copy preserves masked arrays (:pr:`3852`) `Tobias de Jong`_
3054
3055DataFrame
3056^^^^^^^^^^
3057
3058-  Added ``dtype`` and ``sparse`` keywords to :func:`dask.dataframe.get_dummies` (:pr:`3792`) `Tom Augspurger`_
3059-  Added :meth:`dask.dataframe.to_dask_array` for converting a Dask Series or DataFrame to a
3060   Dask Array, possibly with known chunk sizes (:pr:`3884`) `Tom Augspurger`
3061-  Changed the behavior for :meth:`dask.array.asarray` for dask dataframe and series inputs. Previously,
3062   the series was eagerly converted to an in-memory NumPy array before creating a dask array with known
3063   chunks sizes. This caused unexpectedly high memory usage. Now, no intermediate NumPy array is created,
3064   and a Dask array with unknown chunk sizes is returned (:pr:`3884`) `Tom Augspurger`
3065-  DataFrame.iloc (:pr:`3805`) `Tom Augspurger`_
3066-  When reading multiple paths, expand globs. (:pr:`3828`) `Irina Truong`_
3067-  Added index column name after resample (:pr:`3833`) `Eric Bonfadini`_
3068-  Add (lazy) shape property to dataframe and series (:pr:`3212`) `Henrique Ribeiro`_
3069-  Fix failing hdfs test [test-hdfs] (:pr:`3858`) `Jim Crist`_
3070-  Fixes for pyarrow 0.10.0 release (:pr:`3860`) `Jim Crist`_
3071-  Rename to_csv keys for diagnostics (:pr:`3890`) `Matthew Rocklin`_
3072-  Match pandas warnings for concat sort (:pr:`3897`) `Tom Augspurger`_
3073-  Include filename in read_csv (:pr:`3908`) `Julia Signell`_
3074
3075Core
3076^^^^
3077
3078-  Better error message on import when missing common dependencies (:pr:`3771`) `Danilo Horta`_
3079-  Drop Python 3.4 support (:pr:`3840`) `Jim Crist`_
3080-  Remove expired deprecation warnings (:pr:`3841`) `Jim Crist`_
3081-  Add DASK_ROOT_CONFIG environment variable (:pr:`3849`) `Joe Hamman`_
3082-  Don't cull in local scheduler, do cull in delayed (:pr:`3856`) `Jim Crist`_
3083-  Increase conda download retries (:pr:`3857`) `Jim Crist`_
3084-  Add python_requires and Trove classifiers (:pr:`3855`) `@hugovk`_
3085-  Fix collections.abc deprecation warnings in Python 3.7.0 (:pr:`3876`) `Jan Margeta`_
3086-  Allow dot jpeg to xfail in visualize tests (:pr:`3896`) `Matthew Rocklin`_
3087-  Add Python 3.7 to travis.yml (:pr:`3894`) `Matthew Rocklin`_
3088-  Add expand_environment_variables to dask.config (:pr:`3893`) `Joe Hamman`_
3089
3090Docs
3091^^^^
3092
3093-  Fix typo in import statement of diagnostics (:pr:`3826`) `John Mrziglod`_
3094-  Add link to YARN docs (:pr:`3838`) `Jim Crist`_
3095-  fix of minor typos in landing page index.html (:pr:`3746`) `Christoph Moehl`_
3096-  Update delayed-custom.rst (:pr:`3850`) `Anderson Banihirwe`_
3097-  DOC: clarify delayed docstring (:pr:`3709`) `Scott Sievert`_
3098-  Add new presentations (:pr:`3880`) `Javad`_
3099-  Add dask array normalize_chunks to documentation (:pr:`3878`) `Daniel Rothenberg`_
3100-  Docs: Fix link to snakeviz (:pr:`3900`) `Hans Moritz Günther`_
3101-  Add missing ` to docstring (:pr:`3915`) `@rtobar`_
3102
3103
31040.18.2 / 2018-07-23
3105-------------------
3106
3107Array
3108^^^^^
3109
3110- Reimplemented ``argtopk`` to make it release the GIL (:pr:`3610`) `Guido Imperiale`_
3111- Don't overlap on non-overlapped dimensions in ``map_overlap`` (:pr:`3653`) `Matthew Rocklin`_
3112- Fix ``linalg.tsqr`` for dimensions of uncertain length (:pr:`3662`) `Jeremy Chen`_
3113- Break apart uneven array-of-int slicing to separate chunks (:pr:`3648`) `Matthew Rocklin`_
3114- Align auto chunks to provided chunks, rather than shape (:pr:`3679`) `Matthew Rocklin`_
3115- Adds endpoint and retstep support for linspace (:pr:`3675`) `James Bourbeau`_
3116- Implement ``.blocks`` accessor (:pr:`3689`) `Matthew Rocklin`_
3117- Add ``block_info`` keyword to ``map_blocks`` functions (:pr:`3686`) `Matthew Rocklin`_
3118- Slice by dask array of ints (:pr:`3407`) `Guido Imperiale`_
3119- Support ``dtype`` in ``arange`` (:pr:`3722`) `Guido Imperiale`_
3120- Fix ``argtopk`` with uneven chunks (:pr:`3720`) `Guido Imperiale`_
3121- Raise error when ``replace=False`` in ``da.choice`` (:pr:`3765`) `James Bourbeau`_
3122- Update chunks in ``Array.__setitem__`` (:pr:`3767`) `Itamar Turner-Trauring`_
3123- Add a ``chunksize`` convenience property (:pr:`3777`) `Jacob Tomlinson`_
3124- Fix and simplify array slicing behavior when ``step < 0`` (:pr:`3702`) `Ziyao Wei`_
3125- Ensure ``to_zarr`` with ``return_stored`` ``True`` returns a Dask Array (:pr:`3786`) `John A Kirkham`_
3126
3127Bag
3128^^^
3129
3130- Add ``last_endline`` optional parameter in ``to_textfiles`` (:pr:`3745`) `George Sakkis`_
3131
3132Dataframe
3133^^^^^^^^^
3134
3135- Add aggregate function for rolling objects (:pr:`3772`) `Gerome Pistre`_
3136- Properly tokenize cumulative groupby aggregations (:pr:`3799`) `Cloves Almeida`_
3137
3138Delayed
3139^^^^^^^
3140
3141- Add the ``@`` operator to the delayed objects (:pr:`3691`) `Mark Harfouche`_
3142- Add delayed best practices to documentation (:pr:`3737`) `Matthew Rocklin`_
3143- Fix ``@delayed`` decorator for methods and add tests (:pr:`3757`) `Ziyao Wei`_
3144
3145Core
3146^^^^
3147
3148- Fix extra progressbar (:pr:`3669`) `Mike Neish`_
3149- Allow tasks back onto ordering stack if they have one dependency (:pr:`3652`) `Matthew Rocklin`_
3150- Prefer end-tasks with low numbers of dependencies when ordering (:pr:`3588`) `Tom Augspurger`_
3151- Add ``assert_eq`` to top-level modules (:pr:`3726`) `Matthew Rocklin`_
3152- Test that dask collections can hold ``scipy.sparse`` arrays (:pr:`3738`) `Matthew Rocklin`_
3153- Fix setup of lz4 decompression functions (:pr:`3782`) `Elliott Sales de Andrade`_
3154- Add datasets module (:pr:`3780`) `Matthew Rocklin`_
3155
3156
31570.18.1 / 2018-06-22
3158-------------------
3159
3160Array
3161^^^^^
3162
3163- ``from_array`` now supports scalar types and nested lists/tuples in input,
3164  just like all numpy functions do; it also produces a simpler graph when the
3165  input is a plain ndarray (:pr:`3568`) `Guido Imperiale`_
3166- Fix slicing of big arrays due to cumsum dtype bug (:pr:`3620`) `Marco Rossi`_
3167- Add Dask Array implementation of pad (:pr:`3578`) `John A Kirkham`_
3168- Fix array random API examples (:pr:`3625`) `James Bourbeau`_
3169- Add average function to dask array (:pr:`3640`) `James Bourbeau`_
3170- Tokenize ghost_internal with axes (:pr:`3643`)  `Matthew Rocklin`_
3171- Add outer for Dask Arrays (:pr:`3658`) `John A Kirkham`_
3172
3173DataFrame
3174^^^^^^^^^
3175
3176- Add Index.to_series method (:pr:`3613`) `Henrique Ribeiro`_
3177- Fix missing partition columns in pyarrow-parquet (:pr:`3636`) `Martin Durant`_
3178
3179Core
3180^^^^
3181
3182- Minor tweaks to CI (:pr:`3629`) `Guido Imperiale`_
3183- Add back dask.utils.effective_get (:pr:`3642`) `Matthew Rocklin`_
3184- DASK_CONFIG dictates config write location (:pr:`3621`) `Jim Crist`_
3185- Replace 'collections' key in unpack_collections with unique key (:pr:`3632`) `Yu Feng`_
3186- Avoid deepcopy in dask.config.set (:pr:`3649`) `Matthew Rocklin`_
3187
3188
31890.18.0 / 2018-06-14
3190-------------------
3191
3192Array
3193^^^^^
3194
3195- Add to/from_zarr for Zarr-format datasets and arrays (:pr:`3460`) `Martin Durant`_
3196- Experimental addition of generalized ufunc support, ``apply_gufunc``, ``gufunc``, and
3197  ``as_gufunc`` (:pr:`3109`) (:pr:`3526`) (:pr:`3539`) `Markus Gonser`_
3198- Avoid unnecessary rechunking tasks (:pr:`3529`) `Matthew Rocklin`_
3199- Compute dtypes at runtime for fft (:pr:`3511`) `Matthew Rocklin`_
3200- Generate UUIDs for all da.store operations (:pr:`3540`) `Martin Durant`_
3201- Correct internal dimension of Dask's SVD (:pr:`3517`) `John A Kirkham`_
3202- BUG: do not raise IndexError for identity slice in array.vindex (:pr:`3559`) `Scott Sievert`_
3203- Adds `isneginf` and `isposinf` (:pr:`3581`) `John A Kirkham`_
3204- Drop Dask Array's `learn` module (:pr:`3580`) `John A Kirkham`_
3205- added sfqr (short-and-fat) as a counterpart to tsqr… (:pr:`3575`) `Jeremy Chen`_
3206- Allow 0-width chunks in dask.array.rechunk (:pr:`3591`) `Marc Pfister`_
3207- Document Dask Array's `nan_to_num` in public API (:pr:`3599`) `John A Kirkham`_
3208- Show block example (:pr:`3601`) `John A Kirkham`_
3209- Replace token= keyword with name= in map_blocks (:pr:`3597`) `Matthew Rocklin`_
3210- Disable locking in to_zarr (needed for using to_zarr in a distributed context) (:pr:`3607`) `John A Kirkham`_
3211- Support Zarr Arrays in `to_zarr`/`from_zarr` (:pr:`3561`) `John A Kirkham`_
3212- Added recursion to array/linalg/tsqr to better manage the single core bottleneck (:pr:`3586`) `Jeremy Chan`_
3213  (:pr:`3396`) `Guido Imperiale`_
3214
3215Dataframe
3216^^^^^^^^^
3217
3218- Add to/read_json (:pr:`3494`) `Martin Durant`_
3219- Adds ``index`` to unsupported arguments for ``DataFrame.rename`` method (:pr:`3522`) `James Bourbeau`_
3220- Adds support to subset Dask DataFrame columns using ``numpy.ndarray``, ``pandas.Series``, and
3221  ``pandas.Index`` objects (:pr:`3536`) `James Bourbeau`_
3222- Raise error if meta columns do not match dataframe (:pr:`3485`) `Christopher Ren`_
3223- Add index to unsupprted argument for DataFrame.rename (:pr:`3522`) `James Bourbeau`_
3224- Adds support for subsetting DataFrames with pandas Index/Series and numpy ndarrays (:pr:`3536`) `James Bourbeau`_
3225- Dataframe sample method docstring fix (:pr:`3566`) `James Bourbeau`_
3226- fixes dd.read_json to infer file compression (:pr:`3594`) `Matt Lee`_
3227- Adds n to sample method (:pr:`3606`) `James Bourbeau`_
3228- Add fastparquet ParquetFile object support (:pr:`3573`) `@andrethrill`_
3229
3230Bag
3231^^^
3232
3233- Rename method= keyword to shuffle= in bag.groupby (:pr:`3470`) `Matthew Rocklin`_
3234
3235Core
3236^^^^
3237
3238- Replace get= keyword with scheduler= keyword (:pr:`3448`) `Matthew Rocklin`_
3239- Add centralized dask.config module to handle configuration for all Dask
3240  subprojects (:pr:`3432`) (:pr:`3513`) (:pr:`3520`) `Matthew Rocklin`_
3241- Add `dask-ssh` CLI Options and Description. (:pr:`3476`) `@beomi`_
3242- Read whole files fix regardless of header for HTTP (:pr:`3496`) `Martin Durant`_
3243- Adds synchronous scheduler syntax to debugging docs (:pr:`3509`) `James Bourbeau`_
3244- Replace dask.set_options with dask.config.set (:pr:`3502`) `Matthew Rocklin`_
3245- Update sphinx readthedocs-theme (:pr:`3516`) `Matthew Rocklin`_
3246- Introduce "auto" value for normalize_chunks (:pr:`3507`) `Matthew Rocklin`_
3247- Fix check in configuration with env=None (:pr:`3562`) `Simon Perkins`_
3248- Update sizeof definitions (:pr:`3582`) `Matthew Rocklin`_
3249- Remove --verbose flag from travis-ci (:pr:`3477`) `Matthew Rocklin`_
3250- Remove "da.random" from random array keys (:pr:`3604`) `Matthew Rocklin`_
3251
3252
32530.17.5 / 2018-05-16
3254-------------------
3255
3256Array
3257^^^^^
3258
3259- Fix ``rechunk`` with chunksize of -1 in a dict (:pr:`3469`) `Stephan Hoyer`_
3260- ``einsum`` now accepts the ``split_every`` parameter (:pr:`3471`) `Guido Imperiale`_
3261- Improved slicing performance (:pr:`3479`) `Yu Feng`_
3262
3263DataFrame
3264^^^^^^^^^
3265
3266- Compatibility with pandas 0.23.0 (:pr:`3499`) `Tom Augspurger`_
3267
3268
32690.17.4 / 2018-05-03
3270-------------------
3271
3272Dataframe
3273^^^^^^^^^
3274
3275- Add support for indexing Dask DataFrames with string subclasses (:pr:`3461`) `James Bourbeau`_
3276- Allow using both sorted_index and chunksize in read_hdf (:pr:`3463`) `Pierre Bartet`_
3277- Pass filesystem to arrow piece reader (:pr:`3466`) `Martin Durant`_
3278- Switches to using dask.compat string_types (:pr:`3462`) `James Bourbeau`_
3279
3280
32810.17.3 / 2018-05-02
3282-------------------
3283
3284Array
3285^^^^^
3286
3287- Add ``einsum`` for Dask Arrays (:pr:`3412`) `Simon Perkins`_
3288- Add ``piecewise`` for Dask Arrays (:pr:`3350`) `John A Kirkham`_
3289- Fix handling of ``nan`` in ``broadcast_shapes`` (:pr:`3356`) `John A Kirkham`_
3290- Add ``isin`` for dask arrays (:pr:`3363`). `Stephan Hoyer`_
3291- Overhauled ``topk`` for Dask Arrays: faster algorithm, particularly for large k's; added support
3292  for multiple axes, recursive aggregation, and an option to pick the bottom k elements instead.
3293  (:pr:`3395`) `Guido Imperiale`_
3294- The ``topk`` API has changed from topk(k, array) to the more conventional topk(array, k).
3295  The legacy API still works but is now deprecated. (:pr:`2965`) `Guido Imperiale`_
3296- New function ``argtopk`` for Dask Arrays (:pr:`3396`) `Guido Imperiale`_
3297- Fix handling partial depth and boundary in ``map_overlap`` (:pr:`3445`) `John A Kirkham`_
3298- Add ``gradient`` for Dask Arrays (:pr:`3434`) `John A Kirkham`_
3299
3300DataFrame
3301^^^^^^^^^
3302
3303- Allow `t` as shorthand for `table` in `to_hdf` for pandas compatibility (:pr:`3330`) `Jörg Dietrich`_
3304- Added top level `isna` method for Dask DataFrames (:pr:`3294`) `Christopher Ren`_
3305- Fix selection on partition column on ``read_parquet`` for ``engine="pyarrow"`` (:pr:`3207`) `Uwe Korn`_
3306- Added DataFrame.squeeze method (:pr:`3366`) `Christopher Ren`_
3307- Added `infer_divisions` option to ``read_parquet`` to specify whether read engines should compute divisions (:pr:`3387`) `Jon Mease`_
3308- Added support for inferring division for ``engine="pyarrow"`` (:pr:`3387`) `Jon Mease`_
3309- Provide more informative error message for meta= errors (:pr:`3343`) `Matthew Rocklin`_
3310- add orc reader (:pr:`3284`) `Martin Durant`_
3311- Default compression for parquet now always Snappy, in line with pandas (:pr:`3373`) `Martin Durant`_
3312- Fixed bug in Dask DataFrame and Series comparisons with NumPy scalars (:pr:`3436`) `James Bourbeau`_
3313- Remove outdated requirement from repartition docstring (:pr:`3440`) `Jörg Dietrich`_
3314- Fixed bug in aggregation when only a Series is selected (:pr:`3446`) `Jörg Dietrich`_
3315- Add default values to make_timeseries (:pr:`3421`) `Matthew Rocklin`_
3316
3317Core
3318^^^^
3319
3320- Support traversing collections in persist, visualize, and optimize (:pr:`3410`) `Jim Crist`_
3321- Add schedule= keyword to compute and persist.  This replaces common use of the get= keyword (:pr:`3448`) `Matthew Rocklin`_
3322
3323
33240.17.2 / 2018-03-21
3325-------------------
3326
3327Array
3328^^^^^
3329
3330- Add ``broadcast_arrays`` for Dask Arrays (:pr:`3217`) `John A Kirkham`_
3331- Add ``bitwise_*`` ufuncs (:pr:`3219`) `John A Kirkham`_
3332- Add optional ``axis`` argument to ``squeeze`` (:pr:`3261`) `John A Kirkham`_
3333- Validate inputs to atop (:pr:`3307`) `Matthew Rocklin`_
3334- Avoid calls to astype in concatenate if all parts have the same dtype (:pr:`3301`) `Martin Durant`_
3335
3336DataFrame
3337^^^^^^^^^
3338
3339- Fixed bug in shuffle due to aggressive truncation (:pr:`3201`) `Matthew Rocklin`_
3340- Support specifying categorical columns on ``read_parquet`` with ``categories=[…]`` for ``engine="pyarrow"`` (:pr:`3177`) `Uwe Korn`_
3341- Add ``dd.tseries.Resampler.agg`` (:pr:`3202`) `Richard Postelnik`_
3342- Support operations that mix dataframes and arrays (:pr:`3230`) `Matthew Rocklin`_
3343- Support extra Scalar and Delayed args in ``dd.groupby._Groupby.apply`` (:pr:`3256`) `Gabriele Lanaro`_
3344
3345Bag
3346^^^
3347
3348- Support joining against single-partitioned bags and delayed objects (:pr:`3254`) `Matthew Rocklin`_
3349
3350Core
3351^^^^
3352
3353- Fixed bug when using unexpected but hashable types for keys (:pr:`3238`) `Daniel Collins`_
3354- Fix bug in task ordering so that we break ties consistently with the key name (:pr:`3271`) `Matthew Rocklin`_
3355- Avoid sorting tasks in order when the number of tasks is very large (:pr:`3298`) `Matthew Rocklin`_
3356
3357
33580.17.1 / 2018-02-22
3359-------------------
3360
3361Array
3362^^^^^
3363
3364- Corrected dimension chunking in indices (:issue:`3166`, :pr:`3167`) `Simon Perkins`_
3365- Inline ``store_chunk`` calls for ``store``'s ``return_stored`` option (:pr:`3153`) `John A Kirkham`_
3366- Compatibility with struct dtypes for NumPy 1.14.1 release (:pr:`3187`) `Matthew Rocklin`_
3367
3368DataFrame
3369^^^^^^^^^
3370
3371- Bugfix to allow column assignment of pandas datetimes(:pr:`3164`) `Max Epstein`_
3372
3373Core
3374^^^^
3375
3376- New file-system for HTTP(S), allowing direct loading from specific URLs (:pr:`3160`) `Martin Durant`_
3377- Fix bug when tokenizing partials with no keywords (:pr:`3191`) `Matthew Rocklin`_
3378- Use more recent LZ4 API (:pr:`3157`) `Thrasibule`_
3379- Introduce output stream parameter for progress bar (:pr:`3185`) `Dieter Weber`_
3380
3381
33820.17.0 / 2018-02-09
3383-------------------
3384
3385Array
3386^^^^^
3387
3388- Added a support object-type arrays for nansum, nanmin, and nanmax (:issue:`3133`) `Keisuke Fujii`_
3389- Update error handling when len is called with empty chunks (:issue:`3058`) `Xander Johnson`_
3390- Fixes a metadata bug with ``store``'s ``return_stored`` option (:pr:`3064`) `John A Kirkham`_
3391- Fix a bug in ``optimization.fuse_slice`` to properly handle when first input is ``None`` (:pr:`3076`) `James Bourbeau`_
3392- Support arrays with unknown chunk sizes in percentile (:pr:`3107`) `Matthew Rocklin`_
3393- Tokenize scipy.sparse arrays and np.matrix (:pr:`3060`) `Roman Yurchak`_
3394
3395DataFrame
3396^^^^^^^^^
3397- Support month timedeltas in repartition(freq=...) (:pr:`3110`) `Matthew Rocklin`_
3398- Avoid mutation in dataframe groupby tests (:pr:`3118`) `Matthew Rocklin`_
3399- ``read_csv``, ``read_table``, and ``read_parquet`` accept iterables of paths
3400  (:pr:`3124`) `Jim Crist`_
3401- Deprecates the ``dd.to_delayed`` *function* in favor of the existing method
3402  (:pr:`3126`) `Jim Crist`_
3403- Return dask.arrays from df.map_partitions calls when the UDF returns a numpy array (:pr:`3147`) `Matthew Rocklin`_
3404- Change handling of ``columns`` and ``index`` in ``dd.read_parquet`` to be more
3405  consistent, especially in handling of multi-indices (:pr:`3149`) `Jim Crist`_
3406- fastparquet append=True allowed to create new dataset (:pr:`3097`) `Martin Durant`_
3407- dtype rationalization for sql queries (:pr:`3100`) `Martin Durant`_
3408
3409Bag
3410^^^
3411
3412- Document ``bag.map_paritions`` function may receive either a list or generator. (:pr:`3150`) `Nir`_
3413
3414Core
3415^^^^
3416
3417- Change default task ordering to prefer nodes with few dependents and then
3418  many downstream dependencies (:pr:`3056`) `Matthew Rocklin`_
3419- Add color= option to visualize to color by task order (:pr:`3057`) (:pr:`3122`) `Matthew Rocklin`_
3420- Deprecate ``dask.bytes.open_text_files`` (:pr:`3077`) `Jim Crist`_
3421- Remove short-circuit hdfs reads handling due to maintenance costs. May be
3422  re-added in a more robust manner later (:pr:`3079`) `Jim Crist`_
3423- Add ``dask.base.optimize`` for optimizing multiple collections without
3424  computing. (:pr:`3071`) `Jim Crist`_
3425- Rename ``dask.optimize`` module to ``dask.optimization`` (:pr:`3071`) `Jim Crist`_
3426- Change task ordering to do a full traversal (:pr:`3066`) `Matthew Rocklin`_
3427- Adds an ``optimize_graph`` keyword to all ``to_delayed`` methods to allow
3428  controlling whether optimizations occur on conversion. (:pr:`3126`) `Jim Crist`_
3429- Support using ``pyarrow`` for hdfs integration (:pr:`3123`) `Jim Crist`_
3430- Move HDFS integration and tests into dask repo (:pr:`3083`) `Jim Crist`_
3431- Remove write_bytes (:pr:`3116`) `Jim Crist`_
3432
3433
34340.16.1 / 2018-01-09
3435-------------------
3436
3437Array
3438^^^^^
3439
3440- Fix handling of scalar percentile values in ``percentile`` (:pr:`3021`) `James Bourbeau`_
3441- Prevent ``bool()`` coercion from calling compute (:pr:`2958`) `Albert DeFusco`_
3442- Add ``matmul`` (:pr:`2904`) `John A Kirkham`_
3443- Support N-D arrays with ``matmul`` (:pr:`2909`) `John A Kirkham`_
3444- Add ``vdot`` (:pr:`2910`) `John A Kirkham`_
3445- Explicit ``chunks`` argument for ``broadcast_to`` (:pr:`2943`) `Stephan Hoyer`_
3446- Add ``meshgrid`` (:pr:`2938`) `John A Kirkham`_ and (:pr:`3001`) `Markus Gonser`_
3447- Preserve singleton chunks in ``fftshift``/``ifftshift`` (:pr:`2733`) `John A Kirkham`_
3448- Fix handling of negative indexes in ``vindex`` and raise errors for out of bounds indexes (:pr:`2967`) `Stephan Hoyer`_
3449- Add ``flip``, ``flipud``, ``fliplr`` (:pr:`2954`) `John A Kirkham`_
3450- Add ``float_power`` ufunc (:pr:`2962`) (:pr:`2969`) `John A Kirkham`_
3451- Compatibility for changes to structured arrays in the upcoming NumPy 1.14 release (:pr:`2964`) `Tom Augspurger`_
3452- Add ``block`` (:pr:`2650`) `John A Kirkham`_
3453- Add ``frompyfunc`` (:pr:`3030`) `Jim Crist`_
3454- Add the ``return_stored`` option to ``store`` for chaining stored results (:pr:`2980`) `John A Kirkham`_
3455
3456DataFrame
3457^^^^^^^^^
3458
3459- Fixed naming bug in cumulative aggregations (:issue:`3037`) `Martijn Arts`_
3460- Fixed ``dd.read_csv`` when ``names`` is given but ``header`` is not set to ``None`` (:issue:`2976`) `Martijn Arts`_
3461- Fixed ``dd.read_csv`` so that passing instances of ``CategoricalDtype`` in ``dtype`` will result in known categoricals (:pr:`2997`) `Tom Augspurger`_
3462- Prevent ``bool()`` coercion from calling compute (:pr:`2958`) `Albert DeFusco`_
3463- ``DataFrame.read_sql()`` (:pr:`2928`) to an empty database tables returns an empty dask dataframe `Apostolos Vlachopoulos`_
3464- Compatibility for reading Parquet files written by PyArrow 0.8.0 (:pr:`2973`) `Tom Augspurger`_
3465- Correctly handle the column name (`df.columns.name`) when reading in ``dd.read_parquet`` (:pr:`2973`) `Tom Augspurger`_
3466- Fixed ``dd.concat`` losing the index dtype when the data contained a categorical (:issue:`2932`) `Tom Augspurger`_
3467- Add ``dd.Series.rename`` (:pr:`3027`) `Jim Crist`_
3468- ``DataFrame.merge()`` now supports merging on a combination of columns and the index (:pr:`2960`) `Jon Mease`_
3469- Removed the deprecated ``dd.rolling*`` methods, in preparation for their removal in the next pandas release (:pr:`2995`) `Tom Augspurger`_
3470- Fix metadata inference bug in which single-partition series were mistakenly special cased (:pr:`3035`) `Jim Crist`_
3471- Add support for ``Series.str.cat`` (:pr:`3028`) `Jim Crist`_
3472
3473Core
3474^^^^
3475
3476- Improve 32-bit compatibility (:pr:`2937`) `Matthew Rocklin`_
3477- Change task prioritization to avoid upwards branching (:pr:`3017`) `Matthew Rocklin`_
3478
3479
34800.16.0 / 2017-11-17
3481-------------------
3482
3483This is a major release.  It includes breaking changes, new protocols, and a
3484large number of bug fixes.
3485
3486Array
3487^^^^^
3488
3489- Add ``atleast_1d``, ``atleast_2d``, and ``atleast_3d`` (:pr:`2760`) (:pr:`2765`) `John A Kirkham`_
3490- Add ``allclose`` (:pr:`2771`) by `John A Kirkham`_
3491- Remove ``random.different_seeds`` from Dask Array API docs (:pr:`2772`) `John A Kirkham`_
3492- Deprecate ``vnorm`` in favor of ``dask.array.linalg.norm`` (:pr:`2773`) `John A Kirkham`_
3493- Reimplement ``unique`` to be lazy (:pr:`2775`) `John A Kirkham`_
3494- Support broadcasting of Dask Arrays with 0-length dimensions (:pr:`2784`) `John A Kirkham`_
3495- Add ``asarray`` and ``asanyarray`` to Dask Array API docs (:pr:`2787`) `James Bourbeau`_
3496- Support ``unique``'s ``return_*`` arguments (:pr:`2779`) `John A Kirkham`_
3497- Simplify ``_unique_internal`` (:pr:`2850`) (:pr:`2855`) `John A Kirkham`_
3498- Avoid removing some getter calls in array optimizations (:pr:`2826`) `Jim Crist`_
3499
3500DataFrame
3501^^^^^^^^^
3502
3503- Support ``pyarrow`` in ``dd.to_parquet`` (:pr:`2868`) `Jim Crist`_
3504- Fixed ``DataFrame.quantile`` and ``Series.quantile`` returning ``nan`` when missing values are present (:pr:`2791`) `Tom Augspurger`_
3505- Fixed ``DataFrame.quantile`` losing the result ``.name`` when ``q`` is a scalar (:pr:`2791`) `Tom Augspurger`_
3506- Fixed ``dd.concat`` return a ``dask.Dataframe`` when concatenating a single series along the columns, matching pandas' behavior (:pr:`2800`) `James Munroe`_
3507- Fixed default inplace parameter for ``DataFrame.eval`` to match the pandas defualt for pandas >= 0.21.0 (:pr:`2838`) `Tom Augspurger`_
3508- Fix exception when calling ``DataFrame.set_index`` on text column where one of the partitions was empty (:pr:`2831`) `Jesse Vogt`_
3509- Do not raise exception when calling ``DataFrame.set_index`` on empty dataframe (:pr:`2827`) `Jesse Vogt`_
3510- Fixed bug in ``Dataframe.fillna`` when filling with a ``Series`` value (:pr:`2810`) `Tom Augspurger`_
3511- Deprecate old argument ordering in ``dd.to_parquet`` to better match convention of putting the dataframe first (:pr:`2867`) `Jim Crist`_
3512- df.astype(categorical_dtype -> known categoricals (:pr:`2835`) `Jim Crist`_
3513- Test against Pandas release candidate (:pr:`2814`) `Tom Augspurger`_
3514- Add more tests for read_parquet(engine='pyarrow') (:pr:`2822`) `Uwe Korn`_
3515- Remove unnecessary map_partitions in aggregate (:pr:`2712`) `Christopher Prohm`_
3516- Fix bug calling sample on empty partitions (:pr:`2818`) `@xwang777`_
3517- Error nicely when parsing dates in read_csv (:pr:`2863`) `Jim Crist`_
3518- Cleanup handling of passing filesystem objects to PyArrow readers (:pr:`2527`) `@fjetter`_
3519- Support repartitioning even if there are no divisions (:pr:`2873`) `@Ced4`_
3520- Support reading/writing to hdfs using ``pyarrow`` in ``dd.to_parquet`` (:pr:`2894`, :pr:`2881`) `Jim Crist`_
3521
3522Core
3523^^^^
3524
3525-  Allow tuples as sharedict keys (:pr:`2763`) `Matthew Rocklin`_
3526-  Calling compute within a dask.distributed task defaults to distributed scheduler (:pr:`2762`) `Matthew Rocklin`_
3527-  Auto-import gcsfs when gcs:// protocol is used (:pr:`2776`) `Matthew Rocklin`_
3528-  Fully remove dask.async module, use dask.local instead (:pr:`2828`) `Thomas Caswell`_
3529-  Compatibility with bokeh 0.12.10 (:pr:`2844`) `Tom Augspurger`_
3530-  Reduce test memory usage (:pr:`2782`) `Jim Crist`_
3531-  Add Dask collection interface (:pr:`2748`) `Jim Crist`_
3532-  Update Dask collection interface during XArray integration (:pr:`2847`) `Matthew Rocklin`_
3533-  Close resource profiler process on __exit__ (:pr:`2871`) `Jim Crist`_
3534-  Fix S3 tests (:pr:`2875`) `Jim Crist`_
3535-  Fix port for bokeh dashboard in docs (:pr:`2889`) `Ian Hopkinson`_
3536-  Wrap Dask filesystems for PyArrow compatibility (:pr:`2881`) `Jim Crist`_
3537
3538
35390.15.4 / 2017-10-06
3540-------------------
3541
3542Array
3543^^^^^
3544
3545-  ``da.random.choice`` now works with array arguments (:pr:`2781`)
3546-  Support indexing in arrays with np.int (fixes regression) (:pr:`2719`)
3547-  Handle zero dimension with rechunking (:pr:`2747`)
3548-  Support -1 as an alias for "size of the dimension" in ``chunks`` (:pr:`2749`)
3549-  Call mkdir in array.to_npy_stack (:pr:`2709`)
3550
3551DataFrame
3552^^^^^^^^^
3553
3554-  Added the `.str` accessor to Categoricals with string categories (:pr:`2743`)
3555-  Support int96 (spark) datetimes in parquet writer (:pr:`2711`)
3556-  Pass on file scheme to fastparquet (:pr:`2714`)
3557-  Support Pandas 0.21 (:pr:`2737`)
3558
3559Bag
3560^^^
3561
3562- Add tree reduction support for foldby (:pr:`2710`)
3563
3564
3565Core
3566^^^^
3567
3568-  Drop s3fs from ``pip install dask[complete]`` (:pr:`2750`)
3569
3570
35710.15.3 / 2017-09-24
3572-------------------
3573
3574Array
3575^^^^^
3576
3577-  Add masked arrays (:pr:`2301`)
3578-  Add ``*_like array creation functions`` (:pr:`2640`)
3579-  Indexing with unsigned integer array (:pr:`2647`)
3580-  Improved slicing with boolean arrays of different dimensions (:pr:`2658`)
3581-  Support literals in ``top`` and ``atop`` (:pr:`2661`)
3582-  Optional axis argument in cumulative functions (:pr:`2664`)
3583-  Improve tests on scalars with ``assert_eq`` (:pr:`2681`)
3584-  Fix norm keepdims (:pr:`2683`)
3585-  Add ``ptp`` (:pr:`2691`)
3586-  Add apply_along_axis (:pr:`2690`) and apply_over_axes (:pr:`2702`)
3587
3588DataFrame
3589^^^^^^^^^
3590
3591-  Added ``Series.str[index]`` (:pr:`2634`)
3592-  Allow the groupby by param to handle columns and index levels (:pr:`2636`)
3593-  ``DataFrame.to_csv`` and ``Bag.to_textfiles`` now return the filenames to
3594    which they have written (:pr:`2655`)
3595-  Fix combination of ``partition_on`` and ``append`` in ``to_parquet``
3596   (:pr:`2645`)
3597-  Fix for parquet file schemes (:pr:`2667`)
3598-  Repartition works with mixed categoricals (:pr:`2676`)
3599
3600Core
3601^^^^
3602
3603-  ``python setup.py test`` now runs tests (:pr:`2641`)
3604-  Added new cheatsheet (:pr:`2649`)
3605-  Remove resize tool in Bokeh plots (:pr:`2688`)
3606
3607
36080.15.2 / 2017-08-25
3609-------------------
3610
3611Array
3612^^^^^
3613
3614-  Remove spurious keys from map_overlap graph (:pr:`2520`)
3615-  where works with non-bool condition and scalar values (:pr:`2543`) (:pr:`2549`)
3616-  Improve compress (:pr:`2541`) (:pr:`2545`) (:pr:`2555`)
3617-  Add argwhere, _nonzero, and where(cond) (:pr:`2539`)
3618-  Generalize vindex in dask.array to handle multi-dimensional indices (:pr:`2573`)
3619-  Add choose method (:pr:`2584`)
3620-  Split code into reorganized files (:pr:`2595`)
3621-  Add linalg.norm (:pr:`2597`)
3622-  Add diff, ediff1d (:pr:`2607`), (:pr:`2609`)
3623-  Improve dtype inference and reflection (:pr:`2571`)
3624
3625Bag
3626^^^
3627
3628-   Remove deprecated Bag behaviors (:pr:`2525`)
3629
3630DataFrame
3631^^^^^^^^^
3632
3633-  Support callables in assign (:pr:`2513`)
3634-  better error messages for read_csv (:pr:`2522`)
3635-  Add dd.to_timedelta (:pr:`2523`)
3636-  Verify metadata in from_delayed (:pr:`2534`) (:pr:`2591`)
3637-  Add DataFrame.isin (:pr:`2558`)
3638-  Read_hdf supports iterables of files (:pr:`2547`)
3639
3640Core
3641^^^^
3642
3643-  Remove bare ``except:`` blocks everywhere (:pr:`2590`)
3644
36450.15.1 / 2017-07-08
3646-------------------
3647
3648-  Add storage_options to to_textfiles and to_csv (:pr:`2466`)
3649-  Rechunk and simplify rfftfreq (:pr:`2473`), (:pr:`2475`)
3650-  Better support ndarray subclasses (:pr:`2486`)
3651-  Import star in dask.distributed (:pr:`2503`)
3652-  Threadsafe cache handling with tokenization (:pr:`2511`)
3653
3654
36550.15.0 / 2017-06-09
3656-------------------
3657
3658Array
3659^^^^^
3660
3661-  Add dask.array.stats submodule (:pr:`2269`)
3662-  Support ``ufunc.outer`` (:pr:`2345`)
3663-  Optimize fancy indexing by reducing graph overhead (:pr:`2333`) (:pr:`2394`)
3664-  Faster array tokenization using alternative hashes (:pr:`2377`)
3665-  Added the matmul ``@`` operator (:pr:`2349`)
3666-  Improved coverage of the ``numpy.fft`` module (:pr:`2320`) (:pr:`2322`) (:pr:`2327`) (:pr:`2323`)
3667-  Support NumPy's ``__array_ufunc__`` protocol (:pr:`2438`)
3668
3669Bag
3670^^^
3671
3672-  Fix bug where reductions on bags with no partitions would fail (:pr:`2324`)
3673-  Add broadcasting and variadic ``db.map`` top-level function.  Also remove
3674   auto-expansion of tuples as map arguments (:pr:`2339`)
3675-  Rename ``Bag.concat`` to ``Bag.flatten`` (:pr:`2402`)
3676
3677DataFrame
3678^^^^^^^^^
3679
3680-  Parquet improvements (:pr:`2277`) (:pr:`2422`)
3681
3682Core
3683^^^^
3684
3685-  Move dask.async module to dask.local (:pr:`2318`)
3686-  Support callbacks with nested scheduler calls (:pr:`2397`)
3687-  Support pathlib.Path objects as uris  (:pr:`2310`)
3688
3689
36900.14.3 / 2017-05-05
3691-------------------
3692
3693DataFrame
3694^^^^^^^^^
3695
3696-  Pandas 0.20.0 support
3697
36980.14.2 / 2017-05-03
3699-------------------
3700
3701Array
3702^^^^^
3703
3704-  Add da.indices (:pr:`2268`), da.tile (:pr:`2153`), da.roll (:pr:`2135`)
3705-  Simultaneously support drop_axis and new_axis in da.map_blocks (:pr:`2264`)
3706-  Rechunk and concatenate work with unknown chunksizes (:pr:`2235`) and (:pr:`2251`)
3707-  Support non-numpy container arrays, notably sparse arrays (:pr:`2234`)
3708-  Tensordot contracts over multiple axes (:pr:`2186`)
3709-  Allow delayed targets in da.store (:pr:`2181`)
3710-  Support interactions against lists and tuples (:pr:`2148`)
3711-  Constructor plugins for debugging (:pr:`2142`)
3712-  Multi-dimensional FFTs (single chunk) (:pr:`2116`)
3713
3714Bag
3715^^^
3716
3717-  to_dataframe enforces consistent types (:pr:`2199`)
3718
3719DataFrame
3720^^^^^^^^^
3721
3722-  Set_index always fully sorts the index (:pr:`2290`)
3723-  Support compatibility with pandas 0.20.0 (:pr:`2249`), (:pr:`2248`), and (:pr:`2246`)
3724-  Support Arrow Parquet reader (:pr:`2223`)
3725-  Time-based rolling windows (:pr:`2198`)
3726-  Repartition can now create more partitions, not just less (:pr:`2168`)
3727
3728Core
3729^^^^
3730
3731-  Always use absolute paths when on POSIX file system (:pr:`2263`)
3732-  Support user provided graph optimizations (:pr:`2219`)
3733-  Refactor path handling (:pr:`2207`)
3734-  Improve fusion performance (:pr:`2129`), (:pr:`2131`), and (:pr:`2112`)
3735
3736
37370.14.1 / 2017-03-22
3738-------------------
3739
3740Array
3741^^^^^
3742
3743-  Micro-optimize optimizations (:pr:`2058`)
3744-  Change slicing optimizations to avoid fusing raw numpy arrays (:pr:`2075`) (:pr:`2080`)
3745-  Dask.array operations now work on numpy arrays (:pr:`2079`)
3746-  Reshape now works in a much broader set of cases (:pr:`2089`)
3747-  Support deepcopy python protocol (:pr:`2090`)
3748-  Allow user-provided FFT implementations in ``da.fft`` (:pr:`2093`)
3749
3750DataFrame
3751^^^^^^^^^
3752
3753-  Fix to_parquet with empty partitions (:pr:`2020`)
3754-  Optional ``npartitions='auto'`` mode in ``set_index`` (:pr:`2025`)
3755-  Optimize shuffle performance (:pr:`2032`)
3756-  Support efficient repartitioning along time windows like ``repartition(freq='12h')`` (:pr:`2059`)
3757-  Improve speed of categorize (:pr:`2010`)
3758-  Support single-row dataframe arithmetic (:pr:`2085`)
3759-  Automatically avoid shuffle when setting index with a sorted column (:pr:`2091`)
3760-  Improve handling of integer-na handling in read_csv (:pr:`2098`)
3761
3762Delayed
3763^^^^^^^
3764
3765-  Repeated attribute access on delayed objects uses the same key (:pr:`2084`)
3766
3767Core
3768^^^^
3769
3770-   Improve naming of nodes in dot visuals to avoid generic ``apply``
3771    (:pr:`2070`)
3772-   Ensure that worker processes have different random seeds (:pr:`2094`)
3773
3774
37750.14.0 / 2017-02-24
3776-------------------
3777
3778Array
3779^^^^^
3780
3781- Fix corner cases with zero shape and misaligned values in ``arange``
3782  (:pr:`1902`), (:pr:`1904`), (:pr:`1935`), (:pr:`1955`), (:pr:`1956`)
3783- Improve concatenation efficiency (:pr:`1923`)
3784- Avoid hashing in ``from_array`` if name is provided (:pr:`1972`)
3785
3786Bag
3787^^^
3788
3789- Repartition can now increase number of partitions (:pr:`1934`)
3790- Fix bugs in some reductions with empty partitions (:pr:`1939`), (:pr:`1950`),
3791  (:pr:`1953`)
3792
3793
3794DataFrame
3795^^^^^^^^^
3796
3797- Support non-uniform categoricals (:pr:`1877`), (:pr:`1930`)
3798- Groupby cumulative reductions (:pr:`1909`)
3799- DataFrame.loc indexing now supports lists (:pr:`1913`)
3800- Improve multi-level groupbys (:pr:`1914`)
3801- Improved HTML and string repr for DataFrames (:pr:`1637`)
3802- Parquet append (:pr:`1940`)
3803- Add ``dd.demo.daily_stock`` function for teaching (:pr:`1992`)
3804
3805Delayed
3806^^^^^^^
3807
3808- Add ``traverse=`` keyword to delayed to optionally avoid traversing nested
3809  data structures (:pr:`1899`)
3810- Support Futures in from_delayed functions (:pr:`1961`)
3811- Improve serialization of decorated delayed functions (:pr:`1969`)
3812
3813Core
3814^^^^
3815
3816- Improve windows path parsing in corner cases (:pr:`1910`)
3817- Rename tasks when fusing (:pr:`1919`)
3818- Add top level ``persist`` function (:pr:`1927`)
3819- Propagate ``errors=`` keyword in byte handling (:pr:`1954`)
3820- Dask.compute traverses Python collections (:pr:`1975`)
3821- Structural sharing between graphs in dask.array and dask.delayed (:pr:`1985`)
3822
3823
38240.13.0 / 2017-01-02
3825-------------------
3826
3827Array
3828^^^^^
3829
3830- Mandatory dtypes on dask.array.  All operations maintain dtype information
3831  and UDF functions like map_blocks now require a dtype= keyword if it can not
3832  be inferred.  (:pr:`1755`)
3833- Support arrays without known shapes, such as arises when slicing arrays with
3834  arrays or converting dataframes to arrays (:pr:`1838`)
3835- Support mutation by setting one array with another (:pr:`1840`)
3836- Tree reductions for covariance and correlations.  (:pr:`1758`)
3837- Add SerializableLock for better use with distributed scheduling (:pr:`1766`)
3838- Improved atop support (:pr:`1800`)
3839- Rechunk optimization (:pr:`1737`), (:pr:`1827`)
3840
3841Bag
3842^^^
3843
3844- Avoid wrong results when recomputing the same groupby twice (:pr:`1867`)
3845
3846DataFrame
3847^^^^^^^^^
3848
3849- Add ``map_overlap`` for custom rolling operations (:pr:`1769`)
3850- Add ``shift`` (:pr:`1773`)
3851- Add Parquet support (:pr:`1782`) (:pr:`1792`) (:pr:`1810`), (:pr:`1843`),
3852  (:pr:`1859`), (:pr:`1863`)
3853- Add missing methods combine, abs, autocorr, sem, nsmallest, first, last,
3854  prod, (:pr:`1787`)
3855- Approximate nunique (:pr:`1807`), (:pr:`1824`)
3856- Reductions with multiple output partitions (for operations like
3857  drop_duplicates) (:pr:`1808`), (:pr:`1823`) (:pr:`1828`)
3858- Add delitem and copy to DataFrames, increasing mutation support (:pr:`1858`)
3859
3860Delayed
3861^^^^^^^
3862
3863- Changed behaviour for ``delayed(nout=0)`` and ``delayed(nout=1)``:
3864  ``delayed(nout=1)`` does not default to ``out=None`` anymore, and
3865  ``delayed(nout=0)`` is also enabled. I.e. functions with return
3866  tuples of length 1 or 0 can be handled correctly. This is especially
3867  handy, if functions with a variable amount of outputs are wrapped by
3868  ``delayed``. E.g. a trivial example:
3869  ``delayed(lambda *args: args, nout=len(vals))(*vals)``
3870
3871Core
3872^^^^
3873
3874- Refactor core byte ingest (:pr:`1768`), (:pr:`1774`)
3875- Improve import time (:pr:`1833`)
3876
3877
38780.12.0 / 2016-11-03
3879-------------------
3880
3881DataFrame
3882^^^^^^^^^
3883- Return a series when functions given to ``dataframe.map_partitions`` return
3884  scalars (:pr:`1515`)
3885- Fix type size inference for series (:pr:`1513`)
3886- ``dataframe.DataFrame.categorize`` no longer includes missing values
3887  in the ``categories``. This is for compatibility with a `pandas change <https://github.com/pydata/pandas/pull/10929>`_ (:pr:`1565`)
3888- Fix head parser error in ``dataframe.read_csv`` when some lines have quotes
3889  (:pr:`1495`)
3890- Add ``dataframe.reduction`` and ``series.reduction`` methods to apply generic
3891  row-wise reduction to dataframes and series (:pr:`1483`)
3892- Add ``dataframe.select_dtypes``, which mirrors the `pandas method <https://pandas.pydata.org/pandas-docs/version/0.18.1/generated/pandas.DataFrame.select_dtypes.html>`_ (:pr:`1556`)
3893- ``dataframe.read_hdf`` now supports reading ``Series`` (:pr:`1564`)
3894- Support Pandas 0.19.0 (:pr:`1540`)
3895- Implement ``select_dtypes`` (:pr:`1556`)
3896- String accessor works with indexes (:pr:`1561`)
3897- Add pipe method to dask.dataframe (:pr:`1567`)
3898- Add ``indicator`` keyword to merge (:pr:`1575`)
3899- Support Series in ``read_hdf`` (:pr:`1575`)
3900- Support Categories with missing values (:pr:`1578`)
3901- Support inplace operators like ``df.x += 1`` (:pr:`1585`)
3902- Str accessor passes through args and kwargs (:pr:`1621`)
3903- Improved groupby support for single-machine multiprocessing scheduler
3904  (:pr:`1625`)
3905- Tree reductions (:pr:`1663`)
3906- Pivot tables (:pr:`1665`)
3907- Add clip (:pr:`1667`), align (:pr:`1668`), combine_first (:pr:`1725`), and
3908  any/all (:pr:`1724`)
3909- Improved handling of divisions on dask-pandas merges (:pr:`1666`)
3910- Add ``groupby.aggregate`` method (:pr:`1678`)
3911- Add ``dd.read_table`` function (:pr:`1682`)
3912- Improve support for multi-level columns (:pr:`1697`) (:pr:`1712`)
3913- Support 2d indexing in ``loc`` (:pr:`1726`)
3914- Extend ``resample`` to include DataFrames (:pr:`1741`)
3915- Support dask.array ufuncs on dask.dataframe objects (:pr:`1669`)
3916
3917
3918Array
3919^^^^^
3920- Add information about how ``dask.array`` ``chunks`` argument work (:pr:`1504`)
3921- Fix field access with non-scalar fields in ``dask.array`` (:pr:`1484`)
3922- Add concatenate= keyword to atop to concatenate chunks of contracted dimensions
3923- Optimized slicing performance (:pr:`1539`) (:pr:`1731`)
3924- Extend ``atop`` with a ``concatenate=`` (:pr:`1609`) ``new_axes=``
3925  (:pr:`1612`) and ``adjust_chunks=`` (:pr:`1716`) keywords
3926- Add clip (:pr:`1610`) swapaxes (:pr:`1611`) round (:pr:`1708`) repeat
3927- Automatically align chunks in ``atop``-backed operations (:pr:`1644`)
3928- Cull dask.arrays on slicing (:pr:`1709`)
3929
3930Bag
3931^^^
3932- Fix issue with callables in ``bag.from_sequence`` being interpreted as
3933  tasks (:pr:`1491`)
3934- Avoid non-lazy memory use in reductions (:pr:`1747`)
3935
3936Administration
3937^^^^^^^^^^^^^^
3938
3939- Added changelog (:pr:`1526`)
3940- Create new threadpool when operating from thread (:pr:`1487`)
3941- Unify example documentation pages into one (:pr:`1520`)
3942- Add versioneer for git-commit based versions (:pr:`1569`)
3943- Pass through node_attr and edge_attr keywords in dot visualization
3944  (:pr:`1614`)
3945- Add continuous testing for Windows with Appveyor (:pr:`1648`)
3946- Remove use of multiprocessing.Manager (:pr:`1653`)
3947- Add global optimizations keyword to compute (:pr:`1675`)
3948- Micro-optimize get_dependencies (:pr:`1722`)
3949
3950
39510.11.0 / 2016-08-24
3952-------------------
3953
3954Major Points
3955^^^^^^^^^^^^
3956
3957DataFrames now enforce knowing full metadata (columns, dtypes) everywhere.
3958Previously we would operate in an ambiguous state when functions lost dtype
3959information (such as ``apply``).  Now all dataframes always know their dtypes
3960and raise errors asking for information if they are unable to infer (which
3961they usually can).  Some internal attributes like ``_pd`` and
3962``_pd_nonempty`` have been moved.
3963
3964The internals of the distributed scheduler have been refactored to
3965transition tasks between explicit states.  This improves resilience,
3966reasoning about scheduling, plugin operation, and logging.  It also makes
3967the scheduler code easier to understand for newcomers.
3968
3969Breaking Changes
3970^^^^^^^^^^^^^^^^
3971
3972- The ``distributed.s3`` and ``distributed.hdfs`` namespaces are gone.  Use
3973  protocols in normal methods like ``read_text('s3://...'`` instead.
3974- ``Dask.array.reshape`` now errs in some cases where previously it would have
3975  create a very large number of tasks
3976
3977
39780.10.2 / 2016-07-27
3979-------------------
3980
3981- More Dataframe shuffles now work in distributed settings, ranging from
3982  setting-index to hash joins, to sorted joins and groupbys.
3983- Dask passes the full test suite when run when under in Python's
3984  optimized-OO mode.
3985- On-disk shuffles were found to produce wrong results in some
3986  highly-concurrent situations, especially on Windows.  This has been resolved
3987  by a fix to the partd library.
3988- Fixed a growth of open file descriptors that occurred under large data
3989  communications
3990- Support ports in the ``--bokeh-whitelist`` option ot dask-scheduler to better
3991  routing of web interface messages behind non-trivial network settings
3992- Some improvements to resilience to worker failure (though other known
3993  failures persist)
3994- You can now start an IPython kernel on any worker for improved debugging and
3995  analysis
3996- Improvements to ``dask.dataframe.read_hdf``, especially when reading from
3997  multiple files and docs
3998
3999
40000.10.0 / 2016-06-13
4001-------------------
4002
4003Major Changes
4004^^^^^^^^^^^^^
4005
4006- This version drops support for Python 2.6
4007- Conda packages are built and served from conda-forge
4008- The ``dask.distributed`` executables have been renamed from dfoo to dask-foo.
4009  For example dscheduler is renamed to dask-scheduler
4010- Both Bag and DataFrame include a preliminary distributed shuffle.
4011
4012Bag
4013^^^
4014
4015- Add task-based shuffle for distributed groupbys
4016- Add accumulate for cumulative reductions
4017
4018DataFrame
4019^^^^^^^^^
4020
4021- Add a task-based shuffle suitable for distributed joins, groupby-applys, and
4022  set_index operations.  The single-machine shuffle remains untouched (and
4023  much more efficient.)
4024- Add support for new Pandas rolling API with improved communication
4025  performance on distributed systems.
4026- Add ``groupby.std/var``
4027- Pass through S3/HDFS storage options in ``read_csv``
4028- Improve categorical partitioning
4029- Add eval, info, isnull, notnull for dataframes
4030
4031Distributed
4032^^^^^^^^^^^
4033
4034- Rename executables like dscheduler to dask-scheduler
4035- Improve scheduler performance in the many-fast-tasks case (important for
4036  shuffling)
4037- Improve work stealing to be aware of expected function run-times and data
4038  sizes.  The drastically increases the breadth of algorithms that can be
4039  efficiently run on the distributed scheduler without significant user
4040  expertise.
4041- Support maximum buffer sizes in streaming queues
4042- Improve Windows support when using the Bokeh diagnostic web interface
4043- Support compression of very-large-bytestrings in protocol
4044- Support clean cancellation of submitted futures in Joblib interface
4045
4046Other
4047^^^^^
4048
4049- All dask-related projects (dask, distributed, s3fs, hdfs, partd) are now
4050  building conda packages on conda-forge.
4051- Change credential handling in s3fs to only pass around delegated credentials
4052  if explicitly given secret/key.  The default now is to rely on managed
4053  environments.  This can be changed back by explicitly providing a keyword
4054  argument.  Anonymous mode must be explicitly declared if desired.
4055
4056
40570.9.0 / 2016-05-11
4058------------------
4059
4060API Changes
4061^^^^^^^^^^^
4062
4063- ``dask.do`` and ``dask.value`` have been renamed to ``dask.delayed``
4064- ``dask.bag.from_filenames`` has been renamed to ``dask.bag.read_text``
4065- All S3/HDFS data ingest functions like ``db.from_s3`` or
4066  ``distributed.s3.read_csv`` have been moved into the plain ``read_text``,
4067  ``read_csv functions``, which now support protocols, like
4068  ``dd.read_csv('s3://bucket/keys*.csv')``
4069
4070Array
4071^^^^^
4072
4073- Add support for ``scipy.LinearOperator``
4074- Improve optional locking to on-disk data structures
4075- Change rechunk to expose the intermediate chunks
4076
4077Bag
4078^^^
4079
4080- Rename ``from_filename``\ s to ``read_text``
4081- Remove ``from_s3`` in favor of ``read_text('s3://...')``
4082
4083DataFrame
4084^^^^^^^^^
4085
4086- Fixed numerical stability issue for correlation and covariance
4087- Allow no-hash ``from_pandas`` for speedy round-trips to and from-pandas
4088  objects
4089- Generally reengineered ``read_csv`` to be more in line with Pandas behavior
4090- Support fast ``set_index`` operations for sorted columns
4091
4092Delayed
4093^^^^^^^
4094
4095- Rename ``do/value`` to ``delayed``
4096- Rename ``to/from_imperative`` to ``to/from_delayed``
4097
4098Distributed
4099^^^^^^^^^^^
4100
4101- Move s3 and hdfs functionality into the dask repository
4102- Adaptively oversubscribe workers for very fast tasks
4103- Improve PyPy support
4104- Improve work stealing for unbalanced workers
4105- Scatter data efficiently with tree-scatters
4106
4107Other
4108^^^^^
4109
4110- Add lzma/xz compression support
4111- Raise a warning when trying to split unsplittable compression types, like
4112  gzip or bz2
4113- Improve hashing for single-machine shuffle operations
4114- Add new callback method for start state
4115- General performance tuning
4116
4117
41180.8.1 / 2016-03-11
4119------------------
4120
4121Array
4122^^^^^
4123
4124- Bugfix for range slicing that could periodically lead to incorrect results.
4125- Improved support and resiliency of ``arg`` reductions (``argmin``, ``argmax``, etc.)
4126
4127Bag
4128^^^
4129
4130- Add ``zip`` function
4131
4132DataFrame
4133^^^^^^^^^
4134
4135- Add ``corr`` and ``cov`` functions
4136- Add ``melt`` function
4137- Bugfixes for io to bcolz and hdf5
4138
4139
41400.8.0 / 2016-02-20
4141------------------
4142
4143Array
4144^^^^^
4145
4146- Changed default array reduction split from 32 to 4
4147- Linear algebra, ``tril``, ``triu``, ``LU``, ``inv``, ``cholesky``,
4148  ``solve``, ``solve_triangular``, ``eye``, ``lstsq``, ``diag``, ``corrcoef``.
4149
4150Bag
4151^^^
4152
4153- Add tree reductions
4154- Add range function
4155- drop ``from_hdfs`` function (better functionality now exists in hdfs3 and
4156  distributed projects)
4157
4158DataFrame
4159^^^^^^^^^
4160
4161- Refactor ``dask.dataframe`` to include a full empty pandas dataframe as
4162  metadata.  Drop the ``.columns`` attribute on Series
4163- Add Series categorical accessor, series.nunique, drop the ``.columns``
4164  attribute for series.
4165- ``read_csv`` fixes (multi-column parse_dates, integer column names, etc. )
4166- Internal changes to improve graph serialization
4167
4168Other
4169^^^^^
4170
4171- Documentation updates
4172- Add from_imperative and to_imperative functions for all collections
4173- Aesthetic changes to profiler plots
4174- Moved the dask project to a new dask organization
4175
4176
41770.7.6 / 2016-01-05
4178------------------
4179
4180Array
4181^^^^^
4182- Improve thread safety
4183- Tree reductions
4184- Add ``view``, ``compress``, ``hstack``, ``dstack``, ``vstack`` methods
4185- ``map_blocks`` can now remove and add dimensions
4186
4187DataFrame
4188^^^^^^^^^
4189- Improve thread safety
4190- Extend sampling to include replacement options
4191
4192Imperative
4193^^^^^^^^^^
4194- Removed optimization passes that fused results.
4195
4196Core
4197^^^^
4198
4199- Removed ``dask.distributed``
4200- Improved performance of blocked file reading
4201- Serialization improvements
4202- Test Python 3.5
4203
4204
42050.7.4 / 2015-10-23
4206------------------
4207
4208This was mostly a bugfix release. Some notable changes:
4209
4210- Fix minor bugs associated with the release of numpy 1.10 and pandas 0.17
4211- Fixed a bug with random number generation that would cause repeated blocks
4212  due to the birthday paradox
4213- Use locks in ``dask.dataframe.read_hdf`` by default to avoid concurrency
4214  issues
4215- Change ``dask.get`` to point to ``dask.async.get_sync`` by default
4216- Allow visualization functions to accept general graphviz graph options like
4217  rankdir='LR'
4218- Add reshape and ravel to ``dask.array``
4219- Support the creation of ``dask.arrays`` from ``dask.imperative`` objects
4220
4221Deprecation
4222^^^^^^^^^^^
4223
4224This release also includes a deprecation warning for ``dask.distributed``, which
4225will be removed in the next version.
4226
4227Future development in distributed computing for dask is happening here:
4228https://distributed.dask.org . General feedback on that project is most
4229welcome from this community.
4230
4231
42320.7.3 / 2015-09-25
4233------------------
4234
4235Diagnostics
4236^^^^^^^^^^^
4237- A utility for profiling memory and cpu usage has been added to the
4238  ``dask.diagnostics`` module.
4239
4240DataFrame
4241^^^^^^^^^
4242This release improves coverage of the pandas API. Among other things
4243it includes ``nunique``, ``nlargest``, ``quantile``. Fixes encoding issues
4244with reading non-ascii csv files. Performance improvements and  bug fixes
4245with resample. More flexible read_hdf with globbing. And many more. Various
4246bug fixes in ``dask.imperative`` and ``dask.bag``.
4247
4248
42490.7.0 / 2015-08-15
4250------------------
4251
4252DataFrame
4253^^^^^^^^^
4254This release includes significant bugfixes and alignment with the Pandas API.
4255This has resulted both from use and from recent involvement by Pandas core
4256developers.
4257
4258- New operations: query, rolling operations, drop
4259- Improved operations: quantiles, arithmetic on full dataframes, dropna,
4260  constructor logic, merge/join, elemwise operations, groupby aggregations
4261
4262Bag
4263^^^
4264- Fixed a bug in fold where with a null default argument
4265
4266Array
4267^^^^^
4268- New operations: da.fft module, da.image.imread
4269
4270Infrastructure
4271^^^^^^^^^^^^^^
4272- The array and dataframe collections create graphs with deterministic keys.
4273  These tend to be longer (hash strings) but should be consistent between
4274  computations.  This will be useful for caching in the future.
4275- All collections (Array, Bag, DataFrame) inherit from common subclass
4276
4277
42780.6.1 / 2015-07-23
4279------------------
4280
4281Distributed
4282^^^^^^^^^^^
4283- Improved (though not yet sufficient) resiliency for ``dask.distributed``
4284  when workers die
4285
4286DataFrame
4287^^^^^^^^^
4288- Improved writing to various formats, including to_hdf, to_castra, and
4289  to_csv
4290- Improved creation of dask DataFrames from dask Arrays and Bags
4291- Improved support for categoricals and various other methods
4292
4293Array
4294^^^^^
4295- Various bug fixes
4296- Histogram function
4297
4298Scheduling
4299^^^^^^^^^^
4300- Added tie-breaking ordering of tasks within parallel workloads to
4301  better handle and clear intermediate results
4302
4303Other
4304^^^^^
4305- Added the dask.do function for explicit construction of graphs with
4306  normal python code
4307- Traded pydot for graphviz library for graph printing to support Python3
4308- There is also a gitter chat room and a stackoverflow tag
4309
4310
4311.. _`Guido Imperiale`: https://github.com/crusaderky
4312.. _`John A Kirkham`: https://github.com/jakirkham
4313.. _`Matthew Rocklin`: https://github.com/mrocklin
4314.. _`Jim Crist`: https://github.com/jcrist
4315.. _`James Bourbeau`: https://github.com/jrbourbeau
4316.. _`James Munroe`: https://github.com/jmunroe
4317.. _`Thomas Caswell`: https://github.com/tacaswell
4318.. _`Tom Augspurger`: https://github.com/tomaugspurger
4319.. _`Uwe Korn`: https://github.com/xhochy
4320.. _`Christopher Prohm`: https://github.com/chmp
4321.. _`@xwang777`: https://github.com/xwang777
4322.. _`@fjetter`: https://github.com/fjetter
4323.. _`@Ced4`: https://github.com/Ced4
4324.. _`Ian Hopkinson`: https://github.com/IanHopkinson
4325.. _`Stephan Hoyer`: https://github.com/shoyer
4326.. _`Albert DeFusco`: https://github.com/AlbertDeFusco
4327.. _`Markus Gonser`: https://github.com/magonser
4328.. _`Martijn Arts`: https://github.com/mfaafm
4329.. _`Jon Mease`: https://github.com/jonmmease
4330.. _`Xander Johnson`: https://github.com/metasyn
4331.. _`Nir`: https://github.com/nirizr
4332.. _`Keisuke Fujii`: https://github.com/fujiisoup
4333.. _`Roman Yurchak`: https://github.com/rth
4334.. _`Max Epstein`: https://github.com/MaxPowerWasTaken
4335.. _`Simon Perkins`: https://github.com/sjperkins
4336.. _`Richard Postelnik`: https://github.com/postelrich
4337.. _`Daniel Collins`: https://github.com/dancollins34
4338.. _`Gabriele Lanaro`: https://github.com/gabrielelanaro
4339.. _`Jörg Dietrich`: https://github.com/joergdietrich
4340.. _`Christopher Ren`: https://github.com/cr458
4341.. _`Martin Durant`: https://github.com/martindurant
4342.. _`Thrasibule`: https://github.com/thrasibule
4343.. _`Dieter Weber`: https://github.com/uellue
4344.. _`Apostolos Vlachopoulos`: https://github.com/avlahop
4345.. _`Jesse Vogt`: https://github.com/jessevogt
4346.. _`Pierre Bartet`: https://github.com/Pierre-Bartet
4347.. _`Scott Sievert`: https://github.com/stsievert
4348.. _`Jeremy Chen`: https://github.com/convexset
4349.. _`Marc Pfister`: https://github.com/drwelby
4350.. _`Matt Lee`: https://github.com/mathewlee11
4351.. _`Yu Feng`: https://github.com/rainwoodman
4352.. _`@andrethrill`: https://github.com/andrethrill
4353.. _`@beomi`: https://github.com/beomi
4354.. _`Henrique Ribeiro`: https://github.com/henriqueribeiro
4355.. _`Marco Rossi`: https://github.com/m-rossi
4356.. _`Itamar Turner-Trauring`: https://github.com/itamarst
4357.. _`Mike Neish`: https://github.com/neishm
4358.. _`Mark Harfouche`: https://github.com/hmaarrfk
4359.. _`George Sakkis`: https://github.com/gsakkis
4360.. _`Ziyao Wei`: https://github.com/ZiyaoWei
4361.. _`Jacob Tomlinson`: https://github.com/jacobtomlinson
4362.. _`Elliott Sales de Andrade`: https://github.com/QuLogic
4363.. _`Gerome Pistre`: https://github.com/GPistre
4364.. _`Cloves Almeida`: https://github.com/cjalmeida
4365.. _`Tobias de Jong`: https://github.com/tadejong
4366.. _`Irina Truong`: https://github.com/j-bennet
4367.. _`Eric Bonfadini`: https://github.com/eric-bonfadini
4368.. _`Danilo Horta`: https://github.com/horta
4369.. _`@hugovk`: https://github.com/hugovk
4370.. _`Jan Margeta`: https://github.com/jmargeta
4371.. _`John Mrziglod`: https://github.com/JohnMrziglod
4372.. _`Christoph Moehl`: https://github.com/cmohl2013
4373.. _`Anderson Banihirwe`: https://github.com/andersy005
4374.. _`Javad`: https://github.com/javad94
4375.. _`Daniel Rothenberg`: https://github.com/darothen
4376.. _`Hans Moritz Günther`: https://github.com/hamogu
4377.. _`@rtobar`: https://github.com/rtobar
4378.. _`Julia Signell`: https://github.com/jsignell
4379.. _`Sriharsha Hatwar`: https://github.com/Sriharsha-hatwar
4380.. _`Bruce Merry`: https://github.com/bmerry
4381.. _`Joe Hamman`: https://github.com/jhamman
4382.. _`Robert Sare`: https://github.com/rmsare
4383.. _`Jeremy Chan`: https://github.com/convexset
4384.. _`Eric Wolak`: https://github.com/epall
4385.. _`Miguel Farrajota`: https://github.com/farrajota
4386.. _`Zhenqing Li`: https://github.com/DigitalPig
4387.. _`Matthias Bussonier`: https://github.com/Carreau
4388.. _`Jan Koch`: https://github.com/datajanko
4389.. _`Bart Broere`: https://github.com/bartbroere
4390.. _`Rahul Vaidya`: https://github.com/rvaidya
4391.. _`Justin Dennison`: https://github.com/justin1dennison
4392.. _`Antonino Ingargiola`: https://github.com/tritemio
4393.. _`TakaakiFuruse`: https://github.com/TakaakiFuruse
4394.. _`samc0de`: https://github.com/samc0de
4395.. _`Armin Berres`: https://github.com/aberres
4396.. _`Damien Garaud`: https://github.com/geraud
4397.. _`Jonathan Fraine`: https://github.com/exowanderer
4398.. _`Carlos Valiente`: https://github.com/carletes
4399.. _`@milesial`: https://github.com/milesial
4400.. _`Paul Vecchio`: https://github.com/vecchp
4401.. _`Johnnie Gray`: https://github.com/jcmgray
4402.. _`Diane Trout`: https://github.com/detrout
4403.. _`Marco Neumann`: https://github.com/crepererum
4404.. _`Mina Farid`: https://github.com/minafarid
4405.. _`@slnguyen`: https://github.com/slnguyen
4406.. _`Gábor Lipták`: https://github.com/gliptak
4407.. _`David Hoese`: https://github.com/djhoese
4408.. _`Daniel Li`: https://github.com/li-dan
4409.. _`Prabakaran Kumaresshan`: https://github.com/nixphix
4410.. _`Daniel Saxton`: https://github.com/dsaxton
4411.. _`Jendrik Jördening`: https://github.com/jendrikjoe
4412.. _`Takahiro Kojima`: https://github.com/515hikaru
4413.. _`Stuart Berg`: https://github.com/stuarteberg
4414.. _`Guillaume Eynard-Bontemps`: https://github.com/guillaumeeb
4415.. _`Adam Beberg`: https://github.com/beberg
4416.. _`Roma Sokolov`: https://github.com/little-arhat
4417.. _`Daniel Severo`: https://github.com/dsevero
4418.. _`Michał Jastrzębski`: https://github.com/inc0
4419.. _`Janne Vuorela`: https://github.com/Dimplexion
4420.. _`Ross Petchler`: https://github.com/rpetchler
4421.. _`Aploium`: https://github.com/aploium
4422.. _`Peter Andreas Entschev`: https://github.com/pentschev
4423.. _`@JulianWgs`: https://github.com/JulianWgs
4424.. _`Shyam Saladi`: https://github.com/smsaladi
4425.. _`Joe Corbett`: https://github.com/jcorb
4426.. _`@HSR05`: https://github.com/HSR05
4427.. _`Benjamin Zaitlen`: https://github.com/quasiben
4428.. _`Brett Naul`: https://github.com/bnaul
4429.. _`Justin Poehnelt`: https://github.com/jpoehnelt
4430.. _`Dan O'Donovan`: https://github.com/danodonovan
4431.. _`amerkel2`: https://github.com/amerkel2
4432.. _`Justin Waugh`: https://github.com/bluecoconut
4433.. _`Brian Chu`: https://github.com/bchu
4434.. _`Álvaro Abella Bascarán`: https://github.com/alvaroabascar
4435.. _`Aaron Fowles`: https://github.com/aaronfowles
4436.. _`Søren Fuglede Jørgensen`: https://github.com/fuglede
4437.. _`Hameer Abbasi`: https://github.com/hameerabbasi
4438.. _`Philipp Rudiger`: https://github.com/philippjfr
4439.. _`gregrf`: https://github.com/gregrf
4440.. _`Ian Rose`: https://github.com/ian-r-rose
4441.. _`Genevieve Buckley`: https://github.com/GenevieveBuckley
4442.. _`Michael Eaton`: https://github.com/mpeaton
4443.. _`Isaiah Norton`: https://github.com/hnorton
4444.. _`Nick Becker`: https://github.com/beckernick
4445.. _`Nathan Matare`: https://github.com/nmatare
4446.. _`@asmith26`: https://github.com/asmith26
4447.. _`Abhinav Ralhan`: https://github.com/abhinavralhan
4448.. _`Christian Hudon`: https://github.com/chrish42
4449.. _`Alistair Miles`: https://github.com/alimanfoo
4450.. _`Henry Pinkard`: https://github.com/
4451.. _`Ian Bolliger`: https://github.com/bolliger32
4452.. _`Mark Bell`: https://github.com/MarkCBell
4453.. _`Cody Johnson`: https://github.com/codercody
4454.. _`Endre Mark Borza`: https://github.com/endremborza
4455.. _`asmith26`: https://github.com/asmith26
4456.. _`Philipp S. Sommer`: https://github.com/Chilipp
4457.. _`mcsoini`: https://github.com/mcsoini
4458.. _`Ksenia Bobrova`: https://github.com/almaleksia
4459.. _`tpanza`: https://github.com/tpanza
4460.. _`Richard J Zamora`: https://github.com/rjzamora
4461.. _`Lijo Jose`: https://github.com/lijose
4462.. _`btw08`: https://github.com/btw08
4463.. _`Jorge Pessoa`: https://github.com/jorge-pessoa
4464.. _`Guillaume Lemaitre`: https://github.com/glemaitre
4465.. _`Bouwe Andela`: https://github.com/bouweandela
4466.. _`mbarkhau`: https://github.com/mbarkhau
4467.. _`Hugo`: https://github.com/hugovk
4468.. _`Paweł Kordek`: https://github.com/kordek
4469.. _`Ralf Gommers`: https://github.com/rgommers
4470.. _`Davis Bennett`: https://github.com/d-v-b
4471.. _`Willi Rath`: https://github.com/willirath
4472.. _`David Brochart`: https://github.com/davidbrochart
4473.. _`GALI PREM SAGAR`: https://github.com/galipremsagar
4474.. _`tshatrov`: https://github.com/tshatrov
4475.. _`Dustin Tindall`: https://github.com/dustindall
4476.. _`Sean McKenna`: https://github.com/seanmck
4477.. _`msbrown47`: https://github.com/msbrown47
4478.. _`Natalya Rapstine`: https://github.com/natalya-patrikeeva
4479.. _`Loïc Estève`: https://github.com/lesteve
4480.. _`Xavier Holt`: https://github.com/xavi-ai
4481.. _`Sarah Bird`: https://github.com/birdsarah
4482.. _`Doug Davis`: https://github.com/douglasdavis
4483.. _`Nicolas Hug`: https://github.com/NicolasHug
4484.. _`Blane`: https://github.com/BlaneG
4485.. _`Ivars Geidans`: https://github.com/ivarsfg
4486.. _`Scott Sievert`: https://github.com/stsievert
4487.. _`estebanag`: https://github.com/estebanag
4488.. _`Benoit Bovy`: https://github.com/benbovy
4489.. _`Gabe Joseph`: https://github.com/gjoseph92
4490.. _`therhaag`: https://github.com/therhaag
4491.. _`Arpit Solanki`: https://github.com/arpit1997
4492.. _`Oliver Hofkens`: https://github.com/OliverHofkens
4493.. _`Hongjiu Zhang`: https://github.com/hongzmsft
4494.. _`Wes Roach`: https://github.com/WesRoach
4495.. _`DomHudson`: https://github.com/DomHudson
4496.. _`Eugene Huang`: https://github.com/eugeneh101
4497.. _`Christopher J. Wright`: https://github.com/CJ-Wright
4498.. _`Mahmut Bulut`: https://github.com/vertexclique
4499.. _`Ben Jeffery`: https://github.com/benjeffery
4500.. _`Ryan Nazareth`: https://github.com/ryankarlos
4501.. _`garanews`: https://github.com/garanews
4502.. _`Vijayant`: https://github.com/VijayantSoni
4503.. _`Ryan Abernathey`: https://github.com/rabernat
4504.. _`Norman Barker`: https://github.com/normanb
4505.. _`darindf`: https://github.com/darindf
4506.. _`Ryan Grout`: https://github.com/groutr
4507.. _`Krishan Bhasin`: https://github.com/KrishanBhasin
4508.. _`Albert DeFusco`: https://github.com/AlbertDeFusco
4509.. _`Bruno Bonfils`: https://github.com/asyd
4510.. _`Petio Petrov`: https://github.com/petioptrv
4511.. _`Mads R. B. Kristensen`: https://github.com/madsbk
4512.. _`Prithvi MK`: https://github.com/pmk21
4513.. _`Eric Dill`: https://github.com/ericdill
4514.. _`Gina Helfrich`: https://github.com/Dr-G
4515.. _`ossdev07`: https://github.com/ossdev07
4516.. _`Nuno Gomes Silva`: https://github.com/mgsnuno
4517.. _`Ray Bell`: https://github.com/raybellwaves
4518.. _`Deepak Cherian`: https://github.com/dcherian
4519.. _`Matteo De Wint`: https://github.com/mdwint
4520.. _`Tim Gates`: https://github.com/timgates42
4521.. _`Erik Welch`: https://github.com/eriknw
4522.. _`Christian Wesp`: https://github.com/ChrWesp
4523.. _`Shiva Raisinghani`: https://github.com/exemplary-citizen
4524.. _`Thomas A Caswell`: https://github.com/tacaswell
4525.. _`Timost`: https://github.com/Timost
4526.. _`Maarten Breddels`: https://github.com/maartenbreddels
4527.. _`Devin Petersohn`: https://github.com/devin-petersohn
4528.. _`dfonnegra`: https://github.com/dfonnegra
4529.. _`Chris Roat`: https://github.com/ChrisRoat
4530.. _`H. Thomson Comer`: https://github.com/thomcom
4531.. _`Gerrit Holl`: https://github.com/gerritholl
4532.. _`Thomas Robitaille`: https://github.com/astrofrog
4533.. _`Yifan Gu`: https://github.com/gyf304
4534.. _`Surya Avala`: https://github.com/suryaavala
4535.. _`Cyril Shcherbin`: https://github.com/shcherbin
4536.. _`Ram Rachum`: https://github.com/cool-RR
4537.. _`Igor Gotlibovych`: https://github.com/ig248
4538.. _`K.-Michael Aye`: https://github.com/michaelaye
4539.. _`Yetunde Dada`: https://github.com/yetudada
4540.. _`Andrew Thomas`: https://github.com/amcnicho
4541.. _`rockwellw`: https://github.com/rockwellw
4542.. _`Gil Forsyth`: https://github.com/gforsyth
4543.. _`Thomas J. Fan`: https://github.com/thomasjpfan
4544.. _`Henrik Andersson`: https://github.com/hnra
4545.. _`James Lamb`: https://github.com/jameslamb
4546.. _`Corey J. Nolet`: https://github.com/cjnolet
4547.. _`Chuanzhu Xu`: https://github.com/xcz011
4548.. _`Lucas Rademaker`: https://github.com/lr4d
4549.. _`JulianWgs`: https://github.com/JulianWgs
4550.. _`psimaj`: https://github.com/psimaj
4551.. _`mlondschien`: https://github.com/mlondschien
4552.. _`petiop`: https://github.com/petiop
4553.. _`Richard (Rick) Zamora`: https://github.com/rjzamora
4554.. _`Mark Boer`: https://github.com/mark-boer
4555.. _`Florian Jetter`: https://github.com/fjetter
4556.. _`Adam Lewis`: https://github.com/Adam-D-Lewis
4557.. _`David Chudzicki`: https://github.com/dchudz
4558.. _`Nick Evans`: https://github.com/nre
4559.. _`Kai Mühlbauer`: https://github.com/kmuehlbauer
4560.. _`swapna`: https://github.com/swapna-pg
4561.. _`Antonio Ercole De Luca`: https://github.com/eracle
4562.. _`Amol Umbarkar`: https://github.com/mindhash
4563.. _`noreentry`: https://github.com/noreentry
4564.. _`Marius van Niekerk`: https://github.com/mariusvniekerk
4565.. _`Tung Dang`: https://github.com/3cham
4566.. _`Jim Crist-Harif`: https://github.com/jcrist
4567.. _`Brian Larsen`: https://github.com/brl0
4568.. _`Nils Braun`: https://github.com/nils-braun
4569.. _`Scott Sanderson`: https://github.com/ssanderson
4570.. _`Gaurav Sheni`: https://github.com/gsheni
4571.. _`Andrew Fulton`: https://github.com/andrewfulton9
4572.. _`Stephanie Gott`: https://github.com/stephaniegott
4573.. _`Huite`: https://github.com/Huite
4574.. _`Ryan Williams`: https://github.com/ryan-williams
4575.. _`Eric Czech`: https://github.com/eric-czech
4576.. _`Abdulelah Bin Mahfoodh`: https://github.com/abduhbm
4577.. _`Ben Shaver`: https://github.com/bpshaver
4578.. _`Matthias Bussonnier`: https://github.com/Carreau
4579.. _`johnomotani`: https://github.com/johnomotani
4580.. _`Roberto Panai`: https://github.com/rpanai
4581.. _`Clark Zinzow`: https://github.com/clarkzinzow
4582.. _`Tom McTiernan`: https://github.com/tmct
4583.. _`joshreback`: https://github.com/joshreback
4584.. _`Jun Han (Johnson) Ooi`: https://github.com/tebesfinwo
4585.. _`Jim Circadian`: https://github.com/JimCircadian
4586.. _`Jack Xiaosong Xu`: https://github.com/jackxxu
4587.. _`Mike McCarty`: https://github.com/mmccarty
4588.. _`michaelnarodovitch`: https://github.com/michaelnarodovitch
4589.. _`David Sheldon`: https://github.com/davidsmf
4590.. _`McToel`: https://github.com/McToel
4591.. _`Kilian Lieret`: https://github.com/klieret
4592.. _`Noah D. Brenowitz`: https://github.com/nbren12
4593.. _`Jon Thielen`: https://github.com/jthielen
4594.. _`Poruri Sai Rahul`: https://github.com/rahulporuri
4595.. _`Kyle Nicholson`: https://github.com/kylejn27
4596.. _`Rafal Wojdyla`: https://github.com/ravwojdyla
4597.. _`Sam Grayson`: https://github.com/charmoniumQ
4598.. _`Madhur Tandon`: https://github.com/madhur-tandon
4599.. _`Joachim B Haga`: https://github.com/jobh
4600.. _`Pav A`: https://github.com/rs2
4601.. _`GFleishman`: https://github.com/GFleishman
4602.. _`Shang Wang`: https://github.com/shangw-nvidia
4603.. _`Illviljan`: https://github.com/Illviljan
4604.. _`Jan Borchmann`: https://github.com/jborchma
4605.. _`Ruben van de Geer`: https://github.com/rubenvdg
4606.. _`Akira Naruse`: https://github.com/anaruse
4607.. _`Zhengnan Zhao`: https://github.com/zzhengnan
4608.. _`Greg Hayes`: https://github.com/hayesgb
4609.. _`RogerMoens`: https://github.com/RogerMoens
4610.. _`manuels`: https://github.com/manuels
4611.. _`Rockwell Weiner`: https://github.com/rockwellw
4612.. _`Devanshu Desai`: https://github.com/devanshuDesai
4613.. _`David Katz`: https://github.com/DavidKatz-il
4614.. _`Stephannie Jimenez Gacha`: https://github.com/steff456
4615.. _`Magnus Nord`: https://github.com/magnunor
4616.. _`Callum Noble`: https://github.com/callumanoble
4617.. _`Pascal Bourgault`: https://github.com/aulemahal
4618.. _`Joris Van den Bossche`: https://github.com/jorisvandenbossche
4619.. _`Mark`: https://github.com/mchi
4620.. _`Kumar Bharath Prabhu`: https://github.com/kumarprabhu1988
4621.. _`Rob Malouf`: https://github.com/rmalouf
4622.. _`sdementen`: https://github.com/sdementen
4623.. _`patquem`: https://github.com/patquem
4624.. _`Amit Kumar`: https://github.com/aktech
4625.. _`D-Stacks`: https://github.com/D-Stacks
4626.. _`Kyle Barron`: https://github.com/kylebarron
4627.. _`Julius Busecke`: https://github.com/jbusecke
4628.. _`Sinclair Target`: https://github.com/sinclairtarget
4629.. _`Ashwin Srinath`: https://github.com/shwina
4630.. _`David Hassell`: https://github.com/davidhassell
4631.. _`brandon-b-miller`: https://github.com/brandon-b-miller
4632.. _`Hristo Georgiev`: https://github.com/hristog
4633.. _`Trevor Manz`: https://github.com/manzt
4634.. _`Madhu94`: https://github.com/Madhu94
4635.. _`gerrymanoim`: https://github.com/gerrymanoim
4636.. _`rs9w33`: https://github.com/rs9w33
4637.. _`Tom White`: https://github.com/tomwhite
4638.. _`Eoin Shanaghy`: https://github.com/eoinsha
4639.. _`Nick Vazquez`: https://github.com/nickvazz
4640.. _`cameron16`: https://github.com/cameron16
4641.. _`Daniel Mesejo-León`: https://github.com/mesejo
4642.. _`Naty Clementi`: https://github.com/ncclementi
4643.. _`JSKenyon`: https://github.com/jskenyon
4644.. _`Freyam Mehta`: https://github.com/freyam
4645.. _`Jiaming Yuan`: https://github.com/trivialfis
4646.. _`c-thiel`: https://github.com/c-thiel
4647.. _`Andrew Champion`: https://github.com/aschampion
4648.. _`keewis`: https://github.com/keewis
4649.. _`Maisie Marshall`: https://github.com/maisiemarshall
4650.. _`Vibhu Jawa`: https://github.com/VibhuJawa
4651.. _`Boaz Mohar`: https://github.com/boazmohar
4652.. _`Kristopher Overholt`: https://github.com/koverholt
4653.. _`tsuga`: https://github.com/tsuga
4654.. _`Gabriel Miretti`: https://github.com/gmiretti
4655.. _`Geoffrey Lentner`: https://github.com/glentner
4656.. _`Charles Blackmon-Luca`: https://github.com/charlesbluca
4657.. _`Bryan Van de Ven`: https://github.com/bryevdv
4658.. _`Fabian Gebhart`: https://github.com/fgebhart
4659.. _`Ross`: https://github.com/rhjmoore
4660.. _`gurunath`: https://github.com/rajagurunath
4661.. _`aa1371`: https://github.com/aa1371
4662.. _`Gregory R. Lee`: https://github.com/grlee77
4663.. _`Louis Maddox`: https://github.com/lmmx
4664.. _`Dahn`: https://github.com/DahnJ
4665.. _`Jordan Jensen`: https://github.com/dotNomad
4666.. _`Martin Fleischmann`: https://github.com/martinfleis
4667.. _`Robert Hales`: https://github.com/robalar
4668.. _`João Paulo Lacerda`: https://github.com/jopasdev
4669.. _`SnkSynthesis`: https://github.com/SnkSynthesis
4670.. _`JoranDox`: https://github.com/JoranDox
4671.. _`Kinshuk Dua`: https://github.com/kinshukdua
4672.. _`Suriya Senthilkumar`: https://github.com/suriya-it19
4673.. _`Vũ Trung Đức`: https://github.com/vutrungduc7593
4674.. _`Nathan Danielsen`: https://github.com/ndanielsen
4675.. _`Wallace Reis`: https://github.com/wreis
4676.. _`German Shiklov`: https://github.com/Jeremaiha-xmetix
4677.. _`Pankaj Patil`: https://github.com/Patil2099
4678.. _`Samuel Gaist`: https://github.com/sgaist
4679.. _`Marcel Coetzee`: https://github.com/marcelned
4680.. _`Matthew Powers`: https://github.com/MrPowers
4681.. _`Vyas Ramasubramani`: https://github.com/vyasr
4682.. _`Ayush Dattagupta`: https://github.com/ayushdg
4683.. _`FredericOdermatt`: https://github.com/FredericOdermatt
4684