Skip to content

Commit 9576870

Browse files
committed
doc: Add CHANGELOG and UPGRADING docs
The CHANGELOG document should describe the high level changes of the project. This will provide a human-readable way for people to evaluate the changes in each release. This file is based on the templates and general changelog "ethos" provided by 'Keep a CHANGELOG': http://keepachangelog.com/ The UPGRADING document provide instruction for system admininstrators managing patchwork deployments. At the moment, this document is a rename and minor reformatting of the existing 'docs/NEWS' document, but going forward documentation will be added for each new release. Signed-off-by: Stephen Finucane <[email protected]>
1 parent 300e190 commit 9576870

File tree

3 files changed

+132
-67
lines changed

3 files changed

+132
-67
lines changed

CHANGELOG.md

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
# Change Log
2+
3+
All notable changes to this project will be documented in this file. Please
4+
refer to the release notes for more detailed information, e.g. how to upgrade.
5+
6+
This project adheres to [Semantic Versioning](http://semver.org/).
7+
8+
## [Unreleased]
9+
10+
...
11+
12+
## [1.0.0] - 2015-10-26
13+
14+
### Added
15+
16+
- Patch tag infrastructure feature. This provide a quick summary of patch
17+
'tags' (e.g. `Acked-by`, `Reviewed-by`, ...) found in a patch and its replies
18+
- Support for Django 1.7 and Django 1.8
19+
- Support for Django Migrations. This will be the chosen method of making
20+
database changes going forward. See below for more information
21+
- Support for tox
22+
- Django management commands, which replace the existing patchwork cron scripts
23+
- CHANGELOG.md and UPGRADING.md docs
24+
25+
### Changed
26+
27+
- Static files are now gather and served using the `django.contrib.staticfiles`
28+
module, per Django best practices
29+
- Restructured directory per modern Django standards. The `apps` directory no
30+
longer exists and patchwork source has instead been moved to the top level
31+
directory
32+
- Rewrote documentation to reflect changes in development and deployment best
33+
practices over the past few years
34+
- Reworked `requirements.txt` and `settings.py` files
35+
36+
### Removed
37+
38+
- Support for Django 1.5
39+
- Defunct Python 2.5 code
40+
- Numerous dead files/code
41+
- `bin/patchwork-cron` script, in favor of `cron` management command
42+
43+
### Deprecated
44+
45+
- Django 1.6 support will be removed in the next release
46+
- Django 1.7 supports Django Migrations and Django 1.8 requires them. This
47+
negates the need for handwritten SQL migration scripts. Future releases will
48+
no longer include these scripts and they will eventually be removed
49+
50+
## [0.9.0] - 2015-03-22
51+
52+
**NOTE:** 1.0.0 was the first release of patchwork adopting semantic versioning.
53+
For information on *"0.9.0"* and before, please refer to Git logs.
54+
55+
[Unreleased]: https://github.com/getpatchwork/patchwork/compare/v1.0.0...HEAD
56+
[1.0.0]: https://github.com/getpatchwork/patchwork/compare/v0.9.0...v1.0.0
57+
[0.9.0]: https://github.com/getpatchwork/patchwork/compare/c561ebe...v0.9.0
58+

UPGRADING.md

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
# Patchwork Upgrade Guide
2+
3+
## 0.9.0 to 1.0.0
4+
5+
Version 1.0.0 changes a few admin-visible components of patchwork so
6+
upgrading involves a few steps.
7+
8+
### Database Migrations
9+
10+
Update the database schema, by running the `015-add-patch-tags.sql` script,
11+
and re-run the grants script. For example, on postgres:
12+
13+
psql -f lib/sql/migration/015-add-patch-tags.sql patchwork
14+
psql -f lib/sql/grant-all.postgres.sql patchwork
15+
16+
### Update to the new settings infrastructure
17+
18+
By default, settings are read from `patchwork/settings/production.py`. To
19+
migrate, use the template:
20+
21+
cp patchwork/settings/production{.example,}.py
22+
23+
Merge your previous settings (from `apps/local_settings.py`) into this file.
24+
25+
### Fixup external references to `apps/`
26+
27+
The `apps/` directory is gone; the patchwork module is now in the top-level
28+
directory. If you have scripts that run anything from `apps/` (e.g. incoming
29+
mail parsers that call `parsemail.sh`, and cron scripts), then remove the
30+
`apps/` directory from those:
31+
32+
apps/patchwork/ -> patchwork/
33+
34+
Alternatively, you can create a symlink - `apps/ -> .`
35+
36+
If you have been running scripts (eg, from cron) that set the
37+
`DJANGO_SETTINGS_MODULE` environment variable, you'll need to update that to
38+
the new settings system. Typically:
39+
40+
DJANGO_SETTINGS_MODULE=patchwork.settings.production
41+
42+
The `manage.py` script has been moved from apps/ into the top-level directory
43+
too.
44+
45+
### Migrate to the `staticfiles` module
46+
47+
Static content should now be located in the folder indicated by `STATIC_ROOT`.
48+
This should point somewhere sensible (e.g. the absolute path of `htdocs/static`
49+
in the patchwork tree).
50+
51+
You'll need to set the `STATIC_ROOT` setting in your settings file.
52+
53+
Once settings are configured, run the 'collectstatic' management command:
54+
55+
./manage.py collectstatic
56+
57+
You also need to update your Apache configuration to use the new static
58+
content. Since static content is now in all under `STATIC_ROOT`, the
59+
configuration should be simpler than in previous releases. The core config
60+
will be:
61+
62+
DocumentRoot /srv/patchwork/htdocs/
63+
Alias /static/ /srv/patchwork/htdocs/static/
64+
WSGIScriptAlias / /srv/pathchwork/lib/apache2/patchwork.wsgi
65+
WSGIPassAuthorization On
66+
67+
### Use new management console
68+
69+
The patchwork cron script (`bin/patchwork-cron.py`) has been moved to a
70+
`manage.py` command. Instead of running `patchwork-cron.py`, you should now
71+
run:
72+
73+
./manage.py cron
74+

docs/NEWS

Lines changed: 0 additions & 67 deletions
This file was deleted.

0 commit comments

Comments
 (0)