# Legend: # --- = A new release # + = Added a feature (in a backwards compatible way) # ! = Changed something significant, or removed a feature # * = Fixed a bug, or made a minor improvement --- 1.107 (???) Thingy: * Fix page names including non-ASCII characters turning into mojibake when saving such pages. This is more fallout from an effectively undocumented change in CGI.pm behavior with regard to CGI parameter character encoding somewhere between 3.29 and 3.38. (mb) --- 1.106 (2011-01-17 17:21) Thingy: * Avoid doubly encoding UTF-8 characters with newer versions of CGI.pm that perform that encoding step themselves already. (mb) --- 1.105 (2011-01-12 15:38) Thingy: * Improved character encoding robustness, especially with Perl 5.10. (mb) * Output redirection description and manual link only when not running under mod_perl, alleviating certain compatibility problems. (mb) * Safely escape search text in pattern matches to avoid injection of potentially unsafe Perl regexp code. Debian: * Standards-Version: 3.9.1 (was: 3.8.0) * Do not path-qualify `thingy-upgrade` call in maintainer scripts, thus satisfying Debian Policy, section 6.1. --- 1.104 (2008-10-26 16:40) Miscellaneous: * Added an Apache configuration snippet to support running Thingy with mod_perl. Debian: * Automatically install a symlink to Apache mod_perl configuration snippet in /etc/apache2/conf.d/. --- 1.103 (2008-10-25 00:00) Thingy: * Do not output supplemental body text when performing HTTP redirects. This fixes an issue with mod_perl 2 where outputting body text seems to prevent Apache from recognizing, and following through on, programmatically generated "Status:" headers. Thingy default instance skeleton: * Use "AuthUserFile" rather than "AuthDigestFile" directive in httpd.conf template. This requires Apache 2.2 or later for HTTP Digest authenti- cation. * Minor fixes. Debian: * Standards-Version: 3.8.0 (was: 3.7.2) * Recommends: apache2 (>= 2.2) | httpd --- 1.102 (2007-03-18 15:55) Thingy: * Properly HTML-escape URLs in self-referential links (cf. and ). * Minor fixes. Thingy default stylesheet (default-all.css): * Increased bottom margin of blockquote, .sidenote to 1em (was: 0.5em). Thingy default instance skeleton: * "Toolbar/Authenticated" page skeleton: Corrected a minor wording issue. thingy-admin: + Added Bash completion script. --- 1.101 (2006-07-11 16:30) Thingy CGI program: + Established rudimentary mod_perl compatibility. No warranties, though! + Added support for using e-mail addresses (which are invalid as page names) as user names. If a user name is an e-mail address, "mailto:" links are generated instead of page links. ! Overhauled L10N facility: Thingy::L10N::xx(_XX) modules are now Locale:: Maketext sub-classes. This improves mod_perl compatibility, too. Further- more, it fixes L10N module loading for language tags containing "-"s. * Erase a page's upgradable flag when manually saving it. A spurious upgra- dable flag would cause a page to be overwritten with default content during an automatic upgrade run (although the history would be preserved). * Do not call Thingy::Monolith::InitRequest() from T:M:DoWikiRequest() redundantly, it is now being called from Thingy::load() already. * Fixed a bug where trying to delete a page without admin rights caused an internal server error instead of giving a useful error message. * Various minor fixes/improvements/clean-ups. Thingy L10N: > de: + Added/adjusted translation entries for the added functionality. * "daß" -> "dass" * "(edit)": "(geringfügig)" (was: "(bearbeiten)") Thingy default instance skeleton: > httpd.conf: * Moved THINGY_* environment variable definitions into separate block so multiple Thingy instances in a single vhost do not interact badly. Thingy default stylesheet (default-all.css): + Added list style definitions for ordered lists. * Increased bottom margin of table.paratable to 1em, and apply this bottom margin to table.paratable-border as well. robots.txt: * Fixed "/action" and "/back" URL paths to read "/?action=" and "/?back=", respectively. Thingy::Wookee::PragmaInclude Wookee Module: * Recursive page inclusions are prevented (by being silently ignored). Known issue: the currently open page is not being included by the menubar and toolbar. * Instantiates a (properly owned) BlockWiki object itself instead of calling Thingy::Monolith::WikiToHTML(), thus leaving the ownership chain of Wookee objects intact. This is necessary for ToCs (yet to be implemented) and Wookee's upcoming WookeeReport syntax module. thingy-upgrade: * Detect and safely handle spurious upgradable flags on pages. See above. Miscellaneous: + Documented supported HTML template placeholders in README file. * Locale::Maketext is now required instead of I18N::LangTags. Debian: * Standards-Version: 3.7.2 (was: 3.6.2) * Raised debhelper compat level to 5; Build-Depends: debhelper (>= 5) * Build-Depends: debhelper (was: Build-Depends-Indep:) * Depends: liblocale-maketext-perl instead of libi18n-langtags-perl --- 1.100 (2006-05-04 21:45) Thingy CGI program: * Various Wiki markup syntax changes in Wookee 1.100, see Wookee's changelog for details. Require Wookee 1.100. + Added support for #INCLUDE praga which allows pages to include the content of other pages. ! Replaced the external-`diff`-based diff facility with Michael Buschbeck's PerlDiff > No external command is called anymore, no temporary files are required anymore, no locking is required anymore. > Fixed alternative-diff offering logic (do not offer alternative diffs that are identical to the one that is being shown). > Removed lots of code that is now completely obsolete. As a result, all non-Wookee rendering code could be finally removed. > Removed obsolete rendering config variables. ($DiffColor1 $DiffColor2 $EarlyRules $LateRules $HtmlTags $FreeLinks $WikiLinks $TableSyntax $HtmlLinks $SimpleLinks $ThinLine $BracketText $UseHeadings $NetworkFile $BracketWiki $NamedAnchors $OldThinLine $ParseParas $BracketImg @IsbnNames @IsbnPre @IsbnPost @HtmlPairs @HtmlSingle $IndentLimit) ! Removed a lot of unstable, rarely-used, or outright obsolete functionality to improve the bad karma inherited from UseMod Wiki (removed config variables are in parentheses): > Removed support for the old "\xb3" FS marker, always use the new "\x1e\xff\xfe\x1e" one. Also removed "NewFS" database conversion func- tionality, Thingy has always been using $NewFS = 1 by default. ($NewFS) > Removed support for template-less page rendering. A template file must now always be configured. ($SiteBase $BGColor $FavIcon $MetaKeywords $LogoUrl $LogoLeft) > Removed custom note, custom header/footer, and GotoBar customization support. Except for edit notes, all of these were obsoleted by the template system. ($FooterNote $EditNote $UserHeader $UserBody $UserGotoBar) > Removed HTML caching functionality. ($UseCache $HtmlDir) > Removed wiki embedding ($EmbedWiki) support. ($EmbedWiki) > Removed $NotFoundPg support, which had fundamental design flaws anyway: http://www.usemod.com/cgi-bin/wiki.pl?WikiBugs/NotFoundPg ($NotFoundPg) > Removed other obsoleted configuration variables. ($NonEnglish $FastGlob) ! Begun refactoring the monolithic cgi-bin/thingy into object-oriented modules: > For starters, moved all code that is not essential for CGI startup (i.e. virtually all of it) to the new Thingy::Monolith module. > Added classes: Thingy::Exception, Thingy::Config, Thingy, Thingy::User, Thingy::Page, Thingy::Util, Thingy::Upgrade. ! Removed cached-diff ("cache_diff") functionality, always fetch/generate diffs from the keep. * No longer create database component directories ("users", "temp", etc.) on demand, they are now created on instance creation/upgrade. * Fixed page redirection code to always include the proper target page name in the displayed text (it was sometimes omitted before). * With 3.12 <= CGI.pm < 3.18, install a wrapper for the CGI::url() method that sets -rewrite => 0 as a work-around for rt.cpan.org bug #18500. * Lots of minor code fixes/improvements/clean-ups. Thingy default instance skeleton: > config: ! $TemplateFile: this option is now required, made the comment reflect that (default is still "template.html"). * $ScriptTZ: default to "" instead of "(UTC)". * Changed $SearchButton default to 1 (was 0) to fit browser devices without keyboard. * Removed the database structure path definitions. Those really shouldn't be changed from the internal defaults. * Removed obsolete config variables corresponding to the removed functio- nality in Thingy: $LogoUrl $SiteBase $NotFoundPg $FooterNote $EditNote $UserGotoBar $EarlyRules $LateRules $BGColor $DiffColor1 $DiffColor2 $FavIcon $UserHeader $UserBody $UseCache $HtmlTags $FreeLinks $WikiLinks $EmbedWiki $TableSyntax $NewFS $LogoLeft $HtmlLinks $SimpleLinks $NonEnglish $ThinLine $BracketText $UseHeadings $NetworkFile $BracketWiki $FastGlob $MetaKeywords $NamedAnchors $OldThinLine $ParseParas $BracketImg @IsbnNames @IsbnPre @IsbnPost @HtmlPairs @HtmlSingle $IndentLimit $HtmlDir * Medium clean-up. > Static web resources: ! Create dedicated "static" sub-directories in instance config directories for static web resources; install empty custom stylesheet as "all.css"; install symlinks to default resources ("default-all.css", "edit.gif", etc.). Mount "static" dir as "/static" in httpd.conf instead of directly mounting the global "www" dir. > Default stylesheet: + Added stylesheet rules for the new diff facility. * Defined margin-bottom: 1em for
s (like for

s) to fix a rendering issue with colored boxes. * Suppressed image borders. * Fixed nested italic/bold formatting (''italic '''bold-italic''' italic'') formatting to be cumulative. * Minor improvements. Thingy L10N: > de: * Removed translation entries corresponding to the removed functionality. * Minor adjustments and grammar fixes. thingy-admin: + "list" ("ls") action: added, lists existing Thingy instances. + "clone" ("copy", "cp") action: added, clones an existing Thingy instance (does not yet adjust the names and paths in config files). + "upgrade" ("up") action: added, upgrades a Thingy instance from an earlier Thingy version. + "listusers" ("lsusers", "users") action: added, lists the existing users of a Thingy instance, optionally with numerical IDs. + "listpages" ("lspages", "pages") action: added, lists the existing pages of a Thingy instance, optionally with meta-data. * "remove" action: may now be abbreviated as "rm". * Sort ordered according to locale. * Out-sourced much code to Thingy::Config, Thingy, and Thingy::Util classes. * Improved command-line argument processing. * Improved error handling. * Minor code and documentation fixes/improvements/clean-ups. thingy-upgrade: + Added to perform upgrade maintenance on all existing Thingy instances. Miscellaneous: ! Perl 5.8 and the following non-core Perl modules are now required: version, Error, CGI.pm, I18N::LangTags, Wookee + Added INSTALL with (trivial) building and installation instructions. + Hook into Wookee's upgrade notifier (/etc/wookee/upgrade-hooks/) to get notified about upgrades of Wiki_Markup.wookee (AKA markup.wookee). + Record the versions of instance config files installed, so they can be upgraded automatically in the future if they have not been customized. Do something similar for instance pages that are automatically created. Debian: ! Hard-coded Depends: perl (>= 5.8) so we can be confident about proper Unicode support. * Depends: libversion-perl, liberror-perl, libi18n-langtags-perl * Build-Depends-Indep: perl (>= 5.8) instead of (> 5.8.0-7) specifically. * Build-Depends-Indep: libversion-perl + postinst: automatically perform upgrade maintenance on all existing Thingy instances by calling thingy-upgrade. --- 1.02 (2005-08-16 09:30) + Added basic ACL support. In restricted thingies, page-related actions may now be permitted on a page-by-page basis through ACL files. See the README file for a detailed explanation. + Added skeleton pages such as Home Page, Sandbox, Wiki Markup, etc. ! For restricted thingies in anonymous mode, users may now set a username. However, registered usernames are reserved for authenticated users. ! Do not output any error messages if rclog file cannot be read. Instead, just say that no changes were found. The file simply not having been created yet is the usual case. ! Skeleton configuration files in skel/ were moved to skel/etc/. * Improved default CSS style sheet. This fixes some display problems in various browsers, first of all Internet Explorer. * Various minor fixes and improvements. --- 1.01 (2005-07-27 00:15) ! Don't require username to be set in default configuration (i.e. no login required). * Properly handle requests for the 'en' language fallback. (Previously, the 'en' language was not served because there is no Thingy::L10N::en module.) * Defined ".indent" CSS classes in default "global.css" file. * Various minor fixes. --- 1.00 (initial release) (2005-07-10 00:00) # $Id$ # vim:tw=79 sts=2 sw=2