Sharetribe version 5.7.0 is now available!

Added

  • Add a new job queue (css_compile) for css compilations #1815
  • Add a warning message which will be shown 15 minutes before the next scheduled maintenance #1835
  • Expose used feature flags to Google Tag Manager #1856
  • React on Rails development environment #1918.
  • Add ability to create a new account with username or email which is already in use in another marketplace #1753 #1939
  • Prevents cookies from leaking to subdomains, fixes #1992, adds a new configuration key: cookie_session_key #1966

Changed

  • Marketplace ID is removed from the Admin Settings URL #1839
  • The application now depends on React components, which need to be built to run Sharetribe. Instructions here. This change is related to React on Rails environment #1918.
  • Update Ruby to 2.3.1 #2020

Deprecated

  • Google Analytics and Kissmetrics tracking snippets are deprecated in favor of Google Tag Manager #1857

Removed

  • Delete duplicated memberships from the database #1838
  • Remove ability to join other marketplaces with an existing account #1753 #1939

Fixed

  • Errors from Braintree API were ignored #1832 by @priviterag
  • Fallback language handling was broken #1869
  • Confirmation pending page redirects to homepage if the account is already confirmed #1976
  • Fix bug: “Resend confirmation instructions” button didn’t resend the confirmation email #1963

Security

  • Updated Paperclip gem #1836
  • Unauthorized users were able to upload new listing images #1866
  • Change session expiration time from one year to one month #1877
  • Correctly reset old password and salt #1961

Upgrade from 5.6.0 to 5.7.0

Separate CSS compilation workers

This release adds a new Delayed Job queue “css_compile”. All CSS compilations during the deployment are added to this queue. However, CSS compilations triggered from the admin UI do NOT go into this queue, instead they are added to the “default” queue.

A new worker is added to the Procfile to work for the new queue. If you’re hosting in Heroku, you will see a new worker there.

This change doesn’t require any changes, if you are compiling the stylesheets synchronously using the rake sharetribe:generate_customization_stylesheets_immediately command during the deployment. However, if you are compiling the stylesheets asynchronously using the rake sharetribe:generate_customization_stylesheets command, then you need to make sure that you have at least one worker working for the “css_compile” queue.

Ruby version 2.2.4 → 2.3.1

Ruby version is updated from 2.2.4 to 2.3.1. The update should bring performance improvements.

Using RVM, you can upgrade your local Ruby version like this:

rvm install ruby-2.3.1
rvm use ruby-2.3.1
gem install bundler
bundle install

React on Rails build environment

React on Rails build environment is added in this release. This means that build environment needs to have node set up. With Heroku this can be set with heroku buildpacks:add --index 1 heroku/nodejs. For other environments - see npm instructions, nvm, or n. In addition, production environments should have NODE_ENV=production set.

After bundle install, you should also install npm packages:

npm install

User account migrations

This doesn’t apply to OS version as it doesn’t officially support running multiple marketplaces in one Sharetribe instance.

This release removes the ability for one user to belong to multiple marketplaces. From now on one user belongs to one and only one marketplace.

Because of that, this release contains quite a few migrations which will duplicate existing user accounts, if they belong to multiple communities. For example, if one user belongs to three communities, two new users will be created so that each user belongs to only one community.

The migrations are not safe to run while the application is running, so we recommend you to put the application on maintenance mode while running the migrations. Also, as always, remember to take database backup before migrating.

Session separation

This release separates cookies by subdomain so that foo.sharetribe.com and bar.sharetribe.com have now separate session cookies. In order to migrate old sessions as smoothly as possible a new configuration option cookie_session_key has been added to config.defaults.yml. If you want to use custom session key, this variable must be set as an environment variable before deployment. Otherwise, session cookies might overlap and cause issues with log in.

2 Likes

So, React is added to the frontend tech stack, but we are still experimenting a bit about what is a good setup. (E.g. we’ll be soon adding more PostCSS modules etc.)

Good place to start looking into these React related changes is to go to /client folder and check also client/README.md. There’s also more about starting up the platform with React side build scripts (we use Foreman for that)

To see the new stylesheet setup with PostCSS, see this PR:

https://github.com/sharetribe/sharetribe/pull/2029

1 Like

In case you run into issues with npm install, probably on a newer OS X, this might help you. Added also to README.MD.

libv8 might fail to build with Clang 7.3, in that case you can try installing V8 manually:

  brew tap homebrew/versions
  brew install v8-315

gem install libv8 -v ‘3.16.14.13’ – --with-system-v8
gem install therubyracer – --with-v8-dir=/usr/local/opt/v8-315

bundle install