Always set an html_title bny default.
[gruta.git] / RELEASE_NOTES
blob652946ecbc2146b3435f8df7e2c32e0851c925a1
1 Gruta Release Notes
2 ===================
4 2.3.1 "Sienna"
5 --------------
7  * New interface to edit the configuration, instead of editing
8    the `cfg_' templates one by one.
9  * Reworked template structure and CSS.
10  * If a story named `index' in the `info' topic exists, it's used
11    to substitute the main body of the `INDEX' page.
12  * Fixed a crash in `LIST' when connected.
13  * Fixed story format in `EDIT_STORY'.
14  * Added support for blogspam.net and Akismet comment SPAM detectors.
16 2.3.0 "Lucca"
17 -------------
19  * Stories can now include comments from visitors. Comments
20    are disabled by default (it can be enabled by setting
21    `cfg_disable_comments' in the `config' template to 0) and can also
22    be enabled or disabled on a per story basis. Comments are never
23    automatically published: they require approval one by one, unless
24    it's posted by an identified user that also has section editor
25    capabilities.
26  * Support for the new 5.x version of Artemus has been added.
27    This version is now the recommended one and upgrading of
28    existing installations to it is encouraged, as new features
29    are only implemented on 5.x (as, for example, the new
30    "comments from visitors" feature).
31  * If a story pseudo-url points to a non-existent story, it shows
32    a link to create it (ala Wikis).
33  * Date formatting is done using strftime(), so its full
34    set of percent-prefixed commands is available.
35  * A new field in stories allow a Table of Contents to be
36    created for each story.
37  * A new template `status' has been added to set the HTTP
38    status.
39  * A security bug that allowed to bypass a story's publication
40    date by using the STORY_PRINTABLE template has been fixed.
41  * Improved cookie parsing.
42  * The `gruta_mksite' helper scripts has been renamed to
43    `gruta-mksite' and it's also installed in /usr/local/bin.
44  * Many new commands to the `gruta' command line tool.
45  * All image pseudo-urls include the image's width and height
46    in the `img' tag if the `Image::Size' Perl module is detected
47    and installed.
48  * A timeout watchdog now exists to avoid the CGI hanging for too
49    much with a default of 20 seconds. It can be changed in the
50    creation of the Gruta::CGI object by setting the `query_timeout'
51    argument.
53 2.2.1 "Montecatini"
54 -------------------
56  * Templates are now stored inside source backends instead of
57    having a special directory of plain files. So, it's no
58    longer necessary to prepend the writable directory to
59    the template path in Gruta::Template::Artemus creation.
60  * The TT template toolkit has been officially deprecated.
61  * New global CGI variable `set_date', to force a date to
62    be assumed as today, to be used to take a look at how would
63    a page be shown in the given date. Only usable by a logged-in
64    admin user.
65  * A new script `gruta_mksite', to help in the creation of a
66    new site.
67  * A new command, `set_story_date', has been added to bin/gruta.
68  * The full set of `mod_rewrite' keywords to be used if `static_urls' 
69    is set has been expanded.
71  RewriteRule ^/([0-9]+)\.html$          /?t=INDEX&offset=$1             [PT,L]
72  RewriteRule ^/([0-9]+)-([0-9]+)\.html$ /?t=SEARCH_BY_DATE&from=$1&to=$2 [PT,L]
73  RewriteRule ^/tag/(.+)\.html$          /?t=SEARCH_BY_TAG&tag=$1        [PT,L]
74  RewriteRule ^/tag/$                    /?t=TAGS                        [PT,L]
75  RewriteRule ^/top/$                    /?t=TOP_TEN                     [PT,L]
76  RewriteRule ^/(.+)/$                   /?t=TOPIC&topic=$1              [PT,L]
77  RewriteRule ^/(.+)/index\.html$                /?t=TOPIC&topic=$1              [PT,L]
78  RewriteRule ^/(.+)/([0-9]+)\.html$     /?t=TOPIC&topic=$1&offset=$2    [PT,L]
79  RewriteRule ^/(.+)/(.+)\.html$         /?t=STORY&topic=$1&id=$2        [PT,L]
80  RewriteRule ^/rss\.xml$                        /?t=RSS                         [PT,L]
81  RewriteRule ^/sitemap\.xml$            /?t=SITEMAP                     [PT,L]
82  RewriteRule ^/style\.css$              /?t=CSS                         [PT,L]
85 2.2.0 "Osmannoro"
86 -----------------
88 Please note that version 4.1.2 of the Artemus template toolkit
89 is required for this release to work properly.
91  * Story rendering is cached, resulting in faster page loading.
92  * An existing story can be copied to another topic from the story
93    edition form.
94  * The template `stories_by_date' has changed the order of their
95    output values; now they are topic_id, id and date.
96  * The RSS template now accepts an optional CGI argument `tag', to
97    get feeds on stories by tag.
98  * Multiple sources are no longer supported; it never really worked
99    well, made the code cumbersome and had no real advantage after
100    all. The cgi caller needs not to be changed, as the `sources'
101    argument is still supported (only the first one is used, though),
102    but the scalar `source' is preferred now.
103  * The file format in the FS source has changed; the `.META' extension
104    has been changed to `.M', and `.TAGS' to `.T'. Also, new files
105    appear in the `stories' directory with the `.A' and `.B' extensions,
106    holding the rendered abstract and story body, respectively. The
107    transition is made automatically on the first run, no manual
108    operation is needed.
109  * New argument `hard_top_ten_limit' to Gruta::Source::FS, to set
110    the maximum number of stories to be tested when generating the top
111    read stories index (previously hardcoded to 100).
112  * New argument `min_size_for_gzip' to Gruta::CGI, to set the minimum
113    size for the output body to be Gzip compressed (previously hardcoded
114    to 10000).
115  * If a story pointed by a story:// pseudo-url has a publication date
116    in the future, only the title is shown (i.e., it's not clickable).
117  * The Mbox source is officially deprecated.
118  * Static URLs are also generated for the `CSS', `RSS' and `SITEMAP'
119    pages. The following `mod_rewrite' rule must be added to the ones
120    suggested in the previous version:
122  RewriteRule ^/style\.css$     /?t=CSS              [PT]
124 2.1.1 "Calenzano"
125 -----------------
127  * Fixed a last time bug in the DBI schema generation.
129 2.1.0
130 -----
132  * On-the-fly Gzip compression (if browser accepts it).
133  * New special uris; `abstract', to paste a story's abstract, and `body',
134    to paste the full body of another one.
135  * A new renderer, Text, for plain text content.
136  * New Artemus variables to set HTML metadata; `html_title',
137    `html_description' and `html_keywords'.
138  * A new supertemplate called CSS, that returns the Cascading Style
139    Sheet instead of having it embedded in all output.
140  * A new supertemplate called SITEMAP (to be aliased to /sitemap.xml).
141  * If a story called `index' is present in a topic, the 'TOPIC' template
142    shows its body instead of the list of stories in it.
143  * Several new commands in the `gruta' command line tool; _new_story_ (to
144    create a new story from STDIN), _import_rss_ (to import an RSS file
145    into a topic), _update_story_ (to update a story from STDIN).
146  * Topics and stories now have a new field, `description', that is used
147    in the HTML description meta tag in `TOPIC' or `STORY'.
148  * Internal server errors set the HTTP status to 500.
149  * Some old function templates have been deleted and moved to Artemus.
150  * Many templates have been simplified with new Artemus keywords.
151  * The DBI driver is less verbose on errors.
152  * Those templates more prone to be changed when configuring a new
153    site have been renamed to have a prefix of 'cfg_'.
154  * Added POD documentation to some templates.
155  * Date formatting functions now accept `%w' to print the week day
156    as a number.
157  * New global argument `dummy_touch' to avoid updating the `hits' count
158    of each story.
159  * Several fixes to the Mbox driver.
160  * Don't generate empty 'about' and 'legal' links in 'meta_menu' if
161    they don't exist.
162  * Confirmation is requested when deleting a story.
163  * New global argument `static_urls', that forces some urls (mainly
164    links to topics and stories) to use a simplified, static-like look.
165    You *need* to have the following Apache's mod_rewrite keywords
166    for these urls to be re-converted to usable ones:
168  RewriteEngine On
169  RewriteRule /(img|download)/.* - [L]
170  RewriteRule ^/(.+)/index\.html$ /?t=TOPIC&topic=$1       [PT]
171  RewriteRule ^/(.+)/(.+)\.html$  /?t=STORY&topic=$1&id=$2 [PT]
172  RewriteRule ^/(.+)/$            /?t=TOPIC&topic=$1       [PT]
173  RewriteRule ^/rss\.xml$         /?t=RSS                  [PT]
174  RewriteRule ^/sitemap\.xml$     /?t=SITEMAP              [PT]