1astropy-helpers Changelog
2*************************
3
44.0.1 (2019-12-16)
5------------------
6
7- Fix pip installation. [#506]
8
9
104.0 (2019-12-13)
11----------------
12
13- Changed minimum required Python version to 3.6. [#498]
14
15- Changed minimum required Sphinx version to 1.7. [#498]
16
17- Added a --parallel option for build_docs. [#498]
18
19- Fix compatibility with setuptools 42.x. [#504]
20
21
223.2.2 (2019-10-25)
23------------------
24
25- Correctly handle main package directory inside namespace package. [#486]
26
27
283.2.1 (2019-06-13)
29------------------
30
31- Reverting issuing deprecation warning for the ``build_sphinx`` command. [#482]
32
33- Make sure that all data files get included in tar file releases. [#485]
34
35
363.2 (2019-05-29)
37----------------
38
39- Make sure that ``[options.package_data]`` in setup.cfg is taken into account
40  when collecting package data. [#453]
41
42- Simplified the code for the custom build_ext command. [#446]
43
44- Avoid importing the astropy package when trying to get the test command
45  when testing astropy itself. [#450]
46
47- Avoid importing whole package when trying to get version information. Note
48  that this has also introduced a small API change - ``cython_version`` and
49  ``compiler`` can no longer be imported from the ``package.version`` module
50  generated by astropy-helpers. Instead, you can import these from
51  ``package.cython_version`` and ``package.compiler_version`` respectively. [#442]
52
53- Make it possible to call ``generate_version_py`` and ``register_commands``
54  without any arguments, which causes information to be read in from the
55  ``setup.cfg`` file. [#440]
56
57- Simplified setup.py and moved most of the configuration to setup.cfg. [#445]
58
59- Add a new ``astropy_helpers.setup_helpers.setup`` function that does all
60  the default boilerplate in typical ``setup.py`` files that use
61  astropy-helpers. [#443]
62
63- Remove ``deprecated``, ``deprecated_attribute``, and ``minversion`` from
64  ``astropy_helpers.utils``. [#447]
65
66- Updated minimum required version of setuptools to 30.3.0. [#440]
67
68- Remove functionality to adjust compilers if a broken compiler is detected.
69  This is not useful anymore as only a single compiler was previously patched
70  (now unlikely to be used) and this was only to fix a compilation issue in the
71  core astropy package. [#421]
72
73- ``sphinx-astropy`` is now a required dependency to build the docs, the
74  machinery to install it as eggs have been removed. [#474]
75
76
773.1.1 (2019-02-22)
78------------------
79
80- Moved documentation from README to Sphinx. [#444]
81
82- Fixed broken OpenMP detection when building with ``-coverage``. [#434]
83
84
853.1 (2018-12-04)
86----------------
87
88- Added extensive documentation about astropy-helpers to the README.rst file. [#416]
89
90- Fixed the compatibility of the build_docs command with Sphinx 1.8 and above. [#413]
91
92- Removing deprecated test_helpers.py file. [#369]
93
94- Removing ez_setup.py file and requiring setuptools 1.0 or later. [#384]
95
96- Remove all sphinx components from ``astropy-helpers``. These are now replaced
97  by the ``sphinx-astropy`` package in conjunction with the ``astropy-theme-sphinx``,
98  ``sphinx-automodapi``, and ``numpydoc`` packages. [#368]
99
100- openmp_helpers.py: Make add_openmp_flags_if_available() work for clang.
101  The necessary include, library, and runtime paths now get added to the C test code
102  used to determine if openmp works.
103  Autogenerator utility added ``openmp_enabled.is_openmp_enabled()``
104  which can be called post build to determine state of OpenMP support.
105  [#382]
106
107- Add version_info tuple to autogenerated version.py. Allows for simple
108  version checking, i.e. version_info > (2,0,1). [#385]
109
110
1113.0.2 (2018-06-01)
112------------------
113
114- Nothing changed.
115
116
1173.0.1 (2018-02-22)
118------------------
119
120- Nothing changed.
121
122
1233.0 (2018-02-09)
124----------------
125
126- Removing Python 2 support, including 2to3. Packages wishing to keep Python
127  2 support should NOT update to this version. [#340]
128
129- Removing deprecated _test_compat making astropy a hard dependency for
130  packages wishing to use the astropy tests machinery. [#314]
131
132- Removing unused 'register' command since packages should be uploaded
133  with twine and get registered automatically. [#332]
134
135
1362.0.11 (2019-10-25)
137-------------------
138
139- Fixed deprecation warning in sphinx theme. [#493]
140
141- Fixed an issue that caused pytest to crash if it tried to collect
142  tests. [#488]
143
144
1452.0.10 (2019-05-29)
146-------------------
147
148- Removed ``tocdepthfix`` sphinx extension that worked around a big in
149  Sphinx that has been long fixed. [#475]
150
151- Allow Python dev versions to pass the python version check. [#476]
152
153- Updated bundled version of sphinx-automodapi to v0.11. [#478]
154
155
1562.0.9 (2019-02-22)
157------------------
158
159- Updated bundled version of sphinx-automodapi to v0.10. [#439]
160
161- Updated bundled sphinx extensions version to sphinx-astropy v1.1.1. [#454]
162
163- Include package name in error message for Python version in
164  ``ah_bootstrap.py``. [#441]
165
166
1672.0.8 (2018-12-04)
168------------------
169
170- Fixed compatibility with Sphinx 1.8+. [#428]
171
172- Fixed error that occurs when installing a package in an environment where
173  ``numpy`` is not already installed. [#404]
174
175- Updated bundled version of sphinx-automodapi to v0.9. [#422]
176
177- Updated bundled version of numpydoc to v0.8.0. [#423]
178
179
1802.0.7 (2018-06-01)
181------------------
182
183- Removing ez_setup.py file and requiring setuptools 1.0 or later. [#384]
184
185
1862.0.6 (2018-02-24)
187------------------
188
189- Avoid deprecation warning due to ``exclude=`` keyword in ``setup.py``. [#379]
190
191
1922.0.5 (2018-02-22)
193------------------
194
195- Fix segmentation faults that occurred when the astropy-helpers submodule
196  was first initialized in packages that also contained Cython code. [#375]
197
198
1992.0.4 (2018-02-09)
200------------------
201
202- Support dotted package names as namespace packages in generate_version_py.
203  [#370]
204
205- Fix compatibility with setuptools 36.x and above. [#372]
206
207- Fix false negative in add_openmp_flags_if_available when measuring code
208  coverage with gcc. [#374]
209
210
2112.0.3 (2018-01-20)
212------------------
213
214- Make sure that astropy-helpers 3.x.x is not downloaded on Python 2. [#362, #363]
215
216- The bundled version of sphinx-automodapi has been updated to v0.7. [#365]
217
218- Add --auto-use and --no-auto-use command-line flags to match the
219  ``auto_use`` configuration option, and add an alias
220  ``--use-system-astropy-helpers`` for ``--no-auto-use``. [#366]
221
222
2232.0.2 (2017-10-13)
224------------------
225
226- Added new helper function add_openmp_flags_if_available that can add
227  OpenMP compilation flags to a C/Cython extension if needed. [#346]
228
229- Update numpydoc to v0.7. [#343]
230
231- The function ``get_git_devstr`` now returns ``'0'`` instead of ``None`` when
232  no git repository is present. This allows generation of development version
233  strings that are in a format that ``setuptools`` expects (e.g. "1.1.3.dev0"
234  instead of "1.1.3.dev"). [#330]
235
236- It is now possible to override generated timestamps to make builds
237  reproducible by setting the ``SOURCE_DATE_EPOCH`` environment variable [#341]
238
239- Mark Sphinx extensions as parallel-safe. [#344]
240
241- Switch to using mathjax instead of imgmath for local builds. [#342]
242
243- Deprecate ``exclude`` parameter of various functions in setup_helpers since
244  it could not work as intended. Add new function ``add_exclude_packages`` to
245  provide intended behavior. [#331]
246
247- Allow custom Sphinx doctest extension to recognize and process standard
248  doctest directives ``testsetup`` and ``doctest``. [#335]
249
250
2512.0.1 (2017-07-28)
252------------------
253
254- Fix compatibility with Sphinx <1.5. [#326]
255
256
2572.0 (2017-07-06)
258----------------
259
260- Add support for package that lies in a subdirectory. [#249]
261
262- Removing ``compat.subprocess``. [#298]
263
264- Python 3.3 is no longer supported. [#300]
265
266- The 'automodapi' Sphinx extension (and associated dependencies) has now
267  been moved to a standalone package which can be found at
268  https://github.com/astropy/sphinx-automodapi - this is now bundled in
269  astropy-helpers under astropy_helpers.extern.automodapi for
270  convenience. Version shipped with astropy-helpers is v0.6.
271  [#278, #303, #309, #323]
272
273- The ``numpydoc`` Sphinx extension has now been moved to
274  ``astropy_helpers.extern``. [#278]
275
276- Fix ``build_docs`` error catching, so it doesn't hide Sphinx errors. [#292]
277
278- Fix compatibility with Sphinx 1.6. [#318]
279
280- Updating ez_setup.py to the last version before it's removal. [#321]
281
282
2831.3.1 (2017-03-18)
284------------------
285
286- Fixed the missing button to hide output in documentation code
287  blocks. [#287]
288
289- Fixed bug when ``build_docs`` when running with the clean (-l) option. [#289]
290
291- Add alternative location for various intersphinx inventories to fall back
292  to. [#293]
293
294
2951.3 (2016-12-16)
296----------------
297
298- ``build_sphinx`` has been deprecated in favor of the ``build_docs`` command.
299  [#246]
300
301- Force the use of Cython's old ``build_ext`` command. A new ``build_ext``
302  command was added in Cython 0.25, but it does not work with astropy-helpers
303  currently.  [#261]
304
305
3061.2 (2016-06-18)
307----------------
308
309- Added sphinx configuration value ``automodsumm_inherited_members``.
310  If ``True`` this will include members that are inherited from a base
311  class in the generated API docs. Defaults to ``False`` which matches
312  the previous behavior. [#215]
313
314- Fixed ``build_sphinx`` to recognize builds that succeeded but have output
315  *after* the "build succeeded." statement. This only applies when
316  ``--warnings-returncode`` is  given (which is primarily relevant for Travis
317  documentation builds).  [#223]
318
319- Fixed ``build_sphinx`` the sphinx extensions to not output a spurious warning
320  for sphinx versions > 1.4. [#229]
321
322- Add Python version dependent local sphinx inventories that contain
323  otherwise missing references. [#216]
324
325- ``astropy_helpers`` now require Sphinx 1.3 or later. [#226]
326
327
3281.1.2 (2016-03-9)
329-----------------
330
331- The CSS for the sphinx documentation was altered to prevent some text overflow
332  problems. [#217]
333
334
3351.1.1 (2015-12-23)
336------------------
337
338- Fixed crash in build with ``AttributeError: cython_create_listing`` with
339  older versions of setuptools. [#209, #210]
340
341
3421.1 (2015-12-10)
343----------------
344
345- The original ``AstropyTest`` class in ``astropy_helpers``, which implements
346  the ``setup.py test`` command, is deprecated in favor of moving the
347  implementation of that command closer to the actual Astropy test runner in
348  ``astropy.tests``.  Now a dummy ``test`` command is provided solely for
349  informing users that they need ``astropy`` installed to run the tests
350  (however, the previous, now deprecated implementation is still provided and
351  continues to work with older versions of Astropy). See the related issue for
352  more details. [#184]
353
354- Added a useful new utility function to ``astropy_helpers.utils`` called
355  ``find_data_files``.  This is similar to the ``find_packages`` function in
356  setuptools in that it can be used to search a package for data files
357  (matching a pattern) that can be passed to the ``package_data`` argument for
358  ``setup()``.  See the docstring to ``astropy_helpers.utils.find_data_files``
359  for more details. [#42]
360
361- The ``astropy_helpers`` module now sets the global ``_ASTROPY_SETUP_``
362  flag upon import (from within a ``setup.py``) script, so it's not necessary
363  to have this in the ``setup.py`` script explicitly.  If in doubt though,
364  there's no harm in setting it twice.  Putting it in ``astropy_helpers``
365  just ensures that any other imports that occur during build will have this
366  flag set. [#191]
367
368- It is now possible to use Cython as a ``setup_requires`` build requirement,
369  and still build Cython extensions even if Cython wasn't available at the
370  beginning of the build processes (that is, is automatically downloaded via
371  setuptools' processing of ``setup_requires``). [#185]
372
373- Moves the ``adjust_compiler`` check into the ``build_ext`` command itself,
374  so it's only used when actually building extension modules.  This also
375  deprecates the stand-alone ``adjust_compiler`` function. [#76]
376
377- When running the ``build_sphinx`` / ``build_docs`` command with the ``-w``
378  option, the output from Sphinx is streamed as it runs instead of silently
379  buffering until the doc build is complete. [#197]
380
3811.0.7 (unreleased)
382------------------
383
384- Fix missing import in ``astropy_helpers/utils.py``. [#196]
385
3861.0.6 (2015-12-04)
387------------------
388
389- Fixed bug where running ``./setup.py build_sphinx`` could return successfully
390  even when the build was not successful (and should have returned a non-zero
391  error code). [#199]
392
393
3941.0.5 (2015-10-02)
395------------------
396
397- Fixed a regression in the ``./setup.py test`` command that was introduced in
398  v1.0.4.
399
400
4011.0.4 (2015-10-02)
402------------------
403
404- Fixed issue with the sphinx documentation css where the line numbers for code
405  blocks were not aligned with the code. [#179, #180]
406
407- Fixed crash that could occur when trying to build Cython extension modules
408  when Cython isn't installed. Normally this still results in a failed build,
409  but was supposed to provide a useful error message rather than crash
410  outright (this was a regression introduced in v1.0.3). [#181]
411
412- Fixed a crash that could occur on Python 3 when a working C compiler isn't
413  found. [#182]
414
415- Quieted warnings about deprecated Numpy API in Cython extensions, when
416  building Cython extensions against Numpy >= 1.7. [#183, #186]
417
418- Improved support for py.test >= 2.7--running the ``./setup.py test`` command
419  now copies all doc pages into the temporary test directory as well, so that
420  all test files have a "common root directory". [#189, #190]
421
422
4231.0.3 (2015-07-22)
424------------------
425
426- Added workaround for sphinx-doc/sphinx#1843, a but in Sphinx which
427  prevented descriptor classes with a custom metaclass from being documented
428  correctly. [#158]
429
430- Added an alias for the ``./setup.py build_sphinx`` command as
431  ``./setup.py build_docs`` which, to a new contributor, should hopefully be
432  less cryptic. [#161]
433
434- The fonts in graphviz diagrams now match the font of the HTML content. [#169]
435
436- When the documentation is built on readthedocs.org, MathJax will be
437  used for math rendering.  When built elsewhere, the "pngmath"
438  extension is still used for math rendering. [#170]
439
440- Fix crash when importing astropy_helpers when running with ``python -OO``
441  [#171]
442
443- The ``build`` and ``build_ext`` stages now correctly recognize the presence
444  of C++ files in Cython extensions (previously only vanilla C worked). [#173]
445
446
4471.0.2 (2015-04-02)
448------------------
449
450- Various fixes enabling the astropy-helpers Sphinx build command and
451  Sphinx extensions to work with Sphinx 1.3. [#148]
452
453- More improvement to the ability to handle multiple versions of
454  astropy-helpers being imported in the same Python interpreter session
455  in the (somewhat rare) case of nested installs. [#147]
456
457- To better support high resolution displays, use SVG for the astropy
458  logo and linkout image, falling back to PNGs for browsers that
459  support it. [#150, #151]
460
461- Improve ``setup_helpers.get_compiler_version`` to work with more compilers,
462  and to return more info.  This will help fix builds of Astropy on less
463  common compilers, like Sun C. [#153]
464
4651.0.1 (2015-03-04)
466------------------
467
468- Released in concert with v0.4.8 to address the same issues.
469
4700.4.8 (2015-03-04)
471------------------
472
473- Improved the ``ah_bootstrap`` script's ability to override existing
474  installations of astropy-helpers with new versions in the context of
475  installing multiple packages simultaneously within the same Python
476  interpreter (e.g. when one package has in its ``setup_requires`` another
477  package that uses a different version of astropy-helpers. [#144]
478
479- Added a workaround to an issue in matplotlib that can, in rare cases, lead
480  to a crash when installing packages that import matplotlib at build time.
481  [#144]
482
4831.0 (2015-02-17)
484----------------
485
486- Added new pre-/post-command hook points for ``setup.py`` commands.  Now any
487  package can define code to run before and/or after any ``setup.py`` command
488  without having to manually subclass that command by adding
489  ``pre_<command_name>_hook`` and ``post_<command_name>_hook`` callables to
490  the package's ``setup_package.py`` module.  See the PR for more details.
491  [#112]
492
493- The following objects in the ``astropy_helpers.setup_helpers`` module have
494  been relocated:
495
496  - ``get_dummy_distribution``, ``get_distutils_*``, ``get_compiler_option``,
497    ``add_command_option``, ``is_distutils_display_option`` ->
498    ``astropy_helpers.distutils_helpers``
499
500  - ``should_build_with_cython``, ``generate_build_ext_command`` ->
501    ``astropy_helpers.commands.build_ext``
502
503  - ``AstropyBuildPy`` -> ``astropy_helpers.commands.build_py``
504
505  - ``AstropyBuildSphinx`` -> ``astropy_helpers.commands.build_sphinx``
506
507  - ``AstropyInstall`` -> ``astropy_helpers.commands.install``
508
509  - ``AstropyInstallLib`` -> ``astropy_helpers.commands.install_lib``
510
511  - ``AstropyRegister`` -> ``astropy_helpers.commands.register``
512
513  - ``get_pkg_version_module`` -> ``astropy_helpers.version_helpers``
514
515  - ``write_if_different``, ``import_file``, ``get_numpy_include_path`` ->
516    ``astropy_helpers.utils``
517
518  All of these are "soft" deprecations in the sense that they are still
519  importable from ``astropy_helpers.setup_helpers`` for now, and there is
520  no (easy) way to produce deprecation warnings when importing these objects
521  from ``setup_helpers`` rather than directly from the modules they are
522  defined in.  But please consider updating any imports to these objects.
523  [#110]
524
525- Use of the ``astropy.sphinx.ext.astropyautosummary`` extension is deprecated
526  for use with Sphinx < 1.2.  Instead it should suffice to remove this
527  extension for the ``extensions`` list in your ``conf.py`` and add the stock
528  ``sphinx.ext.autosummary`` instead. [#131]
529
530
5310.4.7 (2015-02-17)
532------------------
533
534- Fixed incorrect/missing git hash being added to the generated ``version.py``
535  when creating a release. [#141]
536
537
5380.4.6 (2015-02-16)
539------------------
540
541- Fixed problems related to the automatically generated _compiler
542  module not being created properly. [#139]
543
544
5450.4.5 (2015-02-11)
546------------------
547
548- Fixed an issue where ah_bootstrap.py could blow up when astropy_helper's
549  version number is 1.0.
550
551- Added a workaround for documentation of properties in the rare case
552  where the class's metaclass has a property of the same name. [#130]
553
554- Fixed an issue on Python 3 where importing a package using astropy-helper's
555  generated version.py module would crash when the current working directory
556  is an empty git repository. [#114, #137]
557
558- Fixed an issue where the "revision count" appended to .dev versions by
559  the generated version.py did not accurately reflect the revision count for
560  the package it belongs to, and could be invalid if the current working
561  directory is an unrelated git repository. [#107, #137]
562
563- Likewise, fixed a confusing warning message that could occur in the same
564  circumstances as the above issue. [#121, #137]
565
566
5670.4.4 (2014-12-31)
568------------------
569
570- More improvements for building the documentation using Python 3.x. [#100]
571
572- Additional minor fixes to Python 3 support. [#115]
573
574- Updates to support new test features in Astropy [#92, #106]
575
576
5770.4.3 (2014-10-22)
578------------------
579
580- The generated ``version.py`` file now preserves the git hash of installed
581  copies of the package as well as when building a source distribution.  That
582  is, the git hash of the changeset that was installed/released is preserved.
583  [#87]
584
585- In smart resolver add resolution for class links when they exist in the
586  intersphinx inventory, but not the mapping of the current package
587  (e.g. when an affiliated package uses an astropy core class of which
588  "actual" and "documented" location differs) [#88]
589
590- Fixed a bug that could occur when running ``setup.py`` for the first time
591  in a repository that uses astropy-helpers as a submodule:
592  ``AttributeError: 'NoneType' object has no attribute 'mkdtemp'`` [#89]
593
594- Fixed a bug where optional arguments to the ``doctest-skip`` Sphinx
595  directive were sometimes being left in the generated documentation output.
596  [#90]
597
598- Improved support for building the documentation using Python 3.x. [#96]
599
600- Avoid error message if .git directory is not present. [#91]
601
602
6030.4.2 (2014-08-09)
604------------------
605
606- Fixed some CSS issues in generated API docs. [#69]
607
608- Fixed the warning message that could be displayed when generating a
609  version number with some older versions of git. [#77]
610
611- Fixed automodsumm to work with new versions of Sphinx (>= 1.2.2). [#80]
612
613
6140.4.1 (2014-08-08)
615------------------
616
617- Fixed git revision count on systems with git versions older than v1.7.2.
618  [#70]
619
620- Fixed display of warning text when running a git command fails (previously
621  the output of stderr was not being decoded properly). [#70]
622
623- The ``--offline`` flag to ``setup.py`` understood by ``ah_bootstrap.py``
624  now also prevents git from going online to fetch submodule updates. [#67]
625
626- The Sphinx extension for converting issue numbers to links in the changelog
627  now supports working on arbitrary pages via a new ``conf.py`` setting:
628  ``changelog_links_docpattern``.  By default it affects the ``changelog``
629  and ``whatsnew`` pages in one's Sphinx docs. [#61]
630
631- Fixed crash that could result from users with missing/misconfigured
632  locale settings. [#58]
633
634- The font used for code examples in the docs is now the
635  system-defined ``monospace`` font, rather than ``Minaco``, which is
636  not available on all platforms. [#50]
637
638
6390.4 (2014-07-15)
640----------------
641
642- Initial release of astropy-helpers.  See `APE4
643  <https://github.com/astropy/astropy-APEs/blob/master/APE4.rst>`_ for
644  details of the motivation and design of this package.
645
646- The ``astropy_helpers`` package replaces the following modules in the
647  ``astropy`` package:
648
649  - ``astropy.setup_helpers`` -> ``astropy_helpers.setup_helpers``
650
651  - ``astropy.version_helpers`` -> ``astropy_helpers.version_helpers``
652
653  - ``astropy.sphinx`` - > ``astropy_helpers.sphinx``
654
655  These modules should be considered deprecated in ``astropy``, and any new,
656  non-critical changes to those modules will be made in ``astropy_helpers``
657  instead.  Affiliated packages wishing to make use those modules (as in the
658  Astropy package-template) should use the versions from ``astropy_helpers``
659  instead, and include the ``ah_bootstrap.py`` script in their project, for
660  bootstrapping the ``astropy_helpers`` package in their setup.py script.
661