Changelog

1.3.1 2017-05-18

  • [Bug] #66: (via #67) Deal with some Sphinx 1.6.1 brokenness causing AttributeError by leveraging getattr()‘s default-value argument. Thanks to Ian Cordasco for catch & patch.
  • [Bug] #60: Report extension version to Sphinx for improved Sphinx debug output. Credit: William Minchin.

1.3.0 2016-12-09

  • [Feature]: Add releases.util, exposing (among other things) a highly useful parse_changelog(path) function that returns a user-facing dict representing a parsed changelog. Allows users to examine their changelogs programmatically and answer questions like “do I have any outstanding bugs in the 1.1 release line?”.
  • [Support] #51: Modernize release management so PyPI trove classifiers are more accurate, wheel archives are universal instead of Python 2 only, and release artifacts are GPG signed.

1.2.1 2016-07-25

  • [Bug] #36: Changelogs with no releases whatsoever should still be viable instead of raising exceptions. This is now happily the case. All items in such changelogs will end up in a single “unreleased features” list, just as with regular prehistory entries. Thanks to Steve Ivy for initial report and André Caron for additional feedback.
  • [Bug] #56: Fix exceptions that occurred when no release/issue link options were configured. Now those options are truly optional: release version and issue number text will simply display normally instead of as hyperlinks. Thanks to André Caron for the report.
  • [Support] #51: Modernize release management so PyPI trove classifiers are more accurate, wheel archives are universal instead of Python 2 only, and release artifacts are GPG signed.

1.2.0 2016-05-20

  • [Feature] #19: Add unstable_prehistory option/mode for changelogs whose 0.x release cycle is “rapid” or “unstable” and doesn’t closely follow normal semantic version-driven organization. See “Unstable prehistory” mode.
  • [Bug] #53: Tweak newly-updated models so bugfix items prior to an initial release are considered ‘major bugs’ so they get rolled into that initial release (instead of causing a ValueError).
  • [Bug] #55: Non-annotated changelog line items (which implicitly become bugs) were incorrectly truncating their contents in some situations (basically, any time they included non-regular-text elements like monospace, bold etc). This has been fixed.
  • [Bug]: Fix formatting of release header dates; a “75% text size” style rule has had an uncaught typo for some time.

1.1.0 2016-04-28

  • [Feature] #45: Add support for major version transitions (e.g. 1.0 to 2.0).

    Note

    This adds a new install-time dependency: the semantic_version library. It’s pure Python, so installation should be trivial.

  • [Bug] #44: Update one of our internal docutils-related classes for compatibility with Sphinx 1.4.x. Thanks to Gabi Davar for catch & patch.

1.0.0 2015-11-05

  • [Feature] #41: Clean up changelog discovery so one can have comments, paragraphs or other non-bullet-list elements above or below the changelog. Thanks to Rodrigue Cloutier for the original request/patch.
  • [Feature] #42: For readability, issues within each release so they are displayed in feature->bug->support order.

0.7.0 2014-09-04

  • [Feature] #21: Allow duplicate issue numbers; not allowing them was technically an implementation detail. Thanks to Dorian Puła for the patch.
  • [Bug] #30: Add LICENSE (plus a handful of other administrative files) to a MANIFEST.in so sdists pick it up. Thanks to Zygmunt Krynicki for catch & original patch (#33).

0.6.1 2014-04-06

  • [Bug]: Fix a silly issue with the new feature from #22 where it accidentally referred to the Sphinx document title instead of the document filename.

0.6.0 2014-04-03

  • [Feature] #26: Allow specifying Github path shorthand config option instead of explicit release/issue URL strings.
  • [Feature] #22: Make the document name used as the changelog - previously hardcoded as changelog (.rst) - configurable. Thanks to James Mills for the feature request.

0.5.3 2014-03-15

  • [Bug] #24: Broke inline issue parsing; fixed now.
  • [Bug] #25: Empty/no-issue line items broke at some point; fixed.

0.5.2 2014-03-13

  • [Bug] #23: Rework implementation to deal with issue descriptions that span more than one paragraph - subsequent paragraphs/blocks were not being displayed prior.

0.5.1 2014-02-11

  • [Bug]: Fix silly bug in #20 that cropped up on Python 3.x.

0.5.0 2014-02-11

  • [Feature] #20: Allow specifying minimum release line in bugfixes that don’t apply to all active lines (e.g. because they pertain to a recently added feature.)

0.4.0 2013-12-24

  • [Feature] #17: Allow releases to explicitly define which issues they include. Useful for overriding default assumptions (e.g. a special bugfix release from an otherwise dormant line.)
  • [Support] #15: Add Concepts to flesh out some assumptions not adequately explained in Usage.

0.3.1 2013-12-18

  • [Bug] #16: Fix some edge cases regarding release ordering & unreleased issue display. Includes splitting unreleased display info into two ‘Next release’ pseudo-release entries.

0.3.0 2013-11-21

  • [Feature] #1: (also #3, #10) Allow using - or 0 as a dummy issue ‘number’, which will result in no issue number/link being displayed. Thanks to Markus Zapke-Gründemann and Hynek Schlawack for patches & discussion.

    • This feature lets you categorize changes that aren’t directly related to issues in your tracker. It’s an improvement over, and replacement for, the previous “vanilla bullet list items are treated as bugs” behavior.
    • Said behavior (non-role-prefixed bullet list items turning into regular bugs) is being retained as there’s not a lot to gain from deactivating it.
  • [Feature] #11: Fix up styling so changelogs don’t look suboptimal under the new Read The Docs theme. Still looks OK under their old theme too!

  • [Bug] #9: Clean up additional ‘unreleased’ display/organization behavior, including making sure ALL unreleased issues show up as ‘unreleased’. Thanks to Donald Stufft for the report.

  • [Support]: Explicitly documented how non-role-prefixed line items are preserved.

  • [Support]: Edited the README/docs to be clearer about how Releases works/operates.

  • [Support]: Handful of typos, doc tweaks & addition of a .gitignore file. Thanks to Markus Zapke-Gründemann.

  • [Support]: Created a basic test suite to protect against regressions.

  • [Support]: Move to actual Sphinx docs so we can use ourselves.

0.2.4 2013.10.04

  • [Bug]: Updated non-role-prefixed line items so they get prefixed with a ‘[Bug]’ signifier (since they are otherwise treated as bugfix items.)
  • [Bug]: Fix duplicate display of “bare” (not prefixed with an issue role) changelog entries. Thanks again to Markus.
  • [Support]: Explicitly documented how non-role-prefixed line items are preserved.
  • [Support]: Edited the README/docs to be clearer about how Releases works/operates.
  • [Support]: Handful of typos, doc tweaks & addition of a .gitignore file. Thanks to Markus Zapke-Gründemann.

0.2.3 2013.09.16

  • [Bug]: Fix a handful of bugs in release assignment logic.

0.2.2 2013.09.15

  • [Bug]: Ensured Python 3 compatibility.

0.2.1 2013.09.15

  • [Bug]: Fixed a stupid bug causing invalid issue hyperlinks.

0.2.0 2013.09.15

  • [Feature]: Basic functionality.