README
------
-StatusNet 0.9.1 ("Everybody Hurts")
-28 Mar 2010
+StatusNet 0.9.4 "Orange Crush"
+16 August 2010
This is the README file for StatusNet, the Open Source microblogging
platform. It includes installation instructions, descriptions of
you can move back and forth between a hosted version or a version
installed on your own servers.
+A commercial software subscription is available from StatusNet Inc. It
+includes 24-hour technical support and developer support. More
+information at http://status.net/contact or email sales@status.net.
+
License
=======
New this version
================
-This is a minor bug and feature release since version 0.9.0 released 4
-March 2010.
+This is a security, bug and feature release since version 0.9.3 released on
+29 June 2010.
-Because of fixes to OStatus bugs, it is highly recommended that all
-public sites upgrade to the new version immediately.
+For best compatibility with client software and site federation, and a lot of
+bug fixes, it is highly recommended that all public sites upgrade to the new
+version.
Notable changes this version:
-- Twitter bridge truncates and links back to original for long
- notices.
-- Changed "Home" link in main menu to "Personal".
-- A new memcached plugin (using pecl/memcached versus pecl/memcache)
-- Opt-in subscription to update@status.net
-- Script to run commands on behalf of a user.
-- Better Web UI for long notices.
-- A plugin to open external links in their own window or tab
-- Fixes to Salmon protocol for compatibility with other systems.
-- Updates to latest ActivityStreams definition.
-- Twitpic-compatible API for image upload.
-- Background deletion of user accounts.
-- Better support for HTTP basic authentication with CGI/FastCGI
-- Better discovery on OStatus
-- Support for PuSH-enabled RSS 2.0 feeds
-- OpenID-only mode
-- OpenID blacklist/whitelist
-- OStatus unit tests
-
-A full changelog is available at http://status.net/wiki/StatusNet_0.9.1.
+- OpenID and OAuth libraries patched for potential timing attack
+- OStatus feed i/o updated for Activity Streams
+- Correctness fixes on XRD, other discovery bits
+- Support for contacting SNI-based SSL virtual hosts when SSL
+ certificate verification is enabled (requires PHP 5.3.2+ or
+ enabling CURL backend with $config['http']['curl'] = true)
+- Experimental SubMirror plugin
+- Multi-site status_network table mode has been tweaked to support
+ multiple tags better
+- Many updates to user interface translation from TranslateWiki
+- Many other bugfixes
+
+A full changelog is available at http://status.net/wiki/StatusNet_0.9.4.
Prerequisites
=============
- PHP 5.2.3+. It may be possible to run this software on earlier
versions of PHP, but many of the functions used are only available
in PHP 5.2 or above. 5.2.6 or later is needed for XMPP background
- daemons on 64-bit platforms. PHP 5.3.x should work but is known
- to cause some failures for OpenID.
+ daemons on 64-bit platforms. PHP 5.3.x should work correctly in this
+ release, but problems with some plugins are possible.
- MySQL 5.x. The StatusNet database is stored, by default, in a MySQL
server. It has been primarily tested on 5.x servers, although it may
be possible to install on earlier (or later!) versions. The server
- MySQL. For accessing the database.
- GD. For scaling down avatar images.
- mbstring. For handling Unicode (UTF-8) encoded strings.
-- gettext. For multiple languages. Default on many PHP installs.
For some functionality, you will also need the following extensions:
Sphinx server to serve the search queries.
- bcmath or gmp. For Salmon signatures (part of OStatus). Needed
if you have OStatus configured.
+- gettext. For multiple languages. Default on many PHP installs;
+ will be emulated if not present.
You will almost definitely get 2-3 times better performance from your
site if you install a PHP bytecode cache/accelerator. Some well-known
1. Unpack the tarball you downloaded on your Web server. Usually a
command like this will work:
- tar zxf statusnet-0.9.1.tar.gz
+ tar zxf statusnet-0.9.4.tar.gz
- ...which will make a statusnet-0.9.1 subdirectory in your current
+ ...which will make a statusnet-0.9.2 subdirectory in your current
directory. (If you don't have shell access on your Web server, you
may have to unpack the tarball on your local computer and FTP the
files to the server.)
2. Move the tarball to a directory of your choosing in your Web root
directory. Usually something like this will work:
- mv statusnet-0.9.1 /var/www/statusnet
+ mv statusnet-0.9.4 /var/www/statusnet
This will make your StatusNet instance available in the statusnet path of
your server, like "http://example.net/statusnet". "microblog" or
If you've been using StatusNet 0.7, 0.6, 0.5 or lower, or if you've
been tracking the "git" version of the software, you will probably
want to upgrade and keep your existing data. There is no automated
-upgrade procedure in StatusNet 0.9.1. Try these step-by-step
+upgrade procedure in StatusNet 0.9.2. Try these step-by-step
instructions; read to the end first before trying them.
0. Download StatusNet and set up all the prerequisites as if you were
5. Once all writing processes to your site are turned off, make a
final backup of the Web directory and database.
6. Move your StatusNet directory to a backup spot, like "statusnet.bak".
-7. Unpack your StatusNet 0.9.1 tarball and move it to "statusnet" or
+7. Unpack your StatusNet 0.9.2 tarball and move it to "statusnet" or
wherever your code used to be.
8. Copy the config.php file and avatar directory from your old
directory to your new directory.
parameters correctly so that both the SSL server and the
"normal" server can access the session cookie and
preferably other cookies as well.
-shorturllength: Length of URL at which URLs in a message exceeding 140
- characters will be sent to the user's chosen
- shortening service.
+shorturllength: ignored. See 'url' section below.
dupelimit: minimum time allowed for one person to say the same thing
twice. Default 60s. Anything lower is considered a user
or UI error.
to null.
stomp_persistent: keep items across queue server restart, if enabled.
+ Under ActiveMQ, the server configuration determines if and how
+ persistent storage is actually saved.
+
+ If using a message queue server other than ActiveMQ, you may
+ need to disable this if it does not support persistence.
+
+stomp_transactions: use transactions to aid in error detection.
+ A broken transaction will be seen quickly, allowing a message
+ to be redelivered immediately if a daemon crashes.
+
+ If using a message queue server other than ActiveMQ, you may
+ need to disable this if it does not support transactions.
+
+stomp_acks: send acknowledgements to aid in flow control.
+ An acknowledgement of successful processing tells the server
+ we're ready for more and can help keep things moving smoothly.
+
+ This should *not* be turned off when running with ActiveMQ, but
+ if using another message queue server that does not support
+ acknowledgements you might need to disable this.
softlimit: an absolute or relative "soft memory limit"; daemons will
restart themselves gracefully when they find they've hit
'search', 'message', 'settings', 'admin'. Ignored when site
is private, in which case the entire site ('/') is disallowed.
+url
+---
+
+Everybody loves URL shorteners. These are some options for fine-tuning
+how and when the server shortens URLs.
+
+shortener: URL shortening service to use by default. Users can override
+ individually. 'ur1.ca' by default.
+maxlength: If an URL is strictly longer than this limit, it will be
+ shortened. Note that the URL shortener service may return an
+ URL longer than this limit. Defaults to 25. Users can
+ override. If set to 0, all URLs will be shortened.
+maxnoticelength: If a notice is strictly longer than this limit, all
+ URLs in the notice will be shortened. Users can override.
+ -1 means the text limit for notices.
+
Plugins
=======
T_STRING") in the browser, check to see that you don't have any
conflicts in your code.
-If you upgraded to StatusNet 0.9.1 without reading the "Notice
+If you upgraded to StatusNet 0.9.2 without reading the "Notice
inboxes" section above, and all your users' 'Personal' tabs are empty,
read the "Notice inboxes" section above.