aboutsummaryrefslogtreecommitdiff
path: root/docs/releases/burlap.rst
blob: 8477e88f74228702295c5d3767c9f31213fae7f4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
v1.0 Series ("Burlap")
======================

1.0.0
-----

This release changes a few admin-visible components of Patchwork, so upgrading
involves a few steps.

New Features
~~~~~~~~~~~~

- Patch tags are now supported

  Patch "tags", such as `Acked-by`, `Reviewed-by`, are typically included in
  patches and replies. They provide important information as to the activity
  and "mergability" of a patch. These tags are now extracted from patches and
  included in the patch list.

- Django 1.7 and Django 1.8 are now supported

- tox support is integrated for use by developers

Upgrade Notes
~~~~~~~~~~~~~

- Migrations are now executed using the Django migrations framework.

  Future database migrations will be implemented using Django Migrations,
  rather than raw SQL scripts. Before switching to Django migrations, first
  apply any unapplied migrations in the `lib/sql/migration` folder. For
  example, on postgres::

    $ psql -f lib/sql/migration/015-add-patch-tags.sql patchwork
    $ psql -f lib/sql/grant-all.postgres.sql patchwork

  Once applied, configure the required Django Migration tables using the
  `migrate` managment command::

    $ ./manage.py migrate --fake-initial

- Moved Patchwork source from the `apps` directory to the top level directory.

  Any scripts or tools that call Patchwork applications, such as
  `parsemail.sh`, must be updated to reference the new location of these
  scripts. To do this, simply remove `apps/` from the path, i.e.
  `apps/patchwork/` becomes `patchwork`.

- The `patchwork-cron.py` script has been replaced by the `cron` management
  command.

  Any references to the former should be updated to the latter. The `cron`
  management command can be called like so::

    $ ./manage.py cron

- The `settings.py` file has been updated to reflect modern Django practices.

  You may need to manually migrate your existing configuration to the new
  settings file(s). By default, settings are read from
  `patchwork/settings/production.py`. To migrate, use the provided template::

    $ cp patchwork/settings/production{.example,}.py

  Merge your previous settings, usually located in `apps/local_settings.py`, to
  this file.

  In addition, any scripts that set the `DJANGO_SETTINGS_MODULE` environment
  variable will need to be updated to reflect the new location, typically::

    DJANGO_SETTINGS_MODULE=patchwork.settings.production

- Django `staticfiles` is now used to to gather static files for for serving
  via a web server

  Static content should now be located in the folder indicated by
  `STATIC_ROOT`.  This should point to somewhere sensible, such as the absolute
  path of `htdocs/static` in the Patchwork tree. Configure the `STATIC_ROOT`
  setting in your settings file, then run the `collectstatic` management
  command::

    $ ./manage.py collectstatic

  Finally, update your webserver configuration to serve the static content from
  this new location. Refer to the sample web configuration files provided in
  `lib` for more information.

- Django 1.5 is no longer supported

- Python 2.5 support was broken and is officially no longer supported

Deprecation Notes
~~~~~~~~~~~~~~~~~

- Django 1.6 support will be removed in a future release

- Raw SQL migration scripts, currently found at `lib/sql/migration`, will no
  longer be updated and will be removed in a future release. The Django
  Migration framework, found in Django 1.7 and above, should be used instead.