This is where announcements of new releases, features, and other news are posted. IkiWikiUsers are recommended to subscribe to this page's RSS feed.
News for ikiwiki 3.20150610:
The new emailauth plugin allows users to authenticate using an email
address, without otherwise creating an account.
The openid plugin now enables emailauth by default. Please include
emailauth in the disable_plugins
setting if this is not desired.
Conversely, if emailauth is required on a wiki that does not enable
openid, you can list it in the enable_plugins
setting.
ikiwiki 3.20150610 released with these changes
- [ Joey Hess ]
- New emailauth plugin lets users log in, without any registration, by simply clicking on a link in an email.
- Re-remove google from openid selector; their openid provider is gone for good.
- Make the openid selector display "Password" instead of "Other" when appropriate, so users are more likely to click on it when they don't have an openid.
- Converted openid-selector into a more generic loginselector helper plugin.
- passwordauth: Don't allow registering accounts that look like openids.
- Make cgiurl output deterministic, not hash order. Closes: #785738 Thanks, Daniel Kahn Gillmor
- [ Simon McVittie ]
- Do not enable emailauth by default, to avoid surprises on httpauth-only sites. Enable it by default in openid instead, since it is essentially a replacement for OpenIDs.
- Make the attachment plugin work with CGI.pm 4.x (Closes: #786586; workaround for #786587 in libcgi-pm-perl)
- Add a public-domain email icon from tango-icon-theme
- Populate pagectime from either mtime or inode change time, whichever is older, again for more reproducible builds
- debian: build the docwiki with LC_ALL=C.UTF-8 and TZ=UTC
- debian/copyright: consolidate permissive licenses
- debian/copyright: turn comments on provenance into Comment
- brokenlinks: sort the pages that link to the missing page, for better reproducibility
- Add [[!meta date]] to news items and tips, since the git checkout and build process can leave the checkout date in the tarball release, leading to unstable sorting
- Sort backlinks deterministically, by falling back to sorting by href if the link text is identical
- Add a
$config{deterministic}
option and use it for the docwiki - haiku: if deterministic build is requested, return a hard-coded haiku
- polygen: if deterministic build is requested, use a well-known random seed
ikiwiki 3.20150329 released with these changes. This is a security update fixing a cross-site scripting vulnerability.
[ Joey Hess ]
Fix NULL ptr deref on ENOMEM in wrapper. (Thanks, igli)
[ Simon McVittie ]
Really don't double-decode CGI submissions, even on Perl versions that bundle an old enough Encode.pm for that not to be a problem: the system might have a newer Encode.pm installed separately, like Fedora 20. (Closes: Debian bug #776181; thanks, Anders Kaseorg)
- If neither timezone nor TZ is set, set both to :/etc/localtime if we're on a GNU system and that file exists, or GMT otherwise
- t/inline.t: accept translations of "Add a new post titled:" (Closes: Debian bug #779365)
Consistently document command-line options as e.g. --refresh, not -refresh
[ Amitai Schlair ]
In VCS-committed anonymous comments, link to url.
[ Joey Hess ]
Fix XSS in openid selector. Thanks, Raghav Bisht. (Closes: Debian bug #781483)
In addition, version 3.20141016.2 was released on the same day to backport the cross-site-scripting fix to Debian 8.
ikiwiki 3.20150107 released with these changes
[ Joey Hess ]
- Added ikiwiki-comment program.
- Add missing build-depends on
libcgi-formbuilder-perl
, needed fort/relativity.t
- openid: Stop suppressing the email field on the Preferences page.
Set Debian package maintainer to Simon McVittie as I'm retiring from Debian.
[ Simon McVittie ]
calendar: add
calendar_autocreate
option, with whichikiwiki --refresh
can mostly supersede theikiwiki-calendar
command. Thanks, Louis Paternault- search: add more classes as a hook for CSS. Thanks, sajolida
- core: generate HTML5 by default, but keep avoiding new elements
like
<section>
that require specific browser support unlesshtml5
is set to 1. - Tell mobile browsers to draw our pages in a device-sized viewport, not an 800-1000px viewport designed to emulate a desktop/laptop browser.
- Add new
responsive_layout
option which can be set to 0 if your custom CSS only works in a large viewport. - style.css, actiontabs, blueview, goldtype, monochrome: adjust layout below 600px ("responsive layout") so that horizontal scrolling is not needed on smartphone browsers or other small viewports.
core: new
libdirs
option alongsidelibdir
. Thanks, Louis Paternault[ Amitai Schlair ]
core: log a debug message before waiting for the lock. Thanks, Mark Jason Dominus
- build: in po/Makefile, use the same
$(MAKE)
as the rest of the build. Thanks, ttw blogspam: use the 2.0 JSON API (the 1.0 XML-RPC API has been EOL'd). Closes: Debian bug #774441
[ Joey Hess ]
po: If msgmerge falls over on a problem po file, print a warning message, but don't let this problem crash ikiwiki entirely.
ikiwiki 3.20141016 released with these changes
[ Joey Hess ]
- Fix crash that can occur when only_committed_changes is set and a file is deleted from the underlay.
[ Simon McVittie ]
- core: avoid dangerous use of CGI->param in list context, which led to a security flaw in Bugzilla; as far as we can tell, ikiwiki is not vulnerable to a similar attack, but it's best to be safe
- core: new reverse_proxy option prevents ikiwiki from trying to detect how to make self-referential URLs by using the CGI environment variables, for instance when it's deployed behind a HTTP reverse proxy (Closes: Debian bug #745759)
- core: the default User-Agent is now "ikiwiki/$version" to work around ModSecurity rules assuming that only malware uses libwww-perl
- core: use protocol-relative URLs (e.g. //www.example.com/wiki) so that https stays on https and http stays on http, particularly if the html5 option is enabled
- core: avoid mixed content when a https cgiurl links to http static pages on the same server (the static pages are assumed to be accessible via https too)
- core: force the correct top URL in w3mmode
- google plugin: Use search form
- docwiki: replace Paypal and Flattr buttons with text links
- comments: don't record the IP address in the wiki if the user is logged in via passwordauth or httpauth
- templates: add ARIA roles to some page elements, if html5 is enabled. Thanks, Patrick
- debian: build-depend on libmagickcore-6.q16-2-extra | libmagickcore-extra so we can thumbnail SVGs in the docwiki
- debian: explicitly depend and build-depend on libcgi-pm-perl
- debian: drop unused python-support dependency
- debian: rename debian/link to debian/links so the intended symlinks appear
- debian: fix some wrong paths in the copyright file
ikiwiki 3.20140916 released with these changes
- Don't double-decode CGI submissions with Encode.pm >= 2.53, fixing "Error: Cannot decode string with wide characters". Thanks, Antoine Beaupré
- Avoid making trails depend on everything in the wiki by giving them a better way to sort the pages
- Don't let users post comments that won't be displayed
- Fix encoding of Unicode strings in Python plugins. Thanks, chrysn
- Improve performance and correctness of the [[!if ]] directive
- Let [[!inline rootpage=foo postform=no]] disable the posting form
- Switch default [[!man ]] shortcut to manpages.debian.org. Closes: #700322
- Add UUID and TIME variables to edittemplate. Closes: #752827 Thanks, Jonathon Anderson
- Display pages in linkmaps as their pagetitle (no underscore escapes). Thanks, chrysn
- Fix aspect ratio when scaling small images, and add support for
converting SVG and PDF graphics to PNG.
Thanks, chrysn
- suggest ghostscript (required for PDF-to-PNG thumbnailing) and libmagickcore-extra (required for SVG-to-PNG thumbnailing)
- build-depend on ghostscript so the test for scalable images can be run
- In the CGI wrapper, incorporate $config{ENV} into the environment before executing Perl code, so that PERL5LIB can point to a non-system-wide installation of IkiWiki. Thanks, Lafayette Chamber Singers Webmaster
- filecheck: accept MIME types not containing ';'
- autoindex: index files in underlays if the resulting pages aren't going to be committed. Closes: #611068
- Add [[!templatebody ]] directive so template pages don't have to be simultaneously a valid template and valid HTML
- Add smcv to Uploaders and release to Debian
ikiwiki-hosting is an interface on top of Ikiwiki to allow easy management of lots of ikiwiki sites. I developed it for Branchable, an Ikiwiki hosting provider. It has a powerful, scriptable command-line interface, and also includes special-purpose ikiwiki plugins for things like a user control panel.
To get a feel for it, here are some examples:
ikisite create foo.ikiwiki.net --admin http://joey.kitenet.net/
ikisite branch foo.ikiwiki.net bar.ikiwiki.net
ikisite backup bar.ikiwiki.net --stdout | ssh otherhost 'ikisite restore bar.ikiwiki.net --stdin'
ikiwiki-hosting is free software, released under the AGPL. Its website: http://ikiwiki-hosting.branchable.com/ --Joey
The ikiwiki.info domain has been moved to a new server. If you can see this, your DNS has already caught up and you are using the new server. By the way, the new server should be somewhat faster. --Joey
Ikiwiki has reached version 3.0 and entered a new phase in its development cycle.
The 3.0 release of ikiwiki changes several defaults and finishes some transitions. You will need to modify your wikis to work with ikiwiki 3.0. A document explaining the process is available in upgrade to 3.0.
The highlights of the changes in version 3.0 include:
- Support for uploading attachments.
- Can rename and remove pages and files via the web.
- Web based setup.
- Blog-style comments as an alternative to Discussion pages.
- Many other new plugins including htmlbalance, format, progress, color, autoindex, cutpaste, hnb, creole, txt, amazon s3, pinger, pingee, edittemplate
- The RecentChanges page is compiled statically, not generated from the CGI.
- Support for additional revision control systems: bzr, monotone
- Support for untrusted git push.
- A new version (3.00) of the plugin API, exporting additional
commonly used functions from
IkiWiki.pm
. - Nearly everything in ikiwiki is now a plugin, from WikiLinks to page editing, to RecentChanges.
- Far too many bug fixes, features, and enhancements to list here.
Thanks to the many contributors to ikiwiki 3.0, including:
Jelmer Vernooij, Recai Oktaş, William Uther, Simon McVittie, Axel Beckert, Bernd Zeimetz, Gabriel McManus, Paweł Tęcza, Peter Simons, Manoj Srivastava, Patrick Winnertz, Jeremie Koenig, Josh Triplett, thm, Michael Gold, Jason Blevins, Alexandre Dupas, Henrik Brix Andersen, Thomas Keller, Enrico Zini, intrigeri, Scott Bronson, Brian May, Adeodato Simó, Brian Downing, Nis Martensen. (And anyone I missed.)
Also, thanks to the users, bug submitters, and documentation wiki editors. Without you, ikiwiki would just be a little thing I use for my home page.
--Joey
Now you can use git to clone this wiki, and push your changes back, thanks to ikiwiki's new support for untrusted git push. Enjoy working on the wiki while offline! --Joey
I've produced a code_swarm visualization of the first 2+ years of ikiwiki's commit history.
[[!img Error: Image::Magick is not installed]]
PS, while I'm posting links to videos, here's a video of a lightning talk about ikiwiki.
--Joey
notes
Interesting things to watch for:
- Initial development of ikiwiki to the point it was getting web edits. (First 2 seconds of video!)
- Introduction to plugin support, and later, plugin changes dominating code changes.
- Introduction of openid support and the resulting swarm of openid commenters.
- Switch to git, my name in the logs changes from "joey" to "Joey Hess", and there are more code commits directly from others.
Getting the commit log was tricky because every web commit is in there too, so it has to deal with things like IPs and openids. The code swarm log.pl script will munge the log to handle these, and it was configured with code swarm.config.
Video editing by kino, ffmpeg, ffmpeg2theora, and too many hours of pain.
Audio by the Punch Brothers.
I was asked a good question today: How can a company find someone to work on ikiwiki? To help answer this question, I've set up a consultants page. If you might be interested in being paid to work on ikiwiki, please add your information to the page. --Joey
And here's the first company looking for an ikiwiki developer that I am aware of:
The TOVA Company, a small medical software and hardware company in Portland, Oregon, is looking for developers to add functionality to ikiwiki. We're looking for developers who are already familiar with ikiwiki development, including plugins, and who would be willing to work on a part-time, non-employee, project-based basis for each of the small features that we want. The features we're interested in would obviously be GPL'd, and released to the community (if they'll have them
). Please contact Andrew Greenberg (andrew@thetovacompany) if you're interested. Thanks!
I've gone ahead and moved ikiwiki.info to the faster box mentioned on server speed. Most poll respondants felt the old box was fast enough, but it's getting a bit overloaded with other stuff.
If you can see this, you're seeing the new server. If not, your DNS server hasn't caught up yet. I'll keep the old server up for a while too and merge any changes across since git makes that bog-easy.
Please report any problems..
ikiwiki.info has upgraded to the not yet released ikiwiki 2.30. This version of ikiwiki drops support for subscribing to commit mail notifications for pages. The idea is that you can subscribe to the new RecentChanges feed instead. (Or create your own custom feed of only the changes you're interested in, and subscribe to that.)
So if you were subscribed to mail notifications on here, you'll need to change how you keep track of changes. Please let me know if there are any missing features in the RecentChanges feeds.
Statically building the RecentChanges also has performance implications, I'll keep an eye on server speed..
--Joey
I've put together a short screencast that covers approximatly the first half of the setup document, and includes a demo of setting up a blog using ikiwiki.
http://kitenet.net/~joey/screencasts/ikiwiki_blog/
.. And now I've added a second screencast. Note that this uses a script that is only available in the as yet unreleased ikiwiki version 2.15.
http://kitenet.net/~joey/screencasts/ikiwiki_cgi_and_git/
--Joey
I've started using git as ikiwiki's main repository. See download for repository locations.
Note that all the sha1sums have changed from those in previously published git repositories. Blame git-svnimport.
I hope that this will make it easier to maintain and submit patches for ikiwiki.
--Joey
Ikiwiki has reached version 2.0 and entered a new phase in its development cycle.
With the 2.0 release of ikiwiki, some major changes have been made to the default configuration:
- The
usedirs
setting is enabled by default. This will break all URLs to wikis that did not haveusedirs
turned on before, unless you follow the procedure described at switching to usedirs or edit your setup file to turnusedirs
off:usedirs => 0,
- OpenID logins are now enabled by default, if the
Net::OpenID::Consumer perl module is available. Password logins
are also still enabled by default. If you like, you can turn either OpenID
or password logins off via the
disable_plugins
setting.
An overview of changes in the year since the 1.0 release:
- New improved URLs to pages via
usedirs
. - OpenID support, enabled by default.
- Plugin interface added, with some 60 plugins available, greatly expanding the capabilities of ikiwiki.
- Tags, atom feeds, and generally full-fledged blogging support.
- Fully working utf8.
- Optimisations, approximately 3.5 times as fast as version 1.0.
- Improved scalability to large numbers of pages.
- Improved scalable logo.
- Support for additional revision control systems besides svn: git, tla, mercurial.
- Some support for other markup languages than markdown: rst, textile.
- Unit test suite, with more than 300 tests.
Integrated issue tracking with Ikiwiki by Joey Hess is now available on LinuxWorld.com. (LinuxWorld's author contract also allows this article to become part of the project's documentation.) Learn how to use Ikiwiki inlining and PageSpecs for lightweight workflow. Joey also explains how having the BTS and docs in the project's revision control system can help users of distributed revision control systems keep bug tracking info in sync with code changes.
Google has accepted ikiwiki as a mentoring organization for Summer of Code 2007.
See our Summer of Code page for projects.
Quick poll: Do you feel that ikiwiki is fast enough on this server, or should I move it to my much beefier auxiliary server?
[[!poll open=no 40 "It's fast enough" 6 "It's too slow!" 4 "No opinion"]]
If you have specifics on performance issues, you might mention them on the discussion page.
Ikiwiki is now hosted at Branchable.
Ikiwiki now has an IRC channel: #ikiwiki
on irc.oftc.net
The channel features live commit messages for CIA for changes to both ikiwiki's code and this wiki. Plus occasional talk about ikiwiki.
Thanks to JoshTriplett for making this happen.
Ikiwiki has its own domain now, ikiwiki.info. Update your links.
Ikiwiki in svn now has support for using OpenID, a decentralized authentication mechanism that allows you to have one login that you can use on a growing number of websites.
Traditional password-based logins are still supported, but I'm considering switching at least ikiwiki.info over to using only OpenID logins. That would mean blowing away all the currently registered users and their preferences. If you're active on this wiki, I suggest you log out and log back in, try out the OpenID signup process if you don't already have an OpenID, and see how OpenID works for you. And let me know your feelings about making such a switch. --Joey
[[!poll open=no 77 "Accept only OpenID for logins" 22 "Accept only password logins" 50 "Accept both"]]
Some people may consider ikiwiki's default look to be a bit plain. Someone on slashdot even suggested perhaps it uses html 1.0. (Yes, an ikiwiki site has survived its first slashdotting. With static html, that's not very hard..) While the default style is indeed plain, there's more fine-tuning going on than you might think, and it's actually all done with xhtml and style sheets.
Stefano Zacchiroli came up with the idea of adding a css market page where IkiWikiUsers can share style sheets that you've come up with for ikiwiki. This is a great idea and I encourage those of you who have customised stylesheets to post them.
I'm also always looking for minimalistic yet refined additions to the default style sheet, and always appreciate suggestions for it.
--Joey
By the way, some other pages with RSS feeds about ikiwiki include plugins, TODO and bugs.