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