Skip to content

Releases: hometown-fork/hometown

Hometown v1.1.1 (Mastodon 4.0.5)

06 Jul 19:42
0728a6a
Compare
Choose a tag to compare

DO NOT USE THIS RELEASE! It had some critical bugs. We have merged a version from Mastodon with bugfixes which is available here: https://github.com/hometown-fork/hometown/releases/tag/v4.0.6%2Bhometown-1.1.1

This is a security release that keeps us up to date with Mastodon v4.0.5. Please see the 4.0.5 release notes for details.

Thank you @nachtjasmin and @mistydemeo for your help while I'm traveling.

Upgrade steps

There is no need to precompile assets for this release, but please note that the minimal supported ImageMagick version has been bumped to 6.9.7-7. There are also instructions at the 4.0.5 release notes for hardening your nginx configuration - this is not required but it's recommended by the Mastodon team.

  • git remote update && git checkout v4.0.5+hometown-1.1.1
  • Install dependencies: bundle install and yarn install
  • Restart all Mastodon processes

Hometown v1.1.1 (Mastodon 4.0.4)

19 May 11:23
Compare
Choose a tag to compare

This is a security release, that updates us to Mastodon v4.0.4. The security bug affected servers that use LDAP for authentication, which is not enabled by default (or indeed, usually at all) on Hometown servers.

Upgrade steps

The recommended Ruby version has been bumped to 3.0.6. If you are using rbenv, you will be require to install it with RUBY_CONFIGURE_OPTS=--with-jemalloc rbenv install 3.0.6. You may need to update rbenv itself with git -C /home/mastodon/.rbenv/plugins/ruby-build pull.

There is no need to precompile assets for this release.

  • git remote update && git checkout v4.0.4+hometown-1.1.1
  • Install dependencies: bundle install and yarn install
  • Restart all Mastodon processes

Hometown v1.1.1 (Mastodon 4.0.2)

14 Jan 01:05
Compare
Choose a tag to compare

This is a security release, as I was alerted to an issue where edits to local-only posts were being federated. This has been an issue since Hometown v1.1.0, the big Mastodon v4 update (which is listed in version strings as v4.0.2+hometown-1.1.0).

This also contains a fix to how to username autocomplete works on servers that don't have full-text search enabled.

The security issue

In the previous Hometown version v1.1.0, when a user makes a local-only post, that post does not federate. Which is good. But if a user edits the local-only post, a message gets sent out into the fediverse saying: "post X, which is local-only, was edited, and here is the new content of the post".

What happens, at least on Mastodon servers that receive this edit message, is the server goes looking for the original post to modify, sees it doesn't exist, and throws away the message. This means that at least on Mastodon or Hometown servers, the leaked content was not rendered in any user-facing timelines, but an admin who happened to be checking their rejected messages queue might have seen the leaked content. And it is likely that any non-malicious server out there also similarly rejected the messages out of hand.

I am really sorry about this error. I should have caught it, I didn't, and I thank the admin who pointed this out to me.

The fix to autocomplete

There is a Mastodon bug that I submitted a fix for where autocompletion for user names would suggest popular users before people you follow. This only applied to servers that don't have elasticsearch enabled. I fixed that issue, and it will be fixed in a future Mastodon release, but Hometown users get it a bit early.

Upgrade steps

This is a very small update, and there are no changes to the frontend so you don't even need to recompile your assets.

  • git remote update && git checkout v4.0.2+hometown-1.1.1
  • Restart all Mastodon processes

Hometown v1.1.0 (Mastodon 4.0.2)

03 Jan 18:06
Compare
Choose a tag to compare

Hello! This is a BIG update to Hometown. Notably we are now up to date with Mastodon v4.0.2, though I have made a lot of tweaks to the v4 user interface based on feedback from people.

Table of Contents

  1. The v4 update
  2. Tweaks I made to Mastodon v4
  3. New features
  4. Upgrading from Mastodon v4.0.2 to Hometown
  5. Upgrading from v3.5.5+hometown-1.0.8
    1. Important prerequisites
    2. Important v4 warnings
    3. Upgrade steps

The v4 update

So there is a ton of new stuff in Mastodon v4.0.2. You can [read the full changelog at the Mastodon Github](https://github.com/mastodon/mastodon/releases/tag/v4.0.0), but some big changes of note are:

  • Completely new layout in the mobile web app
  • You can now follow hashtags -- when viewing a hashtag you will see an "follow" icon in the upper right. If you click it, you'll receive updates from that hashtag in your home feed.
  • You can now edit posts via the web app. Click the three dot icon on a post you made and hit "Edit". Note that a log of your edits will be viewable to anyone who can see the post. You can't use "Edit" to change the privacy of a post or its local/federated status. The "Delete & redraft" option is still available too.
  • The filtering system is pretty different now. You can put multiple keywords under a single filter rule, and there is the option to put keywords behind a CW instead of just hiding it completely.

Tweaks I made to Mastodon v4

  • You can now expand and retract the right-hand menu in the v4 mobile and tablet layouts -- just press the "hamburger" menu icon in the upper right
  • Mastodon changed things so when you view a profile, clicking the profile pic zooms in on the profile pic. I think this is good, but it left people with no quick way to open the actual full profile for remote users. On Hometown, when you view a remote profile, you can click the display name to go to the profile page.
  • On Mastodon v4, they changed the timestamp link on a focused post to not open the remote server but instead to link to its rendering on your server. I restored this to v3 behavior since timestamps are pretty universally understood on social media to be links to canonical urls.
  • I have reverted the About page to be like it was in v3, since the v4 About page is... not very helpful.
  • I changed a bunch of other things from v4 but mostly to retain old functionality. So you won't notice any changes, and that's a good thing.

New features

  • For users
    • Users now have a "show full username (including domain) for remote users" option in their settings. Basically it means that mentions of accounts on your own server render as @username but remote accounts render as @[email protected]. [Full explanation here.](#1247) You can turn it off so it's short names for everyone, too.
    • Media (images, gifs, video, audio) you see in your timelines that lacks text descriptions now has a warning symbol in the lower-right, to indicate that the media lacks alt text and you might not wish to boost it. [More information here.](#1165)
  • For admins
    • The maximum length for the "why do you want to join?" text for registering a new account has been raised from 420 characters to 5000 characters (nice?). Thanks @nileshtrivedi
    • There is now a "Hometown" tab under "Administration --> Server Settings" where Hometown-specific sitewide settings go. This includes the default RSS opt-out setting for new users (which was in v1.0.8), and also the next bullet point...
    • ...a setting to set the default federation for posts for new users. If it is checked, a brand new account will have its posts set to federated by default. if uncheck, a brand new account will have its posts set to local-only by default. Existing users are unaffected.
    • You can now export and import block lists as CSV files. The buttons are on your Moderation -> Federation menu in the upper right. This will make sharing blocks with other admins easier. (I believe this is coming in a Mastodon update soon, I just pulled in their code early.) Thanks @enbylenore, @ClearlyClaire, and @Tak for the work.
    • There are now options for tootctl media remove that let you remove the header and avatar images of inactive accounts. This is also merged to Mastodon and I pulled it in early. Thanks to @evanphilip, @ClearlyClaire
    • Local only posts now have a localOnly property set to true in their activitypub json objects (this is for better support from third party clients for local-only posting)
    • You may now tweak the CSS of media items that lack descriptive text. These items can be modified in the custom CSS widget via the .media-missing-description selector

You can see the full list of changes in Hometown v1.1.0 here:

Upgrading from Mastodon v4.0.2 to Hometown

Follow the instructions on initial migration from Mastodon.

Upgrading from v3.5.5+hometown-1.0.8

If you already have Hometown installed and are upgrading from v3.5.5+hometown-1.0.8, do the following:

Important prerequisites

First, back up your DB as always: pg_dump -Fc mastodon_production > backup.dump

The recommended Ruby version has been bumped to 3.0.4. You can upgrade, or you can continue using the old version by overwriting the .ruby-version file with e.g. 3.0.3 which was recommended previously. The minimum version you can use is 2.7.

The minimum Node.js version has been bumped to 14. If you are running an older version of Node.js, stuff won't work. Importantly, v18 as of this moment doesn't work either. Make sure you are running v14 or v16.

Important v4 warnings

⚠️ If you have customized your Sidekiq setup, make sure that it supports the new ingress queue. If you are running a relatively "normal" sidekiq install you won't have to worry about this, though.

So, Mastodon docs say this:

ℹ️ The AUTHORIZED_FETCH option no longer affects the REST API to allow the web app to function properly for logged out users. The information available through the REST API was previously available on HTML pages. To restore previous behaviour, use new environment variable DISALLOW_UNAUTHENTICATED_API_ACCESS.

But if you are running with AUTHORIZED_FETCH for some reason you really, really ought to read this bug report: mastodon#20777 -- there are big issues with the way this works in v4 and I assume fixes are coming but if AUTHORIZED_FETCH is something you care about, maybe don't upgrade Hometown yet.

ℹ️ Make sure your installed systemd service files (mastodon-web.service, mastodon-sidekiq.service and mastodon-streaming.service) are up to date, or you may experience failures when uploading some media files. The newest versions of these files are here: https://github.com/mastodon/mastodon/tree/main/dist

When upgrading your systemd files to the ones above, please note that if you host your media on a different volume from /home/mastodon/live, even if it's symlinked, you'll need to provide an additional line in each service file like ReadWritePaths=/path/to/volume/with/media

Upgrade steps

  • git remote update && git checkout v4.0.2+hometown-1.1.0
  • bundle install
  • yarn install
  • Run the pre-deployment database migrations by specifying the SKIP_POST_DEPLOYMENT_MIGRATIONS=true environment variable:
    • SKIP_POST_DEPLOYMENT_MIGRATIONS=true RAILS_ENV=production bundle exec rails db:migrate
  • Precompile the assets: RAILS_ENV=production bundle exec rails assets:precompile
  • Restart all Mastodon processes
  • Run post-deployment migrations: RAILS_ENV=production bundle exec rails db:migrate
  • Restart all Mastodon processes again

...and hopefully you're now up and running!

Hometown v1.0.8 (Mastodon 3.5.5)

04 Dec 18:27
29eb83d
Compare
Choose a tag to compare

Hello! This is an upgrade to Hometown that fixes some bugs and adds a few new features. The Mastodon version remains at 3.5.5, so no changes there.

New user-facing features

Fixes

Behind the scenes stuff

The full list of pull requests and issues is also available here: https://github.com/orgs/hometown-fork/projects/1/views/1

This release is up to date with Mastodon v3.5.5, so please check there for individual patch notes if you're upgrading from Mastodon 3.5.3 or lower.

IMPORTANT NOTE: If you are upgrading from Mastodon 3.5.2 and you are getting weird compilation errors, make sure you are running at least Node v12.22.0, 14.17.0, or any version of Node 16. If you're totally lost, you can run node --version to check what version you're running, and installing Node is different in every environment so best to google for "how to install node 16 on [describe your web host or linux version]".

If you're installing Hometown for the first time, please follow the instructions on the wiki. You should have Mastodon v3.5.5 installed. Follow those instructions to install Hometown v3.5.5+hometown-1.0.8.

Upgrading from v1.0.7+3.5.5

If you already have Hometown installed and are upgrading from v1.0.7, do the following:

  • back up your DB as always: pg_dump -Fc mastodon_production > backup.dump

  • git remote update && git checkout v3.5.5+hometown-1.0.8

  • bundle install

  • yarn install

  • Migrate the DB: RAILS_ENV=production bundle exec rails db:migrate

  • Precompile the assets: RAILS_ENV=production bundle exec rails assets:precompile

  • Restart all Mastodon processes

Hometown v1.0.7 (Mastodon 3.5.5)

14 Nov 21:46
Compare
Choose a tag to compare

Hello! This is an upgrade to Hometown that fixes some Hometown features and brings it up to speed with Mastodon v3.5.5, including the important security updates for 3.5.5 and the fixes/features from 3.5.3. Special thanks to @johnholdun for contributing so much to this release.

New features

Fixes

This release is up to date with Mastodon v3.5.5, so please check there for individual patch notes if you're upgrading from Mastodon 3.5.3 or lower.

IMPORTANT NOTE: If you are upgrading from Mastodon 3.5.2 and you are getting weird compilation errors, make sure you are running at least Node v12.22.0, 14.17.0, or any version of Node 16. If you're totally lost, you can run node --version to check what version you're running, and installing Node is different in every environment so best to google for "how to install node 16 on [describe your web host or linux version]".

If you're installing Hometown for the first time, please follow the instructions on the wiki. You should have Mastodon v3.5.5 installed. Follow those instructions to install Hometown v1.0.7+3.5.5.

Upgrading from v1.0.6+3.5.2

If you already have Hometown installed and are upgrading from v1.0.6, do the following:

git remote update && git checkout v1.0.7+3.5.5

  • bundle install
  • yarn install
  • Precompile the assets: RAILS_ENV=production bundle exec rails assets:precompile
  • Restart all Mastodon processes

Hometown v1.0.6 (Mastodon 3.5.2)

08 May 21:56
Compare
Choose a tag to compare

Hooray! A new feature release! It's almost all bugfixes and very minor features so it's getting a patch release.

New features

  • Polish translation of Hometown specific text, thanks to @mkljczk!
  • "About" pages now show in limited federation mode. The reasoning here is that while you certainly want to hide your discoverability features from external servers, you do want your Code of Conduct etc to be viewable by everyone. Thanks @exstral!
  • The "Compose" field is no longer auto-focused. Auto-focusing this as Mastodon does assumes that you are going to make a post when you load the page. This often isn't true, and it means that keyboard shortcut users have to tab out before beginning to navigate. Thanks @raboof for the PR and thanks @rkingett for the accessibility check re: screen readers.

Fixes

  • remove extra fields from Gemfile.lock. This was causing bundler errors on upgrade for some people. Thanks @mistydemeo!
  • Tweaks to the Macaron theme
  • Exclusive lists no longer reset to normal lists when you rename them. Thanks @ljcooke!
  • The :local_only: emoji now works in CW text. Thanks @killpack!
  • Remove some stray Mastodon branding, thanks @exstral!

This release is up to date with Mastodon v3.5.2, so please check there for individual patch notes if you're upgrading from Mastodon 3.5.1 or lower.

If you're installing Hometown for the first time, please follow the instructions on the wiki. You should have Mastodon v3.5.2 installed. Follow those instructions to install Hometown v1.0.5+3.5.2, and then follow these instructions here to upgrade to Hometown v1.0.6+3.5.2.

Upgrading from v1.0.6+3.5.2

If you already have Hometown installed and are upgrading from v1.0.5, do the following:

git remote update && git checkout v1.0.6+3.5.2

  • Precompile the assets: RAILS_ENV=production bundle exec rails assets:precompile
  • Restart all Mastodon processes

Hometown v1.0.5 (Mastodon 3.5.2)

06 May 04:50
Compare
Choose a tag to compare

This release brings us up to par with all the features in Mastodon 3.5.2, including stuff like:

  • auto-deletion of posts after a set time
  • animated GIF custom emoji support
  • better search results
  • better list UI

...and many, many, many other changes. You can read about them here:

This release is up to date with Mastodon v3.5.2, so please check there for individual patch notes if you're upgrading from a lower Hometown version than v1.0.5+3.4.6. If you're installing Hometown for the first time, please follow the instructions on the wiki.

Upgrading from v1.0.5+3.4.6

If you already have Hometown installed and are upgrading from v1.05+3.4.6, do the following:

git remote update && git checkout v1.0.5+3.5.2

As always, make sure you have backups of the database before performing any upgrades. If you are using docker-compose, this is how a backup command might look: docker exec mastodon_db_1 pg_dump -Fc -U postgres postgres > name_of_the_backup.dump

  • If you are using Elasticsearch for full text search, be advised that you must be running at least Elasticsearch 7.0
  • If you are using Docker, the PostgreSQL version in docker-compose.yml has been changed from 9.6 to 14, requires manual upgrade

Docker only:

  • The PostgreSQL container version in our docker-compose.yml configuration has been changed from 9.6 to 14 due to EOL (End-of-Life) of 9.6. Detailed instructions on how to migrate your data is [available here](mastodon#16947).

Non-Docker only:

Both Docker and non-Docker:

  1. Run the pre-deployment database migrations by specifying the SKIP_POST_DEPLOYMENT_MIGRATIONS=true environment variable:

    • Non-Docker: SKIP_POST_DEPLOYMENT_MIGRATIONS=true RAILS_ENV=production bundle exec rails db:migrate
    • Docker: docker-compose run --rm -e SKIP_POST_DEPLOYMENT_MIGRATIONS=true web rails db:migrate
  2. Precompile the assets:

    • Non-Docker: RAILS_ENV=production bundle exec rails assets:precompile
    • Docker: The assets are already precompiled during the build step
  3. Restart all Mastodon processes

  4. Clear cache:

    • Non-Docker: RAILS_ENV=production bin/tootctl cache clear
    • Docker: docker-compose run --rm web bin/tootctl cache clear
  5. Now that the new code is running, we can finish the database migrations. This will run the post-deployment ones:

    • Non-Docker: RAILS_ENV=production bundle exec rails db:migrate
    • Docker: docker-compose run --rm web rails db:migrate
  6. Restart all Mastodon processes

Security Update! Hometown v1.0.5 (Mastodon 3.4.6)

04 Feb 04:49
ee513a6
Compare
Choose a tag to compare

This release brings us the security patches in v3.4.6 (plus all the nice stuff from releases between 3.4.0 and this one, too).

Changes this release:

This release is up to date with Mastodon v3.4.6, so please check there for individual patch notes if you're upgrading from a lower Mastodon version. If you're installing Hometown for the first time, please follow the instructions on the wiki.

Upgrading from v1.0.5+3.4.0

If you already have Hometown installed and are upgrading from v1.05+3.4.0, do the following:

git remote update && git checkout v1.0.5+3.4.6

As always, make sure you have backups of the database before performing any upgrades. If you are using docker-compose, this is how a backup command might look: docker exec mastodon_db_1 pg_dump -Fc -U postgres postgres > name_of_the_backup.dump

Non-Docker only:

  • Install dependencies: bundle install and yarn install

Both Docker and non-Docker:

  1. Run the pre-deployment database migrations:

    • Non-Docker: RAILS_ENV=production bundle exec rails db:migrate
    • Docker: docker-compose run --rm web rails db:migrate
  2. Precompile the assets:

    • Non-Docker: RAILS_ENV=production bundle exec rails assets:precompile
    • Docker: The assets are already precompiled during the build step
  3. Restart all Mastodon processes

Hometown v1.0.5 (Mastodon 3.4.0)

17 May 20:54
Compare
Choose a tag to compare

Whereas the last Mastodon update took me many months to make happen, this one I managed within 24 hours. Phew. Enjoy the latest changes from Mastodon 3.4.0. (I am still working on the next Hometown release in terms of new features.)

Changes this release:

This release is up to date with Mastodon v3.4.0, so please check there for individual patch notes if you're upgrading from a lower Mastodon version. If you're installing Hometown for the first time, please follow the instructions on the wiki.

Upgrading from v1.0.5+3.3.0

If you already have Hometown installed and are upgrading from v1.05+3.3.0, do the following:

git remote update && git checkout v1.0.5+3.4.0

As always, make sure you have backups of the database before performing any upgrades. If you are using docker-compose, this is how a backup command might look: docker exec mastodon_db_1 pg_dump -Fc -U postgres postgres > name_of_the_backup.dump

Non-Docker only:

  • Install dependencies: bundle install and yarn install

Both Docker and non-Docker:

  1. Run the pre-deployment database migrations by specifying the SKIP_POST_DEPLOYMENT_MIGRATIONS=true environment variable:

    • Non-Docker: SKIP_POST_DEPLOYMENT_MIGRATIONS=true RAILS_ENV=production bundle exec rails db:migrate
    • Docker: docker-compose run --rm -e SKIP_POST_DEPLOYMENT_MIGRATIONS=true web rails db:migrate
  2. Precompile the assets:

    • Non-Docker: RAILS_ENV=production bundle exec rails assets:precompile
    • Docker: The assets are already precompiled during the build step
  3. Restart all Mastodon processes

  4. Clear cache:

    • Non-Docker: RAILS_ENV=production bin/tootctl cache clear
    • Docker: docker-compose run --rm web bin/tootctl cache clear
  5. Now that the new code is running, we can finish the database migrations. This will run the post-deployment ones:

    • Non-Docker: RAILS_ENV=production bundle exec rails db:migrate
    • Docker: docker-compose run --rm web rails db:migrate
  6. Restart all Mastodon processes