Merge branch 'master' into 0.9.x

This commit is contained in:
Evan Prodromou 2009-12-22 22:12:15 -08:00
commit 185e229f79
5 changed files with 112 additions and 83 deletions

176
README
View File

@ -2,8 +2,8 @@
README README
------ ------
StatusNet 0.8.2 ("Life and How to Live It") StatusNet 0.9.0 ("Stand") Release Candidate 2
1 Nov 2009 22 Dec 2009
This is the README file for StatusNet (formerly Laconica), the Open This is the README file for StatusNet (formerly Laconica), the Open
Source microblogging platform. It includes installation instructions, Source microblogging platform. It includes installation instructions,
@ -16,10 +16,10 @@ About
StatusNet (formerly Laconica) is a Free and Open Source microblogging StatusNet (formerly Laconica) is a Free and Open Source microblogging
platform. It helps people in a community, company or group to exchange platform. It helps people in a community, company or group to exchange
short (140 character) messages over the Web. Users can choose which short (140 characters, by default) messages over the Web. Users can
people to "follow" and receive only their friends' or colleagues' choose which people to "follow" and receive only their friends' or
status messages. It provides a similar service to sites like Twitter, colleagues' status messages. It provides a similar service to sites
Jaiku, Yammer, and Plurk. like Twitter, Jaiku, Yammer, and Plurk.
With a little work, status messages can be sent to mobile phones, With a little work, status messages can be sent to mobile phones,
instant messenger programs (GTalk/Jabber), and specially-designed instant messenger programs (GTalk/Jabber), and specially-designed
@ -77,81 +77,96 @@ for additional terms.
New this version New this version
================ ================
This is a minor feature and bugfix release since version 0.8.1, This is a major feature release since version 0.8.2, released Nov 1 2009.
released Aug 26 2009. Notable changes this version: Notable changes this version:
- New script for deleting user accounts. Not particularly safe or - Records of deleted notices are stored without the notice content.
community-friendly. Better for deleting abusive accounts than for - Much of the optional core featureset has been moved to plugins.
users who are 'retiring'. - OpenID support moved from core to a plugin. Helps test the strength of
- Improved detection of URLs in notices, specifically for punctuation our plugin architecture and makes it easy to disable this
chars like ~, :, $, _, -, +, !, @, and %. functionality for e.g. intranet sites.
- Removed some extra <dl> semantic HTML code. - Many additional hook events (see EVENTS.txt for details).
- Correct error in status-network database ini file (having multiple - OMB 0.1 support re-implemented using libomb.
statusnet sites with a single codebase) - Re-structure database so notices, messages, bios and group
- Fixed error output for Twitter posting failures. descriptions can be over 140 characters. Limit defined by
- Fixed bug in Twitter queue handler that requeued inapplicable site administrator as configuration option; can be unlimited.
notices ad infinitum. - Configuration data now optionally stored in the database, which
- Improve FOAF output for remote users. overrides any settings in config files.
- new commands to join and leave groups. - Twitter integration re-implemented as a plugin.
- Fixed bug in which you cannot turn off importing friends timelines - Facebook integration re-implemented as a plugin.
flag. - Role-based authorization framework. Users can have named roles, and
- Better error handling in Twitter posting. roles can have rights (e.g., to delete notices, change configuration
- Show oEmbed data for XHTML files as well as plain HTML. data, or ban uncooperative users). Default roles 'admin' (for
- Updated bug database link in README. configuration) and 'moderator' (for community management) added.
- add support for HTTP Basic Auth in PHP CGI or FastCGI (e.g. GoDaddy). - Plugin for PubSubHubBub (PuSH) support.
- autofocus input to selected entry elements depending on page. - Considerable code style cleanup to meet PEAR code standards.
- updated layout for filter-by-tag form. - Made a common library for HTTP-client access which uses available
- better layout for inbox and outbox pages. HTTP libraries where possible.
- fix highlighting search terms in attributes of notice list elements. - Added statuses/home_timeline method to API.
- Correctly handle errors in linkback plugin. - Hooks for plugins to handle notices offline, either by defining
- Updated biz theme. their own queue handler scripts or to use a default plugin queue
- Updated cloudy theme. handler script.
- Don't match '::' as an IPv6 address. - Plugins can now modify the database schema, adding their own tables
- Use the same decision logic for deciding whether to mark an or modifying existing ones.
attachment as an enclosure in RSS or as a paperclip item in Web - Groups API.
output. - Twitter API supports Web caching for some methods.
- Fixed a bug in the Piwik plugin that hard-coded the site ID. - Twitter API refactored into one-action-per-method.
- Add a param, inreplyto, to notice/new to allow an explicit response - Realtime plugin supports a tear-off window.
to another notice. - FOAF for groups.
- Show username in subject of emails. - Moved all JavaScript tags to just before </body> by default,
- Check if avatar exists before trying to delete it. significantly speeding up apparent page load time.
- Correctly add omb_version to response for request token in OMB. - Added a Realtime plugin for Orbited server.
- Add a few more SMS carriers. - Added a mobile plugin to give a more mobile-phone-friendly layout
- Add a few more notice sources. when a mobile browser is detected.
- Vary: header. - Use CSS sprites for most common icons.
- Improvements to the AutoCompletePlugin. - Fixes for images and buttons on Web output.
- Check for 'dl' before using it. - New plugin requires that users validate their email before posting.
- Make it impossible to delete self-subscriptions via the API. - New plugin UserFlag lets users flag other profiles for review.
- Fix pagination of tagged user pages. - Considerably better i18n support. Use TranslateWiki to update
- Make PiwikAnalyticsPlugin work with addPlugin(). translations.
- Removed trailing single space in user nicknames in notice lists. - Notices and profiles now store location information.
- Show context link if a notice starts a conversation. - New plugin, Geonames, for turning location names and lat/long pairs
- blacklist all files and directories in install dir. into structured IDs and vice versa. Architecture reusable for other
- handle GoDaddy-style PATH_INFO, including script name. systems.
- add home_timeline synonym for friends_timeline. - Better check of license compatibility between site licenses.
- Add a popup window for the realtime plugin. - Some improvements in XMPP output.
- Add some more streams for the realtime plugin. - Media upload in the API.
- Fix a bug that overwrote group creation timestamp on every edit. - Replies appear in the user's inbox.
- Moved HTTP error code strings to a class variable. - Improved the UI on the bookmarklet.
- The Twitter API now returns server errors in the correct format. - StatusNet identities can be used as OpenID identities.
- Reset the doctype for HTML output. - Script to register a user.
- Fixed a number of notices. - Script to make someone a group admin.
- Don't show search suggestions for private sites. - Script to make someone a site admin or moderator.
- Some corrections to FBConnect nav overrides. - 'login' command.
- Slightly less database-intensive session management. - Pluggable authentication.
- Updated name of software in installer script. - LDAP authentication plugin.
- Include long-form attachment URLs if url-shortener is disabled. - Script for console interaction with the site (!).
- Include updated localisations for Polish, Greek, Hebrew, Icelandic, - Users don't see group posts from people they've blocked.
Norwegian, and Chinese. - Admin panel interface for changing site configuration.
- Include upstream fixes to gettext.php. - Users can be sandboxed (limited contributions) or silenced
- Correct for regression in Facebook API for updates. (no contributions) by moderators.
- Ignore "Sent from my iPhone" (and similar) in mail updates. - Many changes to make language usage more consistent.
- Use the NICKNAME_FMT constant for detecting nicknames. - Sphinx search moved to a plugin.
- Check for site servername config'd. - GeoURL plugin.
- Compatibility fix for empty status updates with Twitter API. - Profile and group lists support hAtom.
- Option to show files privately (EXPERIMENTAL! Use with caution.) - Massive refactoring of util.js.
- a script to register a new user. - Mapstraction plugin to show maps on inbox and profile pages.
- a script to make a user admin of a group. - Play/pause buttons for realtime notices.
- Support for geo microformat.
- Partial support for feed subscriptions, RSSCloud, PubSubHubBub.
- Support for geolocation in browser (Chrome, Firefox).
- Quit trying to negotiate HTML format. Always use text/html.
We lose, and so do Web standards. Boo.
- Better logging of request info.
- Better output for errors in Web interface.
- No longer store .mo files; these need to be generated.
- Minify plugin.
- Events to allow pluginizing logger.
- New framework for plugin localization.
- Gravatar plugin.
- Add support for "repeats" (similar to Twitter's "retweets").
- Support for repeats in Twitter API.
- Better notification of direct messages.
Prerequisites Prerequisites
============= =============
@ -1596,6 +1611,7 @@ if anyone's been overlooked in error.
* Federico Marani * Federico Marani
* Craig Andrews * Craig Andrews
* mEDI * mEDI
* Brett Taylor
Thanks also to the developers of our upstream library code and to the Thanks also to the developers of our upstream library code and to the
thousands of people who have tried out Identi.ca, installed StatusNet, thousands of people who have tried out Identi.ca, installed StatusNet,

View File

@ -169,6 +169,14 @@ class NewnoticeAction extends Action
$location_id = $this->trimmed('location_id'); $location_id = $this->trimmed('location_id');
$location_ns = $this->trimmed('location_ns'); $location_ns = $this->trimmed('location_ns');
if (!empty($lat) && !empty($lon) && empty($location_id)) {
$location = Location::fromLatLon($lat, $lon);
if (!empty($location)) {
$location_id = $location->location_id;
$location_ns = $location->location_ns;
}
}
$upload = null; $upload = null;
$upload = MediaFile::fromUpload('attach'); $upload = MediaFile::fromUpload('attach');

View File

@ -107,6 +107,11 @@ class Memcached_DataObject extends DB_DataObject
} }
static function cacheKey($cls, $k, $v) { static function cacheKey($cls, $k, $v) {
if (is_object($cls) || is_object($j) || is_object($v)) {
$e = new Exception();
common_log(LOG_ERR, __METHOD__ . ' object in param: ' .
str_replace("\n", " ", $e->getTraceAsString()));
}
return common_cache_key(strtolower($cls).':'.$k.':'.$v); return common_cache_key(strtolower($cls).':'.$k.':'.$v);
} }

View File

@ -543,7 +543,7 @@ class User extends Memcached_DataObject
// NOTE: we sort by fave time, not by notice time! // NOTE: we sort by fave time, not by notice time!
$qry .= 'ORDER BY notice.id DESC '; $qry .= 'ORDER BY notice_id DESC ';
if (!is_null($offset)) { if (!is_null($offset)) {
$qry .= "LIMIT $limit OFFSET $offset"; $qry .= "LIMIT $limit OFFSET $offset";

View File

@ -22,7 +22,7 @@ if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); }
//exit with 200 response, if this is checking fancy from the installer //exit with 200 response, if this is checking fancy from the installer
if (isset($_REQUEST['p']) && $_REQUEST['p'] == 'check-fancy') { exit; } if (isset($_REQUEST['p']) && $_REQUEST['p'] == 'check-fancy') { exit; }
define('STATUSNET_VERSION', '0.9.0rc1'); define('STATUSNET_VERSION', '0.9.0rc2');
define('LACONICA_VERSION', STATUSNET_VERSION); // compatibility define('LACONICA_VERSION', STATUSNET_VERSION); // compatibility
define('STATUSNET_CODENAME', 'Stand'); define('STATUSNET_CODENAME', 'Stand');