Sharetribe Go is a source available marketplace software, also available as a hosted, no-code SaaS product. For a headless, API-first marketplace solution, check out Sharetribe Flex: https://www.sharetribe.com/flex.

Related tags

platform marketplace
Overview

Sharetribe

CircleCI Code Climate

Sharetribe develops advanced marketplace software for every business life cycle stage.

Sharetribe Go gives you the complete feature set to launch a marketplace for rentals, services, events, or products. The platform is source-available under the Sharetribe Community Public License.

To launch your marketplace in minutes without touching code or worrying about hosting and backups, head to the SaaS version of Sharetribe Go.

If you're looking for a customizable and extendable marketplace solution, check out Sharetribe Flex. Flex is an API-based marketplace solution designed with a developers-first mindset. It allows you to develop your marketplace with the programming language of your choice, build a mobile app, design a customized transaction flow, and easily integrate third party services.

Contents

Technology stack

  • Ruby 2.6
  • Ruby on Rails 5.2.3
  • MySQL 5.7
  • React + jQuery
  • Node.js 10.15 (for compiling JavaScript assets)
  • "what you see is what you get" Editor Mercury
  • Deploy: Custom Script (not using Mina or Cap3)
  • Server: Heroku
  • Image hosting: Amazon S3
  • Background job: delayed_job
  • Gems:
    • devise | Authentication
    • omniauth-facebook | Third party login: Facebook
    • haml and ERB | HTML templating
    • mysql2 | MySQL library for Ruby
    • paperclip | Image upload management
    • passenger | Web application server
    • react_on_rails | Integration of React + Webpack + Rails
    • factory_girl, capybara, rspec-rails, cucumber-rails, selenium-webdriver | Testing

Installation

Requirements

Before you get started, the following needs to be installed:

  • Ruby. Version 2.6.5 is currently used and we don't guarantee everything works with other versions. If you need multiple versions of Ruby, RVM or rbenv is recommended.
  • RubyGems
  • Bundler: gem install bundler
  • Node. Version 10.15 is currently used and we don't guarantee everything works with other versions. If you need multiple versions of Node, consider using n, nvm, or nenv.
  • Git
  • A database. Only MySQL 5.7 has been tested, so we give no guarantees that other databases (e.g. PostgreSQL) work. You can install MySQL Community Server two ways:
    1. If you are on a Mac, use homebrew: brew install mysql (highly recommended). Also consider installing the MySQL Preference Pane to control MySQL startup and shutdown. It is packaged with the MySQL downloadable installer, but can be easily installed as a stand-alone.
    2. Download a MySQL installer from here
  • Sphinx. Version 2.1.4 has been used successfully, but newer versions should work as well. Make sure to enable MySQL support. If you're using OS X and have Homebrew installed, install it with brew install sphinx --with-mysql
  • Imagemagick. If you're using OS X and have Homebrew installed, install it with brew install imagemagick

Setting up the development environment

  1. Get the code. Clone this git repository and check out the latest release:

    git clone git://github.com/sharetribe/sharetribe.git
    cd sharetribe
    git checkout latest
  2. Install the required gems by running the following command in the project root directory:

    bundle install

    Note: 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
  3. Install node modules:

    npm install
  4. Create a database.yml file by copying the example database configuration:

    cp config/database.example.yml config/database.yml
  5. Add your database configuration details to config/database.yml. You will probably only need to fill in the password for the database(s).

  6. Create a config.yml file by copying the example configuration file:

    cp config/config.example.yml config/config.yml
  7. Create and initialize the database:

    bundle exec rake db:create db:structure:load
  8. Run Sphinx index:

    bundle exec rake ts:index

    Note: If your MySQL server is configured for SSL, update the config/thinking_sphinx.yml file and uncomment the mysql_ssl_ca lines. Configure correct SSL certificate chain for connection to your database over SSL.

  9. Start the Sphinx daemon:

    bundle exec rake ts:start
  10. Start the development server:

    foreman start -f Procfile.static
  11. Invoke the delayed job worker in a new console (open the project root folder):

    bundle exec rake jobs:work

Congratulations! Sharetribe should now be up and running for development purposes. Open a browser and go to the server URL (e.g. http://lvh.me:3000 or http://lvh.me:5000). Fill in the form to create a new marketplace and admin user. You should be now able to access your marketplace and modify it from the admin area.

Mailcatcher

Use Mailcatcher to receive sent emails locally:

  1. Install Mailcatcher:

    gem install mailcatcher
  2. Start it:

    mailcatcher
  3. Add the following lines to config/config.yml:

    development:
      mail_delivery_method: smtp
      smtp_email_address: "localhost"
      smtp_email_port: 1025
  4. Open http://localhost:1080 in your browser

Database migrations

To update your local database schema to the newest version, run database migrations with:

bundle exec rake db:migrate

Running tests

Tests are handled by RSpec for unit tests and Cucumber for acceptance tests.

Remember to follow all the steps listed in the Setting up the development environment paragraph before running tests because some tests depend on webpack assets.

  1. Navigate to the root directory of the sharetribe project

  2. Initialize your test database:

    bundle exec rake test:prepare

    This needs to be rerun whenever you make changes to your database schema.

  3. If Zeus isn't running, start it:

    zeus start
  4. To run unit tests, open another terminal and run:

    zeus rspec spec
  5. To run acceptance tests, open another terminal and run:

    zeus cucumber

    Note that running acceptance tests is slow and may take a long time to complete.

To automatically run unit tests when code is changed, start Guard:

bundle exec guard

Working with React, Webpack and Foreman

Some components are created with React (see documentation) and they need to be built with Webpack. We have Foreman Procfiles that can be used to run both Rails and Webpack:

  1. React component static build

    foreman start -f Procfile.static
  2. React component & hot loading styleguide (http://localhost:9001/)

    foreman start -f Procfile.hot
  3. If you need to debug the Rails parts of Sharetribe with Pry, it's not possible with Foreman due to a known compatibility issue. In this case we recommend running Rails with old-fashioned rails server and React builds with Foreman in a separate terminal. That way your binding.pry calls open nicely in the same window with the Rails process.

  4. React component static build, React client only

    foreman start -f Procfile.client-static
  5. React component & hot loading styleguide (http://localhost:9001/), React client only

    foreman start -f Procfile.client-hot

Setting up Sharetribe for production

Before starting these steps, perform steps 1-5 from above.

  1. Set secret_key_base

    Generate secret key

    rake secret

    Add the following lines to config/config.yml:

    production:
      secret_key_base: # add here the generated key

    (You can also set the secret_key_base environment variable, if you don't want to store the secret key in a file)

  2. Create the database:

    RAILS_ENV=production bundle exec rake db:create
  3. Initialize your database:

    RAILS_ENV=production bundle exec rake db:structure:load
  4. Run Sphinx index:

    RAILS_ENV=production bundle exec rake ts:index
  5. Start the Sphinx daemon:

    RAILS_ENV=production bundle exec rake ts:start
  6. Precompile the assets:

    RAILS_ENV=production NODE_ENV=production bundle exec rake assets:precompile
  7. Invoke the delayed job worker:

    RAILS_ENV=production bundle exec rake jobs:work
  8. In a new console, open the project root folder and start the server:

    bundle exec rails server -e production

The built-in WEBrick server (which was started in the last step above) should not be used in production due to performance reasons. A dedicated HTTP server such as unicorn is recommended.

It is not recommended to serve static assets from a Rails server in production. Instead, you should use a CDN (Content Delivery Network) service, such as Amazon CloudFront. To serve the assets from the CDN service, you need to change the asset_host configuration in the the config/config.yml file to point your CDN distribution.

You need to configure a couple scheduled tasks in order to properly run your marketplace in production. See the Scheduled tasks documentation.

For production use we recommend you to upgrade only when new version is released and not to follow the master branch.

Setting your domain

  1. In your database, change the value of the domain column in the communities table to match the hostname of your domain. For example, if the URL for your marketplace is http://mymarketplace.myhosting.com, then the domain is mymarketplace.myhosting.com.

  2. Change the value of the use_domain column to true (or 1) in the communities table.

  3. If you wish to enable HTTP Strict Transport Security (recommended), set also the hsts_max_age column in communities table to a non-zero number of seconds. For instance 31536000 (1 year).

Setting up S3

If you want to use S3 to host your images, you need to do a bit more configuration.

  1. Create a IAM role which has full S3 access. Save the AWS access and secret keys.

  2. In the S3 console, create two buckets, one for upload and one for permanent storage. For example your-sharetribe-images and your-sharetribe-images-tmp.

  3. Set the upload bucket (your-sharetribe-images-tmp) to have an expiration (for example, of 14 days) using lifecycle management

  4. Enable CORS on the upload bucket.

  5. Set the following configuration in your sharetribe config.yml: s3_bucket_name: "your-sharetribe-images" s3_upload_bucket_name: "your-sharetribe-images-tmp"

  6. Add your AWS keys to the sharetribe app. The best way to do that is via environment variables, rather than checking them into your config.yml. Set the aws_access_key_id and aws_secret_access_key environment variables to the values for the IAM user.

  7. (Optional) When you enable S3, uploaded images are linked directly to the S3 bucket. If you want to serve these assets through CDN, you can set the user_asset_host configuration option in addition to asset_host in config/config.yml.

Here's a sample CORS configuration that allows anyone to post to your bucket. Note that you may want to lock down the origin host more tightly, depending on your needs.

<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
    <CORSRule>
        <AllowedOrigin>*</AllowedOrigin>
        <AllowedMethod>GET</AllowedMethod>
        <AllowedMethod>POST</AllowedMethod>
        <MaxAgeSeconds>3000</MaxAgeSeconds>
        <AllowedHeader>*</AllowedHeader>
    </CORSRule>
</CORSConfiguration>
Troubleshooting S3 Setup
  • if you are having trouble uploading, look at the request using browser devtools and see what error statuses and messages are being sent.
  • double check that your AWS keys are being correctly set.
  • if you can upload images successfully, but the images aren't processed, make sure that the delayed-job worker is running.

Advanced settings

Default configuration settings are stored in config/config.default.yml. If you need to change these, use the config/config.yml file to override the defaults. You can also set configuration values to environment variables.

React components can be created using hot module replacement HMR technique in Styleguide (http://localhost:9001/) path in local development environment. Webpack is used to bundle React components for deployments and hot loading. Related webpack configs can be found from folder sharetribe/client/

Unofficial installation instructions

Use these instructions to set up and deploy Sharetribe for production in different environments. They have been put together by the developer community, and are not officially maintained by the Sharetribe core team. The instructions might be somewhat out of date.

If you have installation instructions that you would like to share, don't hesitate to share them at the Sharetribe community forum.

Payments

PayPal and Stripe are the two available payment gateways integrated.

PayPal payments are only available on marketplaces hosted at Sharetribe.com due to special permissions needed from PayPal. We hope to add support for PayPal payments to the source available version of Sharetribe Go in the future.

Stripe can be used in the source available version, as long as your country and currency are supported.

Enable Stripe

Starting from release 7.2.0, Stripe is supported.

Stripe API keys will be encrypted when stored so it is important to configure your own random encryption key. You should fill the app_encryption_key variable in the config/config.yml file with a long random string, unique to your project.

Stripe can be configured from the admin panel, in the "Payment settings" section. Instructions on how to get Stripe API keys can be found there.

If Stripe isn't automatically enabled in the admin panel after upgrading to 7.2.0, you should run the following commands in your Rails console, where <ID> is your marketplace ID (probably 1): TransactionService::API::Api.processes.create(community_id: <ID>, process: :preauthorize, author_is_seller: true) and TransactionService::API::Api.settings.provision(community_id: <ID>, payment_gateway: :stripe, payment_process: :preauthorize, active: true).

Custom Landing Page

Sharetribe Go includes a Custom Landing Page add-on and editor. You can learn more about it here.

The Custom Landing Page Editor should be available automatically, from v9.1.0. If this is not the case, you can find plenty of useful information in the Landing Pages for Idiots Like Me post written by Jeremy D Evans.

Versioning

Sharetribe follows Semantic Versioning where possible.

Given a version number MAJOR.MINOR.PATCH, increment the:

  • MAJOR version when you make incompatible API changes,
  • MINOR version when you add functionality in a backwards-compatible manner, and
  • PATCH version when you make backwards-compatible bug fixes.

See the document How Sharetribe applies Semantic Versioning to read more how Semantic Versioning is applied in practice.

Changes

See CHANGELOG.md for detailed list of changes between releases.

Upgrade

See UPGRADE.md for information about actions needed when upgrading.

For production use we recommend you to upgrade only when new version is released and not to follow the master branch.

Contribute

Would you like to make Sharetribe better?

See CONTRIBUTING.md for the steps to contribute.

Release

See RELEASE.md for information about how to make a new release.

Translation

Sharetribe uses WebTranslateIt (WTI) for translations. If you'd like to translate Sharetribe to your language or improve existing translations, please ask for a WTI invitation. To get an invite, send an email to [email protected] and mention that you would like to become a translator.

All language additions and modifications (except for English) should be done through the WTI tool. We do not accept Pull Requests that add or modify languages (except English).

Bug tracker

Browse open issues and submit new ones in Github Issues.

We are dedicating the Github Issue only for bugs in the Sharetribe codebase. For general questions, start a new thread in the Community forum instead of opening a new Issue.

After you have opened a new issue, the team will handle it according to these instructions: How to handle Github Issues

Documentation

More detailed technical documentation is located in docs/

Community forum

The Sharetribe Community forum is located at https://www.sharetribe.com/community/.

The forum is a great place to ask support and help for example with issues during the installation.

License

Sharetribe Go is source-available under the Sharetribe Community Public License. See LICENSE for details.

Issues
  • Stripe Integration [Again]

    Stripe Integration [Again]

    I realise it's probably a pain for you guys to have to keep answering questions about Stripe integration, but after reading all of the closed issues on this subject I still can't figure out whether it's possible.

    I ask because there is a freelance job available that requires Stripe to be intregrated with Sharetribe, and I don't want to undertake the work if it's something that can't be done as I'll likely not get paid if that's the case.

    So I guess I have three questions:

    • Can Stripe be integrated into the open source version of Sharetribe?
    • Does the company need to be based in USA (which is the case when integrating with Braintree)?
    • Do we need to be hosted on Sharetribe.com or can we use Heroku/Openshift/SomethingElseThat'sBasedInEurope

    Thanks I know it's annoying when people ask stupid questions like this, but I don't want to undertake any freelance work that can't be completed.

    opened by murdoch 35
  • Add sitemap to sharetribe

    Add sitemap to sharetribe

    This is for issue https://github.com/sharetribe/sharetribe/issues/2204

    @rap1ds I didn't implement the CDN stuff yet, wanted to get your feedback on how things looked first (ask early, ask often).

    review comments 
    opened by mooreds 31
  • Integrating Stripe payment with Sharetribe

    Integrating Stripe payment with Sharetribe

    Is the integration of Stripe payment Gateway is possible in existing Sharetribe open source application?

    opened by usmanarif 30
  • Login fails on fresh sharetribe install

    Login fails on fresh sharetribe install

    I just installed sharetribe on EC2, you can see it working here.

    I can create users and they show on the database, but I can't log in with any of them. When I log in, it seems that it logs the user successfully, and then the user is redirected to app/controllers/community_memberships_controller.rb where it checks again if the user is logged in, and there it is not logged in anymore.

    I can reproduce it on a fresh development install of sharetribe as well.

    Any idea why this could be happening? Thanks!

    bug 
    opened by mparramont 29
  • setup translation project on transifex.com

    setup translation project on transifex.com

    i started setting up a sharetribe instance for occupy.net network, i guess people would like to translate it to their native languages :)

    I already have setup a project for bettermeans on https://www.transifex.com which I find the most nice to use platform running itself an open source codebase. I would like that people could learn it's interface and than contribute to all kind of projects which host their translations over there... What do you think about setting up sharetribe project over there?

    I hope that many tribes could appear soon: http://directory.occupy.net/ (>1500 occupations worldwide) :D

    opened by elf-pavlik 26
  • three apparently issues on (v5.8.0): marketplace wizard ,language options and header landing page

    three apparently issues on (v5.8.0): marketplace wizard ,language options and header landing page

    Sharetribe Version: 5.8.0
    Environment: development mac osx 10.11.6
    Server mode: development
    Description:

    three apparently issues

    Steps To Reproduce:

    I did install locally to test the landing page resources in version 5.8.0, and I'm figuring out some small issues.

    -01: Marketplace Wizard: when logged as admin, and after filling the fields form from the page options (Add a slogan & description) I submit clicking at the save button, and an error shows up on the page screen, indicates that the update failed - calls the community_update_failed notification in the .yml language file - in this case pt-BR.yml.

    Despite this, the informations is recorded, but the option Add a slogan & description continue active at the getting_started_guide page, and the wizard cannot be completed.

    -02: language options: I think that this one is related with the issue above, because has to do with the language file and options. At the same page for the Add a slogan & description , we have the option to edit, select and delete languages. It worked very nice at the v5.7.1, but in this new v5.8.0 I can't edit this, even add new languages, or remove the one that I selected at the first time when sharetribe runs, and you can select the main language option. I need to work with two languages, PT-Brazil and EN

    -03: header at landing pages : Now, I'm able to set landing page (facing problems with 5.7.1 #2339), BUT, I can't see the header options, with the logo, menu and user main informations at the top of the page. I assume that would be default, but would like to know how can I set this.

    thanks

    more information needed 
    opened by delblues 25
  • Quick survey: Which payment gateway do you use?

    Quick survey: Which payment gateway do you use?

    Hi all Sharetribe Open Source users!

    This is a quick survey to get some idea about the popularity of different payment gateways.

    1) Which payment gateway do you use?

    a) None b) Braintree c) You have implemented integration to some other gateway, which one?

    2) In ideal world, which payment gateway would you like to use?

    Thanks for your answer!

    Mikko, Sharetribe

    opened by rap1ds 23
  • fontawesome-webfont missing after upgrade

    fontawesome-webfont missing after upgrade

    Sharetribe Version:

    bbf5acaa05c29fa2dbce92c929da97e73a6be85b

    Environment:

    Own server with S3 assets

    Server mode:

    Production

    Steps To Reproduce:

    I upgraded sharetribe to https://github.com/sharetribe/sharetribe/commit/bbf5acaa05c29fa2dbce92c929da97e73a6be85b and after it the system doesn't find fontawesome-webfont on S3. sharetribe

    I ran the following commands:

    bundle install
    RAILS_ENV=production rake db:migrate
    RAILS_ENV=production rake sharetribe:generate_customization_stylesheets_immediately
    rake assets:precompile
    
    bug 
    opened by ptzool 18
  • sharetribe doesn't support AWS CloudFront.

    sharetribe doesn't support AWS CloudFront.

    sharetribe has a CDN option. I set asset_host: http://xxx.cloudfront.com in config.default.yml. S3 works. But the CDN is not working. When compiling the assets, they are not saved to S3. Too buggy.

    more information needed 
    opened by llvc 18
  • Admin mail confirmation not sent

    Admin mail confirmation not sent

    Sharetribe Version: latest stable : 94cdd5848e08c2e4451617d16abe3615e62d713e
    Environment: Ubuntu 16.06

    node -v 6.9.1 node -v 3.10.9

    Server mode: Production
    Description: confirmation mail not sent
    Steps To Reproduce: follow the tutorial on github.
    more information needed 
    opened by LeoMartinDev 17
  • S3 Direct Upload with Sigv4

    S3 Direct Upload with Sigv4

    Sharetribe Version:

    https://github.com/sharetribe/sharetribe/tree/6cb337f45f7ba6fc64f7078fa5f72edbdd302076

    Environment:

    AWS EC2, Ubuntu 18

    node v10.16.3 npm 6.9.0

    Server mode:

    production

    Description:

    Can not direct upload image to AWS S3 , error message The authorization mechanism you have provided is not supported. Please use AWS4-HMAC-SHA256

    Steps To Reproduce:

    Step 1: Access New/Edit Listing page

    Step 2: Upload images

    Expected result: 200

    Actual result: 400 with error message The authorization mechanism you have provided is not supported. Please use AWS4-HMAC-SHA256

    Additional information

    s3_region: 'ca-central-1'

    opened by bitmega 7
  • New open source community forum! www.sharetribe.com/community/

    New open source community forum! www.sharetribe.com/community/

    Hello everyone!

    We have set up a new discussion forum for Sharetribe open source community! It's a Discourse forum at www.sharetribe.com/community/.

    We hope to see the forum growing actively! Please go and register and start discussing!

    So when should you add a new Issue to Github, and when post a new thread to Discourse?

    The rule of thumb is you should add a new Issue only for reproducible bugs in Sharetribe code and documentation. All support questions should go to forum.

    I hope to see you on the forum!

    Mikko from Sharetribe

    opened by rap1ds 9
Releases(v10.1.0)
  • v10.1.0(Mar 17, 2021)

    Added

    • New Admin panel, done through many many PRs that have admin2 or admin v2in their title
    • Info text to Stripe form #4118
    • Stripe support for Cyprus #4122
    • Stripe support for Malta #4123
    • Stripe support for Bulgaria #4124
    • Add "paypal/stripe setup" in users csv export #4003, #4196
    • UI for setting custom domain #4227, #4237, #4241, #4296, #4312
    • reCAPTCHA support #4299
    • Email notification to admins when changing the marketplace ident #4326
    • Missing settings for two email notifications #4328
    • Stripe support for Hungary #4295

    Changed

    • Increase Facebook and Twitter meta images size #4100
    • Add more states to FINISHED_TX_STATES to allow user account deletion correctly #4109
    • Update airbrake and newrelic #4111
    • Remove default favicon and add type tag to favicon link #4140
    • Make active storage service configurable #4143
    • Specify the requested fields in Google Maps Places API query #4146
    • Review text is required in edits from admins #4153
    • Update Proxima font #4177
    • Adjust CircleCI configuration for faster test runs #4274
    • Make the Custom script plan_feature dependent #4289
    • Fix job priorities #4294
    • Email layout v2 - Link color consistency with marketplace color #4303
    • Optimize polling for pending delayed jobs #4311
    • Email layout v2 - Disable markdown formatting in listing description #4305
    • Improve efficiency of community membership counting #4319
    • Email layout v2 - Add note to email layout #4318
    • Email layout v2 - Disable markdown formatting in listing description #4305
    • Email layout v2 - Remove ability to change feature flag from Admin panel #4307
    • Use the community default locale for CLP #4341
    • Change the main font for Go UI to Proxima soft #4353

    Removed

    • Sunset PayPal in India #4338

    Fixed

    • Fixed query for booked dates in range #4091
    • Fixed error when using daily availability management datepicker #4094
    • Fixed confirming payment multiple times with Stripe #4102
    • Fixed inconsistent transaction left after transition fails #4092
    • Fixed CLP hero section with upload background image #4101
    • Fixed search with fuzzy location #4103
    • Fixed issue with error translation in some languages #4132
    • Fixed user display_name #4130
    • Fixed active map view on listing page #4145
    • Fixed default setting automatic newsletters #4150
    • Fixed bug with "Display name" not being used in transaction steps texts #4155
    • Fixed no listing location makes clicks on "Show in the next newsletter" impossible #4181
    • Fixed infinite scroll on homepage not working w/ Chromium 87 #4273
    • Fixed test email not sent to admin if they have unsubscribed #4327
    • Fixed inconsistency between the Unsubscribe link in the Receipt of payment email and the notification setting #4329
    • Fixed rels deleted users #4340
    • Fixed Facebook buttons cut off and misaligned #4348

    Security

    • Updated fileupload plugin #4136
    • Update rails to 5.2.4.3 #4141
    • Update rails to 5.2.4.4 #4231
    • Upgrades node-sass and json #4233
    • Add tests ensuring csrf protection for omniauth auth paths #4266
    • Vulnerable dependencies updates - Axios, Nokogiri, Redcarpet #4325

    Upgrade from 10.0.0 to 10.1.0

    Nothing special. See the General update instructions.

    Source code(tar.gz)
    Source code(zip)
  • v10.0.0(May 10, 2020)

    Added

    • Fuzzy location #4035
    • Stripe support for Czech Republic #4049, #4069
    • Allow admin to edit the button in Hero section #4051
    • Stripe support for Romania #4066

    Changed

    Fixed

    • Fixed inbox doesn't consider commission status #4044
    • Fixed encoding issue with PayPal #4045
    • Fixed missing listing image in community updates email #4046
    • Fixed scope of transations for testimonials to support Disputed #4063

    Upgrade from 9.1.0 to 10.0.0

    If you are not using Harmony for availability management, there is nothing special. See the General update instructions.

    Otherwise, follow the instructions below.

    Migrate Harmony data to Go

    With this release, Go no longer uses Harmony as backend for day- and night-based availability management. The functionality is completely implemented within Go (there is no change in user-facing features). However, this requires that some data from Harmony is migrated to Go's database.

    1. Start by following the General update instructions, which will migrate the Go database to the latest version.

    2. Backup also your Harmony database.

    3. Run the following SQL queries to copy data over. The queries assume you are using the default production database names for both Go (sharetribe_production) and Harmony (harmony_production_db). If that's not the case, replace the database names accordingly.

      INSERT INTO sharetribe_production.listing_blocked_dates (listing_id, blocked_at, created_at, updated_at)
        SELECT
        l.id, e.start, e.created_at, e.updated_at
        FROM harmony_production_db.exceptions e
        LEFT JOIN harmony_production_db.bookables b ON e.bookable_id = b.id
        LEFT JOIN sharetribe_production.listings l ON b.ref_id = l.uuid
        LEFT JOIN sharetribe_production.listing_blocked_dates bd ON bd.listing_id = l.id AND bd.blocked_at = e.start
        WHERE
        e.deleted <> 1
        AND l.id IS NOT NULL
        AND e.start >= curdate()
        AND bd.id IS NULL
        GROUP BY e.id ;
      
      
      -- delete blocked dates that are deleted in Harmony but present in Go
      
      -- needs temporary table
      CREATE TABLE sharetribe_production.tmp LIKE sharetribe_production.listing_blocked_dates;
      INSERT INTO sharetribe_production.tmp
        SELECT sharetribe_production.listing_blocked_dates.*
        FROM sharetribe_production.listing_blocked_dates;
      CREATE TABLE sharetribe_production.tmp2 (id int(11) NOT NULL, PRIMARY KEY (id));
      
      INSERT INTO sharetribe_production.tmp2 (
        SELECT
        distinct(bd.id)
        FROM harmony_production_db.exceptions e
        INNER JOIN (
          SELECT e.id, e.bookable_id, start, max(updated_at) AS max_updated_at
          FROM harmony_production_db.exceptions e
          GROUP BY e.bookable_id, e.start
        ) e2 ON e.id = e2.id AND e.updated_at = e2.max_updated_at
        LEFT JOIN harmony_production_db.bookables b ON e.bookable_id = b.id
        LEFT JOIN sharetribe_production.listings l ON b.ref_id = l.uuid
        LEFT JOIN sharetribe_production.tmp bd ON bd.listing_id = l.id AND bd.blocked_at = e.start
        WHERE
        e.deleted = 1
        AND l.id IS NOT NULL
        AND e.start >= curdate()
        AND bd.id IS NOT NULL
        GROUP BY e.id);
      
      DELETE FROM sharetribe_production.listing_blocked_dates WHERE id IN (
        SELECT id FROM sharetribe_production.tmp2);
      DROP TABLE sharetribe_production.tmp;
      DROP TABLE sharetribe_production.tmp2;
      

    You can now bring Go back up.

    After the migration you can delete Harmony's database and remove the Harmony service altogether from your system.

    Source code(tar.gz)
    Source code(zip)
  • v9.1.0(Mar 6, 2020)

    [9.1.0] - 2020-03-06

    Added

    • Custom Landing Page Editor
    • New emails layout
    • Support for Stripe capabilities
    • Allow admin to mark completed cancel transactions #3889
    • Added listing price and unit to csv export #3891
    • Add listing price to RSS/Atom feed #3892
    • Add link to delete closed listing #3893
    • Add shipping address to Transaction view #3910
    • Add a transaction state after canceled and improve the flow #3926
    • Add support for Mexico accounts #3937
    • Allow users to edit their username #3941
    • Add "My transactions" view in user settings #3943
    • Add GHS currency #3944
    • Add support for HEIC images #3966
    • Allow admin to update the marketplace ident #3972
    • Allow admins to delete a user account #3975
    • Retry paypal errored commission #3977
    • New texts for Google Search Console #3979
    • New Add text about GTM #3997
    • Add "paypal/stripe setup" in users csv export #4003
    • Admin can remove logo, square logo, cover photo, small cover photo, favicon, social media image #4012

    Changed

    • Send additional verification document if required #3897
    • Change to dropdown for state values for Canada and Australia #3905
    • Title in admin transaction view #3911
    • No default option selected if pickup and shipping are offered #3938
    • Stripe API version changed to 2019-12-03 #3948
    • Hide "Newsletter" settings if newsletter has been disabled by admins #3959
    • Change meta tag xx:image to use profile picture for user profiles#3960
    • Update to Ruby 2.6.5 and a Debian Buster base Docker image #3967
    • Delete invitations sent by a user who gets deleted forever #3973
    • Show account restricted or pending in the smart way #3990
    • Send MCC/Email/URL when updating a Connect account #3993
    • Link to transaction should redirect to admin view #3998
    • Update the forms to have phone placeholder and JPG information #4004
    • Remove Google+ from CLP and Footer #4005
    • Longer number of characters for Display name #4007
    • Add the listing ID to PayPal's metadata #4013
    • Validation if SEO variables are not correct #4014

    Fixed

    • Fixed users CSV export date field not required #3886
    • Fixed notification for each new transaction #3887
    • Fix meta title/description bug for social #3894
    • Fixed payment JS in older browser #3920
    • Fixed listing image width setup #3921
    • Fixed day/night availability after payment intent failed or expired #3922
    • Fixed check payment method presence when initiating payment #3935
    • Fixed Stripe payment card declined without SCA #3952
    • Fixed localization of PayPal payment description when charging the admin commission #3961
    • Fixed incorrect count of listings when editing an Order type isn't correct #3964
    • Fixed incorrect language in placeholder for social media tags #3995
    • Fixed wrong receipt for the seller when there is Shipping involved #4009
    • Fixed followers get notifications of rejected listings #4011

    Security

    • Updated gems: rubyzip 1.3.0, devise 4.7.1 #3899
    • Bump loofah from 2.3.0 to 2.3.1 #3918
    • Bump puma from 3.12.1 to 3.12.2 #3936
    • Bump rack from 2.0.7 to 2.0.8 #3951
    • Bump nokogiri from 1.10.5 to 1.10.8 #4010
    • Bump puma from 3.12.2 to 3.12.4 #4021

    Upgrade from 9.0.0 to 9.1.0

    Ruby version updated from 2.6.2 to 2.6.5.

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

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

    Then follow the [#general-update-instructions].

    Source code(tar.gz)
    Source code(zip)
  • v9.0.0(Oct 2, 2019)

    Today, we are changing the license of Sharetribe Go from MIT to Sharetribe Community Public Licence. For 99.9% of the users of self-hosted Sharetribe Go, this doesn't change anything: the code is still available online, and you can download the code for free and run it on your servers to power your own marketplace business. You can also modify the code the way you wish while doing so. You can also make money offering setup or customization services on top of this code. The only practical change is that it's no longer allowed to provide the Sharetribe Go codebase as a SaaS offering.

    Learn more about the change.

    Changed

    • Update Sharetribe Go Licence #3883

    Upgrade from 8.1.0 to 9.0.0

    Nothing special. See the [#general-update-instructions].

    Source code(tar.gz)
    Source code(zip)
  • v8.1.0(Oct 2, 2019)

    Added

    • Stripe SCA paymentintent based preauth process #3791
    • Stripe SCA finalize ui and management #3805
    • Support for markdown in listing descriptions #3795, #3810, #3874
    • Add "Whats new?" link in the sidebar #3822
    • Add ready made cover pics link next to the cover pick chooser #3823
    • Add "Terms, Privacy Policy and static content" table and links in "Basic details" tab #3827
    • Add four new fields to the transactions CSV export #3845
    • Allow admins to unskip reviews #3857
    • Admin option to send a notification for each new transaction #3859
    • Add new countries support: Estonia, Greece, Latvia, Lithuania, Poland, Slovakia, Slovenia #3872

    Changed

    • In shipping address replace country dropdown with text field #3815
    • Use community currency for free transactions avoiding nil.to_money == 0 EUR #3816
    • Edit some CSV exports #3828
    • Change datetime format in all CSV exports #3844
    • Remove username from signup #3853

    Removed

    • Remove google-site-verification from head and hardcoded GWT tag #3825, #3826

    Fixed

    • Order Type name for free listings was not updating cached fragment #3836
    • Disabling top bar default links (about, contact) is not possible #3840

    Upgrade from 8.0.0 to 8.1.0

    Nothing special. See the [#general-update-instructions].

    Source code(tar.gz)
    Source code(zip)
  • v8.0.0(Jul 31, 2019)

    Added

    • Use index hint for homepage query #3714
    • Add Albanian to the list of unsupported languages #3718
    • Add Macedonian to the list of unsupported languages #3725
    • Ability for providers to delete listings #3756
    • Stripe support for Singapore #3762
    • Cache community count #3766
    • Ability to export listings to a CSV file #3790
    • Allow admins to disable direct messaging between users #3793
    • Add .html_safe to content for title #3744

    Changed

    • Update to ruby 2.6.2 #3701
    • Add more bot rules, disallow login paths #3715
    • Update to Rails 5.2.3 #3722
    • Prevent lowering minimum transaction size to less than minimum transaction fee with Stripe #3723
    • Update to Node.js 10.15 #3735
    • Updates to payment preference settings #3748
    • Updated copy text from Ban to Disable #3755
    • Category translation caching improvements #3761
    • Stripe remove the MCC field and hardcode it #3771
    • Move "Phone number" field down in US Stripe form #3775

    Fixed

    • Fix to the SEO tags without price translation string #3727
    • Fix to payment settings causing internal error when PayPal has never been enabled #3732
    • Fix to password reset #3763
    • Fix to Stripe US account update #3765
    • Fix to adding links to footer #3769
    • Fix to validation for custom date fields #3772
    • Fix to exclude expired listings when filtering for open #3773
    • Fix to signup page description tag #3794

    Upgrade from 7.6.0 to 8.0.0

    Ruby version updated from 2.3.4 to 2.6.2.

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

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

    Make sure you have node 10.15 installed.

    Then follow the [#general-update-instructions].

    One more note: after the Rails upgrade, "Memcache" is possibly no longer working. It was never officially supported, and at Sharetribe we rely on Redis.

    • If you use Redis, run Rails.cache.clear via the Rails console
    • If you use Memcache, things might be broken and you might need to switch to Redis
    • If you didn't use either, no special instructions
    Source code(tar.gz)
    Source code(zip)
  • v7.6.0(Apr 12, 2019)

    Added

    • Reviews filters in admin panel #3589
    • Marketplace logo in all marketplace emails #3581
    • New element in the user dropdown menu in the topbar: My listings #3608
    • Domain tab in the admin panel #3614
    • Social media logins: Google and LinkedIn #3583
    • SEO tab in the admin panel and the possibility to customize the metatags for your marketplace main page #3612
    • Lithuanian as an unsupported language #3624
    • SEO tags working on landing pages as well #3622
    • Added the possibility to charge a commission from the buyer #3490
    • New templates for the landing page footer #3645
    • More SEO options to add custom tags to different marketplace pages #3647
    • Ability to have pre-approved listings #3620
    • Notifications about listings to approve #3646
    • Better logging and error reporting with Stripe #3676
    • Listen to account status and missing info from Stripe #3672
    • Sending different notifications when a listing is new or edited #3692

    Changed

    • Link to closed listings redirects to listings table in profile settings #3607
    • The way parameters are sent related to creating an connected account with Stripe #3637
    • Updated Stripe API keys pattern regex #3660
    • Updated Facebook login button in accordance to their branding demands #3696
    • Updated Facebook API to version 3.2 #3679

    Fixed

    • Fix inefficient queries when admin tries to send emails to all members #3532
    • Fixed failed list of listings #3604
    • Being able to edit the Stripe connected account name and lastname through the UI #3653
    • Handle Stripe API keys various lenghts #3667
    • Issues with Stripe Payouts #3668
    • Update CI to use Ubuntu-based image #3671

    Security

    • Update passenger gem to latest version #3609
    • Update several gems to latest versions #3675

    Upgrade from 7.5.0 to 7.6.0

    Nothing special. See the [#general-update-instructions].

    Source code(tar.gz)
    Source code(zip)
  • v7.5.0(Jan 30, 2019)

    [7.5.0] - 2019-01-30

    Added

    • Social media sharing specific image #3455
    • Edit reviews feature #3422
    • New user segment for sending e-mails to users: "User who are allowed to post listings" #3461
    • "Per unit" default pricing unit #3462
    • Japan as supported country for Stripe #3472
    • Puerto Rico as supported country for Stripe #3474
    • Possibility to hide slogan and description from the cover photo #3477
    • Transaction search and filter #3484 and #3504
    • Listing search and filter #3496
    • Customizable footer for Pro subscriptions #3374
    • New section in admin panel to view and manage invitations #3505
    • Add user_id to the listing CSV export #3511
    • HSTS support #3512
    • Add filters in User search and filters #3515
    • Add Conversations search in admin panel #3521
    • Admin can act as another user (post listings as, edit profile) #3525
    • Admin can resend confirmation email #3529
    • Add Review search in admin panel #3537
    • Social media sharing specific texts #3538
    • Custom link behind marketplace logo #3564
    • Ability to edit default top bar menu links #3565
    • Admins should be able to see closed listings #3582
    • User can browse all their listings in a table #3584

    Changed

    • Make "Per unit" the default pricing unit for product marketplace #3462
    • Better messaging for closed marketplaces #3465
    • Allow 65 characters in the listing title #3497
    • Characters are escaped in URLs #3546
    • Updated list of supported and unsupported languages #3577

    Deprecated

    Removed

    Fixed

    • Bug in Hong Kong bank account form #3456
    • Bug in transaction agreement text #3468
    • Bug in availability per hour manager #3467
    • Layout for social media image #3475
    • Amazon Web service mail verification #3471
    • Number of users when searching in the admin panel #3483

    Security

    • Fix referrer issue #3469
    • Security dependencies update #3470
    • Dependency update #3479

    Upgrade from 7.4.0 to 7.5.0

    HTTP Strict Transport Security is now enabled by default for sites that do not use custom domain (communities.use_domain = false) when always_use_ssl is set to true in the configuration. If you wish to disable it, set hsts_max_age to 0.

    Nothing else special. See the [#general-update-instructions].

    Source code(tar.gz)
    Source code(zip)
  • 7.4.0(Oct 9, 2018)

    [7.4.0] - 2018-10-09

    Added

    • View Listings page in the admin panel #3340
    • Locations section in the custom landing pages #3341
    • Background color and image for any section #3296
    • Custom fields for user profiles #3332
    • Add a section button for info-2-columns and info-3-columns in the custom landing pages #3362
    • File name in the design tab and profile settings to show the stored file #3364
    • Allow markdown in user profiles "About you" section #3370
    • "Expired" status in View listings page #3387
    • Allow spaces at the end of the e-mails in signup form #3394
    • Added Puerto Rico as a Stripe supported country #3399
    • Added support for INR with PayPal #3416
    • Added support for ARS with PayPal #3415
    • Direct link to the admin panel when logging in as admin user#3414
    • Added checkmarks to the user fields #3441
    • Added the use of session token in Google's autocomplete feature #3401
    • Icons to payment provider's page #3444

    Changed

    • Rename admin panel sections #3350
    • Rename save listings button #3355
    • Video section variations on the custom landing pages #3367
    • Renamed the default category to "default category" #3362
    • Allow links in the custom user text fields #3373
    • Google maps dynamic map for static maps in the listing page #3382
    • Change Static map for embedded maps in the listing page #3395
    • Update to Circle CI 2.0 #3360
    • Profile image is only used once it has been processed #3427

    Fixed

    • Fix data deletion task to handle missing images #3349
    • Requester name in waiting for confirmation messages in the inbox #3357
    • Fixed bug in Hungarian Forint minimum transaction size #3366
    • Stripe fee information in listing page #3384
    • Display bug in checkbox user fields #3385
    • Fixed a broken link when no date was selected for free "per day" and "per night" listings #3410
    • Allow to leave dropdown option unselected if it is not mandatory #3446

    Upgrade from 7.3.1 to 7.4.0

    Nothing special. See the general upgrade instructions.

    Source code(tar.gz)
    Source code(zip)
  • v7.3.1(Jun 7, 2018)

    [7.3.1] - 2018-06-07

    Release contains important security fixes.

    Security

    • [Critical] Fix several parameter validation bugs that opened the app to SQL injection
    • Update sinatra dependency #3344
    • Update multiple dependencies
    • Present form auto-complete for Stripe secret keys #3338

    Added

    • Add soundcloud link support in custom landing page footer #3300
    • Add checkbox for consent for receiving emails from admins to signup process #3318
    • Add popup notification when giving admin rights to a new user #3329
    • Add link to privacy policy in the signup page #3328
    • Allow admins to disable end-user Analytics #3319
    • Allow links in custom listing text fields #3297
    • Add View reviews section in the admin panel #3267
    • Add possibility to export transaction as CSV file #3245

    Changed

    • Improve user deletion to clear personal data more thoroughly #3325
    • Delete automatically transactions that fail with Stripe #3326
    • Prevent an admin from deleting their account if they are the only admin in the marketplace#3320
    • Split first name and last name from Stripe account connection form #3317

    Removed

    • Remove feature flag for export transactions feature #3288

    Fixed

    • Fix Dockerfile issue where bundler was trying to install binaries in root-owner directory #3321. Thanks, Nick Meiremans.
    • Fix Stripe payout scheduler #3309
    • Fix last 4 digits of SSN passing to Stripe for US bank accounts #3282

    Upgrade from 7.3.0 to 7.3.1

    Nothing special. See the general upgrade instructions.

    Source code(tar.gz)
    Source code(zip)
  • v7.3.0(Feb 28, 2018)

    [7.3.0] - 2018-02-23

    Added

    • Per hour availability 3166
    • Support for NZ bank account with Stripe 3165
    • "View conversations" section in admin panel 3173
    • Account tokens for Stripe bank account connections 3234

    Changed

    • Made user confirmation form more secure 3170

    Removed

    • Confirmation days x after end time of the transaction 3205

    Fixed

    • Improvements to PayPal workflow (IPNs) 3176
    • Some bugs related to sending emails from admin#3183

    Upgrade from 7.2.0 to 7.3.0

    Nothing special. See the [#general-update-instructions].

    Source code(tar.gz)
    Source code(zip)
  • v7.2.0(Nov 22, 2017)

    Added

    • Add rack-attack for request throttling #3078
    • Stripe integration #3018
    • Sending emails from admin to specified subset of users #3058
    • Custom Scripts are now also enabled in Custom Landing Page #3080
    • Allow admins to edit their Custom Outgoing Email and Sender Name #3106
    • Allow admins to unban users 3108
    • Ability to disable Stripe and PayPal 3112
    • Allow admins to search users by name or email 3113
    • Add an unsubscribe link to invitation emails 3136
    • Add more information texts about holding funds with Stripe 3150

    Changed

    • Lowered daily limits for invitations from 50 to 10 3134
    • Increased unsubscribe auth token validity from 1 week to 4 weeks 3138

    Fixed

    • Fixed correct use of outgoing email address, if configured, when sending manual emails to users #3058
    • Fixed sounds of videos in Custom Landing Pages not working #3101
    • Fixed listing image reordering when some images were deleted #3107
    • Fixed incorrect use of name of receipt email 3127
    • Fixed many bugs related to Stripe integration
    • Fixed many bugs related to code refactoring

    Upgrade from 7.1.0 to 7.2.0

    Nothing special. See the General Update Instructions.

    Source code(tar.gz)
    Source code(zip)
  • v7.1.0(Sep 15, 2017)

    Added

    • Added configuration for trusted proxies #3040

    Changed

    • Currencies can now be formatted with translations #3043
    • Transaction status is now named Completed everywhere instead of Confirmed #3028
    • WebTranslateIt API keys were updated #3029
    • Force meta tags content to be HTML escaped #3047
    • Upgrade to latest ruby 2.3.4 with latest rubygems (2.6.13+) #3056

    Fixed

    • Fixed image deletion in Android 3023
    • Fixed changing the names of custom listing field options 3024
    • Fixed image ordering usability in Android 3034
    • Fixed not sending automatic emails to expired and deleted marketplaces 3044
    • Fixed carousel black box rendering issue 3045
    • Fixed datepicker issue with per night availability 3046
    • Fixed listing checkbox layout issue on mobile 3048
    • Fixed admin layout issue in Safari 3066
    • Fixed error message layout placement when reviewing without grade 3067
    • Fixed managing availability of rejected booking dates 3068

    Upgrade from 7.0.0 to 7.1.0

    Ruby version is updated from 2.3.1 to 2.3.4. The update contains fixes for several security vulnerabilities.

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

    rvm install ruby-2.3.4
    rvm use ruby-2.3.4
    gem install bundler
    bundle install
    
    Source code(tar.gz)
    Source code(zip)
  • v7.0.0(Aug 8, 2017)

    Tag version: v7.0.0

    Release title: v7.0.0

    Describe this release:

    Changed

    • Updated Rails to 5.1.1 and Node to 7.8 #2976

    Upgrade

    Make sure you have node 7.8 installed.

    Then follow the general upgrade instructions in https://github.com/sharetribe/sharetribe/blob/master/UPGRADE.md.

    If foreman causes trouble with an error message:

    'method_missing': undefined method 'this'
    

    it's an issue with rubygems. This issue can be solved by updating rubygems with:

    gem update --system
    
    Source code(tar.gz)
    Source code(zip)
  • v6.4.0(Jun 9, 2017)

    Added

    • New feature: User can reorder listing images #2970

    Changed

    • Change instructions how to compile assets. This reduces the JavaScript bundle size drastically. c613cac

    Fixed

    • Fixed transaction button styles. Styles were broken in IE Edge. #2968
    • Fixed admin UI language change. #2969
    • Fix old mobile browser compatibility by removing dependency to Intl api. #2979

    Security

    • Fixed cross-community security issues #2978
    Source code(tar.gz)
    Source code(zip)
  • v6.3.0(Apr 24, 2017)

    Changed

    • Migrate from database session store to cookie-based session store #2935

    Removed

    • Removed default twitter handle #2906

    Fixed

    • Fix cropped cover photo in big screens #2895
    • Add missing padding to homepage search field in mobile view #2895
    • Fix unwanted scrolling in listing page by removing comment text area auto focus #2917
    • Fix faulty feature flag dependency handling #2932
    • Fix map bug where multiple listings close to each other caused the icon cluster to disapper when zoomed closed enough #2942
    • Fix issue #2885: Landing page always shows Sign up button for private marketplace, even if the user is logged in #2944

    Security

    • Upgrade Nokogiri and rubyzip gems #2943

    Upgrade from 6.2.0 to 6.3.0

    Migration from database session store to cookie-based session store

    This release migrates from database session store to cookie-based session store. The migration is done seamlessly without users being logged out.

    Make sure that you are using a cache store that can share cache between processes (such as FileStore, MemCacheStore or Redis) if you are running multiple server processes. The new session implementation caches user session data and if the cache is not shared between all server processes they will get out of sync and actions such as logout will only log out the user from one process but not from all processes. See this Rails Guides article to read more about Cache Stores in Rails.

    Add a new scheduled task to clean up expired tokens. Run it once per day:

    bundle exec rails runner ActiveSessionsHelper.cleanup
    

    To read more, see Scheduled tasks.

    Source code(tar.gz)
    Source code(zip)
  • v6.2.0(Mar 9, 2017)

    Added

    • Add support for redis as cache store #2786
    • Add support for using PayPal in fake mode for development purposes. Read more #2598
    • Add support for linking to member invitation page in CLP #2859
    • New feature: Hide irrelevant search filters when a category or subcategory is selected #2882
    • Landing page Markdown support #2887
    • Add instructions how to configure Harmony service #2892

    Changed

    • Redirect user to the page where user was before login/sign up #2758
    • Updated NPM packages #2762

    Fixed

    • Fixed broken transaction button styles #2723
    • Fixed number of issues in the Order Types form #2858
    • Fixed an issue which caused sign up to fail partially if the Facebook profile picture upload failed #2886

    Upgrade from 6.1.0 to 6.2.0

    NPM packages are updated, run npm install to get the latest packages.

    Source code(tar.gz)
    Source code(zip)
  • v6.1.0(Nov 1, 2016)

    Changed

    • Updated Node.js to the latest LTS (long term support) version 6.9 #2655
    • Updated NPM packages #2655
    • Update react_on_rails gem #2655
    • Upgrade Facebook SDK from v2.2 to v2.8 #2666
    • Instruct crawlers not to follow auth paths, add crawling delay for bots that support the directive #2693

    Fixed

    • Avoid redirect to correct S3 bucket endpoint when bucket is not in us-east-1 region #2605
    • Added missing database indexes #2621, #2634, #2670
    • Fix bug: rake assets:precompile fails if MySQL is not available. Issue fixed by upgrading money-rails gem from 1.3 to 1.4 #2612 by @nicolaracco

    Security

    • Fixed insecure gem urls in Gemfile #2635

    Upgrade from 6.0.0 to 6.1.0

    In this release we are introducing layout changes that require new image styles. Therefore, a migration is added to reprocess all images from open listings into new styles. This does not require any precautions, but if your marketplace has a lot of open listings the time required for image reprocessing can be reduced by increasing the number of workers until all CreateSquareImagesJob jobs have been processed.

    This release updates Node.js to the latest LTS (long term support) version 6.9. You should update your local Node.js to the same version and run npm install to update the NPM packages. There is now a strict enforcement for the Node.js version, and building the frontend bundles fail when using an unsupported version of Node.js.

    Alongside the updated NPM packages, also the react_on_rails gem is updated to match the NPM package version, and requires running bundle install to install the latest version.

    Source code(tar.gz)
    Source code(zip)
  • v6.0.0(Sep 27, 2016)

    Removed

    • Dropped official support for MySQL server version 5.6. Only MySQL 5.7 is officialy supported. This release contains no other changes.

    Upgrade from 5.12.0 to 6.0.0

    Release 6.0.0 drops official support for MySQL server version 5.6. Please upgrade to 5.7 when upgrading Sharetribe. See the upgrade notes from release 5.12.0 for more information.

    Source code(tar.gz)
    Source code(zip)
  • v5.12.0(Sep 27, 2016)

    Added

    • Added date picker for "per night" listing unit type #2481
    • SEO: Added rel=next and rel=prev links to give a hint to crawlers about the paginated content #2505
    • Added New layout admin page where marketplace admins can enable new layout designs for the whole marketplace or just for themselves to try out #2338 and #2469
    • Added functionality to edit Post a new listing button text #2448
    • Sitemap #2492, thanks Dan Moore (@mooreds) for helping!
    • Mocha test setup for new frontend architecture #2550

    Deprecated

    • Deprecated use of MySQL server version 5.6.x 2566

    Removed

    • Removed configuration for TravisCI (CircleCI now fully in use) #2489

    Changed

    • Updated React on Rails to 6.0.5 #2428 and #2472
    • Updated React Storybook to version 2.13.0 #2528
    • Changed ActiveRecord schema format to :sql #2531
    • Upgraded Paperclip and Delayed::Paperclip, dropped deprecated AWS SDK v1 #2522
    • Upgraded mysql2 dependency #2565

    Fixed

    • Correctly add https or http to links generated in community.rb #2459
    • Transactions in initiated state showed wrong total price in the transaction page if the item quantity was more than one #2452
    • Fix bug in infinite scroll: The current page was not taken into account #2532
    • Fix bug: Testimonial reminders were sent even if user had disabled them #2557
    • Fix regression: Add quantity pickers to non-payment transactions #2568

    Upgrade from 5.11.0 to 5.12.0

    IMPORTANT: This release deprecates use of MySQL server version 5.6.x. Please, consider upgrading to MySQL 5.7. Support for MySQL 5.6 will be dropped with the next release of Sharetribe. From this point onward, versions other than 5.7 might work, but are not guaranteed to work with Sharetribe. Make sure to back up your database before upgrading MySQL server. For general upgrade instructions, see the official MySQL upgrade instructions.

    If you are using S3 and are using an AWS region other than us-east-1, you need to update your config.yml file and set the s3_region configuration option to the AWS region you are using. As with all configuration options, you can also pass it as an environment variable.

    Source code(tar.gz)
    Source code(zip)
  • v5.11.0(Aug 24, 2016)

    Changed

    • RAILS_ENV=production environment added to the rake assets:compile command in README #2440 by @pcm211

    Removed

    • Remove Braintree support completely #2424, #2435

    Upgrade from 5.10.0 to 5.11.0

    This version is the second phase of removing support for Braintree payments. Old payment data for Braintree transactions will be removed in the migrations. If you want to save this data, you should take a backup before updating.

    After the upgrade to 5.10.0 no new transactions could be started with Braintree anymore, and before upgrading to this version you should make sure that there are no ongoing Braintree transactions. You can check the status of each transaction in the transaction view in the admin panel. All transaction statuses should be either Conversation, Confirmed, Canceled, or Rejected.

    Source code(tar.gz)
    Source code(zip)
  • v5.10.0(Aug 23, 2016)

    Removed

    • Disable Braintree payments #2423

    Upgrade from 5.9.0 to 5.10.0

    This version starts the two step process of disabling Braintree payments. In the first phase new payments are disabled with Braintree. The main purpose of this version is to ensure that there will be no new Braintree transactions. Existing transactions can be completed still after this update.

    This version changes existing transaction processes, so taking a backup before upgrading is recommended.

    Reasoning behind removing Braintree support can be seen in the Community forum post.

    Source code(tar.gz)
    Source code(zip)
  • v5.9.0(Aug 18, 2016)

    Added

    • Add support for using CDN for dynamic assets (uploaded images, custom compiled stylesheets) when S3 is otherwise in use #2314
    • Add possibility to choose between light and dark background image filter for hero and info sections in custom landing pages #2310
    • Add Pinterest link support in custom landing page footer #2356

    Changed

    • Remove the need for CSS compilation per marketplace #2325
    • Update default colors #2365

    Removed

    • Removed Checkout Finland payment gateway #2408 #2406

    Fixed

    • Security: Rails and gems updated #2393, #2318
    • Fix some asset links not respecting asset_host setting on landing pages #2320
    • Fix JS errors in development by replacing babel-polyfill with es6-shim #2087

    Upgrade from 5.8.0 to 5.9.0

    This release removes the need to run CSS compilation workers. There is no CSS compilation per marketplace anymore. The Procfile has been updated, so if you run on Heroku, the css_compile worker should disappear after deployment.

    NPM packages have been updated, run npm install to ensure you have the correct versions installed.

    Source code(tar.gz)
    Source code(zip)
  • v5.8.0(Jul 15, 2016)

    Added

    • Add whitelabel_branding based on features #2052
    • Onboarding topbar and wizard enabled for everyone #2250
    • Ability to add Google Maps API key #2172
    • Landing page. See the documentation

    Changed

    • Facebook sign up/login uses API version 2.2 instead of 2.0 #2280
    • Improved documentation #2271

    Fixed

    • Fix some React dependency issues caused startup timing/ordering #2046 and #2053
    • Fix issue that caused Google Maps Geocoder to return wrong location if the listing address contained an ampersand (&) #2075
    • Fix pluralization error for Turkish (tr-TR) #2292

    Upgrade from 5.7.1 to 5.8.0

    This release doesn't require any extra actions.

    Source code(tar.gz)
    Source code(zip)
  • v5.7.1(May 12, 2016)

    Fixed

    • Fix missing map icon #2032

    Added

    • Add instructions for handling libv8 installation problems #2023

    Upgrade from 5.7.0 to 5.7.1

    This is a bug fix release and does not require any extra actions.

    Source code(tar.gz)
    Source code(zip)
  • v5.7.0(May 11, 2016)

    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.

    Source code(tar.gz)
    Source code(zip)
  • v5.6.0(Mar 11, 2016)

    Added

    • Add default queue name to jobs #1814

    Changed

    • Update Ruby to 2.2.4 #1774

    Fixed

    • Wrong action was executed when radio buttons were clicked back and forth #1802

    Security

    • Redirect to HTTPS (if configured) before requesting HTTP basic authentication: #1793

    Upgrade from 5.5.0 to 5.6.0

    Ruby version is updated from 2.1.8 to 2.2.4. The update should reduce memory usage and improve performance.

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

    rvm install ruby-2.2.4
    rvm use ruby-2.2.4
    gem install bundler
    bundle install
    
    Source code(tar.gz)
    Source code(zip)
  • v5.5.0(Mar 2, 2016)

    Changed

    • Migrate legacy passwords to Devise's Bcrypt hashing #1781
    • Add listing id to option selections table: #1761 and #1762
    • Support optional site-wide HTTP basic authentication: #1766

    Fixed

    • Fixed broken FontAwesome asset path #1756
    • Listing author wasn't able to give feedback if the transaction starter skipped the feedback #1767

    Security

    • Update Rails to 4.2.5.2 #1786

    Upgrade from 5.4.0 to 5.5.0

    This release removes the support for legacy hashing algorithm that was used with the legacy "ASI" service.

    If use_asi_encryptor was configured to false (default) then you can safely upgrade and roll back this release.

    However, if use_asi_encryptor was configured to true then you can not roll back this released without losing user authentication data. If you need to roll back, users need to request new password by clicking the "Forgot password link".

    Source code(tar.gz)
    Source code(zip)
  • v5.4.0(Feb 22, 2016)

    Changed

    • Update Ruby to 2.1.8 #1750

    Security

    • Update JSON Web Token gem #1723

    Fixed

    • Configure Delayed Job queue adapter for ActiveJob #1749

    Upgrade from 5.3.0 to 5.4.0

    Ruby version is updated from 2.1.2 to 2.1.8. The update contains security and bug fixes.

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

    rvm install ruby-2.1.8
    rvm use ruby-2.1.8
    gem install bundler
    bundle install
    
    Source code(tar.gz)
    Source code(zip)
  • v5.3.0(Feb 15, 2016)

    Changed

    • Updated Rails to 4.2.5.1 #1691

    Upgrade from 5.2.x to 5.3.0

    This version contains some changes to the caching logic. The Rails cache needs to be cleared before upgrading.

    Upgrade path:

    1. Upgrade to version 5.2.2
    2. Clear Rails cache (run Rails.cache.clear)
    3. Upgrade to version 5.3.0
    Source code(tar.gz)
    Source code(zip)
Open source API management platform

About Fusio is an open source API management platform which helps to build and manage REST APIs. Fusio provides all tools to quickly build an API from

Apioo 997 Sep 15, 2021
Open Source multi-language/multi-currency/multi-store E-commerce platform for Ruby on Rails with a modern UX, PWA frontend, REST API, GraphQL, several official extensions, and 3rd party integrations.

Spree Commerce Success Stories Documentation Integrations Spree is a complete open source e-commerce solution built with Ruby on Rails. It was started

Spree Commerce 11.4k Sep 20, 2021
Personal CRM. Remember everything about your friends, family and business relationships.

Personal Relationship Manager Monica is a great open source personal relationship management system. Introduction Purpose Features Who is it for? What

Monica 13.3k Sep 24, 2021
🎧 Kaku is a highly integrated music player supports different online platform like YouTube, SoundCloud, Vimeo and more. Available on Mac, Windows and Linux.

Kaku Kaku is a highly integrated music player that supports different online platforms like YouTube, SoundCloud, Vimeo and more. Available on Windows,

Chia-Lung Chen 1k Sep 20, 2021
Self-hosted VirusTotal / MetaDefender wannabe with API, demo UI and Scanners running in Docker.

MalwareMultiScan Self-hosted VirusTotal / OPSWAT MetaDefender wannabe API for scanning URLs and files by multiple antivirus solutions. IMPORTANT: vers

Volodymyr Smirnov 237 Sep 14, 2021
🔥 Open source static (serverless) status page. Uses hyperfast Go & Hugo, minimal HTML/CSS/JS, customizable, outstanding browser support (IE8+), preloaded CMS, read-only API, badges & more.

Über fast, backwards compatible (IE8+), tiny, and simple status page built with Hugo. Completely free with Netlify. Comes with Netlify CMS, read-only

cState 1.4k Sep 17, 2021
Create agents that monitor and act on your behalf. Your agents are standing by!

What is Huginn? Huginn is a system for building agents that perform automated tasks for you online. They can read the web, watch for events, and take

Huginn 32.2k Sep 15, 2021
Open source back-end server for web, mobile and IoT. The backend for busy developers. (self-hosted or hosted)

A scalable, multitenant backend for the cloud. Para is a scalable, multitenant backend server/framework for object persistence and retrieval. It helps

Erudika 408 Sep 20, 2021
Predictive AI layer for existing databases.

Website | Docs | API Docs | Community forum MindsDB is an open-source AI layer for existing databases that allows you to effortlessly develop, train a

MindsDB Inc 3.9k Sep 17, 2021
Squash’s front-end and API host.

Squash: A squarish bug spray An open-source project from Square Squash is a collection of tools that help engineers find and kill bugs in their code b

null 968 Sep 9, 2021
visualCaptcha's Main Repo. This is a collection of all the different versions/repos of visualCaptcha.

visualCaptcha Please note visualCaptcha is no longer actively developed. It still works and should continue to, but it won't be improved by the initia

null 405 Sep 2, 2021
Self Hosted Movie, Series and Anime Watch List

Flox Flox is a self hosted Movie, Series and Animes watch list. It's build on top of Laravel and Vue.js and uses The Movie Database API. The rating ba

Viktor Geringer 979 Sep 17, 2021
Popcorn Time is a multi-platform, free software BitTorrent client that includes an integrated media player ( Windows / Mac / Linux ) A Butter-Project Fork

Popcorn Time A multi-platform, free software BitTorrent client that includes an integrated media player. Visit the project's website at popcorntime.ap

Popcorn Software 6.3k Sep 15, 2021
The world's most popular free, open source ad serving system. You can download the latest release at:

Revive Adserver The world's most popular free, open source ad serving system Revive Adserver is an open source ad serving tool that enables publishers

Revive Adserver 962 Sep 14, 2021
Graphical program used to map keyboard buttons and mouse controls to a gamepad. Useful for playing games with no gamepad support

antimicro ?? Important update ?? This repo is currently unmaintained. The code hasn't been updated for a while. But not all is lost, antimicro has a f

null 1.5k Sep 24, 2021
OpenProject is the leading open source project management software.

OpenProject OpenProject is a web-based project management software. Its key features are: Project planning and scheduling Product roadmap and release

OpenProject 5.2k Sep 25, 2021
Online genealogy

webtrees - online collaborative genealogy Contents License Coding styles and standards Introduction System requirements Internet browser compatibility

Greg Roach 582 Sep 15, 2021