# HG changeset patch # User Ludovic Chabant # Date 1446353165 25200 # Node ID 442cf576ae2581c35a485ab756101e7cc8f5fdd5 # Parent 76f0118276d707a076c86d96df7ad854efa3d2ad cm: CHANGELOG generator can handle future versions. diff -r 76f0118276d7 -r 442cf576ae25 CHANGELOG.rst --- a/CHANGELOG.rst Sat Oct 31 08:59:53 2015 -0700 +++ b/CHANGELOG.rst Sat Oct 31 21:46:05 2015 -0700 @@ -10,7 +10,74 @@ ================================== -1. PieCrust 2.0.0b2 (2015-07-29) +1. PieCrust 2.0.0 (2015-10-31) +================================== + + +1.0 Commands +---------------------- + +* serve: Fix corner cases where the pipeline doesn't run correctly. +* showconfig: Don't crash when the whole config should be shown. +* bake: Don't re-setup logging for workers unless we're sure we need it. +* serve: Fix error reporting when the background pipeline fails. +* chef: Add ``--debug-only`` option to only show debug logging for a given logger. +* routes: Add better support for taxonomy slugification. +* serve: Improve reloading and shutdown of the preview server. +* serve: Don't crash when looking at the debug info in a stand-alone window. +* serve: Improve debug information in the preview server. +* serve: Refactor the server to make pieces usable by the debugging middleware. +* serve: Fix timing information in the debug window. +* serve: Extract some of the server's functionality into WSGI middlewares. +* serve: Rewrite of the Server-Sent Event code for build notifications. +* serve: Werkzeug docs say you need to pass a flag with ``wrap_file`` . +* bake: Add a flag to know which record entries got collapsed from last run. +* bake: Set the flags, don't combine. + +1.1 Core +---------------------- + +* bug: Correctly handle root URLs with special characters. +* debug: Fix a crash when rendering debug info for some pages. + +1.2 Project +---------------------- + +* tests: Fix broken unit test. +* tests: Fix another broken test. +* docs: Add reference entry about the ``site/slugify_mode`` setting. +* tests: Fix broken test. +* tests: Print more information when a bake test fails to find an output file. + +================================== +2. PieCrust 2.0.0b3 (2015-08-01) +================================== + + +1.0 Commands +---------------------- + +* import: Correctly convert unicode characters in site configuration. +* import: Fix the PieCrust 1 importer. +* import: Add some debug logging. + +1.1 Core +---------------------- + +* internal: Fix a severe bug with the file-system wrappers on OSX. +* templating: Make more date functions accept 'now' as an input. + +1.2 Project +---------------------- + +* cm: Update changelog. +* cm: Changelog generator script. +* cm: Add a Gutentags config file for ``ctags`` generation. +* tests: Check accented characters work in configurations. +* cm: Ignore Rope cache. + +================================== +3. PieCrust 2.0.0b2 (2015-07-29) ================================== @@ -25,7 +92,7 @@ * bug: Fix crash running ``chef help scaffolding`` outside of a website. ================================== -2. PieCrust 2.0.0b1 (2015-07-29) +4. PieCrust 2.0.0b1 (2015-07-29) ================================== @@ -104,7 +171,7 @@ * jinja: Support ``.j2`` file extensions. ================================== -3. PieCrust 2.0.0a13 (2015-07-14) +5. PieCrust 2.0.0a13 (2015-07-14) ================================== @@ -120,7 +187,7 @@ * bug: Correctly setup the environment/app for bake workers. ================================== -4. PieCrust 2.0.0a12 (2015-07-14) +6. PieCrust 2.0.0a12 (2015-07-14) ================================== @@ -206,7 +273,7 @@ * markdown: Cache the formatter once. ================================== -5. PieCrust 2.0.0a11 (2015-05-18) +7. PieCrust 2.0.0a11 (2015-05-18) ================================== @@ -240,7 +307,7 @@ * jinja: Look for ``html`` extension first instead of last. ================================== -6. PieCrust 2.0.0a10 (2015-05-15) +8. PieCrust 2.0.0a10 (2015-05-15) ================================== @@ -250,7 +317,7 @@ * setup: Add ``requirements.txt`` to ``MANIFEST.in`` so it can be used by the setup. ================================== -7. PieCrust 2.0.0a9 (2015-05-11) +9. PieCrust 2.0.0a9 (2015-05-11) ================================== @@ -281,7 +348,7 @@ * setup: Keep the requirements in sync between ``setuptools`` and ``pip`` . ================================== -8. PieCrust 2.0.0a8 (2015-05-03) +10. PieCrust 2.0.0a8 (2015-05-03) ================================== @@ -315,7 +382,7 @@ * Update ``requirements.txt`` . ================================== -9. PieCrust 2.0.0a7 (2015-04-20) +11. PieCrust 2.0.0a7 (2015-04-20) ================================== @@ -366,7 +433,7 @@ * cleancss: Fix stupid bug. ================================== -10. PieCrust 2.0.0a6 (2015-03-30) +12. PieCrust 2.0.0a6 (2015-03-30) ================================== @@ -533,7 +600,7 @@ * processing: Add more information to the pipeline record. ================================== -11. PieCrust 2.0.0a5 (2015-01-03) +13. PieCrust 2.0.0a5 (2015-01-03) ================================== diff -r 76f0118276d7 -r 442cf576ae25 util/generate_changelog.py --- a/util/generate_changelog.py Sat Oct 31 08:59:53 2015 -0700 +++ b/util/generate_changelog.py Sat Oct 31 21:46:05 2015 -0700 @@ -1,7 +1,8 @@ import os import os.path import re -import sys +import time +import argparse import subprocess @@ -32,11 +33,18 @@ def generate(): - out_file = 'CHANGELOG.rst' - if len(sys.argv) > 1: - out_file = sys.argv[1] + parser = argparse.ArgumentParser(description='Generate CHANGELOG file.') + parser.add_argument( + 'out_file', + nargs='?', + default='CHANGELOG.rst', + help='The output file.') + parser.add_argument( + '--last', + help="The version for the last few untagged changes.") + args = parser.parse_args() - print("Generating %s" % out_file) + print("Generating %s" % args.out_file) if not os.path.exists('.hg'): raise Exception("You must run this script from the root of a " @@ -49,7 +57,7 @@ templates = _get_templates() - with open(out_file, 'w') as fp: + with open(args.out_file, 'w') as fp: fp.write(templates['header']) skip = False @@ -57,6 +65,13 @@ current_version = 0 current_version_info = None current_changes = None + + if args.last: + current_version = 1 + cur_date = time.strftime('%Y-%m-%d') + current_version_info = args.last, cur_date + current_changes = {} + for line in hglog.splitlines(): if line == '': skip = False