8 - StGit GPG-signs patches when `commit.gpgsign` is set (#12)
9 - Support `core.hooksPath` in git config
10 - Add `-C` option for `stg import` and `stg fold` (#18)
13 - Allow importing mail and series from urls (#94)
14 - `stg refresh --edit` may also use `--diff` and `--diff-opts` (#98)
15 - `stg goto` allows sha1 of a patch instead of patch name (#93)
18 - Repair hang in `stg pull -m`, `stg goto -m`, and `stg push -m`
19 - Repair `stg mail` to show diffstat of whole series (#104)
20 - Repair MANIFEST.in to include AUTHORS.md and README.md files
26 - Drop support for Python < 3.5
27 - Remove previously deprecated `stg publish` command
28 - Removed contrib scripts: `stg-swallow`, `stg-fold-files-from`,
29 `stg-dispatch`, `stg-whatchanged`, and `stg-show-old`
32 - The pre-commit hook is now run for `stg refresh`
33 - New `--spill` option for `stg refresh`
34 - Add stgit.series.description config option (#88)
35 - Official support for Python versions up to 3.9
38 - Stack metadata format 4. All metadata now kept in Git objects; no more
39 stack state files in .git/patches. **A one-way auto-upgrade to format
40 version 4 will occur when StGit commands are run on an existing StGit
42 - Use `python3` in shebangs instead of `python`
43 - `contrib/stgbashprompt.sh` is no longer executable
44 - Internal docstrings now use reStructuredText instead of Epytext
47 - Importing large patches is much, much faster (#66)
48 - Other performance improvements when dealing with large patches
49 - Repair diffstat when outside work tree root (#62)
50 - Use encoded (string) environment variables on Windows (#79)
51 - Fix `stg pull` when no upstream is configured (#83)
52 - Fix `refresh` crash with path limiting and files added to index (#85)
53 - Repair `new` with patchdescr.template crash (#87)
54 - Repair `log` from worktree subdir with patches specified
55 - Repair `import` allowing/generating duplicate patch names (#64)
56 - Repair `mail --auto` to strip comments after addrs (#91)
62 - Drop support for Python 3.3; Python 2 (2.6 and 2.7) remain
63 deprecated, but supported for one last release
64 - Tutorial is removed; it now exists as part of the website
67 - Python 2.x support is deprecated and will be removed in a future
71 - Support html5 output of docs from asciidoc
72 - Add `--expose` option for `stg pick` to allow picked commit message to
76 - Limit mail diffstat to 72 columns
77 - Added pyproject.toml file for black configuration
78 - Minimum Git version is 2.2.0
79 - Quote stg and subcommand in man page synopsis
80 - Replaced RELEASENOTES with this CHANGELOG.md
81 - Replaces Documentation/SubmittingPatches with CONTRIBUTING.md
84 - Repair MANIFEST.in and generated source dist
85 - Repair importing mail with ": " (colon space) in subject
86 - Fix mail cover letter shortlog
87 - Fix mail cover letter diffstat
88 - `stg series` now only outputs colors when `isatty()`
89 - Repair mail SSL check (#57)
90 - Repair `stg mail` with both `-a` and `-e` options (#58)
91 - Remove empty short-opt for `--no-submodules` of `stg refresh`
92 - Repair build.py for Python 2 with explicit `flush()`
93 - `stgit.refreshsubmodules` added to sample gitconfig
96 - Update docs build system from upstream Git docs
97 - Use coverage contexts to map commands to covered lines
99 - Use GitHub Actions instead of TravisCI
100 - Format StGit source using black formatter
102 ## [0.22] - 2020-03-02
105 - Remove debian packaging; downstream Debian uses its own anyway
108 - Python 2.x support is deprecated and will be removed in the next StGit
110 - `stg publish` is deprecated and will be removed in the next StGit
114 - `stg import` has new --keep-cr option, like `git mailsplit`
117 - `stg new` now includes patch name in log message
118 - `stg branch --rename` can now rename the current branch
119 - `stg branch --create` now works even if the workspace is dirty,
120 consistent with `git checkout`
121 - `stg branch --description` now works on both regular and stgit
123 - `stg edit --diff` now implies `--edit`
124 - `stg refresh` and `stg edit` now reset the committer information,
125 consistent with `stg push`
126 - git notes are now preserved when patches are modified
127 - Tutorial improvements
128 - Many additional tests and test improvements
129 - All stgit commands now use "new" git library infrastructure
132 - `stg branch --create` inherits remote correctly from parent commitish
133 - Patch names are checked earlier to avoid inconsistent stack states
134 - Improved commit data parsing and handling of non-UTF8 encodings
135 - Repair git error messages when checking stgit version from outside a
139 ## [0.21] - 2019-10-28
142 - Faster handling of large patches (#44)
145 - Build reproducibility repairs (Thanks reproducible-builds.org team!)
146 - Python can now be run with optimizations (`python -O`)
147 - `stg log` now prints trailing newline
148 - Improved command line option parsing for `stg log`
151 ## [0.20] - 2019-10-04
154 - `stg patches -d` can now output colored diffs.
155 - `stg publish --overwrite` allows branch to be overwritten instead of
156 creating new commits.
157 - `stg log --clear` deletes the stack's log history. Use with caution.
158 - Fish shell completions for stg.
159 - Zsh completions for stg.
160 - `stg mail --domain` option overrides the host's domain in the message
164 - Branch protection metadata now captured in config instead of
165 .git/patches/<branch>protect file. This updates stgit's metadata
166 format from v2 to v3.
167 - `stg diff` no longer shows binary diffs by default. Use `-O--binary`
168 or add `--binary` to stgit.diff-opts in config.
169 - Diagnostic output is now routed to stderr instead of stdout.
170 Diagnostic output is also now sent to stderr unconditionally, i.e. no
171 more isatty() test (#35).
172 - Converted to "new" lib infrastructure: `show`, `patches`, `diff`,
173 `pick`, `pull`, `rebase`, and `fold`.
176 - `stg show` detects conflicting --applied and --unapplied options.
177 - `stg show --stat` now shows commit headers.
178 - `stg patches --diff` now shows proper diff instead of `b'...'` repr of
180 - `stg diff --range` detects some invalid values (e.g. `-r ..`).
181 - Date parsing is now more portable, only use platform specific `date`
182 as last parsing option. Affects, e.g., `stg refresh --authdate`.
183 - Repaired seach path for templates to avoid looking in Python
184 site-packages directory.
185 - Ensure stdout and stderr are flushed. Rarely affected `stg diff`.
186 - `stg repair` will now fail if extra command line arguments are
188 - Bash completions are now generated in a reproducible manner.
189 - `stg edit --diff` on an empty patch no longer crashes.
190 - `stg pick` no longer fails when picked commit has empty message (#39).
191 - `stg rebase` no longer crashes when there are conflicts (#34).
192 - `stg pick` no longer crashes if --name is not provided when picking a
193 regular commit object.
194 - Improved test coverage for: branch, diff, pick, sync,
195 - New tests for: files, patches, fold, series
196 - Portable use of iconv, sort, and sed in tests.
197 - Linting using flake8 and isort.
198 - All Python code now conforms to PEP-8.
199 - Updated test infrastructure from git 2.20.
200 - Parallel tests with coverage (`make -j4 coverage`) now works.
201 - Documentation build is not included in code coverage.
202 - Repaired log end messages when using `STGIT_SUBPROCESS_LOG=debug`.
203 - Renamed "dunder" instance attributes to improve debugging.
204 - Fail faster when patch name has slash ('/') (#24).
210 - Python 3 support. StGit supports Python 2.6, 2.7, 3.3, 3.4, 3.5, 3.6,
211 and 3.7. PyPy interpreters are also supported.
212 - Submodules are now ignored when checking if working tree is clean.
213 Submodules are also not included by default when refreshing a patch.
214 - Config booleans are now parsed similarly to git-config.
215 - `contrib/stgit.el` is now licenced with GPLv2.
216 - Add continuous integration (travis-ci) and code coverage (coveralls)
218 - Many new test cases were added.
221 - Repair handling of emails with utf-8 bodies containing latin-1
222 characters. Also correctly decode email headers containing quoted
224 - StGit's version is now correct/available in the release archive.
230 - `commit-msg` hook support for easier integration with Gerrit, allowing
231 a Change-Id line to be inserted in the commit message
232 - `stg mail` improvements for 'Suggested-by:' tag and auto generation of
233 Cc for the cover letter based on all tags in the series
234 - `stg mail` bash completion for the --to, --cc and --bcc options based
235 on the content of the [mail "alias"] section of Git configuration
236 - `stg edit --review` option to add a 'Reviewed-by:' tag
237 - `stg pop --spill` functionality to allow popping a patch from the
238 stack while keeping its modification in the tree
241 - Project page details updated (gna.org has been shut down)
244 - Various fixes and test coverage improvements
247 ## [0.17.1] 2013-09-30
250 - Test suite improvements.
251 - Print tracebacks to stderr.
252 - Run test suite in parallel.
255 - Fix dirty index errors when resolving conflicts.
256 - Fix --authdate date parsing.
262 - `stg delete --top` option for deleting the top patch.
263 - `stg branch --merge` option for merging the work tree changes into the
265 - Support for sending patches both as attachment and inline.
268 - `stg mail` no longer filters explicitly added `--cc` sender address.
269 - `stg refresh` warns when index is dirty.
272 - Fix for parsing the commit header correctly.
273 - Several `stgit.el` (Emacs mode) improvements.
274 - Fix `stg status --reset` error messages.
275 - HTML documentation fix.
276 - Email template fixes.
282 - UI adjustments to better match the Git commands.
283 - `stg status` is an alias for `git status`.
284 - `stg reset --hard` behaves similarly to the corresponding git
286 - `stg branch --cleanup` option to remove the StGit metadata for a
288 - `stg mail` can use `git send-email` directly.
289 - Vim syntax highlighting for StGit commit messages.
292 - Several improvements to the Emacs mode (stgit.el).
299 - The commands "stg add", "stg rm", "stg cp", and "stg resolved" were
300 removed, since there are corresponding Git equivalents.
303 - New core infrastructure for repository operations, including:
304 - Infinite undo/redo operations and corresponding commands.
305 - Automatic rollback of changes following a failed operation (using
306 transactions)---this ensures that StGit commands either succeed or
307 do nothing. Previously, every commands had its own ad hoc
308 implementation of this.
309 - Some commands were added, including
310 - `stg squash`, for combining two or more patches into one.
311 - `stg publish`, for maintaining merge-friendly branches (which are
313 - `stg prev/next` for printing the name of the previous or next patch
315 - The `stg import` and `stg fold` commands support the `-p N` option for
316 stripping leading slashes from diff paths.
317 - The `stg import` and `stg fold` commands support the `--reject` option
318 for leaving rejected hunks in corresponding `*.rej` files.
319 - New patch identification syntax: `<branch>:<patch>` (see documentation
320 for the "stg id" command).
321 - Autosigning of imported patches when `sign.autosign` configuration
323 - A powerful Emacs mode for StGit was added to the "contrib" directory.
324 It displays the patch stack in an Emacs buffer, and can handle all
326 - Man pages and an improved tutorial.
329 - Improved bash tab-completion, automatically generated from the stg
333 ## [0.14.3] 2008-06-08
334 ## [0.14.2] 2008-13-24
335 ## [0.14.1] 2007-12-11