Now you can include customised versions of templates in the source
of your wiki. (For example, templates/page.tmpl.) When these templates
are changed, ikiwiki will automatically rebuild pages that use them.
The --getctime switch is renamed to --gettimes, and it also gets the
file modification time. And it's a lot faster (when using git). But
the really important change is, you don't have to remember to use this
switch. Now ikiwiki will do it when it needs to.
At last, the "tagged()" pagespec only matches tags, not regular wikilinks.
If your wiki accidentially relied on the old, buggy behavior, you might
need to change its pagespecs to use "link()".
Many of your wishes have been answered: Now tag pages can automatically be
created when new tags are used. This feature is enabled by default if you
have configured a tagbase. It can be turned on or off using the
`tag_autocreate` setting.
These changes may also affect some users:
* The `title_natural` sort method (as used by the inline directive, etc)
has been moved to the new sortnaturally plugin, which is not enabled
by default since it requires the Sort::Naturally perl module.
* `TMPL_INCLUDE` is no longer supported in any template used by ikiwiki.
It used to be allowed in certian templates, but not in others.
* The `add_templates` option has been removed from the underlay plugin.
If you used this option, you can instead use templates/ subdirectories
inside underlay directories added by the `add_underlays` option.
Due to the above and other changes, all wikis need to be rebuilt on
upgrade to this version. If you listed your wiki in /etc/ikiwiki/wikilist
this will be done automatically when the Debian package is upgraded. Or
use ikiwiki-mass-rebuild to force a rebuild.
* [ Joey Hess ]
* tag: Automatic creation of tag pages can now be enabled using
the tag_autocreate setting. (David Riebenbauer)
* Customised templates can now be included in the source of wikis
(and also in underlays), and dependencies on them are tracked.
* TMPL_INCLUDE is no longer supported in any template.
* underlay: Removed the add_templates option.
* Add template_depends function to plugin API.
* bzr: Fix bzr log parsing to work with bzr 2.0. (liw)
* comments: Fix missing entity encoding in title.
* txt: Add a special case for robots.txt.
* [ Simon McVittie ]
* Add support for link types, and make the the tagged() pagespec only
match tags, not regular links (a bugfix).
* Rebuild wikis on upgrade to this version to get tag link types recorded
correctly.
* Revamp sorting system; allow new sort methods to be added by plugins,
and add a "sortspec" syntax that can combine, reverse, etc sort methods.
* meta: Add `meta(author)`, `meta(title)` etc sortspecs to allow sorting
by metadata.
* meta: Add optional sortas parameter to author and title meta directives.
This can be used to get names sorted by last name without displaying
them last name first.
* sortnaturally: New plugin; the title_natural sort method has moved here.
* meta: store fields consistently unescaped, and escape on use.
(A wiki rebuild is also needed due to this change.)
* [ Joey Hess ]
* Update dependency for git-core to git transition.
* po: Check that translated underlay directories exist before using them
for master language.
* po: Configuring the same language as master and slave confuses processing;
so filter out such a misconfiguration.
* calendar: Add archive_pagespec, which is used by ikiwiki-calendar to
specify which pages to include on the calendar archive pages.
(The pagespec can still also be specified on the ikiwiki-calendar command
line.)
* pagestats: Class parameter can be used to override default class for
custom styling.
* pagestats: Use style=list to get a list of tags, scaled by use like
in a tag cloud. This is useful to put in a sidebar.
* Rework example blog front page.
* CSS and templates for sidebar changed to use a class, not an id.
* sidebar: Now a sidebar directive can be used to override the sidebar
shown on a page.
* Enable calendar and sidebar in auto-blog.setup.
* sidebar: Add global_sidebars setting.
* conditional: Fix bug that forced "all" mode off by default.
* calendarmonth.tmpl: The month calendar is now put in a sidebar.
* calendar: Improved display of arrows.
* Rename --getctime to --gettime. (The old name still works for
backwards compatibility.)
* --gettime now also looks up last modification time.
* Automatically run --gettime the first time ikiwiki is run on
a given srcdir. (Use --no-gettime to disable.)
* Add rcs_getmtime to plugin API; currently only implemented
for git and svn.
* Optimise --gettime for git, so it's appropriately screamingly
fast. (This could be done for most other backends too.)
* However, --gettime for git no longer follows renames. That would
be slow, and whether a renamed wiki page is the same page is really
an iffy thing.
* Use above to fix up timestamps on docwiki, as well as ensure that
timestamps on basewiki files shipped in the deb are sane.
* autoindex: Switch to using %wikistate instead of abusing
$pagestate{index}.
* bzr: Support rcs_getmtime, and fix rcs_getctime implementation
(Jelmer Vernooij)
* Quite a lot of new optimisations, and one major fix to a recent
performance regression.
* Moved javascript files under the ikiwiki/ directory, to avoid cluttering
the top of the web root. This is another things that requires a wiki
rebuild on upgrade to this version.
* Fix removal of rendered files in rebuild mode.
* Add page() PageSpec, which is like glob() but matches only pages,
not other files.
* meta: Generate meta description tags even when the html scrubber is enabled.
* meta: Allow use of DESCRIPTION in templates to get at the meta
description value. (Thanks, NicolasLimare)
* inline: Use caching of inlined pages to speed up builds of inlines
that include feeds. Speedup of about 25% for small inlines; could
be much larger for inlines of many, or complex pages.
* Added (incomplete) Turkish po file. Closes: #556744 Thanks, Recai Oktas
* date: New plugin that allows inserting date directives that expand
to pretty-printed dates, using the same formatting as used for page
modification date display, etc.
* htmllink: Allow a title attribute to be specified.
* calendar: Add title attributes for all links in the calendars.
* calendar: Fix month wraparound error that broke in December.
pkgsrc changes:
* In the automated setup, recognize CVS as a VCS (found by agc@).
* In MESSAGE, link to <URL:http://ikiwiki.info/setup/> (ditto).
* po: Fix breakage caused by changes to render code.
* mdwn: Avoid trying to use multimarkdown if it is not installed.
* moderatedcomments: New plugin to allow comment moderation w/o relying
on blogspam.net.
* When redirecting to a page, ie, after editing, ensure that the
url is uri-encoded. Most browsers other than MSIE don't care, but it's
the right thing to do.
* Add a spec file to allow building rpm from the source package.
* google: Pass the whole wiki url to google, not just the domain,
so that search works correctly for wikis that are located in
subdirectories of domains.
* Added support framework for multiple types of dependencies, including
dependncies that are only affected by page precence or link changes.
* Rebuild wikis on upgrade to this version to get improved dependency
info.
* pagecount, calendar, postsparkline, progress: Use a presence dependency,
which makes these directives much less expensive to use, since page
edits will no longer trigger an unnecessary update.
* map: Use a presence dependency unless show= is specified.
This makes maps efficient enough that they can be used on sidebars!
* inline: Use a presence dependency in quick mode.
* brokenlinks: Use a link dependency.
This makes it much more efficient, only updating when really necessary.
* orphans, pagestats: Use a combination of presence and link dependencies.
This makes them more efficient. It also fixes a longstanding bug,
where if only a small set of pages were considered by orphans/pagestats,
changes to links on other pages failed to cause an update.
* linkmap: Use a combination of presence and link dependencies.
This makes the map be regenerated much less frequently in many cases,
so larger maps are more practical to use now.
* Plugins providing PageSpec `match_*` functions should pass additional
influence information when creating result objects. This allows correctly
handling many more complicated dependencies.
* API change: `pagespec_match_list` has completly changed its interface.
The old interface will be removed soon, and a warning will be printed
if any plugins try to use it.
* Transitive dependencies are now correctly supported.
* ikiwiki-calendar: New command automates creation of archive pages
using the calendar plugin.
* calendar: Fix midnight rebuild trigger of calendars with explicit
month/year.
* calendar: Fix bug in next/previous year/month links, which sometimes
linked to an archive page from the wrong year, or were missing.
* git: --getctime will now follow renames back to the original creation
of a file.
* calendar: Fix CSS for year calendar to match the plugin documentation.
* Added minimal default CSS for calendar plugin, just highlighting the
current day.
* inline: Optimize generation of archives, etc by not getting inlined page
content if the template does not use it.
* [ Joey Hess ]
* po: Detect if nowrapi18n can't be passed to po4a, and warn about
the old version, but continue. Closes: #541205
* inline: Avoid use of my $_ as it fails with older perls.
Closes: #541215
* Add discussionpage configuration setting.
* Several optimisations, including speedups to orphans and brokenlinks
calculation.
* meta, img: Fix bugs in dependency code. (smcv)
* Allow building ikiwiki on systems w/o po4a --
building of the translated underlays will be skipped in this case.
* Add basic styling of po plugin's languages list.
* inline: Display an error if feedpages is specified and fails to match
due to a problem such as created_before being told to check against
a page that does not exist.
* Remove deprecated ikiwiki/blog and ikiwiki/preprocessordirective
pages from the basewiki.
* Updated French program translation from Philippe Batailler.
Closes: #542036
* po: Fixed to run rcs_add ralative to srcdir.
* Italian program translation from Luca Bruno.
* Fix example blog's tags/life to not have a broken PageSpec.
Closes: #543510
* Optimize the dependencies list. This also fixes a bug
that could cause repeated refreshes of the wiki to grow
increasingly larger dependency lists, and get increasingly
slower. (smcv)
* Rebuild wikis on upgrade to this version to fix bloat caused
by the dependency bug.
* Further optimisation of dependency handling by adding a special
case for simple page dependencies. (smcv)
* htmltidy: Return an error message if tidy fails. Closes: #543722
* po: Fix name of translated toplevel index page. (intrigeri)
* po: Fix display of links from a translated page to itself (ntrigeri)
* Add Czech basewiki translation from Miroslav Kure.
* po: fix interdiction to create pages of type po (intrigeri)
* po: po: favor the type of linking page's masterpage on page creation
(intrigeri)
* img: Don't generate new verison of image if it is scaled to be
larger in either dimension.
* [ Josh Triplett ]
* teximg: Replace the insufficient blacklist with the built-in security
mechanisms of TeX. (CVE-2009-2944)
In order to fix a performance bug, all wikis need to be rebuilt on
upgrade to this version. If you listed your wiki in /etc/ikiwiki/wikilist,
use ikiwiki-mass-rebuild to force a rebuild.
You may want to run ikiwiki-transition deduplinks my.setup after
upgrading to this version of ikiwiki. This command will optimise
your wiki's saved state, removing duplicate information that can
slow ikiwiki down.
* ikiwiki-transition: If passed a nonexistant srcdir, or one not
containing .ikiwiki, abort with an error rather than creating it.
* Allow underlaydir to be overridden without messing up inclusion
of other underlays via add_underlay.
* More friendly display of markdown, textile in edit form selector (jmtd)
* Allow curly braces to be used in pagespecs, and avoid a whole
class of potential security problems, by avoiding performing
any string interpolation on user-supplied data when translating
pagespecs.
* ikiwiki-transition: Allow setup files to be passed to all subcommands
that need a srcdir.
* ikiwiki-transition: deduplinks was broken and threw away all
metadata stored by plugins in the index. Fix this bug.
* listdirectives: Avoid listing _comment directives and generally
assume any directive starting with _ is likewise internal.
* Re-enable python-support and add python:Depends to control file.
* ikiwiki-makerepo: Avoid using abs_path, as it apparently fails
on nonexistant directories with some broken perl versions.
* inline: Minor optimisation.
* add_link: New function, which plugins should use rather than
modifying %links directly, to avoid it accumulating duplicates.
* ikiwiki-transition: Add a deduplinks action, that can be used to
remove duplicate links and optimise a wiki w/o rebuilding it.
* external: Fix pagespec_match and pagespec_match_list. Closes: #527281
* autoindex: New plugin that generates missing index pages. (Sponsored
by The TOVA Company.)
* Escape HTML is rss and atom feeds instead of respectively using
CDATA and treating it as XHTML. This avoids problems with
escaping the end of the CDATA when the htmlscrubber is not used,
and it avoids problems with atom XHTML using named entity
references that are not in the atom DTD. (Simon McVittie)
* Add test for old versions of git that don't support --cleanup=verbatim,
and munge empty commit messages.
Upgrade to 2.44. Many changes. Here are a couple of them:
* The security fix in the last release had buggy handling of data:image,
now fixed. Closes: #465110 (CVE-2008-0808, CVE-2008-0809)
* htmlscrubber security fix: Block javascript in uris.
Adds new tool: ikiwiki-transition
No longer installs rst and externaldemo plugins.
Add patch based on bugs I found -- both fixes are now upstream.