Foswiki Release 2.0.3

On this page:

Foswiki - The Free and Open Source Wiki

Foswiki is an enterprise collaboration and information sharing tool targeted for professional use in many types of organizations: from small businesses to multi-nationals, from one-product open source groups, to worldwide research networks.

Foswiki is a wiki: fundamentally, a website with editable web pages. It looks like a normal web site but it encourages contributions, edits, updates, questions, and answers from its users. It's a powerful way of enabling a community to communicate asynchronously using intranet and public Internet websites. Foswiki is simple to learn and use. It aims to provide a transparent way for you to publish and exchange your ideas with others over the web and eliminates the one-webmaster syndrome of outdated intranet content.

Foswiki is a structured wiki with tools that enable users without programming skills to build powerful yet simple applications to process information and support workflows. Developers can extend the functionality of Foswiki with plugins.

Foswiki is backwards compatible with content generated on all previous Foswiki versions, and even content and many plugins from TWiki installations (Foswiki ships with a TWikiCompatibilityPlugin, thus enabling most extensions made for TWiki to work in Foswiki. TWiki® is a registered trademark of Peter Thoeny.)

Foswiki is released under the GNU General Public License.

Foswiki Releases

  • Foswiki 1.0.0, the first Foswiki was released on 09 Jan 2009.
  • Foswiki 1.0.1, 1.0.2 and 1.0.3 were released internally in the development community, but were never publicly released.
  • Foswiki 1.0.4 was built 19 Mar 2009. It is a patch release with more than 120 bug fixes relative to 1.0.0 and only very few minor enhancements.
  • Foswiki 1.0.5 was built 25 Apr 2009. It is a patch release with more than 150 bug fixes relative to 1.0.0 and a few enhancements. This patch release further enhances the robustness and the security of the Foswiki software.
  • Foswiki 1.0.6 was built 21 Jun 2009. It is a patch release with more than 200 bug fixes relative to 1.0.0 and some enhancements. This version introduces a major enhancement in security against Cross-Site Request Forgery. Further more a central translation framework got introduced which ease the translation process and enables all users to contribute to translations.
  • Foswiki 1.0.7 was built 20 Sep 2009. It is a patch release with more than 240 bug fixes relative to 1.0.0 and some enhancements. This release fixes some serious issues introduced by the CSRF fix and the redirect cache fix in 1.0.6. Major enhancement that also fixes many annoying editor bugs is the upgrade of the Tiny MCE editor to version 3.2.2.
  • Foswiki 1.0.8 was built 29 Nov 2009. It is a patch release with more than 280 bug fixes relative to 1.0.0 and some enhancements. This release fixes a short list of quite annoying old bugs incl a bug that prevented efficient use of MailerContrib for producing newsletters. The Wysiwyg editor has been upgraded with the latest Tiny MCE editor release 3.2.7.
  • Foswiki 1.0.9 was built 17 Jan 2010. It is a patch release with more than 320 bug fixes relative to 1.0.0 and several enhancements. This release fixes many bugs in the Wysiwyg editor, bugs related to more advanced wiki applications and bugs in the Plugin API. It contains several bug fixes and enhancements related to security and spam fighting.
  • Foswiki 1.0.10 was built 08 Sep 2010 as a patch release with more than 410 bug fixes relative to 1.0.0. It is assumed to be the last 1.0.X release.
  • Foswiki 1.1.0 was built 04 Oct 2010. It is a release with more than 270 bug fixes relative to 1.0.10 and more than 680 bug fixes relative to 1.0.0. And the release adds more than 100 enhancements. Foswiki 1.1.0 introduces jQuery Javascript user interface framework, improved topic history display, new QUERY and FORMAT macros, better user interfaces for groups, much improved WYSIWYG editor, facelift of the default skin, much improved configure tool, and many more enhancements.
  • Foswiki 1.1.1 was built 25 Oct 2010. It is a release that fixes some important bugs that were introduced in 1.1.0. It is highly recommended that all running 1.1.0 upgrade to 1.1.1.
  • Foswiki 1.1.2 was built 09 Nov 2010. It is a release that fixes some very important bugs incl. a security related bug. Installations running 1.1.0 and 1.1.1 should be upgraded to 1.1.2
  • Foswiki 1.1.3 was built 16 Apr 2011. It is a release that fixes more than 150 bugs. jQuery has been updated to 1.4.3. The default PatternSkin has some usability improvements.
  • Foswiki 1.1.4 was built 20 Dec 2011. It is a release that fixes some very important including some security related issues. It contains 143 fixes and 27 enhancements. jQuery has been updated to 1.7.1.
  • Foswiki 1.1.5 was built 10 Apr 2012. It is a release that fixes some very important issues including some security related issues. It contains 100 fixes and 20 enhancements.
  • Foswiki 1.1.6 was built 02 Dec 2012. It is a release that fixes some important issues including some minor security related issues. It contains 94 fixes and 27 enhancements.
  • Foswiki 1.1.7 was built 01 Feb 2013. It is a release that fixes CVE-2012-6329 and CVE-2012-6330. It contains 20 fixes and 4 enhancements.
  • Foswiki 1.1.8 was built 28 Feb 2013. It is a release that fixes CVE-2013-1666. It contains 4 fixes.
  • Foswiki 1.1.9 was built 18 Nov 2013. It is a release that contains 44 fixes and 4 enhancements..
  • Foswiki 2.0.0 was built on 04 Jul 2015. It is a release that contains 312 fixes and 157 enhancements, and closes 59 Feature Requests.
  • Foswiki 2.0.1 was built on 03 Aug 2015. It is a release that contains 28 fixes and 3 enhancements.
  • Foswiki 2.0.2 was built on 01 Oct 2015. It is a release that contains 65 fixes and 5 enhancements.
  • Foswiki 2.0.3 was built on 15 Nov 2015. It is a release that contains 17 fixes and 1 enhancement.

Pre-installed Extensions

Foswiki 2.0 is shipped with the following: ( New to Foswiki 2.0 )
  • Plugins: AutoViewTemplatePlugin, CommentPlugin, ConfigurePlugin, EditRowPlugin, EmptyPlugin, HistoryPlugin, HomePagePlugin, InterwikiPlugin, JQueryPlugin, NatEditPlugin, PreferencesPlugin, PubLinkFixupPlugin, RenderListPlugin, SlideShowPlugin, SmiliesPlugin, SpreadSheetPlugin, SubscribePlugin, TablePlugin, TinyMCEPlugin, TwistyPlugin, UpdatesPlugin, WysiwygPlugin
  • Contribs: CompareRevisionsAddOn, FamFamFamContrib, FastCGIEngineContrib, JEditableContrib, JSCalendarContrib, JsonRpcContrib, MailerContrib, ModPerlEngineContrib, PlainFileStoreContrib, RCSStoreContrib, TipsContrib, TopicUserMappingContrib
  • Skins: PatternSkin
  • Compatibility support - TWikiCompatibilityPlugin

Known issues

For up-to-date information, see Known issues of Foswiki 2.0

Use of non-default {Store}{Encoding}

WARNING About {Store}{Encoding}: If you intend to use high-bit characters in attachment filenames (such as umlauts and accents), then links to these attachments on Foswiki pages will not work on a non-utf-8 Store without modification. This is because Foswiki works internally using UNICODE, but the store saves files to disk using your chosen {Store}{Encoding}. Running the Store with other than utf-8 encoding is considered a transitional step and not recommended for long-term operation. The strongly recommended solution is to convert your store to UTF8 at the earliest opportunity.

A partial workaround is implemented in the PubLinkFixupPlugin This Plugin will attempt to rewrite broken links. This generally gets linked images and other attachments working. However the TinyMCEPlugin is still unable to render image links while editing a topic.

See Item13696 for up-to-date details.

Store bulk_copy.pl utility

A significant issue was discovered in prior versions of tools/bulk_copy.pl. If data was migrated from Foswiki 1.x, and the 2.0 system was configured to use the RcsWrap store, it's possible that the WebPreferences files were reset back to the default settings, and other topics may have been skipped. Migrated WebPreferences should be validated, especially access control settings.

Important changes in 2.0.3

Foswiki 2.0.3 contains some important security related change to avoid certain XSS posibilites.

SpreadSheetPlugin changes

The CALC and CALCULATE macros now encode < and > as entities, which prevents some paths used to insert script tags. If your user's topics require CALC or CALCULATE to generate HTML, then you must enable the following setting:
  • Set SPREADSHEETPLUGIN_ALLOWHTML=1
This setting can be set in the topic, web, user or site perferences.

Performance

Foswiki 2.0.3 includes several performance improvements. Note however that the best performance will be achiveved by using Perl 5.20 or newer. There are kknow performance issues using regular expressions against UNICODE strings in perl 5.18.x and older.

Important changes in 2.0.2

API Change in Foswiki::Func

Attention plugin authors: The default behaviour of Foswiki::Func::saveFile() and Foswiki::Func::readFile() has been reverted to Foswiki 1.x behavior. Data is written and read as raw bytes. utf-8 encoding is not applied. A new optional flag can be set which will tell the API to add the utf-8 encoding layer. See Foswiki::Func file handling documentation for more details.

Query search performance

A major performance issue was discovered and resolved. Some query searches can see as much as a 350% improvement in performance.

EditTablePlugin has been restored as an optional extension

Foswiki now includes both the EditRowPlugin and the older EditTablePlugin. New sites will automatically get the new EditRowPlugin. Sites who prefer the older extension can enable the EditTablePlugin and disable the EditRowPlugin. Caution: Both extensions should not be enabled at the same time. Note that the EditTablePlugin is deprecated and receives minimal maintenance.

New configuration wizard

This patch release adds a new Configuration wizard. If an extension is installed from outside of the configure tool, you must run this wizard in order to merge in any Config.spec changes and save the default values for new configuration settings. Run the wizard using tools/configure and include the -save option to save any required changes.
$ tools/configure -wizard Plugins
WARNING: The Config.spec for CommentPlugin is more recent than the latest configuration. 'save of extension settings' is required.
WARNING: Configuration changes are required.
WARNING: If you did not include the -save option, you should rerun this wizard, specifying -save.

You can also now check the configuration from the CLI
$ tools/configure -check

Checking:Extensions -> Extension operation and maintenance -> Install, Update or Remove extensions:  {ExtensionsRepositories}
WARNING:    The Config.spec for CommentPlugin is more recent than the latest configuration.
WARNING:    You should run 'tools/configure -wizard Plugins -save'.

Checking:Extensions -> PlainFileStoreContrib: {Extensions}{PlainFileStoreContrib}{CheckForRCS}
WARNING:    This setting can be disabled for slightly improved performance once you can ensure that no RCS history exists within your Store.

Important changes in 2.0.1

Foswiki 2.0.1 has changed how the working/tmp/cgisess_* files are stored. This is needed to better accommodate user names with international characters. If old files exist and users still have a matching session cookie, then their access attempts will fail with a 500 internal server error.

ALERT! ACTION REQUIRED: After applying the changes in Foswiki 2.0.1, you must delete all cgisess_* files from the working/tmp directory.

If you are unable to access the server to do this, users will have to clear their cookies to gain access to Foswiki.

This change addresses Item13563

Changes in requirements

  • JavaScript is now required for most operations other than simple page views.
  • Foswiki no longer bundles CPAN modules. See SystemRequirements for details on prerequisite modules. Check dependencies by running perl tools/dependencies
  • Perl 5.8.8 is the minimum perl version. The newer the better. There are know issues with international characters and Perl 5.16.x See Item13424. For international character set support, Perl 5.18+ is recommended.

API Change

The Foswiki API version is incremented to version 2.3 in Foswiki 2.0.0 for the following changes:
  • A new validateRegistrationHandler can be registered by Extensions to process incoming regisrations.
  • The old registrationHandler has been deprecated and will be removed from a future release.

Deprecation and removals

Setting HIDE_NON_WIKI_WORD_WARNINGS has been removed

This setting was used to hide the checkbox for controlling whether or not non-WikiWord topic names are permitted. The checkbox is now always visible. The recommended replacement is to use a SKIN setting to override foswiki.tmpl.

The long-deprecated [[https://foswiki.org Spaced title]] link format has been removed. Links must be written as [[url][title]] format if a title is desired.

Deprecated AllowInlineScript configuration setting removed

The $Foswiki::cfg{AllowInlineScript} setting has been removed. Inline scripts are always allowed. Extensions like the SafeWikiPlugin can be optionally used to control JavaScript within topics.

Deprecation of empty DENY rules

The intention to deprecate the use of an empty DENYTOPIC<action> rule to act as an "ALLOW all" has been completed. This has been a pending change predating Foswiki 1.0.0.

ALERT! ACTION REQUIRED Any topics in the system that allow access by supplying an empty DENYTOPIC rule need to be updated. A utility has been provided to find and convert existing empty DENY rules to the new ALLOW format. You can choose to defer this action by enabling $Foswiki::cfg{AccessControlACL}{EnableDeprecatedEmptyDeny} in the Security and Authentication section under the Access control tab.

With release 2.0 of Foswiki, a new ACL rule, the asterisk, is used as a wildcard to match any user, including the guest user, WikiGuest. Prior to Foswiki 2.0, a topic could be made accessible to everyone by coding an empty DENYTOPIC<action> rule. This rule is no longer active by default.

A conversion tool is available in the tools directory. tools/convertTopicSettings.pl It can perform the following actions:
  • Convert empty DENYTOPIC<action> rules to the corresponding ALLOWTOPIC<action> *=
  • Optionally convert inline ACLs into META settings. This is recommended for Foswiki 2.0
  • Optionally convert all inline settings into META settings.

For additional information run perl tools/convertTopicSettings.pl -help

Removal of PasswordManager Foswiki::Users::ApacheHtpasswdUser

This password manager was included primarily as demonstration code and was not fully functional. The default Foswiki::Users::HtPasswdUser provides better functionality and it works. The modules are compatible and no changes are needed. The decision was made to completely remove this module because it was no longer compatible with the new Foswiki utf-8 & unicode support.

Deprecation of jQuery plugins

A number of jQuery plugins have been deprecated and should be disabled in the configuration. Recommended replacements:

  • jquery.corner, direct use of CSS recommended.
  • jquery.gradient, direct use of CSS recommended.
  • jquery.rating replaced by jquery.stars
  • jquery.shake, is now part of jQuery-ui
  • jquery.simplemodal, replaced by ui::dialog, the jQuery ui-dialog widget.
  • jquery.supersubs, superseded by jQuery.superfish
  • jquery.tmpl, replaced with jsrender
  • jquery.tooltip, replaced with the tooltip component of jQuery-ui

Deprecation of EDITBOXSTYLE and EDITBOXWIDTH settings

These settings are not used with the new NatEditPlugin editor.

With the old wikitext editor, these settings are used only until the user drags the corner of the edit window. Once the window size has been changed with a drag event, the settings are remembered in a cookie and the preference settings are ignored.

Deprecation of Meta::get/setEmbeddedStoreForm API

These Meta APIs will be removed in Foswiki 2.0. They are retained for compatibility only, should not be used in new code, and should be replaced in existing code.
  • for Foswiki::Meta::getEmbeddedStoreForm(), use Foswiki::Serialise::serialise($meta, 'Embedded').
  • for Foswiki::Meta::setEmbeddedStoreForm(), use Foswiki::Serialise::deserialise($text, 'Embedded', $meta)

The EditTablePlugin has been deprecated and removed from the release

The EditTablePlugin has been replaced by the EditRowPlugin. If installed, the EditTablePlugin should be disabled in the configuration. The old EditTablePlugin is still available for installation from https://foswiki.org/Extensions/EditTablePlugin, but is not being maintained.

The EditRowPlugin has significant advantages over the old EditTablePlugin. Most features of the EditTablePlugin are supported, with the exception of the editbutton parameter, and plugin preferences.

The EditRowPlugin also enhances features previously provided by the TablePlugin. The EditRowPlugin adds client side JavaScript based sorting of tables, which has significant performance advantages. (Client-side sorting is provided only for tables on pages with an active %EDIT table or row macro. The JQTablePlugin is able to completely eliminate server side table sorting.)

The TablePlugin and EditRowPlugin can be used together, with one exception. A table statement with the initsort parameter e.g. %TABLE{ initsort="... " ]% will cause confusion as the table will be resorted every time a row is opened for edit, as well as when the whole table is opened for edit.

The SpreadSheetPlugin $BITXOR(string) has been remove.

The $BITXOR(string) function in SpreadSheetPlugin is not compatible with the implementation of utf-8 and unicode. It opereates at the "byte" level assuming that each character is represented by a single byte. With utf-8 and unicode, characters can be represented by 1, 2, or 3 or more bytes. The concept of obfuscating string data by flipping the bits is not compatible.

$BITXOR(string) is treated as $BITXOR() and returns zero.

Important changes in Foswiki 2.0

Installation process has changed significantly!

You should not visit 'bin/configure' as your first access. After extracting the Foswiki code and preparing your web server:
  • Visit your desired default URL. If using Short URLs, use the short form: http://yoursite.com/Main/WebHome or http://yoursite.com/foswik/Main/WebHome, …
  • Follow the link in the banner of that initial page to access configure.
  • After saving the configuration, return to your wiki pages, register your initial user and add them to the AdminGroup.

Improvements in International Character Set support

Foswiki 2.0 has improved support for utf-8 based character sets. Topics and data forms can use utf-8 characters. They will be properly rendered and preserved during edit. The Foswiki core has been fully converted to utf-8 and unicode. All encoding / decoding is done "at the edge", when reading from / writing to the Foswiki store.

  • New sites will use utf-8 by default. Internationalizaiton should just work.
  • Sites migrating data from a previous installation have two choices:
    • Set {Store}{Encoding} to match the previous ={Site}{CharSet}. (Default was iso-8859-1)
    • Migrate the data to utf-8 by using the tools/bulk_copy.pl script. This is the recommended solution.
  • Support for Locales is still known to have issues. {UseLocales} should not be enabled in the configuration.

ALERT! ACTION REQUIRED If you are upgrading an existing system, you should review the existing data and determine if migration to utf-8 should be performed. See the UpgradeGuide for more details. Note that the topic and attachment name filters no longer filter international characters, so migration to utf-8 is strongly recommended.

Due to the extensive internal changes, extensions may require changes for compatibility with this release.

Perl libraries and paths

Foswiki no longer ships Perl CPAN libraries for use as a last resort. If it is not possible or convenient to install perl libraries, then install the CpanContrib to get pre-built libraries for Foswiki to use.

The setup of the perl @INC path has been simplified, and the foswiki/bin/LocalLib.cfg setting for $CPANBASE has been completely eliminated. A simple method of adding libraries to the top of the @INC path is provided in the new example foswiki/bin/LocalLib.cfg.txt shipped with foswiki.

ALERT! ACTION REQUIRED If you are upgrading an existing system and have created a custom foswiki/bin/LocalLib.cfg, you should tailor a new copy using the updated foswiki/bin/LocalLib.cfg.txt   (Note that on most systems, foswiki/bin/LocalLib.cfg is not required.)

Authentication, Authorization and Security

Users now have the option to authenticate via 'TemplateLogin' using their email address. This feature is optional, and is enabled in the Security and Authentication section, Login tab of configure. Enable {TemplateLogin}{AllowLoginUsingEmailAddress}. If more than one user shares an email address, the user with the matching password will be selected during login.

REST Script default security has changed:

Foswiki 2.0 has removed the rest script from the list of {AuthScripts}. Instead of providing blanket security for rest, each handler is now responsible to set its individual requirements for 3 options: authentication, validation and http_allowed methods (POST vs. GET). The defaults for these 3 options have been changed to default to be secure, and handlers can exempt these checks based upon their specific requirements.

A new configuration option has been added to the Security and Authentication section, Login tab: {LegacyRESTSecurity}. Enable this setting to restore the old insecure defaults for REST handlers. If enabled, and rest is not listed in {AuthScripts}, a warning will be displayed.

New Pluggable Access Control implementations.

Foswiki has made the Access Control implementation "Pluggable". New ACL methods may be more easily implemented in the future. The default method is $Foswiki::cfg{AccessControl} = 'Foswiki::Access::TopicACLAccess';.

Two additional methods are now included which may be of help to the Administrator:
AdminOnlyAccess
When selected, all requests for access are denied except when requested by users in the AdminGroup.
TopicACLReadOnlyAccess
The topic ACLs are applied as usual, but any access other than VIEW access is denied, except for users in the AdminGroup

ALERT! Caution: These controls are enforced at the ACL Level. Extensions have the ability to ignore access controls. If an extension fails to check for access permission, then these new methods will not block access.

Session ID Security improvements.

In Foswiki 2.0, sessions ID's will be changed whenever the user identity changes. This improves the resistance to certain session hijack attacks. This is not believed to have any negative impact, however there is a race condition if the user uses multiple browser tabs, and authenticates in one tab while the other tabs are interacting with the server (for ex. a long running attachment upload in one tab, followed by a internal admin login in another tab. The session ID in use for the upload will be deleted because of the internal admin login and results are unpredictable.

This change is important for security purposes and cannot be disabled.
Sessions and Roaming or Mobile Users
In Foswiki 2.0, $Foswiki::cfg{Sessions}{UseIPMatching} has been enabled by default. This change can improve security by reducing the exposure to certain session hijack attacks. However it can be disruptive to mobile users. It is also of limited use when users access the wiki through a proxy or other devices that might cause multiple users to share the same IP address.

With UseIPMatching enabled, CGI::Session code will compare the current user's IP Address to the address that was used when the session was initially created. If the IP address has changed, then the session is invalidated and the user is required to re-authenticate. There is further information about this option in the configure Security And Authentication tab interface.

ALERT! ACTION REQUIRED If you have roaming users who need to keep their Foswiki Sessions across IP Address changes, then you need to disable the {Sessions}{UseIPMatching} option in your configuration.

Optional Sessions for Guest users

EXPERIMENTAL feature: In Middle Fork Home Wiki version 2.0, sessions can be suppressed for guest users. This is believed safe if guests have no ability to update. However if guests are permitted to update, for example by using the CommentPlugin, or if any wiki applications make use Session Variables, then guest sessions should be enabled. See the configure Security and Authentication tab interface for more information.

ALERT! ACTION REQUIRED If you have {Store}{Encoding} set to utf-8, you must not use CGI versions 4.11-4.13. With those CGI releases, topic and form data can be corrupted during save. CGI version 4.14 released 1 April 2015 is recommended.

Also note that with CGI 4.14, there have been come internal changes that might impact non-default or locally written extensions. If you have locally written extensions and use the CGI:: HTML generation functions, you should review the CGI Release Notes.

Configure has been given a major restructuring

Foswiki is now able to run without a configuration (LocalSite.cfg) After initial installation, just point your browser at the default URL for Foswiki. Foswiki will "bootstrap" itself and provide a link to configure to establish the initial configuration.

  • Configure is now a conventional "Foswiki Engine" based script. This means that to use configure you must either:
    • be running in bootstrap mode, or
    • be logged in to Foswiki and be in the admin group, or have appropriate permissions granted.
  • Configure now requires JavaScript.
    • Configuration parameters are checked and saved through AJAX.
  • Performance
    • Configure only transmits changed settings, greatly reducing the required bandwidth and improving performance.

Changes to configure Authentication

  • Configure requires that the user has logged in to Foswiki and either be in the AdminGroup, or be identified as an authorized configure user.
  • The "admin" superuser password is now optional:
    • If not set, configure depends solely upon the session authentication
    • By not setting, or by clearing the admin password, sites can disable the internal admin login, eliminating sharing of admin passwords, which is considered poor security practice.
  • Configure can be restricted to individual users in or out of the AdminGroup.
    • If {FeatureAccess}{Configure} is NOT configured, then the current user must be in the AdminGroup in order to view or save the configuration.
    • If {FeatureAccess}{Configure} user list is configured, then the current user must be in the list to be allowed access to configure, regardless of whether or not they are in the AdminGroup.

The Configure access restrictions are also applied to control potentially sensitive information, such as the new information topics:
  • System.PerlDependencyReport
  • System.FoswikiServerInformation

Configure command line interface

Configure can now be run from the command line using the foswiki/tools/configure script. It can be run interactively using tools/configure -save and will prompt for the required minimum configuration options. It can also be run without prompting. Here is an example of a complete Foswiki configuration from the shell, configured for short URLs:
tools/configure -save -noprompt
tools/configure -save -set {Password}='mypassword' -set {DefaultUrlHost}='http://your.site.com' -set {PubUrlPath}='/pub' -set {ScriptUrlPath}='/bin' -set {ScriptUrlPaths}{view}=''  -set {FeatureAccess}{Configure}='JoeUser, FredAdmin' -set {WebMasterEmail}='webmaster@your.site.com

If any of your variables contain international characters, you need to run configure with the perl -CA option.
perl -CA tools/configure -save set ...

Full help on the available options can be viewed using tools/configure --help

CLI Extensions installer

The command line Extensions installer has been rewritten to use the foswiki/tools/configure script. This version will automatically enable new extensions and save the configuration. If you want to install an extension without enabling it, include the --noenable switch.

Execute tools/extensions_installer usage for more information.

The undocumented shortcut notation to reference to a form name is no longer available. Previously you could write:
%SEARCH{
   type="query"
   "BlogPostForm"
}%

Because this could lead to indeterminate behaviour, the syntax is now more controlled. You now have to refer to the form name:
%SEARCH{
   type="query"
   "form.name='BlogPostForm'"
}%

Major change to ICON macro and templates

HtmlAttributesShouldUseSingleQuotes has changed the ICON macro to generate singe quotes by default. This has no impact unless the %ICON macro is being expanded inside a single-quote delimited macro.

In order to simplify migration, a new quote= parameter has been added to the ICON macro. %ICON{"pdf" quote="\""}% generates the html using double quotes delimiters. See System.VarICON for more details.

Major changes to the Foswiki Store subsystem.

The Foswiki Store has been restructured into separate pluggable store implementations. Foswiki 2.0 ships with two store backends:
  • RCSStoreContrib: This implements the RCSWrap and RCSLite "Revision Control System" based stores, compatible with prior versions of Foswiki and TWiki.
  • PlainFileStoreContrib: A new plain file store that saves topic and attachment as time-stamped copies instead of the "diff" based RCS store. This implementation can use more disk space but is expected to be much higher performing than the RCS store. Existing topics can be migrated to the new store. Store formats may not be mixed. One store must be selected.

The utility to migrate between stores is tools/bulk_copy.pl. Be sure to backup everything before running the conversion. For information on how to run the tool, run:
cd foswiki/tools
perl -I ../lib bulk_copy.pl --help

ALERT! Caution: There are known limitations to bulk_copy.pl. See the Upgrade Guide for details. Hidden files (filenames with underscore (_) or dot (.) prefix) will not be copied. If your installation contains these types of files, then bulk_copy.pl should not be used!

New "Natural Editor", NatEditPlugin replaces the old WikiText editor

The NatEditPlugin, a component of the optional NatSkin, is now the default WikiText editor. It is enabled with the new default skin setting:
  • #Set SKIN = natedit,pattern

The NatEditPlugin is a Topic Markup Language (TML) editor, and provides a GUI "assist" to the user to aid in learning and using TML. This editor relies heavily on JavaScript and jQuery. Users that must edit without the use of JavaScript can override the SKIN setting and remove natedit.

Translation Status

As of this release,
  • Czech, Danish, French, German and Italian are >99% complete.
  • Dutch, Norwegian, and Portuguese (Brazil) are 70-88% complete.
  • Other languages are 60% complete or lower.
  • A new translation has been added: Klingon, 94% translated.

For more details on translation status, see TranslationTeam and Foswiki's Weblate translation server. Foswiki thanks the Translators for their efforts. If you are interesting in helping with the translation, please contact foswiki-translations@lists.sourceforge.net.

Foswiki Release 2.0 Details

New Features

(This list was updated with more complete information in Release 2.0.2)
Feature Summary
AJAXOnDemandCheckersForConfigure Update configure to allow Ajax based (fast) checking.
AddAWayToShiftHeadingLevels Add a headershift parameter to adjusted included header levels.
AddDefaultTopicParameterToINCLUDE Allow a list of topics to be specified so that we can use INCLUDE to allow customisation of shipped topic elements.
AddDefaultValueToSTARTSECTION Add default value to STARTSECTION.
AddENDINCLUDEandSTOPSECTION Add an ENDINCLUDE macro to be consistent with ENDSECTION.
AddEarlyPluginHandler Add a preload handler for plugins.
AddMetaParentTopic Add topic="xyz" parameter to %META{"parent" …
AddNatEditToCore Add NatEdit as a default extension.
AddOperatorsToQueries Add missing operators to query search and %IF.
AddRegistrationValidationHandler Add a plugins handler for registration validation.
AddRequestSetToCore Add ?Set+ etc to the core
AddTimeFeaturesToAttachmentLinks Add date formatting tokens to attachment links.
AddUpdatesPluginToDefaultRelease Add UpdatesPlugin to default release.
AddWebParamToAllCgiScripts Add a defaultweb= parameter to all CGI scripts.
AdminApprovalOfNewUsers Add audit feature for new registrations.
AllowGuestsToUseRESTAsDefault Remove rest from the default list of AuthScripts.
AllowLoginUsingEmailAddress Allow Login using an Email address as the login name.
CancelButtonsShouldUseViewScript Never POST to a save script for purposes of cancelling an update.
ConfigureScript Configure Extension autoinstaller should be able to uninstall.
ConsistentFormFieldValues Consistently display of form field values.
ControlFoswikiTemporaryFileLocations Explicitly control the storage location of temporary files used by Foswiki.
ConvertToModernPerlVersionStrings Convert to modern perl version strings.
DemandParseTables Demand-parsing of tables would solve several outstanding problems.
DeprecateApacheHtpasswdModule Deprecate ApacheHtpasswd Module.
EngineContribsAsCoreExtensions Ship FastCGIEngineContrib and ModPerlEngineContrib as core extensions.
Enhancei18nArchitecture Enable internationalisation of plugins.
EscapeTmlInEditor Add a little UI to make it easier to escape TML.
FallBackToTopicWhenTrailingSpaceAndNoSuchSubweb Fallback To Topic when URL has Trailing Space And No Subweb exists but topic does.
FasterAccessToCreatorData Store creator and create date in metadata to improve performance.
HideIrrelevantConfigureOptions Configure has too many options, and often they are irrelevant.
HtmlAttributesShouldUseSingleQuotes HTML attributes should use single quotes.
ImplementAddMeToAdminButton Implement the UI suggested in AddFurtherControlsOnSudo proposal
IncreaseCacheControlMaxAgeForSystemWeb Increase max-age for static webs.
IntroduceForceDefaultUrlHostToggle Sometimes its necessary to force the hostname set in {DefaultUrlHost}.
IsManagingEmailsShouldBeConfigurable Would be nice if managing emails in HtPasswdUser.pm was configurable.
LinksInPreview It would be useful to have links enabled in edit previews.
MacroToListInstalledFormFieldTypes Add Macro to list installed FormField types.
MakeStartPageCOnfigurable Add HomePagePlugin as a core extension.
MeasureAndReportScriptTiming Measure and report Script timing.
MoveCPANLibToSeparateContrib Move foswiki core lib/CPAN into its own CpanContrib.
MultiStoreRefactor Refactor the Store to allow multiple plugable backends.
OneStepUserDeletion Create mechanism for easy user deletion - Move AntiWikiSpamPlugin remove user code to core.
PluggableAccessControlImplementation Pluggable Access Control Implementation.
RedesignLoggerAPI Modernize the Log API.
RefactorACLCheckOnResultSetAsFilter Refactor ACL checks and pager on ResultSet as a filter.
RemoveDeprecatedEmptyDENYRule Finish off the deprecation of the empty DENY* Rules started back on TWiki.
RemoveTaintCheckingFromFoswiki Remove the -T flag from the foswiki scripts.
ReplaceConfigureWithConfigurePlugin Foswiki should with no or very minimal configuration.
ReplaceEditTablePluginWithEditRowPlugin Replace EditTablePlugin with EditRowPlugin.
RequirePerl588 Require minimum Perl 5.8.8 for various reasons.
SMIMESupportInMail Add SMIME support in email.
SettingAndGettingVariablesUsingMacros Set variables using macros.
ShipSubscribePluginWithFoswiki01x01 Ship the SubscribePlugin with Foswiki 2.0.
SpecFileSyntaxEnhancements Configure .spec file syntax needs improvments.
SupportBlockquoteAndIndenting Support <blockquote> and paragraph indenting in TinyMCEPlugin.
SupportShorterACRONYMS We need support in my company for two letter ACRONYMS.
TopicAddressing Consistent methods for breaking apart topic names/addresse".
UnicodeSupport Investigate Unicode support for Foswiki.
UnifyUnitTests Move to a single Unit Test suite that runs on multiple branches.
Use401ForCookieAuth Return 401 instead of 200 for auth failures.

Fixes

Item438 replace horrid UTF8 regex's and replace with Encode.
Item625 Uploaded filename stripped if special character.
Item658 Localize SlideShowPlugin graphics.
Item759 Search was compromised in UTF-8 environment.
Item801 Configure needs to more reliably set the grep & rcs program path, and handle configuration issues.
Item882 Foswiki::Render::makeTopicSummary breaks UTF-8.
Item1115 Numbered lists behave different for numbers and characters. Document as a restriction.
Item1330 Wikiwords with Umlauts arent detected.
Item1664 Oops not generated on non existent topic.
Item2257 Remove unnecessary fields from System.BulkResetPassword.
Item2292 System topics authored by WikiGuest instead of ProjectContributor.
Item2450 Unable to subscribe to Web/SubWeb.*.
Item2595 extender.pl fails if plugins are misbehaving.
Item2638 Edit/Attach keyboard shortcuts not working in Firefox.
Item3679 User with I18N UserName and latin LoginName can not get his password.
Item4077 Invalid quoted-printable encoding in mail subject lines.
Item4419 I18N: Non latin characters in field names break forms.
Item5103 TMCE replaces non-breaking space with normal space.
Item5133 Can't save multibyte char names.
Item5437 UTF-8 fixes for Foswiki 2.0 (was Foswiki 1.1 but deferred, was Foswiki 1.0 but deferred, was T4.2 but deferred).
Item5566 WikiWords do not work in UTF-8.
Item5661 If form have cyrillic chars in name column can not save data for this row.
Item5897 If COMMENT specifies target and target is missing, content disappears.
Item6025 Twiki encode topic twice to UTF8 for mailresetpassword.tmpl and changeform.tmpl.
Item8095 Any topic with Subscribe tag fails to load if there is a problem with WebNotify topic.
Item8232 Macros within ACTIONSEARCH not possible due to SpreadSheetPlugin processing order.
Item8237 Comma, newline and parenthesis supported using new tripple-quote syntax.
Item8414 Iso-latin-1 characters in users' wikinames break.
Item8417 When using CALC in search, CALC in format will not be executed.
Item8520 Localization; bad charset definitions for non english pages (in header and meta).
Item8948 If a restHandler throws an Error::Simple, we still return 200.
Item9290 Excludetopic in SEARH does not exclude a topic with non A-ZA-z0-9 in it.
Item9448 Japanese Characters Used as Data FormField names get garbled.
Item9452 Remove the VIEW_TEMPLATE setting from NewUserTemplate, and let AutoViewPlugin handle it.
Item9568 CommentPlugin::commonTagsHandler has wrong signature
Item9601 CommentPlugin forces uprev each time you save
Item9725 Release more modern SlideShowPlugin in 2.0
Item9734 CALC's expansion behaviour should be more consistent with other macros when no table cells are addressed
Item9741 CommentPlugin not honoring the "redirectto" parameter. Doesn't redirect after saving a comment.
Item9752 Document Foswiki page cache options.
Item9764 1.1. configure page doesn't work in older and even newer Konqueror browsers
Item9814 Default SEARCH result order includes an implicit sort on the web= parameter
Item9855 Debug log written to bin or not written at all if DebugFileName not set
Item9879 configure needs to fit on 1024 pixel wide screen without horizontal scrolling
Item9889 viewfile script fails for attachments on topics with names containing special characters
Item9946 Topic was merged information links to diff between same revision.
Item9955 Problem in UserRegistration with generating a WikiName from FirstName and LastName when they include umlaute.
Item10003 Improve access control checking in "More topic actions" panel.
Item10107 WYSIWYG editor protects macros inside tags by inserting spans, which then breaks the enclosing tag.
Item10111 When creating a new web, pub is not copied from the template web.
Item10182 IE8 related error in jquery.superfish example.
Item10230 Non-ASCII chars in HTML tag attributes incorrectly de-encoded (need to stay URI-escaped).
Item10240 Extension installer fails from shell if $Foswiki::cfg{ScriptDir} contains $Foswiki::cfg variables.
Item10242 Exclamation mark does not work the same as the HTML nop when parenthesis are involved.
Item10252 Warn users they cannot register if either javascript or cookies are unavailable.
Item10264 Change template-js-css logic from foswikiJs to foswikiNoJs.
Item10287 Meta should only store registered element names without a leading underscore (_).
Item10399 Tolerate malformed regex in QUERY and SEARCH match operator gracefully.
Item10474 Foswiki::Func inline examples are not valid examples usable with copy/paste.
Item10475 Foswiki::Func::readAttachment( $web, $topic, undef ); returns the topic text.
Item10510 WikiGroups suggests you can only add 1 member at a time
Item10538 Add missing logo foswiki-poweredby.gif for better compatilbility with older releases.
Item10609 User registration javascript broken when jQuery in noconflict mode.
Item10635 Wrong international character display.
Item10694 Complex regular subexpression recursion limit (32766) exceeded in Render.pm.
Item10717 Improved bin script code that finds the executable script on the path.
Item10764 PlainFile logger needs to open files in proper encoding to avoid "Wide character in print".
Item10825 Using save in a rest call destroys character encoding.
Item10890 Template parser makes it impossible to override some .tmpl templates with TopicTemplates.
Item10907 Whitespace effecting delayed CALC in search results unexpectedly.
Item10933 MAKETEXT silently returns incorrect strings when running from the cmdline.
Item10949 INCLUDE macro does not honor NOAUTOLINK setting when expanding included topic.
Item10967 Documentation topic for DefaultPreference .
Item10995 Wysiwyg destroys umlaute in text.
Item11003 Spreadsheet TIME* functions do not work properly with dates before 1970.
Item11015 Need better docs, and examples of %SUBSCRIBE format option.
Item11050 System.SiteChanges crashes when accessing the 2nd page.
Item11056 Do not insert into empty attachment comments.
Item11085 Uninstalling an extension keeps enabled state, resulting in error on configure screen.
Item11092 &nbsp; in attachment size makes it impossible to use inside MAKETEXT.
Item11159 RcsLite doesn't handle missing revs.
Item11186 Improve operation of {Site}{CharSet} and {UseLocale}. Better international character support.
Item11206 SlideshowPlugin does not work on fastcgi/modperl; does not initialize the slides correctly.
Item11308 Foswiki time functions can't parse dates earlier than 1970.
Item11326 SubscribePlugin is extremely slow with large complex WebNotify topics.
Item11336 WebAtom should support the same URLPARAM's as WebRss.
Item11353 HTML commented out heading shows in TOC.
Item11417 CommentPlugin does not work with default text set.
Item11454 RcsLite performance is bad on topics with long histories.
Item11465 Install and Update Extensions table is set too wide.
Item11476 Improve RcsLite worst-case performance.
Item11482 Links with spaces not listed in backlinks.
Item11595 SubscribePlugin updates without using Strikeone.
Item11641 Instant enhancements says goto patternskin customisations for instructions on customising a left bar.
Item11671 Improve SPACEOUT with consecutive Capitals and Number/Letter combinations.
Item11693 configure lets you install an extension before you set admin pwd, then fails.
Item11705 Bulk registration crashes with uninitialized variable if Password column provided, and other failures.
Item11729 Issues with WikiGroups topic loading on sites with many groups.
Item11735 Missing dependency does not create error in configure.
Item11736 Block rename of the System or Users web.
Item11737 Direct references to Main, Sandbox and System have crept into the default webs.
Item11738 PatternSkinElements has references to TWikiAjaxContrib.
Item11766 Templatetopics seems to go awry when there is another nested SECTION.
Item11820 In some cases the Extension installation fails and the screen is remains blank without feedback.
Item11833 FORMFIELD does not render a field using renderForDisplay whereas SEARCH does.
Item11835 Assume that grep, fgrep are found on the search path, don't hardcode location in LocalSite.cfg.
Item11866 HompagePagePlugin redirects to malformed targets.
Item11907 Use of uninitialized value in regexp compilation.
Item11908 Foswiki::Form doesn't cope with undefined values very well.
Item11953 {Site}{Locale} and tainted mode can't be used together. Ship with taint checking disabled.
Item11960 CLI scrips ignore the topic param due to HomePagePlugin bug.
Item11966 Add a Default column to DataForms, specify default value for fields.
Item11983 Prevent excessive calls into the revision system.
Item12001 Configure installs extension multiple times.
Item12027 Statistics/logfile iterator: not respecting SiteCharset.
Item12050 UNC Links are corrupted by render when they contain embedded spaces.
Item12070 Too many calls to renderTML.
Item12093 Ship foswiki using the new logo.
Item12097 NatEdit in foswiki trunk allows a user to see and edit the AUTOINC topic name - can we conditionally hide that?
Item12103 Simplify CSS, remove foswikiRequiresChangePermission span, add it to a class on the link.
Item12122 The UserRegistration form is not disabled when user registration is disabled.
Item12144 colors.css takes out background image of hovered links.
Item12148 EditRowPlugin improvements.
Item12162 Disable the reset password form when email is disabled.
Item12177 MacroToListInstalledFormFieldTypes feature.
Item12181 Update TMCE to 3.5.11.
Item12200 Deprecate EDITBOXSTYLE and EDITBOXWIDTH.
Item12202 DST shift marks old RSS feed items as new / value of isotz must be date dependant.
Item12203 Help tab shows raw editing help.
Item12239 Dependencies missing from "Perl modules used by Foswiki", in configure screen.
Item12246 Documentation for System.PageCaching is out of date.
Item12261 Add developer section to System.PageCaching : rest requests, URL attributes to suppress caching.
Item12287 Configure dies on buggy extensions with UserInterfaceInternationalisation enabled.
Item12316 redirectdenied template assumes redirect was due to rename. Message is too specific.
Item12319 ASSERTs not eliminated by optimization.
Item12322 WysiwygPlugin should remove useless spans etc.
Item12326 ICON macro breaks rendering due to change to single quotes. Enhance ICON macro to allow quote type to be specified.
Item12341 WysiwygPlugin identifies spans inside protected macros with TMLhtml, but fails to remove the class during save.
Item12342 bin/compare is not generating visible differences on trunk using interleave format.
Item12359 Func::eachEventSince can leak file descriptors.
Item12361 Default loggers eachEventSince should return records containing newlines as a single record.
Item12372 Configure "Initial configuration" issues on trunk.
Item12381 Configure UI and help text review.
Item12384 Logger issues causes statistics crash.
Item12402 UpdatesPlugin incorrectly reporting updates needed on pseudo-installed system.
Item12407 bin/compare script deescapes character entities.
Item12411 bin/rest validates the request even if validation disabled in core.
Item12438 Trunk statistics script only processes the Main web by default.
Item12447 Handle international topic names.
Item12450 Remove old project reference in installation instructions.
Item12472 $loadedRev undefined in VC::Store for RcsLite.
Item12475 Move lib/CPAN/lib modules to a separate CpanContrib.
Item12477 Spurious entries being added to .changes.
Item12513 Can't change alignment of table headers.
Item12541 CALC macro doesn't support mulit-line function calls.
Item12544 META:TOPICPARENT parsing overly picky.
Item12581 tools/lighttpd.pl erroneously lowercases names on Mac OS X.
Item12582 Clarify linking to subwebs and topics of same name.
Item12591 VIEW_TEMPLATE needs fully qualified topic name.
Item12612 VarQUERYPARAMS does not appear to render multiple-value params.
Item12618 Search ordering is not predictable on Perl 5.18.1 and later.
Item12650 Improve configure's handling of deprecated and removed JQuery plugins.
Item12659 NAMEFILTER setting in jQuery.extend causes invalid XHTML.
Item12675 normalizeWebTopicName taints its result if UseLocale=1.
Item12685 Use jquery means to initiate the editor properly.
Item12688 HTML error generating inline alerts loading unknown jquery modules.
Item12689 Modernize click semantics of the jquery.buttons module.
Item12690 jquery.wikiword module is missing a dependency on jquery.metadata.
Item12691 Upgrade slimbox lightshow with upstream version.
Item12695 strikeone.js not loaded in correct order sometimes.
Item12700 HTML2TML crashes if square brackets inserted into a link.
Item12705 Verbatim blocks are corrupted on save by Wysiwyg editor if $Foswiki::cfg{Site}{Locale} = 'utf-8';.
Item12712 Foswiki loggers should obtain file lock before writing.
Item12719 Exiting subroutine via next in ListFieldDefinition.
Item12734 Add jquery-1.11, jquery-2.1, jquery-ui.1.10.4.
Item12741 Formatting parameters not passed on the referenced scripts.
Item12747 Modal dialog vanishes when dragging it with the viewport being scrolled down.
Item12753 WebSearch does not pass topic parameter.
Item12776 Put package declaration into preamble rather inside the code.
Item12780 Remove core dependency on Sort::Maker.
Item12785 IE11 loses icons for Raw Text Edit Bar.
Item12786 Mailnotify matches topic prefixes by default.
Item12814 All tables get edit controls if one table uses the EDITTABLE macro.
Item12816 WebTopicCreator on trunk has the "Allow non-wikiword" button reversed.
Item12823 Mark auto-generated emails according to RFC 3834.
Item12824 A Wiki-style link to an attached file, which has spaces in its filename, gets broken under WYSIWYG editing.
Item12832 Unhelpful error message for app using save script.
Item12835 HTTP status code not properly set under certain conditions.
Item12839 REST scripts should individually assert their security requirements.
Item12842 TOC links to headings containing !-escaped WikiWords or nop-escaped macros not properly filtered.
Item12846 Unexpected indention for bullet copy-paste.
Item12855 Audit core DEPENDENCIES.
Item12868 SEARCH newline parameter does not apply to $formfield content.
Item12871 Support StrikeOne validation and rest authentication.
Item12872 Add StrikeOne validation.
Item12875 Add controls on some debugging options.
Item12882 More aggressive encoding of query parameters required.
Item12893 Nested DEFAULT default Macro parameter expansion.
Item12896 pub suggested htaccess file php_flag.
Item12902 The JQueryAjaxHelper Query fetcher section is broken.
Item12910 CLI not executed as admin when AllowLoginName enabled.
Item12931 CommentPlugin on trunk Tasks web doesn't sign comments, and fails to clear entry form after post.
Item12934 Configure email auto-configure can't proceed if SSL is unavailable.
Item12935 The NatEditPlugin settings tab is confusing.
Item12937 Foswiki issues with Perl 5.20.0.
Item12943 MailerContrib notify REST handler crashes with array ref issue.
Item12945 Words starting Uppercase and have an umlaut will render to garbage like looking wikiwords.
Item12947 Remove the Deprecated AllowInlineScript code.
Item12948 jquery.cycle renders a black background for captions in chrome.
Item12951 Stopwords are treated as regex in search which can cause confusion.
Item12952 Move Configure into a Contrib.
Item12953 header parameter does not work when using row as fieldtype.
Item12954 Table gets broken when editing via edit button and inserting a new row.
Item12955 Related Topics search in System.FAQForm.
Item12956 Unitialized variable crash after using back button to return to edit, and save.
Item12958 HTML in a label can break the editor.
Item12960 dirtyareas not removed in any case.
Item12961 Firefox does not send an accept-encoding in a http-2.0 (aka spdy) connection.
Item12963 I18N for datepicker not loaded.
Item12964 UserMapping::isInGroup() iterates uselessly over member lists.
Item12965 Cache misses can create deadlocks if there is a collision.
Item12969 UI::Rest should only validate POST type requests.
Item12987 Foswiki returns "detected an internal error" with code 200, not 500.
Item12993 htmldoctype needs to change.
Item12997 Use of uninitialized value in Assert gear.
Item13019 WebTopicCreator on trunk broken "pick from list".
Item13021 "use strict" is removed when minifying the code.
Item13027 Regex error results in "Unspecified error" failure in Foswiki::UI.
Item13040 Foswiki 2.0 issues on Nginx.
Item13041 Checker for {Htpasswd}{Encoding} reports unnecessary errors.
Item13048 Security issues with Windows and attachment name extensions.
Item13058 statistics script can not create statistics for subwebs.
Item13059 Wysiwyg corrupts wiki markup in definition list terms.
Item13065 bin/jsonrpc script doesn't log events to the Foswiki event log.
Item13075 Only one validation token per page makes multiple forms awkward.
Item13082 Cache fetch is case insensitive in MySQL, but topic names are case sensitive.
Item13083 Document the behavior that left bar contains webs regardless of NOSEARCHALL = on for Admins.
Item13096 CommentPlugin generates "Invalid validation code" REST error when trying to add comment in Firefox.
Item13099 PUBURL has two implementations.
Item13105 Ease SEARCH apps in System web.
Item13108 Trunk edit strips manually added META ACLs on the next save.
Item13124 Documentation updates to support Apache 2.4.
Item13125 CGI::param called in list context from package Foswiki::Engine::CGI line 222.
Item13126 MailerContrib fails to generate diff correctly on view restricted webs.
Item13133 Keep calls to numRevisions to a minimum.
Item13146 Add a way to identify elements added to head.
Item13164 Add support for gzip compression of http response.
Item13165 perl warning using an experimental feature.
Item13171 SITEMAPLIST does not hide webs on the SiteMap.
Item13178 TinyMCEPlugin permanently expands tags in some square bracket links.
Item13182 FW doesn't ignore ! within style tags.
Item13188 WysiwygPlugin upload rest handler is missing - Upload fails with 404.
Item13189 WYSIWYG editor breaks double-bracketed links with some macros in url section.
Item13190 SiteChanges cause a high load on the server.
Item13193 Deprecate jquery.gradient.
Item13198 SlideShowPlugin cannot find default template.
Item13207 Wiki markup not rendered the line before a table.
Item13212 Process to add a filetype icon to the attachment table is not documented.
Item13213 Can't save+continue multiple times / duplicate x-foswiki-nonce http header.
Item13219 Deprecate jquery.corner and jquery.simplemodal.
Item13225 Wysiwyg defaults to double quotes when generating HTML tags.
Item13227 Bootstrap fails under mod_perl.
Item13231 tools/lighttpd.pl test script changes for Foswiki 2.0.
Item13237 Foswiki.pm calls Users::loadSession with tainted ENV{PATH}.
Item13247 Some VarXXX topics do not consistently link to other entries in Macros.
Item13269 Dependency crashes when extracting version from mod_perl.
Item13272 Upgrade to latest superfish and hoverIntent.
Item13286 Regular expressions encoded in a string loose their backslashes.
Item13291 Wysiwyg swaps oder of query parameters and #anchor.
Item13300 EditRowPlugin alters the headings formatting of tables and the way the user interacts with non-editable tables in the same topic.
Item13301 Single quotes are incorrectly encoded in query params. Breaks WebSearch and other pages.
Item13302 CGI-4.11, 4.12, 4.13 breaks utf8 byte strings in data forms.
Item13303 Add weba, webm, and webp to mime types.
Item13308 WebCreateNewTopic, defaults to create itself, has performance issues: loads parent list.
Item13318 Shipped topics are missing attachment metadata, and TOPICINFO.
Item13319 RCS Store AutoAttachPubFiles feature converts all attachments into autoattached files.
Item13320 Backlinks fails when is an number in the topic name
Item13327 Deep recursion at wrong web rename.
Item13330 Web create fails to throw error when invalid (utf-8) characters are in the webname.
Item13331 Wrong encoding in "View WikiText" when utf8.
Item13335 Configure does not load defaults from a Plugin.spec file.
Item13345 "any" pragma is deprecated in CGI-4.14.
Item13346 Pattern skin default fonts are too low contrast, especially Raw view.
Item13347 istopic returns TRUE for an empty string.
Item13354 Statistics and WikiUsers links shown even when the topics don't exist.
Item13355 Formfield titles not expanding macros.
Item13370 Configure warns that working/README files are not writable, but MANIFEST has permission 0444.
Item13375 Invalid content encoding using firefox http/2.
Item13378 Incorrect rendering utf8 WikiWords in the Form's default text.
Item13381 Deleting a topic redirects to wrong place afterwards.
Item13385 Form is corrupted by escaped column separator.
Item13386 {LoginManager} = 'none' applies ACL checks, locks user out of configure, and faults if bin/login accessed.
Item13388 The %QUERY{...}% regex searches - fails on utf8 texts.
Item13390 WysiwygPlugin inserts extra space into escaped square bracket links.
Item13391 CLI extension installer fails with Can't call method "addChild" on an undefined value.
Item13393 Simplify implementation not having to use JSON and HTML::encode_entities on the serverside.
Item13397 Foswiki::Serialise::Json uses JSON::Any, which generates UNICODE.
Item13398 Lighttpd doesn't detect perlbrew perl, or the system PATH.
Item13400 Logout fails to consider {ForceDefaultUrlHost} when redirecting after logout.
Item13404 HtPasswd AuthRealm changed for all users when one user is updated.
Item13409 Table sort by date is incorrect in Testcases/TestCaseUtf8Errors.
Item13415 'onlywikiname' and 'nonwikiword' inconsistency.
Item13419 Broken EDITTABLE (EditRowPlugin 3.31, FW 1.1.9) in some cases.
Item13422 Opening "More topic actions" is obscenely slow.
Item13423 Perl 5.22 deprecates unescaped left brace in Regular Expressions.
Item13427 Remove ApacheHtpasswdUser from Foswiki 2.0.
Item13431 Eliminate the auto redirect from the change language template.
Item13440 Deprecate BITXOR(string) spreadsheet function. Document that it does not work due to utf-8 changes.
Item13449 Some tarfiles fail to expand due to ././@LongLink triggers.
Item13460 JQICON FontAwesome icons are not working.
Item13463 TOC is not respecting ho tags inserted by INCLUDE.
Item13474 CommentPlugin fails with Wide character print error for utf-8 comments.
Item13478 Multiple issues with viewfile and utf-8 topics and attachments.

Enhancements

Item184 Plugins don't report dependancies (or missing ones) in configure.
Item810 SpreadSheetPlugin doesn't allow breaking formulea over multiple lines.
Item1764 Access denied does not tell you who you are or allow you to login as someone else.
Item2206 Might be nice to have a JS based filter on the configure extensions list.
Item2207 Would be nice if configure gave a little info wrt dependencies for things.
Item2250 After enabling or installing a plugin/contrib, add a link to the installedplugins topic.
Item2258 SubscribePlugin should offer appropriate templates.
Item2466 Improve $token handling in core macros: support standard escapes.
Item2516 Add new TML syntax to support indented paragraphs.
Item4021 Add a configure checker that tests the install.
Item5935 Attach.pm enhancement: add time processing to code.
Item8430 registerRESTHandler default authenticate option is insecure.
Item8796 Implement MakeUserRegistrationAsLeanAsPossible.
Item9225 Improve URL parsing, and detection of SubWeb vs. Topic name in path.
Item9334 Configure more extensions has no visual cue for what repository a row comes from.
Item9591 Eliminate use of commonTagsHandler in CommentPlugin.
Item9592 Add JQuery/AJAX example to the CommentPlugin.
Item9697 Enhance i18n infrastructure to support translation of extensions.
Item9698 Re-organise the info cache slightly to abstract the result set iterator from the implementation.
Item9715 Enable dynamic subclassing of the selected Store (expert feature for 2.0).
Item9816 Add support for Simulate, and No Dependencies options to configure Extensions Installer UI.
Item9856 Configure host match warning can suggest a fix.
Item9935 Detect and resolve umask issues in Foswiki core.
Item10009 Deprecate get/setEmbeddedStoreForm, to make space for generic serialisers / non-embedded stores.
Item10129 Add @ operator to QUERY, support query across topic revisions.
Item10191 CommentPlugin REST handlers rewritten to use a JQuery REST implementation.
Item10203 Add inline form validation to registration form.
Item10221 Update attachment counter to use with QUERY macro rather than javascript counter.
Item10260 Make registration page easier to understand and change.
Item10294 FORMFIELD clumsy rendering multi-line content, missing $formfield() 's linebreak features from SEARCH.
Item10325 Document the new INT query operator; Returns integer portion of a value.
Item10344 Cache parsed / loaded topics in the MetaCache. Only load from disk and parse the topic format once per session.
Item10376 Implement Feature: Development.TopicAddressing. Adds new Foswiki::Address class.
Item10453 Improve performance of the Foswiki Page Cache.
Item10461 SEARCH Speedup: ACL checks (and Paging) using iterator filters that can be optimized by Store implemetations.
Item10490 Document how to use Foswiki::Func::saveTopic to create a new topic.
Item10520 QuerySearch for \"SomeText\" ONLY refers to a FieldName, and no longer also a FormName.
Item10678 Allow SEARCH on CREATEINFO.
Item10684 Allow default skin to also have famfamfam topic actions in top bar.
Item10686 Report the registered restHandlers to command-line when rest called with a unknown handler.
Item10741 Enhance GROUPINFO to handle Main.GroupName.
Item10770 EditRowPlugin - Cannot update via double click cells with macros.
Item10824 HEAD requests should return early.
Item10830 Make SubscribePlugin a default extension.
Item10939 Pluggable Access Control: Add AdminOnlyAccess and ReadOnlyAccess plugins.
Item11093 Make attachment file size more meaningful.
Item11094 Add sortable file size to attachment template tokens.
Item11095 Add sortable date to attachment template tokens.
Item11107 Add user name to attachment template tokens.
Item11264 Create UpdatesPlugin, notify admin of available extension updates.
Item11317 Enhance INCLUDE to increase/decrease header levels using "headingoffset" parameter.
Item11389 Change named anchor links to target IDs.
Item11400 Add default param values to TMPL:DEF.
Item11411 Implement proposal: HTML attributes should use single quotes.
Item11448 Implement {GuestCanComment} feature.
Item11507 Internationalisation of the mailnotify script.
Item11515 Return HTTP 401 + login page instead of redirect when authentication is required.
Item11527 Expand %MACROs in WEBFORMS pref when displayed in the add/change form UI.
Item11549 Rewrite of page cache, improved performance, better page dependency capture.
Item11579 Implement an AdminToggle button to simplify joining and leaving the AdminGroup.
Item11637 Add 119 geosilk icons to foswiki.
Item11648 Add NatEditPlugin to core.
Item11681 Add a validation handler for registration.
Item11761 Add HomePagePlugin to core.
Item11772 Replace edit table plugin with the more modern edit row plugin.
Item11783 Enhance INCLUDE to support a list of topics to try to include.
Item11834 Hide the details in the extension installation report.
Item11878 require perl 5.8.8 for 2.0.
Item11879 Development.MeasureAndReportScriptTiming.
Item11883 Add align param to TOC.
Item11901 Implement CancelButtonsShouldUseViewScript.
Item11902 Implement Development.LinksInPreview.
Item11968 Add topic=" " parameter to META macro. Specify where to obtain the data.
Item11969 Add default value for parameters passed to STARTSECTION macro.
Item11971 Add defaultweb= Param To All Cgi Scripts.
Item11980 Add topic: param to jqLoader.
Item11994 Upgrade query-ui.
Item12035 Add new data type to configure: BOOLGROUP for a group of checkboxes.
Item12041 Implement admin approval of registrations.
Item12057 Allow TemplateLogin with user's email address (in addition to the username).
Item12060 INCLUDE macros "warn" attribute does not accept dollar-escapes.
Item12104 Redesign the Foswiki Logger API. More compatible with Log4J / Log4Perl conventions.
Item12120 Deprecate Apache Htpasswd Module as its unloved and only partially implemented.
Item12130 Add support for encrypted private key files in S/MIME.
Item12133 Implement configuration setting to force email addresses to be stored in User topic.
Item12135 New expert configuration setting, override "Cache-Control: max-age" for configured webs.
Item12175 Implement %SET% macro - Setting And Getting Variables Using Macros.
Item12169 Improve CSS for tab buttons without tab pane to prevent box inside box.
Item12170 Remove tab pane box around search form.
Item12172 Add row display options to attachtables template.
Item12176 Improve editing lists.
Item12180 Implementation for AJAXOnDemandCheckersForConfigure.
Item12185 Implement SupportShorterACRONYMS.
Item12189 Implement ControlFoswikiTemporaryFileLocations.
Item12192 PatternSkin fixes and enhancements for Foswiki 2.0.
Item12207 Implement OneStepUserDeletion.
Item12209 Rename DefaultUserRegistration js.js to validate.js.
Item12210 Add generic TYPE based checkers to configure field definitions.
Item12229 Improve transliteration of free-form input to non-unicode chars wiki words.
Item12237 Implement EscapeTMLInEditor.
Item12282 Enhancements to .spec file syntax.
Item12299 Don't rewrite the parameter list of named sections in template topics.
Item12306 Enhance Foswiki::Store::saveAttachment to support attachment attributes.
Item12362 parseTime can't handle seconds in a Foswiki format time.
Item12392 Add a "preload" plugin handler to the Foswiki plugin API.
Item12494 Break out RCS stores into a stand-alone contrib; include it in the release by default.
Item12515 Create a new ConfigurePlugin.
Item12664 Rework jquery.natedit.
Item12666 Add font-awesome to JQueryPlugin.
Item12686 Add tmpl REST handler to load jquery.tmpl asyonchronously.
Item12692 Upgrade jquery.media module with upstream version.
Item12693 Rewrite jquery.debug module to make use of modern browsers' console.log properly.
Item12694 Default to fast animation speed.
Item12699 Removing a user should also remove any cgisess files to kill current sessions.
Item12711 Configure could report if dependencies are part of Perl core.
Item12717 Inconsistencies in template expansion of mailnotify.
Item12739 Add recent TWiki SpreadSheetPlugin features to Foswiki, and resolve "undefined" errors.
Item12759 Modernize code and icon set.
Item12777 Syntax error in sqlite adapter of page cache.
Item12787 Default to empty string instead of 0 if rating is undecoded.
Item12810 JQuery needs to fallback to an available version if misconfigured.
Item12811 Nicer stars for rating.
Item12819 Pass Interwiki links through expandCommonVariables.
Item12837 Implement Development.AddENDINCLUDEandSTOPSECTION.
Item12849 Implement Development.RemoveDeprecatedEmptyDENYRule.
Item12869 Restructure SpreadSheetPlugin.
Item12878 Improvements to foswiki jquery-ui theme.
Item12881 Add a preference to set the default number of revisions to show in topic history.
Item12900 Improve session management, optional sessions for guests.
Item12906 jquery.wikiword: don't add prefix / suffix if already present in source.
Item12933 Make filtered characters configurable in JQueryWikiWord.
Item12936 Tighten up default restrictions on WikiGuest a bit further.
Item13018 Switching tabs is slow.
Item13034 JsonRpcContrib is a default extension in 2.0.
Item13045 Implement Development.InterwikiPluginMacroExpansionCustomURLs.
Item13051 Cannot do anything useful with a $pattern that contains a quote (").
Item13052 ModPerlEngineContrib: APREQ2_ReadLimit directive (needed for Downloads >64M) missing in documentation.
Item13060 "Toggle All" button for BulkResetPassword.
Item13106 Replace blockquote with div unless it is for a block of quoted text.
Item13109 Add mousewheel and sprintf.
Item13123 More topic actions should use Ajax to pick parent topic.
Item13132 Tabpane depends on easing for animated tab switching.
Item13138 Deprecate jquery.rating in favor of jquery.stars.
Item13194 Add makefile system to ease common js tasks.
Item13205 Update to jquery-1.11.2 / jquery-2.1.3.
Item13238 content-type should be application/json.
Item13241 Improve the email Auto-configure flow and operation.
Item13251 Toolbar not shown when tinymce has been loaded … but not used.
Item13268 Add styles for the horizontal navigation menu.
Item13281 Add print support to the SlideShowPlugin.
Item13298 jquery.wikiword not backwards compatible.
Item13323 Now that Taint mode removed, switch from /usr/bin/perl to /usr/bin/env perl.
Item13343 Add CLI access to the PERLDEPENDENCYREPORT macro.
Item13389 Datepicker initializaiton problem; datepicker z-index problem; pushy tooltips not hidden when typing into an input field.
Item13392 Add Extensions to the PERLDEPENDENCYREPORT.
Item13462 Guess the {Plugins}{...extension...}{Module} setting if missing.
Item13480 Remove setting for HIDE_NON_WIKI_WORD_WARNINGs.

Foswiki Release 2.0.1 Details

Fixes

Item13450 SubscribePlugin with famfamfam skin breaks styling when button switches state.
Item13508 Cache passwords should also enable check timestamps by default, or at least warn if not enabled.
Item13510 Configure is incorrectly applying $FALSE and $TRUE defaults from Config.spec files.
Item13512 PreferencesPlugin errors when processing SitePreferences. Issue in Foswiki::Render.
Item13513 Configure extension installer overlays extension settings with defaults when upgrading an extension.
Item13516 bulk_copy.pl has fails to copy some webs, crashes copyng attachment revisions. Unusable.
Item13518 Extra scrollbar in NatEditPlugin + PatternSkin.
Item13520 FORMFIELD macro fails to return text in a format that can be rendered. Workaround available.
Item13521 Wrong encoding in compressed responses.
Item13524 Updates plugin reports zero extension(s) need updating.
Item13538 Setting DISABLEDPLUGINS causes very noisy error log.
Item13539 Review css deprecations documented as part of defunct BaseSkin effort.
Item13541 eachAttachment returns directory names with PlainFileStore, breaks bulk_copy.pl.
Item13542 Revert the RcsStore hack that extends eachAttachment API to return directory names.
Item13547 Copy failed from system to Sandbox.
Item13549 Filter backslash from Topic and Attachment names.
Item13551 Configure "Review installed extensions" doesn't flag all available updates.
Item13555 UpdatesPlugin comparing RELEASE, should use VERSION.
Item13558 Error is style_src.css file.
Item13563 Crashes in Search, Foswiki.pm and Render.pm for cUID mapped from uft8 WikiName.
Item13565 Wide char in print error registering user with utf8 topic name and "mailprogram" email.
Item13567 TML in dirty areas not rendered correctly.
Item13568 tools/bulk_copy.pl removes topic data prior to saving new revision; breaks attachments and history.
Item13569 JQueryLoader runtime error.
Item13575 WysiwygPlugin converts entities to utf-8, then cannot save topic on iso-8859-1 store.
Item13580 Missing image in natedit help text.
Item13584 Natedit's Insert attachment - Ajax broken.
Item13599 Configure fails to install topics from CLI package installer.

Enhancements

Item13502 CommentPlugin could expand variables on returned results when in AJAX mode.
Item13526 TipsContrib needs optimizations.
Item13545 bulk_copy.pl should omit System web by default.

Foswiki Release 2.0.2 Details

Fixes

Item12179 JQueryPlugin::FOSWIKI: not properly escaping NAMEFILTER preference.
Item13560 configure does not set initial values when extensions are installed with an external package manager.
Item13561 PERL type configuation settings lose their formatting when LocalSite.cfg is saved.
Item12569 Sorting of umlauts in tables is incorrect. (Partial fix to EditRowPlugin).
Item13570 EditRowPlugin does not work on page with TABLE macro.
Item13576 Submitting a comment in COMMENT tag does not clear the comment field.
Item13583 Login form populated with incorrect path info.
Item13593 Foswiki 2.0 is 350% slower doing query SEARCH compared to 1.1.9.
Item13598 Error renaming a symlinked web using PlainFile Store.
Item13600 Wrong parent topic set when WikiUsers topic is initially created.
Item13601 Page cache pollution by illegal path components.
Item13602 JQuery::UI recursive loop opening tabs after a login redirect back to the page.
Item13603 When running check_current_value from tools/configure -check, no checker output is reported.
Item13608 Regression - jquery.wikiword does not transliterate unicode chars to ASCII.
Item13609 bulk_copy.pl fails on perl 5.10.1 - Encode constants are not exported.
Item13610 The CLI tools/configure is unable to run checker validation routines.
Item13617 Error in default topictitle implementation.
Item13619 References to non-default RevCommentPlugin removed from the templates.
Item13625 AutoViewTemplatePlugin: reports Invalid template name ( Warning: Can't find named section viewtemplate in topic…) when used in "section" mode and no section exists.
Item13629 Hide "Title" field in natedit when unused.
Item13631 Configure reports false permission errors on some advanced file systems. Solution: use filetest 'access';
Item13635 Incorrect warning that Updates exist for up-to-date extensions.
Item13654 Foswiki::Func::saveFile was changed in Foswiki 2.0 to use utf-8 encoding.
Item13662 EditRowPlugin does not leave at least one space in an empty cell.
Item13667 Templates with leading comments disturb jquery-ui.
Item13669 Macros topic is no longer a good reference for a quick lookup of macro syntax.
Item13672 EditRowPlugin not working on mod_perl systems.
Item13676 Add jquery-2.1.4 and 1.11.3 to cure a Safari bug.
Item13682 Implemented API doc update per Development.DocumentAlreadySupportedFuncQueryOptions.
Item13685 SlideShowPlugin no longer allows scrolling down when the page is a little longer than the display.
Item13686 New topics get AdminToolsCategory as parent.
Item13688 TablePlugin injected css is overwritten by the default style sheets disabling any table attributes.
Item13692 EditRowPlugin puts the edit button the wrong place when EDITTABLE comes before TABLE.
Item13693 EditRowPlugin deletes macros from text area fields.
Item13696 Some attachments can be unreachable with non-UTF8 store encoding.
Item13697 With iso-8859-1 store, it's possible to create unreachable topics and attachments.
Item13698 Unable to move attachments if target topic is not a WikiWord.
Item13707 PatternSkin themes are not working.
Item13710 JQueryPlugin (6.13) version of jquery.foswiki.js fails in 1.1.9 installation. BuildContrib corrupts compressed javascript.
Item13711 EditRowPlugin makes TablePlugin apply its formatting to the wrong column.
Item13714 EditRowPlugin adding and deleting rows fails in TestCases/TestCaseEditTableJavaScript.
Item13715 EditRowPlugin does not always handle the EDITTABLE macro correctly case 2.
Item13717 EditRowPlugin creates massive copies of macros when you edit tables.
Item13720 EditRowPlugin make the headline sort mark up the wrong column as the sorted.
Item13721 Return EditTablePlugin to the 2.0.2 MANIFEST.
Item13725 SmiliesPlugin can be made a little easier to upgrade with simple css change.
Item13726 SmiliesPlugin icon files have all changed file name and that causes broken links for legacy sites.
Item13728 Rename fails across symlinked directories in RCS Store.
Item13730 EditTablePlugin uses unescaped braces and calls CGI::param in list context.
Item13731 WebLeftBarLogin breaks TML syntax of first line of included personal web left bar.
Item13738 Disallow expand macros in the Search-box.
Item13739 LoginName is not validated and presents XSS path.
Item13741 URLPARAM macro needs safe+quote encoding option.
Item13743 Configure expects any MANIFEST entry in a dir called "data" as a .txt file,
Item13744 Document that EmptyPlugin is documentation only, and cannot be enabled.
Item13745 Set+ Unset+ save script arguments are unusable from the CLI engine.
Item13749 Perl's "stat()" will not work with with array arg and other Perl 5.23 compatibilty issues.
Item13757 Move SHORTDESCRIPTION into PackageForm.
Item13764 CommentPlugin should entity encode comments from guest users.
Item13765 EditRowPlugin TestCaseEditTableMacrosInSettings removes content of footer and label type cells.
Item13767 EditRowPlugin does not completely turn off sorting by clicking header when TABLE has sort="off".
Item13769 EditRowPlugin sorting only works the first time you click a header and will not reverse sort when clicking same again
Item13770 EditRowPlugin treats bold text in footer row as something related to sort but without function.
Item13771 EditRowPlugin has hardcoded its Macro in TableParser.pm.
Item13772 Oops message for edit templatetopic incorectly processing parameters.

Enhancements

Item13674 Separate downgrade maps in jquery.wikiword.
Item13675 Add min-height and reload-after feature to jquery.loader.
Item13695 TABLE does not support css unit sizes. (em, cm, in, pt, …).
Item13723 Add "next slide" navigation with spacebar to SlideShowPlugin.
Item13758 Align icons in left bar.

Foswiki Release 2.0.3 Details

Fixes

Item2212 System.QuerySearch documentation links to missing topic.
Item13519 Foswiki should clearly report missing dependencies. Don't crash with 500 Internal Server Error.
Item13781 Dependencies of default extensions are out of date.
Item13796 Topics that process URLPARAM input with CALC / CALCULATE macros can be used to inject script tags.
Item13807 UI::Preview doesn't pass $topicObject to afterEditHandler.
Item13811 SpreadSheetPlugin CALCULATE macro leaks information on fcgi / mod_perl sites.
Item13814 raw=on&cover=print doesn't use a monospace font.
Item13816 Configure doesn't work on IE9, IE does not support console.log or console.debug.
Item13817 EditRowPlugin performance issues with tables > 100 rows.
Item13830 Attachments with special characters (umlauts) in Foswiki 2.0.2 with mod_perl, reported as missing or empty file.
Item13832 Don't allow non-alphas as the effect name in jqLoader.
Item13833 Don't allow internal render markers to be passed in parameters, or rendered in topic text.
Item13834 EditRowPlugin cannot edit cells that contain Umlauts and other non-ASCII characters.
Item13837 Foswiki::Func::getScriptUrl() generates broken URL if any parameters contain embedded # characters.
Item13838 Need to use filetest access when testing for files not writable.
Item13839 UserMapping: validateRegistrationField is too strict on usernames - unable to add users containing underscore.
| Item13852 | CommentPlugin should warn about COMMENT permissions in configure.

Enhancements

Item13820 The putBackBlocks and _putBackProtected routines are extremely inefficient.


Related Topic: ReleaseHistory
This site is powered by FoswikiCopyright © by the contributing authors. All material on this site is the property of the contributing authors.
Ideas, requests, problems regarding Middle Fork Home Wiki? Send feedback
Syndicate this site RSS