Changelog 9.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354
  1. # unreleased
  2. * python: deprecate 'DISABLE_CUSTOM_VIRTUALENV' in favor of the new
  3. 'PYTHON_VIRTUALENV_ENABLE'. The future behavior regarding virtual
  4. environments will change from "enabled by default" to "disabled by default".
  5. (Build systems like 'poetry' and 'hatch' now tend to hide virtual
  6. environments from developers.)
  7. # Version 0.14.0 (2023-07-01)
  8. * python: enable Python support, if `pyproject.toml` exists.
  9. Previously only `setup.py` was used as an indicator file.
  10. * python: try to use `poetry` or `hatch` operations for test/lint/style
  11. (see `PYTHON_BUILD_SYSTEM`, `PYTHON_TEST_RUNNER`, `PYTHON_LINT_RUNNER` and
  12. `PYTHON_STYLE)_RUNNER`)
  13. # Version 0.13.0 (2023-02-16)
  14. * allow selection of a specific GPG key when signing the release tarball
  15. via `SIGNATURE_EMAIL`
  16. * fix interactivity issue with `init-deb` target
  17. (only relevant for hosts with more than one CPU)
  18. * remove out-of-tree build directory for `deb` packages in the context of a
  19. project with a git submodule
  20. (i.e. `build/debian/PROJECT-VERSION` is removed right after the build)
  21. # Version 0.12.0 (2022-11-02)
  22. * `makefilet-download-ondemand.mk`: change reference to "latest" commit from
  23. `master` to `main` (the branch was renamed)
  24. * Use `unstable` as the default release distribution when updating
  25. `debian/changelog`.
  26. Previously Ubuntu-derived systems used their current release name, thus
  27. preventing the name from being predictable.
  28. The previous behavior can be restored by setting `DEB_RELEASE_DISTRIBUTION`
  29. to an empty value.
  30. (Closes: #38)
  31. * allow `zstd` for `RELEASE_TAR_COMPRESSION_BIN`
  32. * rename `DISABLE_PYTHON_FLAKE8` to `DISABLE_PYTHON_LINT_FLAKE8`
  33. (clarifying that it refers to linting, only)
  34. * replace `DISABLE_PYTHON_BLACK` with `ENABLE_PYTHON_LINT_BLACK`, thus
  35. disabling `black` for style checks (`lint`) by default
  36. # Version 0.11.0 (2022-06-25)
  37. * Output synchronization (separation of output from parallel running targets)
  38. can be configured via the `MAKEFILET_OUTPUT_SYNCHRONIZATION` variable.
  39. Its value is handed over to `make`'s `--output-sync` argument.
  40. Typical values are `line` (default), `target` or `none`.
  41. # Version 0.10.0 (2021-10-31)
  42. * shell:
  43. * allow overriding of all variables
  44. * replace "SHELLCHECK_CALL" with "SHELLCHECK_ARGS"
  45. * introduce new variable SHELL_FILES_DIRECTORIES (default: ".")
  46. # Version 0.9.1 (2021-10-27)
  47. * release: handle VERSION indicator files nested below the project root
  48. (closes: #35)
  49. # Version 0.9.0 (2021-10-27)
  50. * ensure that changes in release-related files for npm
  51. (e.g. `package.json`) are committed via git
  52. * python:
  53. * allow disabling of flake8 lint checks via `DISABLE_PYTHON_FLAKE8=1`
  54. * allow override of files/directories used for flake8
  55. * add linting via black (can be disabled via `DISABLE_PYTHON_BLACK=1`)
  56. * add automatic formatting via black (`make style`)
  57. # Version 0.8.0 (2021-10-26)
  58. * allow selection of alternative download locations via
  59. `MAKEFILET_DOWNLOAD_URL_TEMPLATE` or `MAKEFILET_DOWNLOAD_URL`
  60. # Version 0.7.3 (2021-02-22)
  61. * fix detection of outdated makefilet version
  62. # Version 0.7.2 (2021-02-01)
  63. * fix determination of `shellcheck` path
  64. # Version 0.7.1 (2021-01-13)
  65. * fix detection of outdated makefilet version
  66. # Version 0.7.0 (2021-01-09)
  67. * python:
  68. * force removal of old "foo.egg-info/SOURCES.txt" during "clean-python"
  69. This is a workaround for https://github.com/pypa/setuptools/issues/436.
  70. (closes: #33)
  71. * python support (e.g. for venv) may be forced via MAKEFILET_ENABLE_PYTHON=1
  72. (closes: #23)
  73. * pypi2deb:
  74. * allow version specification for packages
  75. (closes: #26)
  76. * allow to run without a local debian/changelog file
  77. (closes: #25)
  78. * release:
  79. * add support for npm-based release
  80. (closes: #21)
  81. * shell:
  82. * do not disable shell-related checks by default
  83. Shell-related testing and linting can be disabled via DISABLE_SHELL_CHECK=1.
  84. * warn if shellcheck is missing
  85. * rename "test-shell" to "lint-shell"
  86. * automatically run jobs in parallel (if "-j X" is not specified)
  87. (closes: #29)
  88. * warn if the currently active version of makefilet is older than the version
  89. requested via MAKEFILET_DOWNLOAD_VERSION
  90. This may happen if makefilet is installed system-wide.
  91. (closes: #27)
  92. # Version 0.6.8 (2020-11-10)
  93. * python:
  94. * do not try to install virtualenv pre-dependencies which
  95. are part of the standard library
  96. # Version 0.6.7 (2020-11-10)
  97. * release:
  98. * tolerate untracked files during release
  99. * python:
  100. * ensure VIRTUALENV_PREDEPENDENCIES being available inside
  101. the virtualenv
  102. # Version 0.6.6 (2020-08-13)
  103. * python:
  104. * fix handling of "DISABLE_PYTHON_TESTS"
  105. # Version 0.6.5 (2020-08-12)
  106. * deb:
  107. * "test-deb" (and thus "test") does not depend on "lint-deb"
  108. anymore
  109. # Version 0.6.4 (2020-07-18)
  110. * python:
  111. * do not automatically upgrade the packages installed in the
  112. virtualenv
  113. # Version 0.6.3 (2020-07-14)
  114. * python:
  115. * finally fix the recursive virtualenv handling
  116. # Version 0.6.2 (2020-07-14)
  117. * python:
  118. * fix recursive virtualenv handling
  119. # Version 0.6.1 (2020-07-13)
  120. * python:
  121. * detect an active virtual environment and avoid entering
  122. it again
  123. # Version 0.6.0 (2020-07-13)
  124. * python:
  125. * add optional VIRTUALENV_PREDEPENDENCIES variable for
  126. emitting helpful warnings in case of missing build
  127. pre-dependencies
  128. # Version 0.5.5 (2020-06-24)
  129. * release:
  130. * add support for Makefile located in a subdirectory of
  131. a git repository
  132. # Version 0.5.4 (2020-01-09)
  133. * release:
  134. * avoid warning in case of empty BUMP_VERSION_COMMIT_FILES
  135. * handle more than three version number parts gracefully
  136. * download-ondemand:
  137. * do not hide wget error messages
  138. * makefile:
  139. * avoid accessing undefined variables
  140. * python:
  141. * fix coverage report visualization
  142. # Version 0.5.3 (2019-03-16)
  143. * release:
  144. * specify PROJECT_NAME for directory name in release tarball
  145. # Version 0.5.2 (2019-03-12)
  146. * deb:
  147. * allow override of dput call in `deb-upload` target with
  148. DEB_UPLOAD_COMMAND variable
  149. # Version 0.5.1 (2019-02-26)
  150. * fix virtualenv-related dependencies (e.g. for tests)
  151. # Version 0.5.0 (2019-02-25)
  152. * new component "python-django"
  153. * execute django-related check in "virtualenv-check" only for django projects
  154. # Version 0.4.0 (2019-02-25)
  155. * download-ondemand:
  156. * fix portability issue for *BSD
  157. * new component "python-virtualenv"
  158. * python:
  159. * "clean" depends on "clean-python"
  160. * allow disabling of tests explicitly via DISABLE_PYTHON_TESTS=1
  161. # Version 0.3.0 (2019-02-10)
  162. * deb:
  163. * suppress error messages in case of optional missing executables
  164. (e.g. dpkg-architecture)
  165. * allow arguments for lintian (see LINTIAN_ARGS)
  166. * release:
  167. * allow the filename of the bumpversion configuration to be overridden
  168. (BUMP_VERSION_CONFIG)
  169. * explicitly collect the list of files to be committed during
  170. "make release-*" (see BUMP_VERSION_FILES)
  171. * allow "BUMP_VERSION_FILES" to be overridden
  172. * fail if a file listed in "BUMP_VERSION_FILES" is missing
  173. * add "release-tar" and "release-tar-sign" targets
  174. * python:
  175. * fix execution of coverage within a virtualenv
  176. (missing python3-coverage)
  177. * allow override of test execution within a coverage run
  178. (via PYTHON_TEST_ARGS)
  179. * automatically run unittests
  180. (finishing without errors if no tests are found)
  181. * open the coverage report in a browser
  182. (only within a desktop session and if "xdg-open" is available)
  183. * fix dependency of "lint-python"
  184. (now attached to "lint" instead of "test")
  185. * new component "generic":
  186. * generate "tags" file via "ctags"
  187. * shell:
  188. * hide the shellcheck command
  189. (reducing noise in case of long lists of files)
  190. # Version 0.2.10 (2018-12-11)
  191. * release:
  192. * fix broken handling of "make release-undo" (introduced in 0.2.9)
  193. # Version 0.2.9 (2017-12-21)
  194. * release:
  195. * handle missing file ".bumpversion" gracefully
  196. * improved error message if VERSION file is missing
  197. # Version 0.2.8 (2017-11-19)
  198. * pypi2deb:
  199. * allow package-specific environment settings
  200. * improve failure detection
  201. * release: prevent successive (accidental) release commits
  202. * populate "Suggests" of deb package
  203. * documentation fixes
  204. # Version 0.2.7 (2017-08-27)
  205. * fixed recently introduced 'clean' operation
  206. # Version 0.2.6 (2017-08-27)
  207. * remove downloaded makefilet directory during 'clean'
  208. # Version 0.2.5 (2017-05-10)
  209. * fix 'install-python' due to bad 'DESTDIR' handling
  210. # Version 0.2.4 (2017-05-09)
  211. * fix path handling of 'check-dput-config' target for 'upload-deb'
  212. # Version 0.2.3 (2017-05-06)
  213. * tolerate errors in 'clean' targets
  214. * hide misleading error message for missing 'dh_listpackages' (from 'debhelper')
  215. # Version 0.2.2 (2017-05-02)
  216. * allow configurable parameters for 'install-python'
  217. * introduce the new target 'lint' for style checks
  218. * move 'flake8' check from 'test-python' to 'lint-python'
  219. # Version 0.2.1 (2017-04-29)
  220. * add minimal makefile snippet for 'download on-demand' integration into projects
  221. # Version 0.2 (2017-04-29)
  222. * calling 'flake8' on more platforms properly
  223. * deb packaging:
  224. * add 'init-deb' target (calls 'dh_make')
  225. * add deb packaging information for makefile itself (#2)
  226. * add 'test-deb' for lintian tests
  227. * allow quilt-based source format for repositories without submodules
  228. # Version 0.1 (2017-04-24)
  229. * Initial release
  230. * basic support for deb packaging, python, bumpversion, pypi2deb and shell scripts