- Refactored config/ directory #4145.
- Don't use Pathname early to circumvent some rare initialization errors #3816
- Don't error out in script/server if git is unavailable.
- Regression fix: 500 for deleted reshares introduced by the locator
- Federate locations
Replaced Resque with Sidekiq - Migration guide - #3993
We replaced our queue system with Sidekiq. You might know that Resque needs Redis. Sidekiq does too, so don't remove it, it's still required. Sidekiq uses a threaded model so you'll need far less processes than with Resque to do the same amount of work.
To update do the following:
-
Before updating (even before the
git pull
!) stop your application server (Unicorn by default, started through Foreman). -
In case you did already run
git pull
checkout v0.0.3.4:git fetch origin git checkout v0.0.3.4 bundle
-
Start Resque web (you'll need temporary access to port 5678, check your Firewall if needed!):
bundle exec resque-web
In case you need it you can adjust the port with the
-p
flag. -
One last time, start a Resque worker:
RAILS_ENV=production QUEUE=* bundle exec rake resque:work
Visit Resque web via http://your_host:5678, wait until all queues but the failed one are empty (show 0 jobs).
-
Kill the Resque worker by hitting Ctrl+C. Kill Resque web with:
bundle exec resque-web -k
Don't forget to close the port on the Firewall again, if you had to open it.
-
In case you needed to do step 2., run:
git checkout master bundle
-
Proceed with the update as normal (migrate database, precompile assets).
-
Before starting Diaspora again ensure that you reviewed the new
environment.sidekiq
section inconfig/diaspora.yml.example
and, if wanted, transfered it to yourconfig/diaspora.yml
and made any needed changes. In particular increase theenvironment.sidekiq.concurrency
setting on any medium sized pod. If you do change that value, edit yourconfig/database.yml
and add a matchingpool: n
to your database configuration. n should be equal or higher than the amount of threads per Sidekiq worker. This sets how many concurrent connections to the database ActiveRecord allows.
If you aren't using script/server
but for example passenger, you no
longer need to start a Resque worker, but a Sidekiq worker now. The
command for that is:
bundle exec sidekiq
The only gotcha for Heroku single gear setups is that the setting name to spawn a background worker from the unicorn process changed. Run
heroku config:remove SERVER_EMBED_RESQUE_WORKER
heroku config:set SERVER_EMBED_SIDEKIQ_WORKER=true
We're automatically adjusting the ActiveRecord connection pool size for you.
Larger Heroku setups should have enough expertise to figure out what to do by them self.
The Capistrano deployment scripts were removed from the main source code repository, since they were no longer working. They will be moved into their own repository with a new maintainer, you'll be able to find them under the Diaspora* Github organization once everything is set up.
- Cleaned up requires of our own libraries #3993
- Refactor people_controller#show and photos_controller#index #4002
- Modularize layout #3944
- Add header to the sign up page #3944
- Add a configuration entry to set max-age header to Amazon S3 resources. #4048
- Load images via sprites #4039
- Delete unnecessary javascript views. #4059
- Cleanup of script/server
- Attempt to stabilize federation of attached photos (fix #3033 #3940
- Refactor develop install script #4111
- Remove special hacks for supporting Ruby 1.8 [#4113] (diaspora#4139)
- Moved custom oEmbed providers to config/oembed_providers.yml #4131
- Add specs for Post#find_by_guid_or_id_with_user
- Fix mass aspect selection #4127
- Fix posting functionality on tags show view #4112
- Fix cancel button on getting_started confirmation box #4073
- Reset comment box height after posting a comment. #4030
- Fade long tag names. #3899
- Avoid posting empty comments. #3836
- Delegate parent_author to the target of a RelayableRetraction
- Do not fail on receiving a SignedRetraction via the public route
- Pass the real values to stderr_path and stdout_path in unicorn.rb since it runs a case statement on them.
- Decode tag name before passing it into a TagFollowingAction #4027
- Fix reshares in single post-view #4056
- Fix mobile view of deleted reshares. #4063
- Hide comment button in the mobile view when not signed in. #4065
- Send profile alongside notification [#3976] (diaspora#3976)
- Fix off-center close button image on intro popovers #3841
- Remove unnecessary dotted CSS borders. #2940
- Fix default image url in profiles table. #3795
- Fix mobile buttons are only clickable when scrolled to the top. #4102
- Fix regression in bookmarklet causing uneditable post contents. #4057
- Redirect all mixed case tags to the lower case equivalents #4058
- Fix wrong message on infinite scroll on contacts page #3681
- My Activity mobile doesn't show second page when clicking "more". #4109
- Remove unnecessary navigation bar to access mobile site and re-add flash warning to mobile registrations. #4085
- Fix broken reactions link on mobile page #4125
- Missing translation "Back to top". #4138
- Fix preview with locator feature. #4147
- Fix mentions at end of post. #3746
- Fix missing indent to correct logged-out-header container relative positioning #4134
- Private post dont show error 404 when you are not authorized on mobile page #4129
- Show 404 instead of 500 if a not signed in user wants to see a non public or non existing post.
- Deleting a post that was shared to Facebook now deletes it from Facebook too #3980
- Include reshares in a users public atom feed #1781
- Add the ability to upload photos from the mobile site. #4004
- Show timestamp when hovering on comment time-ago string. #4042
- If sharing a post with photos to Facebook, always include URL to post #3706
- Add possibiltiy to upload multiple photos from mobile. #4067
- Add hotkeys to navigate in stream #4089
- Add a brief explanatory text about external services connections to services index page #3064
- Add a preview for posts in the stream #4099
- Add shortcut key Shift to submit comments and publish posts. #4096
- Show the service username in a tooltip next to the publisher icons #4126
- Ability to add location when creating a post #3803
- Added oEmbed provider for MixCloud. #4131
- Dropped everything related to Capistrano in preparation for maintaining it in a separate repository
- Replaced Resque with Sidekiq, see above. Added Sinatra and Slim for the Sidekiq Monitor interface
- Added sinon-rails, compass-rails
- acts-as-taggable-on 2.3.3 -> 2.4.0
- addressable 2.3.2 -> 2.3.4
- client_side_validations 3.2.1 -> 3.2.5
- configurate 0.0.2 -> 0.0.7
- cucumber-rails 1.3.0 -> 1.3.1
- faraday 0.8.5 -> 0.8.7
- fog 1.9.0 -> 1.10.1
- foreigner 1.3.0 -> 1.4.1
- foreman 0.61 -> 0.62
- gon 4.0.2 -> 4.1.0
- guard 1.6.2 -> 1.7.0
- guard-cucumber 1.3.2 -> 1.4.0
- guard-rspec 2.4.0 -> 2.5.3
- guard-spork 1.4.2 -> 1.5.0
- haml 4.0.0 -> 4.0.2
- handlebars_assets 0.11.0 -> 0.1.2.0
- jasmine 1.3.1 -> 1.3.2
- nokogiri 1.5.6 -> 1.5.9
- oauth2 0.8.0 -> 0.8.1
- omniauth 1.1.3 -> 1.1.4
- omniauth-twitter 0.0.14 -> 0.0.16
- pg 0.14.1 -> 0.15.1
- rack-piwik 0.1.3 -> 0.2.2
- rails-i18n 0.7.2 -> 0.7.3
- rails_admin 0.4.5 -> 0.4.7
- roxml git release -> 3.1.6
- rspec-rails 2.12.2 -> 2.13.0
- safe_yaml 0.8.0 -> 0.9.1
- selenium-webdriver 2.29.0 -> 2.32.1
- timecop 0.5.9.2 -> 0.6.1
- twitter 4.5.0 -> 4.6.2
- uglifier 1.3.0 -> 2.0.1
- unicorn 4.6.0 -> 4.6.2
- Bump Rails to 3.2.13, fixes CVE-2013-1854, CVE-2013-1855, CVE-2013-1856 and CVE-2013-1857. Read more
- Switch Gemfile source to https to be compatible with bundler 1.3
- Fix XSS vulnerability in conversations#new #4010
- exec foreman in ./script/server to replace the process so that we can Ctrl+C it again.
- Include our custom fileuploader on the mobile site too. #3994
- Move custom splash page logic into the controller #3991
- Fixed removing images from publisher on the profile and tags pages. #3995
- Wrap text if too long in mobile notifications. #3990
- Sort tag followings alphabetically, not in reverse #3986
- Removed unused stuff #3714, #3754
- Last post link isn't displayed anymore if there are no visible posts #3750
- Ported tag followings to backbone #3713, #3775
- Extracted configuration system to a gem.
- Made number of unicorn workers configurable.
- Made loading of the configuration environment independent of Rails.
- Do not generate paths like
/a/b/c/config/boot.rb/../../Gemfile
to require and open things, create a proper path instead. - Remove the hack for loading the entire lib folder with a proper solution. #3809
- Update and refactor the default public view
public/default.html
#3811 - Write unicorn stderr and stdout #3785
- Ported aspects to backbone #3850
- Join tagging's table instead of tags to improve a bit the query #3932
- Refactor contacts/index view #3937
- Ported aspect membership dropdown to backbone #3864
- Updates to oEmbed, added new providers and fixed photo display. #3880
- Add 'screenshot tool' for taking before/after images of stylesheet changes. #3797
- Add possibility to contact the administrator. #3792
- Add simple background for unread messages/conversations mobile. #3724
- Add flash warning to conversation mobile, unification of flash warning with login and register mobile, and add support for flash warning to Opera browser. #3686
- Add progress percentage to upload images. #3740
- Mark all unread post-related notifications as read, if one of this gets opened. #3787
- Add flash-notice when sending messages to non-contacts. #3723
- Re-add hovercards #3802
- Add images to notifications #3821
- Show pod version in footer and updated the link to the changelog #3822
- Footer links moved to sidebar #3827
- Changelog now points to correct revision if possible #3921
- User interface enhancements #3832, #3839, #3834, #3840, #3846, #3851, #3828, #3874, #3806, #3906.
- Add settings web mobile. #3701
- Stream form on profile page #3910.
- Add Getting_Started page mobile. #3949.
- Autoscroll to the first unread message in conversations. #3216
- Friendlier new-conversation mobile. #3984
- Force Typhoeus/cURL to use the CA bundle we query via the config. Also add a setting for extra verbose output.
- Validate input on sending invitations, validate email format, send correct ones. #3748, #3271
- moved Aspects JS initializer to the correct place so aspect selection / deselection works again. #3737
- Do not strip "markdown" in links when posting to services. #3765
- Renamed
server.db
toserver.database
to match the example configuration. - Fix insecure image of cat on user edit page - New photo courtesy of khanb1 on flickr under CC BY 2.0.
- Allow translation of "suggest member" of Community Spotlight. #3791
- Resize deletelabel and ignoreuser images to align them. #3779
- Patch in Armenian pluralization rule until CLDR provides it.
- Fix reshare a post multiple times. #3831
- Fix services index view. #3884
- Excessive padding with "user-controls" in single post view. #3861
- Resize full scaled image to a specific width. #3818
- Fix translation issue in contacts_helper #3937
- Show timestamp hovering a timeago string (stream) #3149
- Fix reshare and like a post on a single post view #3672
- Fix posting multiple times the same content #3272
- Excessive padding with select aspect in mobile publisher. #3951
- Adapt css for search mobile page. #3953
- Twitter/Facebook/Tumblr count down characters is hidden by the picture of the post. #3963
- Buttons on mobile are hard to click on. #3973
- RTL-language characters in usernames no longer overlay post dates #2339
- Overflow info author mobile web. #3983
- Overflow name author mobile post. #3981
- Removed
debugger
since it was causing bundle problems, and is not necessary given 1.9.3 has a built-in debugger. - dropped unnecessary fastercsv
- markerb switched from git release to 1.0.1
- added rmagick as development dependency for making screenshot comparisons
- jasmine 1.2.1 -> 1.3.1 (+ remove useless spec)
- activerecord-import 0.2.11 -> 0.3.1
- asset_sync 0.5.0 -> 0.5.4
- bootstap-sass 2.1.1.0 -> 2.2.2.0
- carrierwave 0.7.1 -> 0.8.0
- configurate 0.0.1 -> 0.0.2
- factory_girl_rails 4.1.0 -> 4.2.0
- faraday 0.8.4 -> 0.8.5
- ffi 1.1.5 -> 1.4.0
- fixture_builder 0.3.4 -> 0.3.5
- fog 1.6.0 -> 1.9.0
- foreigner 1.2.1 -> 1.3.0
- foreman 0.60.2 -> 0.61
- gon 4.0.1 -> 4.0.2
- guard 1.5.4 -> 1.6.2
- guard-cucumber 1.2.2 -> 1.3.2
- guard-rspec 2.1.1 -> 2.4.0
- guard-spork 1.2.3 -> 1.4.2
- rb-fsevent 0.9.2 -> 0.9.3
- rb-inotify 0.8.8 -> 0.9.0
- haml 3.1.7 -> 4.0.0
- handlebars_assets 0.6.6 -> 0.11.0
- jquery-rails 2.1.3 -> 2.1.4
- jquery-ui-rails 2.0.2 -> 3.0.1
- mini_magick 3.4 -> 3.5.0
- mobile-fu 1.1.0 -> 1.1.1
- multi_json 1.5.1 -> 1.6.1
- nokogiri 1.5.5 -> 1.5.6
- omniauth 1.1.1 -> 1.1.3
- omniauth-twitter 0.0.13 -> 0.0.14
- rack-ssl 1.3.2 -> 1.3.3
- rack-rewrite 1.3.1 -> 1.3.3
- rails-i18n 0.7.0 -> 0.7.2
- rails_admin 0.2.0 -> 0.4.5
- remotipart 1.0.2 -> 1.0.5
- ruby-oembed 0.8.7 -> 0.8.8
- rspec 2.11.0 -> 2.12.0
- rspec-rails 2.11.4 -> 2.12.2
- sass-rails 3.2.5 -> 3.2.6
- selenium-webdriver 2.26.0 -> 2.29.0
- timecop 0.5.3 -> 0.5.9.2
- twitter 4.2.0 -> 4.5.0
- unicorn 4.4.0 -> 4.6.0
- will_paginate 3.0.3 -> 3.0.4
- Fix CVE-2013-0269 by updating the gems json to 1.7.7 and multi_json to 1.5.1. Read more
- Additionally ensure can't affect us by bumping Rails to 3.2.12. Read more
- And exclude CVE-2013-0262 and CVE-2013-0263 by updating rack to 1.4.5.
- Fix XSS vulnerabilities caused by not escaping a users name fields when loading it from JSON. #3948
- Upgrade to Devise 2.1.3 Read more
- Upgrade to Rails 3.2.11 (CVE-2012-0155, CVE-2012-0156). Read more
- Upgrade to Rails 3.2.10 as per CVE-2012-5664. Read more
- Uses foreman now
- Reduce startup time by reducing calls to
script/get_config.rb
config/script_server.yml
is removed and replaced by theserver
section inconfig/diaspora.yml
Have a look at the updated example!- Thin is dropped in favour of unicorn
- Already set versions of
RAILS_ENV
andDB
are now prefered over those set inconfig/diaspora.yml
- Heroku setups:
ENVIRONMENT_UNICORN_EMBED_RESQUE_WORKER
got renamed toSERVER_EMBED_RESQUE_WORKER
- MessagesController. #3657
- Fixed setting:
follow_diasporahq
has now to be set totrue
to enable following the DiasporaHQ account. Wasfalse
- Removal of some bash-/linux-isms from most of the scripts, rework of 'script/install.sh' output methods. #3679
- Add "My Activity" icon mobile -Author Icon-. #3687
- Add password_confirmation field to registration page. #3647
- When posting to Twitter, behaviour changed so that URL to post will only be added to the post when length exceeds 140 chars or post contains uploaded photos.
- Remove markdown formatting from post message when posting to Facebook or Twitter.
- Fix missing X-Frame headers #3739
- Fix image path for padlocks #3682
- Fix posting to Facebook and Tumblr. Have a look at the updated services guide for new Facebook instructions.
- Fix overflow button in mobile reset password. #3697
- Fix issue with interacted_at in post fetcher. #3607
- Fix error with show post Community Spotlight. #3658
- Fix javascripts problem with read/unread notifications. #3656
- Fix error with open/close registrations. #3649
- Fix javascripts error in invitations facebox. #3638
- Fix css overflow problem in aspect dropdown on welcome page. #3637
- Fix empty page after authenticating with other services. #3693
- Fix posting public posts to Facebook. #2882, #3650
- Fix error with invite link box shows on search results page even if invites have been turned off. #3708
- Fix misconfiguration of Devise to allow the session to be remembered. #3472
- Fix problem with show reshares_count in stream. #3700
- Fix error with notifications count in mobile. #3721
- Fix conversation unread message count bug. #2321
- bootstrap-sass 2.1.0.0 -> 2.1.1.0
- capybara 1.1.2 -> 1.1.3
- carrierwave 0.6.2 -> 0.7.1
- client_side_validations 3.1.4 -> 3.2.1
- database_cleaner 0.8 -> 0.9.1
- faraday_middleware 0.8.8 -> 0.9.0
- foreman 0.59 -> 0.60.2
- fuubar 1.0.0 -> 1.1.0
- debugger 1.2.0 -> 1.2.1
- gon 4.0.0 -> 4.0.1
- guard
- guard-cucumber 1.0.0 -> 1.2.2
- guard-rspec 0.7.3 -> 2.1.1
- guard-spork 0.8.0 -> 1.2.3
- rb-inotify -> 0.8.8, new dependency
- handlebars_assets 0.6.5 -> 0.6.6
- omniauth-facebook 1.3.0 -> 1.4.1
- omniauth-twitter 0.0.11 -> 0.0.13
- rails_admin 0.1.1 -> 0.2.0
- rails-i18n -> 0.7.0
- rack-rewrite 1.2.1 -> 1.3.1
- redcarpet 2.1.1 -> 2.2.2
- resque 1.22.0 -> 1.23.0
- rspec-rails 2.11.0, 2.11.4
- selenium-webdriver 2.25.0 -> 2.26.0
- timecop 0.5.1 -> 0.5.3
- twitter 2.0.2 -> 4.2.0
- unicorn 4.3.1 -> 4.4.0, now default
- webmock 1.8.10 -> 1.8.11
And their dependencies.
Fix exception when the root of a reshare of a reshare got deleted #3546
- Fix syntax error in French Javascript pluralization rule.
Copy over config/diaspora.yml.example to config/diaspora.yml and migrate your settings! An updated Heroku guide including basic hints on howto migrate is here.
The new configuration system allows all possible settings to be overriden by environment variables. This makes it possible to deploy heroku without checking any credentials into git. Read the top of config/diaspora.yml.example
for an explanation on how to convert the setting names to environment variables.
- REDISTOGO_URL in favour of REDIS_URL or ENVIRONMENT_REDIS
- application_yml - Obsolete, all settings are settable via environment variables now
- SINGLE_PROCESS_MODE -> ENVIRONMENT_SINGLE_PROCESS_MODE
- SINGLE_PROCESS -> ENVIRONMENT_SINGLE_PROCESS_MODE
- NO_SSL -> ENVIRONMENT_REQUIRE_SSL
- ASSET_HOST -> ENVIRONMENT_ASSETS_HOST
- omniauth-tumblr 1.0 -> 1.1
- rails_admin git -> 0.1.1
- activerecord-import 0.2.10 -> 0.2.11
- fog 1.4.0 -> 1.6.0
- asset_sync 0.4.2 -> 0.5.0
- jquery-rails 2.0.2 -> 2.1.3
The following gems and their related files were removed as they aren't widely enough used to justify maintenance for them by the core developers. If you use them please maintain them in your fork.
- airbrake
- newrelic_rpm
- rpm_contrib
- heroku_san
The following gems were removed because their are neither used in daily development or are just CLI tools that aren't required to be loaded from the code:
- heroku
- oink
- yard
Refactoring of the JavaScript code; it is now completely rewritten to make use of Backbone.js. This paves the way for future improvements such as post preview or edit toolbar/help.
The feature-flag on users and all the code in connection with experimental UX changes got removed/reverted. Those are the parts that became Makr.io. The single-post view will also be revamped/reverted, but that didn't make it into this release.