Since updating jQuery, the library has new behavior for deep serializing
objects and arrays. This old code accidentally passed in an array, which
triggered the new serialization code. The old code was taking advantage
of the older shallow jQuery parameter serialization, which calls
toString(), combined with the fact that singleton Arrays in JS stringify
into their first item stringified.
* Fixes app segfaults when memcache not available.
* Remove "time" parameter from r2.lib.cache.CMemcache.delete_multi
since it never worked anyway and was removed from pylibmc.
previously, comment permalinks in xml feeds were missing the scheme and
authority segments (protocol and hostname). this caused problems with
feed readers and other programs that expected to encounter a valid URI.
* Show "this post is archived" message for things we won't allow votes on.
* Don't mark messages read when pulled via RSS
* Make compact (smartphone) interface respect user's toolbar
* preferences.
* Make mobile interface more friendly for kindles.
* Fix bug that caused comment tree corruption.
* Use cachebuster on traffic pixel for more accurate tracking.
* Make apps restart themselves after a configurable number of requests.
* Move to pycassa 1.0.8.
* Fix bug in calculations for "best" sort.
* Fixes for Firefox Mobile
* Add a global flag to disable editing of the wiki.
* Move the child-comment collapse button to the left.
* Updated list of disallows in robots.txt to save needless hits from
crawlers.
* Fix vote_q by splitting it into vote_link_q and vote_comment_q.
* Fix bug where /reddits crashes due to 'promos' subreddit.
* Upgrade discount to 1.6.8
* Start reading Votes, Saves, and Hides from Cassandra (while still dual-writing all three)
* Some XSS fixes
* Significant Gold buying and gifting improvements
- Move /api/ipn to /ipn
* Allow non-US countries to buy sponsored links
* Increase embed.ly scope
* redd.it support
* Allow postgres port number to be specified in ini file (this changes the format of the .ini file)
* Upgrade Cassandra to 0.7
- Change g.urlcache to LinksByURL
- Translate storage-conf.xml to cassandra.yaml
- TTL support (and enable on Hides)
- Move permacache keyspace to inside reddit keyspace
* The stalecache: a local memcached that contains slightly old information to speed up some lookups
* Switch to patched Paste that is hopefully download.gz-proof
* Don't store votes on things > 30 days old
* Many many bugfixes/small features
* Add a new Cassandra CF for comment-sort caching
* Add JSONP support
* Support non-auto-renewing PayPal IPNs
* Gold accounting
* Gold features: comments tracking, larger comment limit
* Autorenewing gold
* Google checkout support
* Profile-page sorting for all
* Title-text on the logo
* Hardcache sharding and profiling
* Self serve enhancements
* Add /r/foo/faq
* Make self-centred reddits allow for more verbose selftext
* Much better down-handling of databases
* Add the ability to take a thread-dump from a running process
* Remove the comscore tracker
* Add comments to modqueue (does not back-populate)
* Use Flaptor's Indextank product for search, including santip's patch
* for their new API
* Add Cassandra ConsistencyLevels to the ini file, and storage-conf.xml
* to the public repo
* Patch contributed by umbrae in ticket #929: Add jumpToContent support
* for Keyboard Accessibility
* reddit gold
- paypal/postcard support
- friends with benefits
- profile-page sorting for gold members
- move domain listings into the permacache
* no-repeat on some background images in the sprite (#797)
* fix deleted comments on the mobile site -- preserve author anonymity (#624
* faulty permalinks on pages with all unicode title (#776)
* no more spreadshirt
* reorganize comment_tree and _builder.pyx to clean up cache handling
* fix styling for Bug #78
* Improve handling of /r/all+all (bug #699), etc (not always a 400 now)
* Fix the time listings: sometimes we get passed unicode for self.time
* Don't allow private reddits to show in /r/random
* Try to allow remote sites to show their own favicons in the reddit
toolbar
Speed improvements:
* CommentBuilder refactor rount 1:
* create new sort and parent permacache entries so that we don't need to loa
* update sorts and parents when a new comment comes in
* update non-date sorts when a new comment vote comes in
* add more trace info to timeouts in CommentBuilder
* Some misc. performance hacks (incl. adding _utils.pyx)
* Increase SR description box limit from 1k to 5k
* Fix a bug where we weren't properly allowing hidden items to be hidden
on time-filtered listings
* Make Subreddit._by_name take a list of names like byID
* Upload thumbs to S3 with reduced_redundancy==True
* make rss feeds without a 'feed' get parameter act as if the user is not logged in
* Require a boto that knows about reduced_redundancy
* remove fast_queries from Message.add_props and put the onus on fetching the unread messages from the permacache
* Store the list of popular subreddits in the permacache
* make SubredditTopBar cacheable per-user.
* add (as safe as we can make it) annotation for sql selects to track down requests hitting the db when they shouldn't be.
User submitted features:
* Merge and clean up Phire's selfs-only/no-selfs patch.
* Don't show expired items on time-filtered controversy listings
* Also add the 'hide' button to the toolbar just for breakneckridge.
Next time someone calls me prickly, breakneckridge had better step
up to the plate for me or I'm rolling it back.
====
* Uninstall the python Cassandra package that we previously depended on (it has a namespace conflict with the new package we depend on). To find it:
$ python -c "import cassandra; print cassandra.__file__"
and rm -r the .egg directory after "site-packages/"
* This version relies on cython, so if "make" fails, you may have to install cython via your distro's package manager.
$ cd reddit/r2
$ python setup.py develop # possibly with "sudo" depending on your install
$ make
* Cassandra is now required for the caching layer. An example storage-conf.xml can be found in reddit/srv/cassandra. Make sure that the additional <Keyspace> items are included in your conf file.
* remove the query_queue_reader services if they are running. add new gen_time_listings.sh instead. Suggested cron:
0 */2 * * * $SCRIPTS/gen_time_listings.sh year '("month","year")'
*/5 * * * * $SCRIPTS/gen_time_listings.sh week '("day","week")'
* * * * * $SCRIPTS/gen_time_listings.sh hour '("hour",)'
where $SCRIPTS is the location of this script directory
Features and Bugfixes
====
* Mobile reddit:
* templates are in r2/templates of the form *.compact
* css is r2/public/static/css/compact.css
* beginning of a sass-based (http://sass-lang.com/) compact.scss
* reachable via .compact extension or from the "i" subdomain.
* Cassandra is now *required*, and votes are currently written out to both cassandra and postgres (part of an eventual migration).
* attempt to make the db connection code a little smarter.
* A dropped DB connection will mark the connection dead and randomly attempt to reconnect.
* A dropped db connection on start will permanently mark the connection as dead.
* Calculate the time-filtered top/controversy listings using mapreduce instead of prec_links (new cron job in reddit/scripts)
* allow default user/pass for database to be specified with '*' to fallback on db_user and db_pass in the INI file
* Search feedback buttons
* make deleted comments not show up in your inbox.
* move last_visited into cassandra
* Swallow rare, race-conditiony POST_save/hide/subscribe problems
* Apparently we haven't been breaking properly for the past few weeks.
* The error pages have been broken for the past week.
* Fix /r/all+all
* Provides about.json to the api for subreddits (it already works for users)
* Make sure Accounts have data before checking their name and msgtime
* new bigger arrows for mobile site and a the alien is fingerless now
* Try to update the _fast_query_timestamps less often to alleviate some of the load it causes on the Accounts DB
* Swallow rare, race-conditiony POST_save/hide/subscribe problems
* bugfixes in unicode handling
* Nag nonparticpating jurors 20% of the time
* fix thumbnails for sponsored links
* non admins can't change the thumb of a live link
* the uploader updates the status properly to 'saved'