Sharetribe Go is Sharetribe's old source-available marketplace software, which was also available as a hosted SaaS product. Sharetribe Go is no longer actively maintained.
The new version contains a Ruby upgrade to 3.2.2 and Node to v18.16, that you should review.
Using memcache is no longer supported. You should use Redis instead.
Otherwise, see the General update instructions.
The new version contains a Ruby upgrade to 2.7.5, that you should review. Otherwise, see the General update instructions.
sns_notification_token
configuration variable (which is unset by default). Discoverer/Credits: Wang Sheng of State Grid Sichuan Electric Power Research Institute. #5b844f
The new version contains a critical security fix that you should review. Otherwise, see the General update instructions.
admin2
or admin v2
in their titleNothing special. See the General update instructions.
admin2
or admin v2
in their titleNothing special. See the General update instructions.
If you are not using Harmony for availability management, there is nothing special. See the General update instructions.
Otherwise, follow the instructions below.
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.
Start by following the General update instructions, which will migrate the Go database to the latest version.
Backup also your Harmony database.
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.
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].
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.
Nothing special. See the [#general-update-instructions].
Nothing special. See the [#general-update-instructions].
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.
Rails.cache.clear
via the Rails console