Skip to content

Latest commit

History

History
688 lines (519 loc) 路 23.3 KB

CHANGELOG.rst

File metadata and controls

688 lines (519 loc) 路 23.3 KB

Changelog

Development version

Version 4.5.0, 2023-06-20

  • Change macOS default configuration dir from ~/Library/Preferences to ~/Library/Application Support, 721. This change is motivated by the upgrade in the platformdirs dependency. You can read more about the motivation in platformdirs/platformdirs#98
  • Simplify git command, by letting exceptions go through, 714

Current versions

Version 4.4.1, 2023-04-18

  • Re-use pre-built wheels in CI for upgrade tests in 702
  • Make security permissions explicit in GHA template 704
  • Fix GITHUB_TOKEN variable in GHA template 715

Older versions

Version 4.4, 2023-01-23

  • Add codespell to pre-commit config, 674
  • Allow venv_install in config file, 680
  • Avoid problematic tox 4.0 and 4.1, 689
  • Update macos instances on Cirrus CI, 690
  • Replace deprecated set-output, 688
  • Update CI templates, 693
  • Add comments about building sdist in tox.ini and FAQ, 694
  • Update Python version in Read The Docs configuration, 695

Version 4.3.1, 2022-09-20

  • Modify tox.ini template to allow passing the TWINE_REPOSITORY_URL environment variable, 666.

Version 4.3, 2022-07-20

  • Removed wheel from the set of build dependencies in pyproject.toml (it is redundant since setuptools already includes it), 652.
  • Updated freebsd configuration in .cirrus.yml (with workaround for pipx in 2022Q3 repo), 657.

Version 4.2.3, 2022-06-17

  • Automatically create directory when saving config file, 648

Version 4.2.2, 2022-05-26

  • Update .github/workflows/ci.yml template, 637 and 640
  • Update note in skeleton.py template clarifying file can be renamed, 641

Version 4.2.1, 2022-03-16

  • Ensure .gitlab-ci.yml template works for GitLab Enterprise 14.7.4, 630

Version 4.2, 2022-03-14

  • Added --github-actions extension, 619
  • Updated and improved --gitlab extension, 622
  • Updated and improved --cirrus extension, 625
  • Fixed tox -e publish example in docs, 627
  • Added colorama as a runtime dependency for Windows, 624

Version 4.1.5, 2022-02-22

  • Added .python-version created by pyenv to .gitignore
  • Added more --very-verbose logging to make clearer what's going on, 562
  • Replace internal dependency on appdirs with platformdirs, 584
  • Fix coverage config for namespaced packages, 610

Version 4.1.4, 2022-01-13

  • Ensure build configuration produces sdist as it is needed by conda, 570

Version 4.1.3, 2022-01-11

  • Fix pre-commit error: The unauthenticated git protocol on port 9418 is no longer supported, 565

Note

PyScaffold 4.1 is the last release to support Python 3.6

Version 4.1.2, 2022-01-04

  • Added verification to prevent users from creating projects nested inside existing repositories, unless --force is explicitly given, 544, 545.
  • Fixed problem with Windows Shell when running git, 560.

Version 4.1.1, 2021-10-18

  • Ensure required extensions are installed on --update, 512
  • Prevent extension from crashing when persisting None in setup.cfg, 510
  • Prevent multi-line descriptions to crash putup, 509
  • Warn users about empty namespaces, 508
  • Prevent parsing errors during dependency deduplication, 518
  • Add license_files to setup.cfg template, 524

Version 4.1, 2021-09-22

  • Added linkcheck task to tox.ini, 456
  • Updated configuration for Sphinx and ReadTheDocs, 455
  • Note that templates and the generated boilerplate code is 0BSD-licensed, 461
  • Added 0BSD license template
  • Added CONTRIBUTING.rst template, 376
  • Added PyScaffold badge to README template, 473
  • Updated Cirrus CI config and templates, including better coveralls integration, 449
  • Adopted global isolated_build for tox configuration, 483, 491
  • Loop counter explicitly marked as unused in skeleton.py (flake8-bugbear B007), 495
  • Ensure update include added extensions in setup.cfg, 496

Version 4.0.2, 2021-05-26

  • Restructured docs
  • Fix WSL2 installation problem, 440
  • Fix for interactive mode under Windows, 430

Version 4.0.1, 2021-03-17

  • Fix tox -e build issue when running on Conda, 417
  • Ensure snake_case for keys in setup.cfg, 418
  • Update dependencies on configupdater and pyscaffoldext-django
  • Remove broken checks for old setuptools, 428

Version 4.0, 2021-03-04

  • Cookiecutter, Django and Travis extensions extracted to their own repositories, 175 and 355
  • Support for Python 3.4 and 3.5 dropped, 226
  • Dropped deprecated requirements.txt file, 182
  • Added support for global configuration (avoid retyping common putup's options), 236
  • PyScaffold is no longer a build-time dependency, it just generates the project structure
  • Removed contrib subpackage, vendorized packages are now runtime dependencies, 290
  • setuptools_scm is included by default in setup.cfg, setup.py and pyproject.toml
  • API changed to use pyscaffold.operations instead of integer flags, 271
  • Allow string.Template and callable as file contents in project structure, 295
  • Extract file system functions from utils.py into file_system.py
  • Extract identification/naming functions from utils.py into identification.py
  • Extract action related functions from api/__init__.py to actions.py
  • helpers.{modify,ensure,reject} moved to structure.py
  • helpers.{register,unregister} moved to actions.py
  • New extension for automatically creating virtual environments (--venv)
  • Added instructions to use pip-tools to docs
  • pre-commit extension now attempts to install hooks automatically
  • A nice message is now displayed when PyScaffold finishes running (actions.report_done)
  • Removed mutually exclusive argparse groups for extensions, 315
  • Progressive type annotations adopted in the code base together with mypy linting
  • Simplified isort config
  • pyproject.toml and isolated builds adopted by default, 256
  • Added comment to setup.cfg template instructing about extra links, 268
  • Generate tox.ini by default, 296
  • Replace pkg_resources with importlib.{metadata,resources} and packaging, 309
  • Adopt PEP 420 for namespaces, 218
  • Adopt SPDX identifiers for the license field in setup.cfg, 319
  • Removed deprecated log.configure_logger
  • Add links to issues and pull requests to changelog, 363
  • Add an experimental --interactive mode (inspired by git rebase -i), 191 (additional discussion: 333, 325, 362)
  • Reorganise the FAQ (including version questions previously in Features)
  • Updated setuptools and setuptools_scm dependencies to minimal versions 46.1 and 5, respectively
  • Adopted no-guess-dev version scheme from setuptools_scm (semantically all stays the same, but non-tag commits are now versioned LAST_TAG.post1.devN instead of LAST_TAG.post0.devN)
  • Fix problem of not showing detailed log with --verbose if error happens when loading extensions 378

Version 3.3, 2020-12-24

  • Code base changed to Black's standards
  • New docs about version numbers and git integration
  • Updated pre-commit hooks
  • Updated docs/Makefile to use Sphinx "make mode"
  • deprecated setuptools extensions/commands python setup.py test/docs/doctests, 245
  • New tox test environments for generating docs and running doctests
  • New built-in extension for Cirrus CI, 251
  • experimental get_template is now part of the public API and can be used by extensions, 252
  • Updated setuptools_scm to version 4.1.2 in contrib
  • Updated configupdater to version 1.1.2 in contrib
  • precommit automatically fixes line endings by default
  • deprecated log.configure_logger, use log.logger.reconfigure instead

Note

PyScaffold 3.3 is the last release to support Python 3.5

Version 3.2.3, 2019-10-12

  • Updated configupdater to version 1.0.1
  • Changed Travis to Cirrus CI
  • Fix some problems with Windows

Version 3.2.2, 2019-09-12

  • Write files as UTF-8, fixes codec can't encode characters error

Version 3.2.1, 2019-07-11

  • Updated pre-commit configuration and set max-line-length to 88 (Black's default)
  • Change build folder of Sphinx's Makefile
  • Fix creation of empty files which were just ignored before

Version 3.2, 2019-06-30

  • deprecated use of lists with helpers.{modify,ensure,reject}, 211
  • Add support for os.PathLike objects in helpers.{modify,ensure,reject}, 211
  • Remove release alias in setup.cfg, use twine instead
  • Set project-urls and long-description-content-type in setup.cfg, 216
  • Added additional command line argument very-verbose
  • Assure clean workspace when updating existing project, 190
  • Show stacktrace on errors if --very-verbose is used
  • Updated configupdater to version 1.0
  • Use pkg_resources.resource_string instead of pkgutil.get_data for templates
  • Update setuptools_scm to version 3.3.3
  • Updated pytest-runner to version 5.1
  • Some fixes regarding the order of executing extensions
  • Consider GIT_AUTHOR_NAME and GIT_AUTHOR_EMAIL environment variables
  • Updated tox.ini
  • Switch to using tox in .travis.yml template
  • Reworked all official extensions --pyproject, --custom-extension and --markdown

Version 3.1, 2018-09-05

  • Officially dropped Python 2 support, 177
  • Moved entry_points and setup_requires to setup.cfg, 176
  • Updated travis.yml template, 181
  • Set install_requires to setuptools>=31
  • Better isolation of unit tests, 119
  • Updated tox template, issues 160 & 161
  • Use pkg_resources.parse_version instead of old LooseVersion for parsing
  • Use ConfigUpdater instead of ConfigParser
  • Lots of internal cleanups and improvements
  • Updated pytest-runner to version 4.2
  • Updated setuptools_scm to version 3.1
  • Fix Django extension problem with src-layout, 196
  • experimental extension for MarkDown usage in README, 163
  • experimental support for Pipenv, 140
  • deprecated built-in Cookiecutter and Django extensions (to be moved to separated packages), 175

Version 2.5.11, 2018-04-14

  • Updated pbr to version 4.0.2
  • Fixes Sphinx version 1.6 regression, 152

Version 3.0.3, 2018-04-14

  • Set install_requires to setuptools>=30.3.0

Version 3.0.2, 2018-03-21

  • Updated setuptools_scm to version 1.17.0
  • Fix wrong docstring in skeleton.py about entry_points, 147
  • Fix error with setuptools version 39.0 and above, 148
  • Fixes in documentation, thanks Vicky

Version 2.5.10, 2018-03-21

  • Updated setuptools_scm to version 1.17.0

Version 2.5.9, 2018-03-20

  • Updated setuptools_scm to version 1.16.1
  • Fix error with setuptools version 39.0 and above, 148

Version 3.0.1, 2018-02-13

  • Fix confusing error message when python setup.py docs and Sphinx is not installed, 142
  • Fix 'unknown' version in case project name differs from the package name, 141
  • Fix missing file: attribute in long-description of setup.cfg
  • Fix sphinx-apidoc invocation problem with Sphinx 1.7

Version 3.0, 2018-01-07

  • Improved Python API thanks to an extension system
  • Dropped pbr in favor of setuptools >= 30.3.0
  • Updated setuptools_scm to v1.15.6
  • Changed my_project/my_package to recommended my_project/src/my_package structure
  • Renamed CHANGES.rst to more standard CHANGELOG.rst
  • Added platforms parameter in setup.cfg
  • Call Sphinx api-doc from conf.py, 98
  • Included six 1.11.0 as contrib sub-package
  • Added CONTRIBUTING.rst
  • Removed test-requirements.txt from template
  • Added support for GitLab
  • License change from New BSD to MIT
  • FIX: Support of git submodules, 98
  • Support of Cython extensions, 48
  • Removed redundant --with- from most command line flags
  • Prefix n was removed from the local_version string of dirty versions
  • Added a --pretend flag for easier development of extensions
  • Added a --verbose flag for more output what PyScaffold is doing
  • Use pytest-runner 4.4 as contrib package
  • Added a --no-skeleton flag to omit the creation of skeleton.py
  • Save parameters used to create project scaffold in setup.cfg for later updating

A special thanks goes to Anderson Bravalheri for his awesome support and inovex for sponsoring this release.

Version 2.5.8, 2017-09-10

  • Use sphinx.ext.imgmath instead of sphinx.ext.mathjax
  • Added --with-gitlab-ci flag for GitLab CI support
  • Fix Travis install template dirties git repo, 107
  • Updated setuptools_scm to version 1.15.6
  • Updated pbr to version 3.1.1

Version 2.5.7, 2016-10-11

  • Added encoding to __init__.py
  • Few doc corrections in setup.cfg
  • [tool:pytest] instead of [pytest] in setup.cfg
  • Updated skeleton
  • Switch to Google Sphinx style
  • Updated setuptools_scm to version 1.13.1
  • Updated pbr to version 1.10.0

Version 2.5.6, 2016-05-01

  • Prefix error message with ERROR:
  • Suffix of untagged commits changed from {version}-{hash} to {version}-n{hash}
  • Check if package identifier is valid
  • Added log level command line flags to the skeleton
  • Updated pbr to version 1.9.1
  • Updated setuptools_scm to version 1.11.0

Version 2.5.5, 2016-02-26

  • Updated pbr to master at 2016-01-20
  • Fix sdist installation bug when no git is installed, 90

Version 2.5.4, 2016-02-10

  • Fix problem with fibonacci terminal example
  • Update setuptools_scm to v1.10.1

Version 2.5.3, 2016-01-16

  • Fix classifier metadata (classifiers to classifier in setup.cfg)

Version 2.5.2, 2016-01-02

  • Fix is_git_installed

Version 2.5.1, 2016-01-01

  • Fix: Do some sanity checks first before gathering default options
  • Updated setuptools_scm to version 1.10.0

Version 2.5, 2015-12-09

  • Usage of test-requirements.txt instead of tests_require in setup.py, 71
  • Removed --with-numpydoc flag since this is now included by default with sphinx.ext.napoleon in Sphinx 1.3 and above
  • Added small template for unittest
  • Fix for the example skeleton file when using namespace packages
  • Fix typo in devpi:upload section, 82
  • Include pbr and setuptools_scm in PyScaffold to avoid dependency problems, 71 and 72
  • Cool logo was designed by Eva Schm眉cker, 66

Version 2.4.4, 2015-10-29

  • Fix problem with bad upload of version 2.4.3 to PyPI, 80

Version 2.4.3, 2015-10-27

  • Fix problem with version numbering if setup.py is not in the root directory, 76

Version 2.4.2, 2015-09-16

  • Fix version conflicts due to too tight pinning, 69

Version 2.4.1, 2015-09-09

  • Fix installation with additional requirements pyscaffold[ALL]
  • Updated pbr version to 1.7

Version 2.4, 2015-09-02

  • Allow different py.test options when invoking with py.test or python setup.py test
  • Check if Sphinx is needed and add it to setup_requires
  • Updated pre-commit plugins
  • Replaced pytest-runner by an improved version
  • Let pbr do sphinx-apidoc, removed from conf.py, 65

Note

Due to the switch to a modified pytest-runner version it is necessary to update setup.cfg. Please check the example <configuration>.

Version 2.3, 2015-08-26

  • Format of setup.cfg changed due to usage of pbr, 59
  • Much cleaner setup.py due to usage of pbr, 59
  • PyScaffold can be easily called from another script, 58
  • Internally dictionaries instead of namespace objects are used for options, 57
  • Added a section for devpi in setup.cfg, 62

Note

Due to the switch to pbr, it is necessary to update setup.cfg according to the new syntax.

Version 2.2.1, 2015-06-18

  • FIX: Removed putup console script in setup.cfg template

Version 2.2, 2015-06-01

  • Allow recursive inclusion of data files in setup.cfg, 49
  • Replaced hand-written PyTest runner by pytest-runner, 47
  • Improved default README.rst, 51
  • Use tests/conftest.py instead of tests/__init__.py, 52
  • Use setuptools_scm for versioning, 43
  • Require setuptools>=9.0, 56
  • Do not create skeleton.py during an update, 55

Note

Due to the switch to setuptools_scm the following changes apply:

  • use python setup.py --version instead of python setup.py version
  • git archive can no longer be used for packaging (and was never meant for it anyway)
  • initial tag v0.0 is no longer necessary and thus not created in new projects
  • tags do no longer need to start with v

Version 2.1, 2015-04-16

  • Use alabaster as default Sphinx theme
  • Parameter data_files is now a section in setup.cfg
  • Allow definition of extras_require in setup.cfg
  • Added a CHANGES.rst file for logging changes
  • Added support for cookiecutter
  • FIX: Handle an empty Git repository if necessary

Version 2.0.4, 2015-03-17

  • Typo and wrong Sphinx usage in the RTD documentation

Version 2.0.3, 2015-03-17

  • FIX: Removed misleading include_package_data option in setup.cfg
  • Allow selection of a proprietary license
  • Updated some documentations
  • Added -U as short parameter for --update

Version 2.0.2, 2015-03-04

  • FIX: Version retrieval with setup.py install
  • argparse example for version retrieval in skeleton.py
  • FIX: import my_package should be quiet (verbose=False)

Version 2.0.1, 2015-02-27

  • FIX: Installation bug under Windows 7

Version 2.0, 2015-02-25

  • Split configuration and logic into setup.cfg and setup.py
  • Removed .pre from version string (newer PEP 440)
  • FIX: Sphinx now works if package name does not equal project name
  • Allow namespace packages with --with-namespace
  • Added a skeleton.py as a console_script template
  • Set v0.0 as initial tag to support PEP440 version inference
  • Integration of the Versioneer functionality into setup.py
  • Usage of data_files configuration instead of MANIFEST.in
  • Allow configuration of package_data in setup.cfg
  • Link from Sphinx docs to AUTHORS.rst

Version 1.4, 2014-12-16

  • Added numpydoc flag --with-numpydoc
  • Fix: Add django to requirements if --with-django
  • Fix: Don't overwrite index.rst during update

Version 1.3.2, 2014-12-02

  • Fix: path of Travis install script

Version 1.3.1, 2014-11-24

  • Fix: --with-tox tuple bug, 28

Version 1.3, 2014-11-17

  • Support for Tox (https://tox.wiki/en/stable/)
  • flake8: exclude some files
  • Usage of UTF8 as file encoding
  • Fix: create non-existent files during update
  • Fix: unit tests on MacOS
  • Fix: unit tests on Windows
  • Fix: Correct version when doing setup.py install

Version 1.2, 2014-10-13

Version 1.1, 2014-09-29

  • Changed COPYING to LICENSE
  • Support for all licenses from https://choosealicense.com/
  • Fix: Allow update of license again
  • Update to Versioneer 0.12

Version 1.0, 2014-09-05

  • Fix when overwritten project has a git repository
  • Documentation updates
  • License section in Sphinx
  • Django project support with --with-django flag
  • Travis project support with --with-travis flag
  • Replaced sh with own implementation
  • Fix: new git describe version to PEP440 conversion
  • conf.py improvements
  • Added source code documentation
  • Fix: Some Python 2/3 compatibility issues
  • Support for Windows
  • Dropped Python 2.6 support
  • Some classifier updates

Version 0.9, 2014-07-27

  • Documentation updates due to RTD
  • Added a --force flag
  • Some cleanups in setup.py

Version 0.8, 2014-07-25

  • Update to Versioneer 0.10
  • Moved sphinx-apidoc from setup.py to conf.py
  • Better support for make html

Version 0.7, 2014-06-05

  • Added Python 3.4 tests and support
  • Flag --update updates only some files now
  • Usage of setup_requires instead of six code

Version 0.6.1, 2014-05-15

  • Fix: Removed six dependency in setup.py

Version 0.6, 2014-05-14

  • Better usage of six
  • Return non-zero exit status when doctests fail
  • Updated README
  • Fixes in Sphinx Makefile

Version 0.5, 2014-05-02

  • Simplified some Travis tests
  • Nicer output in case of errors
  • Updated PyScaffold's own setup.py
  • Added --junit_xml and --coverage_xml/html option
  • Updated .gitignore file

Version 0.4.1, 2014-04-27

  • Problem fixed with pytest-cov installation

Version 0.4, 2014-04-23

  • PEP8 and PyFlakes fixes
  • Added --version flag
  • Small fixes and cleanups

Version 0.3, 2014-04-18

  • PEP8 fixes
  • More documentation
  • Added update feature
  • Fixes in setup.py

Version 0.2, 2014-04-15

  • Checks when creating the project
  • Fixes in COPYING
  • Usage of sh instead of GitPython
  • PEP8 fixes
  • Python 3 compatibility
  • Coverage with Coverall.io
  • Some more unittests

Version 0.1.2, 2014-04-10

  • Bugfix in Manifest.in
  • Python 2.6 problems fixed

Version 0.1.1, 2014-04-10

  • Unittesting with Travis
  • Switch to string.Template
  • Minor bugfixes

Version 0.1, 2014-04-03

  • First release