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