Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Docker: Remove dist-upgrade #10822

Merged
merged 1 commit into from May 26, 2019

Conversation

Projects
None yet
6 participants
@SuperSandro2000
Copy link
Contributor

commented May 25, 2019

Upgrading all packages is an anti pattern in docker. If there is no special reason to do that you should not do it. If any specific package is required to be update that individual package should be targeted.
The problem with that is that we potentially update many packages that increase the image size drastically and the end users needs to download more then necessary.

@ykzts

ykzts approved these changes May 25, 2019

@Gargron Gargron merged commit 1e6a1ea into tootsuite:master May 26, 2019

11 checks passed

ci/circleci: build Your tests passed on CircleCI!
Details
ci/circleci: check-i18n Your tests passed on CircleCI!
Details
ci/circleci: install Your tests passed on CircleCI!
Details
ci/circleci: install-ruby2.4 Your tests passed on CircleCI!
Details
ci/circleci: install-ruby2.5 Your tests passed on CircleCI!
Details
ci/circleci: install-ruby2.6 Your tests passed on CircleCI!
Details
ci/circleci: test-ruby2.4 Your tests passed on CircleCI!
Details
ci/circleci: test-ruby2.5 Your tests passed on CircleCI!
Details
ci/circleci: test-ruby2.6 Your tests passed on CircleCI!
Details
ci/circleci: test-webui Your tests passed on CircleCI!
Details
codeclimate All good!
Details

@SuperSandro2000 SuperSandro2000 deleted the SuperSandro2000:docker-rm-dist-upgrade branch May 26, 2019

@Miaourt

This comment has been minimized.

Copy link
Contributor

commented May 26, 2019

Just my humble opinion, but updating existent package aren't increasing the size by much (worst case a few kilobytes), don't take much time, and provide latest upstream security fixes.
I think this should be reverted, but replacing dist-upgrade with only upgrade might be interesting, since the first one isn't really pertinent in our objective of having only security issues patched.

@SuperSandro2000

This comment has been minimized.

Copy link
Contributor Author

commented May 26, 2019

Well, wrong. It increases the image by the package size which best case is 1MB and worst case hundreds of MBs. Docker updates every file apt update touches and puts them in a new layer.
The build time is already insane so every saving is appreciated.
The Ubuntu image is almost daily updated with the latest packages so there is no need to do this if the image is build on CI or the builder pulls the ubuntu image before building.

with only upgrade might be interesting

Well, no. If you care that much about up to date run Arch and bare metal not docker.
Also this is against docker best practices which you should follow and only break if you have a valid reason to do so. https://docs.docker.com/develop/develop-images/dockerfile_best-practices/#run

If you're objective is to get this damn image to 2 GB you are on the best track. 1.4GB is already way to much for a docker image.

@Miaourt

This comment has been minimized.

Copy link
Contributor

commented May 26, 2019

It's not having bleeding edge stuff, it's having less security issue, docker is already a nightmare security-wise so it's quite important to do our best to have the very latest fixes.
The speed of built isn't the objective if this image. Faster the better, of course, but not on the detrimental of the security.
The very big size of this image is mostly due to the relatively big size of the mastodon software, relying on a bunch of gems and node packages, in addition to building all the styling at build time into the image for easier utilization, it's not a rush to save every bits can.

Also please try to stay courteous, we aren't here to attack each others.

@SuperSandro2000

This comment has been minimized.

Copy link
Contributor Author

commented May 26, 2019

docker is already a nightmare security-wise

Most docker container that are well build are way more up do date then the typical Ubuntu or Debian machine. Also you give an potential attacker way less attack surface out of the box and don't allow him to sneak into all production databases when he finds one rce. So it is more secure if you know what you are doing like always.

The speed of built isn't the objective if this image.

It took bloody 47 minutes in circleci.....

Faster the better, of course, but not on the detrimental of the security.

If there is an important security update it can always be installed via apt install.
Also if the official Ubuntu base image is not up to date and there is an important update just nag the guys over here https://github.com/docker-library/official-images to update it asap.

it's not a rush to save every bits can.

Doesn't hurt. Speeds up my dev cycle.

Also please try to stay courteous, we aren't here to attack each others.

Please don't suggest anti patterns then.

Also apt-upgrade produces unpredictable builds and you can't reproduce an image in the future locally without pulling all updates. Good luck debugging a package issue with that.

@Shleeble

This comment has been minimized.

Copy link
Contributor

commented May 27, 2019

docker-compose build --pull

problem solved.

@SuperSandro2000

This comment has been minimized.

Copy link
Contributor Author

commented May 27, 2019

@Shleeble good joke. One of the most request features that one if the maintainers simply does not want to implement.

@Sir-Boops

This comment has been minimized.

Copy link
Contributor

commented Jun 13, 2019

I know this is thread is dead but @SuperSandro2000

If you're objective is to get this damn image to 2 GB you are on the best track. 1.4GB is already way to much for a docker image.

Is because the default docker build system is trash see these for what you can do using this dockerfile

Docker updates every file apt update touches and puts them in a new layer.

See --squash

It took bloody 47 minutes in circleci.....

That's because it builds nodejs, ruby, jemalloc, mastodon then finally compiles assets not from updates this was a choice made when this new dockerfile was added

see here for an example of the faster building version

@SuperSandro2000

This comment has been minimized.

Copy link
Contributor Author

commented Jun 14, 2019

The docker build system is not trash this just uses it wrong. I don't wanna use squash.

Why even compile nodejs and jemalloc? Why not use preconpiled versions?
And I did PRs with that no one looked at yet.

@Sir-Boops

This comment has been minimized.

Copy link
Contributor

commented Jun 14, 2019

I don't wanna use squash.

What's wrong with squash?

Why even compile nodejs and jemalloc? Why not use preconpiled versions?

Allows masto to use any version at any time and this way the docker image dosn't depend on too many other images 😄

@SuperSandro2000

This comment has been minimized.

Copy link
Contributor Author

commented Jun 14, 2019

You know apt? It can install all those things and it saves us time updating those things and debugging build failures and build time and complexity.
And right now we use a pretty old version of node that isn't even the latest version of that minor.

And squash is not the ideal way to do something proper.

@Sir-Boops

This comment has been minimized.

Copy link
Contributor

commented Jun 14, 2019

It can install all those things and it saves us time

Build caching for local/dev servers, then who cares how long it takes to build the release version

And right now we use a pretty old version of node that isn't even the latest version of that minor.

You build it in the container so you have version control even the slightly older version here it closer to current version then the version 18.04 is running src src2

And squash is not the ideal way to do something proper.

It shrinks image sizes massively why would you not build your release version using it

@SuperSandro2000

This comment has been minimized.

Copy link
Contributor Author

commented Jun 14, 2019

I still care about build time when I need to develop that stuff. If it is not necessary we don't need to do it. We don't really gain anything except more complexity and work and I would like to keep it simple and understandable. If you want full control over everything feel safe to compile everything from source but I simply don't have the time and debugging that is required for that.

I am not referring to the version in Ubuntu. I am referring to the the official node binary releases for Ubuntu. Same thing with Ruby and python.

We can combine layers where it makes sense in the dockerfile. This makes the docker file 100% comparable to the final image and makes debugging easier. It also does not add unnecessary CI complexity that could fail.
Also we don't fix stuff afterwards that we could have prevented in the first place. I think this is a very bad pattern and should be avoided where necessary. If you can refractor something to make it easier do it instead of adding bulk around it.

usbsnowcrash added a commit to usbsnowcrash/mastodon that referenced this pull request Jun 22, 2019

Update to 2.9.2 (#8)
* i18n: Update French translations (#10747)

* Update French JSON

* i18n: Update fr.yml

* i18n: Update simple_form.fr.yml

* Update simple_form.fr.yml

* Update fr.yml

* Use local time in audit log (#10751)

* Add toot source to delete result to ease Delete & Redraft (#10669)

* Return Status with raw text in raw_content when deleting a status

* Use raw content if available on delete & redraft

* Rename raw_content to text; do not serialize formatted content when source is requested

* Fix incorrect reference to raw_content (it is raw_text instead) (#10753)

* Fix some colors in light theme (#10754)

* Fix typo in light theme

* Fix background color of empty column

* Bump rubocop from 0.68.1 to 0.69.0 (#10762)

Bumps [rubocop](https://github.com/rubocop-hq/rubocop) from 0.68.1 to 0.69.0.
- [Release notes](https://github.com/rubocop-hq/rubocop/releases)
- [Changelog](https://github.com/rubocop-hq/rubocop/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rubocop-hq/rubocop/compare/v0.68.1...v0.69.0)

Signed-off-by: dependabot[bot] <support@dependabot.com>

* Bump brakeman from 4.5.0 to 4.5.1 (#10757)

Bumps [brakeman](https://github.com/presidentbeef/brakeman) from 4.5.0 to 4.5.1.
- [Release notes](https://github.com/presidentbeef/brakeman/releases)
- [Changelog](https://github.com/presidentbeef/brakeman/blob/master/CHANGES.md)
- [Commits](https://github.com/presidentbeef/brakeman/compare/v4.5.0...v4.5.1)

Signed-off-by: dependabot[bot] <support@dependabot.com>

* Bump capybara from 3.18.0 to 3.19.1 (#10758)

Bumps [capybara](https://github.com/teamcapybara/capybara) from 3.18.0 to 3.19.1.
- [Release notes](https://github.com/teamcapybara/capybara/releases)
- [Changelog](https://github.com/teamcapybara/capybara/blob/master/History.md)
- [Commits](https://github.com/teamcapybara/capybara/compare/3.18.0...3.19.1)

Signed-off-by: dependabot[bot] <support@dependabot.com>

* Update slovak simple_forms (#10763)

* Record account suspend/silence time and keep track of domain blocks (#10660)

* Record account suspend/silence time and keep track of domain blocks

* Also unblock users who were suspended/silenced before dates were recorded

* Add tests

* Keep track of suspending date for users suspended through the CLI

* Show accurate number of accounts that would be affected by unsuspending an instance

* Change migration to set silenced_at and suspended_at

* Revert "Also unblock users who were suspended/silenced before dates were recorded"

This reverts commit a015c65d2d1e28c7b7cfab8b3f8cd5fb48b8b71c.

* Switch from using suspended and silenced to suspended_at and silenced_at

* Add post-deployment migration script to remove `suspended` and `silenced` columns

* Use Account#silence! and Account#suspend! instead of updating the underlying property

* Add silenced_at and suspended_at migration to post-migration

* Change account fabricator to translate suspended and silenced attributes

* Minor fixes

* Make unblocking domains always retroactive

* Adds click-able div that expands status (#10733) (#10766)

The clickable div is positioned under the account avatar and covers
all empty space below it to the end of the status.

* Minor performance improvements and cleanup in formatter (#10765)

* Update simple_form.fr.yml (#10756)

Remplacement des ' par des ’

* Bump aws-sdk-s3 from 1.36.1 to 1.38.0 (#10769)

Bumps [aws-sdk-s3](https://github.com/aws/aws-sdk-ruby) from 1.36.1 to 1.38.0.
- [Release notes](https://github.com/aws/aws-sdk-ruby/releases)
- [Changelog](https://github.com/aws/aws-sdk-ruby/blob/master/gems/aws-sdk-s3/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-ruby/compare/v1.36.1...v1.38.0)

Signed-off-by: dependabot[bot] <support@dependabot.com>

* Bump capybara from 3.19.1 to 3.20.0 (#10768)

Bumps [capybara](https://github.com/teamcapybara/capybara) from 3.19.1 to 3.20.0.
- [Release notes](https://github.com/teamcapybara/capybara/releases)
- [Changelog](https://github.com/teamcapybara/capybara/blob/master/History.md)
- [Commits](https://github.com/teamcapybara/capybara/compare/3.19.1...3.20.0)

Signed-off-by: dependabot[bot] <support@dependabot.com>

* i18n: Update Corsican translation (#10770)

* i18n: update Corsican translation

* Fix typo in co.yml

* Bump aws-sdk-s3 from 1.38.0 to 1.39.0 (#10773)

Bumps [aws-sdk-s3](https://github.com/aws/aws-sdk-ruby) from 1.38.0 to 1.39.0.
- [Release notes](https://github.com/aws/aws-sdk-ruby/releases)
- [Changelog](https://github.com/aws/aws-sdk-ruby/blob/master/gems/aws-sdk-s3/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-ruby/compare/v1.38.0...v1.39.0)

Signed-off-by: dependabot[bot] <support@dependabot.com>

* Prevent from publicly boosting one's own private toots (#10775)

* Remove 'Weblate' from CONTRIBUTING.md (#10778)

The mastodon project no longer used weblate to translate UI
sentences. (ref #10385)

* Change poll options to alphabetic letters when status text is hidden (#10685)

Fix #10569

* add og:image:alt for media attachments in embeds (#10779)

* I18n: Update Czech translation (#10781)

* Upgrade redis in docker-compose.yml from 4 to 5 (#9063)

* Add post-deployment migration script to delete public-boosts-of-private-toots (#10783)

* Small corrections for sk translation (#10784)

* fix `isSubmitting` prop case (#10785)

* sk.yml grammar update (#10786)

* sk.yml grammar update

* bundle exec i18n-tasks normalize

* Fix “invited by” not showing up for invited accounts in admin interface (#10791)

* Change bio limit from 160 to 500 (#10790)

* Change note_length validator from 160 to 500

* Change input maxlength from 160 to 500

* update bio test from 160 to 500

* Multiply a string 30 times instead of 10

* Bump capybara from 3.20.0 to 3.20.2 (#10794)

Bumps [capybara](https://github.com/teamcapybara/capybara) from 3.20.0 to 3.20.2.
- [Release notes](https://github.com/teamcapybara/capybara/releases)
- [Changelog](https://github.com/teamcapybara/capybara/blob/master/History.md)
- [Commits](https://github.com/teamcapybara/capybara/compare/3.20.0...3.20.2)

Signed-off-by: dependabot[bot] <support@dependabot.com>

* Bump lograge from 0.11.0 to 0.11.1 (#10793)

Bumps [lograge](https://github.com/roidrage/lograge) from 0.11.0 to 0.11.1.
- [Release notes](https://github.com/roidrage/lograge/releases)
- [Changelog](https://github.com/roidrage/lograge/blob/master/CHANGELOG.md)
- [Commits](https://github.com/roidrage/lograge/compare/v0.11.0...v0.11.1)

Signed-off-by: dependabot[bot] <support@dependabot.com>

* Update sk.yml (#10788)

* Update sk.yml

* Update sk.yml

* Update sk.yml

* Update sk.yml

* Update sk.yml

* Update sk.yml

* normalize

* Bump httplog from 1.2.2 to 1.3.0 (#10795)

Bumps [httplog](https://github.com/trusche/httplog) from 1.2.2 to 1.3.0.
- [Release notes](https://github.com/trusche/httplog/releases)
- [Changelog](https://github.com/trusche/httplog/blob/master/CHANGELOG.md)
- [Commits](https://github.com/trusche/httplog/commits/v1.3.0)

Signed-off-by: dependabot[bot] <support@dependabot.com>

* Add `account_id` param to `GET /api/v1/notifications` (#10796)

* Add `from_account` to notifications API

this adds the ability to filter notifications by the account they
originated from

* passing a non-existent user should cause none to be returned

* Fix codeclimate warnings

* fix more codeclimate warnings

* make requested changes:

* use account id instead of user@domain
* name the param `account_id` instead of `from_account`

* Don't use `return` in a lambda

* Update remote bio test from 160 to 500 (#10799)

* i18n: Complete frontend Bengali translation (#10800)

* i18n: Complete frontend Bengali translation

* run yarn manage:translations

* Bump rubocop from 0.69.0 to 0.70.0 (#10802)

Bumps [rubocop](https://github.com/rubocop-hq/rubocop) from 0.69.0 to 0.70.0.
- [Release notes](https://github.com/rubocop-hq/rubocop/releases)
- [Changelog](https://github.com/rubocop-hq/rubocop/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rubocop-hq/rubocop/compare/v0.69.0...v0.70.0)

Signed-off-by: dependabot[bot] <support@dependabot.com>

* Bump aws-sdk-s3 from 1.39.0 to 1.40.0 (#10803)

Bumps [aws-sdk-s3](https://github.com/aws/aws-sdk-ruby) from 1.39.0 to 1.40.0.
- [Release notes](https://github.com/aws/aws-sdk-ruby/releases)
- [Changelog](https://github.com/aws/aws-sdk-ruby/blob/master/gems/aws-sdk-s3/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-ruby/compare/v1.39.0...v1.40.0)

Signed-off-by: dependabot[bot] <support@dependabot.com>

* Fix stacking order of emoji picker (#10801)

* Migrate from uws to cws (#10805)

* Add `forceSingleColumn` prop to `<UI />` (#10807)

* Move TabsBar rendering logic from CSS to the ColumnsArea component

* Add forceSingleColumn mode

* Add unread notifications counter to tabs bar

* Add toggle to control `forceSingleColumn`

* Increase paddings in mobile layout responsively at large sizes

* Retry ActivityPub inbox delivery on HTTP 401 and 408 errors (#10812)

HTTP 401 responses returned by Mastodon's inbox controller may
be temporary if, for instance, the requesting user's actor/key json
could not be retrieved in a timely fashion. This changes allow retries
instead of dropping the message entirely.

Also added HTTP 408 as that error is by nature temporary.

* Add sponsor button to GitHub web UI (#10814)

- https://help.github.com/en/articles/displaying-a-sponsor-button-in-your-repository

* Move signature verification stoplight to the requests themselves (#10813)

* Move signature verification stoplight to the requests themselves

This avoids blocking messages from known keys for 5 minutes when only one fails…

* Put the stoplight on the actual client IP, not a potential reverse proxy

* Fix possible race condition when processing statuses (#10815)

* Various improvements to single column layout (#10809)

- Add potential side panels to single column layout
- Hide FAB on large screens

* Improve streaming server security (#10818)

* Check OAuth token scopes in the streaming API

* Use Sec-WebSocket-Protocol instead of query string to pass WebSocket token

Inspired by https://github.com/kubevirt/kubevirt/issues/1242

* Forward port version bumps to 2.8.3 and 2.8.4 (#10819)

* Bump version to 2.8.3

* Bump version to 2.8.4

* Add responsive panels to the single-column layout (#10820)

* Add responsive panels to the single-column layout

* Fixes

* Fix not being able to save the preference

* Fix code style issues

* Set max-height on the compose textarea and add a link to relationship manager

* I18n: Update Czech translation (#10832)

* Avoid cutting bottom of letters of last paragraph of statuses (#10821)

* Expand abbreviation to minimise confusion (#10826)

* Docker: Keep /var/lib/apt/ to keep apt working (#10830)

* Add a keyboard shortcut to hide/show media (#10647)

* Move control of media visibility to parent component

* Add keyboard shortcut to toggle media visibility

* Improvements to the single column layout (#10835)

* Improvements to the single column layout

- Add follows and followers link to the right panel
- Increase margins around separators in right panel
- Add follow requests link with counter when account is locked to right panel

* Redirect from getting started to home when navigation panel is visible

* Fix wrong redirect from getting started to home in advanced Web UI  (#10839)

* update Ruby to 2.5.3

* Link to Getting Started will not redirect to Home in multi-column UI (https://github.com/tootsuite/mastodon/pull/10835)

* Update simple_form.sk.yml (#10842)

* Fix null error in status component when determining showMedia state (#10838)

* Fix null error in status component when determining showMedia state

Also update the showMedia value if the status passed to the
component changes

* Refactor media visibility computation into a defaultMediaVisibility function

* Fix default media visibility with reblogs

* Create new click handler for status__expand area in status (#10837)

This click handler only activates on left-click, resolving #10798.
This matches behavior in status_content.js, as added in #536

* Docker: Remove dist-upgrade (#10822)

* Fix poll visibility on public pages (#10817)

* Fix poll visibility on public pages

* Revert "Fix poll visibility on public pages"

This reverts commit 54a9608add6f855bc6337fe3c65eaee7ba13db49.

* Revert "Change poll options to alphabetic letters when status text is hidden"

This reverts commit c53d67326201b2061990b1874a3547c3647f50d2.

* Use `<use />` to render transparent SVG logo instead of inserting it (#10845)

* Display notifications count on a new single column (#10859)

* Improve rate limiting (#10860)

* Rate limit based on remote address IP, not on potential reverse proxy

* Limit rate of unauthenticated API requests further

* Rate-limit paging requests to one every 3 seconds

* Refactor footers in web UI into a single component (#10846)

* Fix web push notifications for polls (#10864)

Fixes #10861

* Update simple_form.co.yml (#10862)

* Fix undefined method error. (#10867)

* Bump ox from 2.10.0 to 2.10.1 (#10869)

Bumps [ox](https://github.com/ohler55/ox) from 2.10.0 to 2.10.1.
- [Release notes](https://github.com/ohler55/ox/releases)
- [Changelog](https://github.com/ohler55/ox/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ohler55/ox/compare/v2.10.0...v2.10.1)

* Fix undefined method error (#10868)

* I18n: Update Czech translation (#10874)

* Update Japanese translations. (#10875)

run yarn manage:translations ja && i18n-tasks add-missing ja

* Bump tty-prompt from 0.18.1 to 0.19.0 (#10870)

Bumps [tty-prompt](https://github.com/piotrmurach/tty-prompt) from 0.18.1 to 0.19.0.
- [Release notes](https://github.com/piotrmurach/tty-prompt/releases)
- [Changelog](https://github.com/piotrmurach/tty-prompt/blob/master/CHANGELOG.md)
- [Commits](https://github.com/piotrmurach/tty-prompt/compare/v0.18.1...v0.19.0)

* Bump capybara from 3.20.2 to 3.21.0 (#10854)

Bumps [capybara](https://github.com/teamcapybara/capybara) from 3.20.2 to 3.21.0.
- [Release notes](https://github.com/teamcapybara/capybara/releases)
- [Changelog](https://github.com/teamcapybara/capybara/blob/master/History.md)
- [Commits](https://github.com/teamcapybara/capybara/compare/3.20.2...3.21.0)

* Add Dependabot config (#10876)

* i18n: Update Corsican front-end translation (#10884)

* Fix safari post field display issue in single column layout (#10883)

* Bump rimraf from 2.6.2 to 2.6.3 (#10880)

Bumps [rimraf](https://github.com/isaacs/rimraf) from 2.6.2 to 2.6.3.
- [Release notes](https://github.com/isaacs/rimraf/releases)
- [Commits](https://github.com/isaacs/rimraf/compare/v2.6.2...v2.6.3)

* Bump webpacker from 4.0.2 to 4.0.4 (#10882)

Bumps [webpacker](https://github.com/rails/webpacker) from 4.0.2 to 4.0.4.
- [Release notes](https://github.com/rails/webpacker/releases)
- [Changelog](https://github.com/rails/webpacker/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rails/webpacker/compare/v4.0.2...v4.0.4)

* Bump @babel/plugin-transform-runtime from 7.3.4 to 7.4.4 (#10878)

Bumps [@babel/plugin-transform-runtime](https://github.com/babel/babel) from 7.3.4 to 7.4.4.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/compare/v7.3.4...v7.4.4)

* Bump react-redux from 6.0.0 to 6.0.1 (#10879)

Bumps [react-redux](https://github.com/reduxjs/react-redux) from 6.0.0 to 6.0.1.
- [Release notes](https://github.com/reduxjs/react-redux/releases)
- [Changelog](https://github.com/reduxjs/react-redux/blob/master/CHANGELOG.md)
- [Commits](https://github.com/reduxjs/react-redux/compare/v6.0.0...v6.0.1)

* Bump strong_migrations from 0.3.1 to 0.4.0 (#10871)

Bumps [strong_migrations](https://github.com/ankane/strong_migrations) from 0.3.1 to 0.4.0.
- [Release notes](https://github.com/ankane/strong_migrations/releases)
- [Changelog](https://github.com/ankane/strong_migrations/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ankane/strong_migrations/compare/v0.3.1...v0.4.0)

* Bump babel-plugin-react-intl from 3.0.1 to 3.1.0 (#10877)

Bumps [babel-plugin-react-intl](https://github.com/formatjs/babel-plugin-react-intl) from 3.0.1 to 3.1.0.
- [Release notes](https://github.com/formatjs/babel-plugin-react-intl/releases)
- [Commits](https://github.com/formatjs/babel-plugin-react-intl/commits)

* Bump intl-relativeformat from 2.1.0 to 2.2.0 (#10887)

Bumps [intl-relativeformat](https://github.com/yahoo/intl-relativeformat) from 2.1.0 to 2.2.0.
- [Release notes](https://github.com/yahoo/intl-relativeformat/releases)
- [Commits](https://github.com/yahoo/intl-relativeformat/commits)

* Bump express from 4.16.4 to 4.17.1 (#10889)

Bumps [express](https://github.com/expressjs/express) from 4.16.4 to 4.17.1.
- [Release notes](https://github.com/expressjs/express/releases)
- [Changelog](https://github.com/expressjs/express/blob/master/History.md)
- [Commits](https://github.com/expressjs/express/compare/4.16.4...4.17.1)

* Bump js-yaml from 3.12.0 to 3.13.1 (#10881)

Bumps [js-yaml](https://github.com/nodeca/js-yaml) from 3.12.0 to 3.13.1.
- [Release notes](https://github.com/nodeca/js-yaml/releases)
- [Changelog](https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nodeca/js-yaml/compare/3.12.0...3.13.1)

* Fix React warning about legacy lifecycle calls and sensitive status resetting (#10872)

* Change links in right panel to open in the same tab (#10848)

For Rambox compatibility

* Bump capybara from 3.21.0 to 3.22.0 (#10893)

Bumps [capybara](https://github.com/teamcapybara/capybara) from 3.21.0 to 3.22.0.
- [Release notes](https://github.com/teamcapybara/capybara/releases)
- [Changelog](https://github.com/teamcapybara/capybara/blob/master/History.md)
- [Commits](https://github.com/teamcapybara/capybara/compare/3.21.0...3.22.0)

* Bump aws-sdk-s3 from 1.40.0 to 1.41.0 (#10892)

Bumps [aws-sdk-s3](https://github.com/aws/aws-sdk-ruby) from 1.40.0 to 1.41.0.
- [Release notes](https://github.com/aws/aws-sdk-ruby/releases)
- [Changelog](https://github.com/aws/aws-sdk-ruby/blob/master/gems/aws-sdk-s3/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-ruby/compare/v1.40.0...v1.41.0)

* Change default to single column UI (#10847)

Keep current setting for users who were active within the last month

* Bump object.values from 1.0.4 to 1.1.0 (#10894)

Bumps [object.values](https://github.com/es-shims/Object.values) from 1.0.4 to 1.1.0.
- [Release notes](https://github.com/es-shims/Object.values/releases)
- [Changelog](https://github.com/es-shims/Object.values/blob/master/CHANGELOG.md)
- [Commits](https://github.com/es-shims/Object.values/compare/v1.0.4...v1.1.0)

* Bump react-select from 2.2.0 to 2.4.4 (#10895)

Bumps [react-select](https://github.com/JedWatson/react-select) from 2.2.0 to 2.4.4.
- [Release notes](https://github.com/JedWatson/react-select/releases)
- [Changelog](https://github.com/JedWatson/react-select/blob/master/.sweet-changelogs.js)
- [Commits](https://github.com/JedWatson/react-select/compare/v2.2.0...v2.4.4)

* Bump react-redux-loading-bar from 4.0.8 to 4.2.0 (#10897)

Bumps [react-redux-loading-bar](https://github.com/mironov/react-redux-loading-bar) from 4.0.8 to 4.2.0.
- [Release notes](https://github.com/mironov/react-redux-loading-bar/releases)
- [Changelog](https://github.com/mironov/react-redux-loading-bar/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mironov/react-redux-loading-bar/commits)

* Bump rubocop from 0.70.0 to 0.71.0 (#10901)

Bumps [rubocop](https://github.com/rubocop-hq/rubocop) from 0.70.0 to 0.71.0.
- [Release notes](https://github.com/rubocop-hq/rubocop/releases)
- [Changelog](https://github.com/rubocop-hq/rubocop/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rubocop-hq/rubocop/compare/v0.70.0...v0.71.0)

* Bump redis from 4.1.1 to 4.1.2 (#10899)

Bumps [redis](https://github.com/redis/redis-rb) from 4.1.1 to 4.1.2.
- [Release notes](https://github.com/redis/redis-rb/releases)
- [Changelog](https://github.com/redis/redis-rb/blob/master/CHANGELOG.md)
- [Commits](https://github.com/redis/redis-rb/compare/v4.1.1...v4.1.2)

* Bump webpack-cli from 3.2.3 to 3.3.2 (#10896)

Bumps [webpack-cli](https://github.com/webpack/webpack-cli) from 3.2.3 to 3.3.2.
- [Release notes](https://github.com/webpack/webpack-cli/releases)
- [Changelog](https://github.com/webpack/webpack-cli/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack/webpack-cli/compare/V.3.2.3...v3.3.2)

* Remove dependency on fibers (#10902)

* Fix old migrations failing because of new version of `strong_migrations` (#10904)

* Bump webpacker from 4.0.4 to 4.0.5 (#10903)

Bumps [webpacker](https://github.com/rails/webpacker) from 4.0.4 to 4.0.5.
- [Release notes](https://github.com/rails/webpacker/releases)
- [Changelog](https://github.com/rails/webpacker/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rails/webpacker/compare/v4.0.4...v4.0.5)

* Bump dotenv from 6.2.0 to 8.0.0 (#10888)

Bumps [dotenv](https://github.com/motdotla/dotenv) from 6.2.0 to 8.0.0.
- [Release notes](https://github.com/motdotla/dotenv/releases)
- [Changelog](https://github.com/motdotla/dotenv/blob/master/CHANGELOG.md)
- [Commits](https://github.com/motdotla/dotenv/compare/v6.2.0...v8.0.0)

* Bump webpacker from 4.0.5 to 4.0.6 (#10905)

Bumps [webpacker](https://github.com/rails/webpacker) from 4.0.5 to 4.0.6.
- [Release notes](https://github.com/rails/webpacker/releases)
- [Changelog](https://github.com/rails/webpacker/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rails/webpacker/compare/v4.0.5...v4.0.6)

* [Security] Bump axios from 0.18.0 to 0.19.0 (#10906)

Bumps [axios](https://github.com/axios/axios) from 0.18.0 to 0.19.0. **This update includes security fixes.**
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/master/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v0.18.0...v0.19.0)

* Bump sass from 1.17.2 to 1.20.1 (#10908)

Bumps [sass](https://github.com/sass/dart-sass) from 1.17.2 to 1.20.1.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.17.2...1.20.1)

* Bump rails-ujs from 5.2.2 to 5.2.3 (#10907)

Bumps [rails-ujs](https://github.com/rails/rails) from 5.2.2 to 5.2.3.
- [Release notes](https://github.com/rails/rails/releases)
- [Commits](https://github.com/rails/rails/compare/v5.2.2...v5.2.3)

* Bump autoprefixer from 9.4.10 to 9.5.1 (#10910)

Bumps [autoprefixer](https://github.com/postcss/autoprefixer) from 9.4.10 to 9.5.1.
- [Release notes](https://github.com/postcss/autoprefixer/releases)
- [Changelog](https://github.com/postcss/autoprefixer/blob/master/CHANGELOG.md)
- [Commits](https://github.com/postcss/autoprefixer/compare/9.4.10...9.5.1)

* Small update for sk.yml (#10913)

* Center 2-columns layout without side effect (#10915)

* Remove dependency on history (#10912)

* Bump eslint-plugin-promise from 4.0.1 to 4.1.1 (#10921)

Bumps [eslint-plugin-promise](https://github.com/xjamundx/eslint-plugin-promise) from 4.0.1 to 4.1.1.
- [Release notes](https://github.com/xjamundx/eslint-plugin-promise/releases)
- [Changelog](https://github.com/xjamundx/eslint-plugin-promise/blob/master/CHANGELOG.md)
- [Commits](https://github.com/xjamundx/eslint-plugin-promise/commits)

* Bump webpack-dev-server from 3.2.1 to 3.5.1 (#10924)

Bumps [webpack-dev-server](https://github.com/webpack/webpack-dev-server) from 3.2.1 to 3.5.1.
- [Release notes](https://github.com/webpack/webpack-dev-server/releases)
- [Changelog](https://github.com/webpack/webpack-dev-server/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack/webpack-dev-server/compare/v3.2.1...v3.5.1)

* Bump jest from 24.5.0 to 24.8.0 (#10925)

Bumps [jest](https://github.com/facebook/jest) from 24.5.0 to 24.8.0.
- [Release notes](https://github.com/facebook/jest/releases)
- [Changelog](https://github.com/facebook/jest/blob/master/CHANGELOG.md)
- [Commits](https://github.com/facebook/jest/compare/v24.5.0...v24.8.0)

* Bump eslint-plugin-jsx-a11y from 6.1.2 to 6.2.1 (#10923)

Bumps [eslint-plugin-jsx-a11y](https://github.com/evcohen/eslint-plugin-jsx-a11y) from 6.1.2 to 6.2.1.
- [Release notes](https://github.com/evcohen/eslint-plugin-jsx-a11y/releases)
- [Changelog](https://github.com/evcohen/eslint-plugin-jsx-a11y/blob/master/CHANGELOG.md)
- [Commits](https://github.com/evcohen/eslint-plugin-jsx-a11y/compare/v6.1.2...v6.2.1)

* Improvement variable height in single column layout (#10917)

* Improvement variable height of compose and navigation panel in single column layout

* Fix wrong quotes and missing commas

* Fix profile picture preview (#10931)

* Fix NotifyService test with regards to reblogs (#10928)

Fixes #10890

* Revert "Bump react-redux-loading-bar from 4.0.8 to 4.2.0 (#10897)" (#10927)

This reverts commit 9ab053a4b47f971192be1e4215eaf0b2fa2f69b7.

* Bump babel-jest from 24.5.0 to 24.8.0 (#10938)

Bumps [babel-jest](https://github.com/facebook/jest/tree/HEAD/packages/babel-jest) from 24.5.0 to 24.8.0.
- [Release notes](https://github.com/facebook/jest/releases)
- [Changelog](https://github.com/facebook/jest/blob/master/CHANGELOG.md)
- [Commits](https://github.com/facebook/jest/commits/v24.8.0/packages/babel-jest)

* Bump offline-plugin from 5.0.6 to 5.0.7 (#10937)

Bumps [offline-plugin](https://github.com/NekR/offline-plugin) from 5.0.6 to 5.0.7.
- [Release notes](https://github.com/NekR/offline-plugin/releases)
- [Changelog](https://github.com/NekR/offline-plugin/blob/master/CHANGELOG.md)
- [Commits](https://github.com/NekR/offline-plugin/compare/v5.0.6...v5.0.7)

* Bump react-intl from 2.7.2 to 2.9.0 (#10940)

Bumps [react-intl](https://github.com/yahoo/react-intl) from 2.7.2 to 2.9.0.
- [Release notes](https://github.com/yahoo/react-intl/releases)
- [Commits](https://github.com/yahoo/react-intl/compare/v2.7.2...v2.9.0)

* Bump sass from 1.20.1 to 1.20.3 (#10941)

Bumps [sass](https://github.com/sass/dart-sass) from 1.20.1 to 1.20.3.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.20.1...1.20.3)

* Handle blank poll options more gracefully (#10946)

Pleroma currently allows (erroneously imho) empty poll options, that is,
options with an empty (but existing) `name`.

* Bump react from 16.7.0 to 16.8.6 (#10935)

* Bump react from 16.7.0 to 16.8.6

Bumps [react](https://github.com/facebook/react/tree/HEAD/packages/react) from 16.7.0 to 16.8.6.
- [Release notes](https://github.com/facebook/react/releases)
- [Changelog](https://github.com/facebook/react/blob/master/CHANGELOG.md)
- [Commits](https://github.com/facebook/react/commits/v16.8.6/packages/react)

* Bump react-dom from 16.7.0 to 16.8.6

* Bump react-test-renderer from 16.7.0 to 16.8.6

* Bump @babel/* from 7.3.4 to 7.4.5 (#10936)

* Bump @babel/plugin-proposal-object-rest-spread from 7.3.4 to 7.4.4

Bumps [@babel/plugin-proposal-object-rest-spread](https://github.com/babel/babel) from 7.3.4 to 7.4.4.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/compare/v7.3.4...v7.4.4)

* Bump @babel/core from 7.3.4 to 7.4.5

* Bump @babel/plugin-proposal-class-properties from 7.3.4 to 7.4.4

* Bump @babel/plugin-proposal-decorators from 7.3.0 to 7.4.4

* Bump @babel/preset-env from 7.3.4 to 7.4.5

* Bump @babel/runtime from 7.3.4 to 7.4.5

* Bump fuubar from 2.3.2 to 2.4.0 (#10947)

Bumps [fuubar](https://github.com/thekompanee/fuubar) from 2.3.2 to 2.4.0.
- [Release notes](https://github.com/thekompanee/fuubar/releases)
- [Changelog](https://github.com/thekompanee/fuubar/blob/master/CHANGELOG.md)
- [Commits](https://github.com/thekompanee/fuubar/compare/releases/v2.3.2...releases/v2.4.0)

* Change dependabot update schedule from live to weekly (#10949)

* Bump react-swipeable-views from 0.13.0 to 0.13.3 (#10952)

Bumps [react-swipeable-views](https://github.com/oliviertassinari/react-swipeable-views) from 0.13.0 to 0.13.3.
- [Release notes](https://github.com/oliviertassinari/react-swipeable-views/releases)
- [Changelog](https://github.com/oliviertassinari/react-swipeable-views/blob/master/CHANGELOG.md)
- [Commits](https://github.com/oliviertassinari/react-swipeable-views/compare/v0.13.0...v0.13.3)

* Bump webpacker from 4.0.6 to 4.0.7 (#10948)

Bumps [webpacker](https://github.com/rails/webpacker) from 4.0.6 to 4.0.7.
- [Release notes](https://github.com/rails/webpacker/releases)
- [Changelog](https://github.com/rails/webpacker/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rails/webpacker/compare/v4.0.6...v4.0.7)

* Bump babel-plugin-react-intl from 3.1.0 to 3.1.3 (#10944)

Bumps [babel-plugin-react-intl](https://github.com/formatjs/babel-plugin-react-intl) from 3.1.0 to 3.1.3.
- [Release notes](https://github.com/formatjs/babel-plugin-react-intl/releases)
- [Commits](https://github.com/formatjs/babel-plugin-react-intl/commits)

* Replace from uglifyjs to terser (#10956)

* Use rubocop-rails (#10957)

* Replace from scss-lint to sass-lint (#10958)

* Bump intersection-observer from 0.5.1 to 0.7.0 (#10953)

Bumps [intersection-observer](https://github.com/w3c/IntersectionObserver) from 0.5.1 to 0.7.0.
- [Release notes](https://github.com/w3c/IntersectionObserver/releases)
- [Commits](https://github.com/w3c/IntersectionObserver/commits)

* Add missing Korean translations (#10962)

And change some word.

* Revert #10957 (rubocop-rails) which is incompatible with CodeClimate (#10965)

* Add profile directory link to single column navigation panel (#10963)

* Fix poll API not requiring authentication on non-public polls (#10960)

* Fix poll API not requiring authentication on non-public polls

That API does not reveal the content of the status, i.e. the question
itself, nor who the author is, nor which status it belongs to, but it
does reveal the poll options and how many answers they got

Fix #10959

* Add test

* Refactor all ActivityPub deliveries to be serialized and signed through one concern (#10966)

* Change reblogs counter to be updated when boosted privately (#10964)

* Fix margins on profile metadata in single column mode (#10961)

* Do not misattribute inlined boosts if `attributedTo` isn't present (#10967)

* Do not misattribute inlined boosts if `attributedTo` isn't present

Fixes #10950

* Fix tests

* Fix refreshing featured toots when the new collection is empty (#10971)

Fixes #10945

* Fix potential private status leak (#10969)

* Cleanup various controllers (#10972)

* Remove skip_session! as it is not supported in Rails 5

* Minor cleanup in StreamEntriesController

* Remove redundant mark_cacheable! calls

* Scroll to compose form when focus (#10970)

* Scroll to compose form when focus

* Get rid of constructor

* Fix emoji picker being always displayed (#10979)

* Fix emoji picker being always displayed

* Remove duplicate content with other pull-requests

* require rubocop-rails in .rubocop.yml (#10974)

* Revert "Revert #10957 (rubocop-rails) which is incompatible with CodeClimate (#10965)"

This reverts commit 121d19d7fa239c52ce86352d3fdae0649c892a20.

* Disable Rails/HelperInstanceVariable

* Fix “mark as sensitive” not being used in delete & redraft (#10980)

* Fix not being able to directly switch between list timelines in web UI (#10973)

* Fix overlap of emoji button on search popup (#10978)

* Fix sass-lint config (#10982)

* Add waiting time to list of pending accounts in admin UI (#10985)

* Change preferences page into appearance, notifications, and other (#10977)

* i18n: Update Corsican translations (#10987)

* Fix display of alt-text when a media attachment is not available (#10981)

* Change /settings/preferences to redirect to appearance, add /settings/preferences/other (#10988)

* Fix some React warnings (#10989)

* Fix RTL layout not being RTL within the columns area (#10990)

* Improve light theme (#10992)

* Change full logo to use primary text color of the given theme (#10994)

* Change full logo to use primary text color of the given theme

* Fix colors of public layout header in light theme

* Put poll options behind content warnings (#10983)

* Put poll options behind CWs in WebUI

* Put polls behind CWs on public pages

* Add poll icon to public pages CWs

* Revert to not showing an icon in the CW button

* I18n: Update Czech translation 🇨🇿 (#10995)

* I18n: Update Czech translation

* Fix

* Re-fix

* And also this

* The real fix now (hopefully)

* Specify gzip required in tootctl emoji help (#11000)

* Fix more issues in the light theme (#10996)

* Fix tabs bar in light theme

* Fix borders on small screens in light theme

* i18n: Update Catalan translations (#10998)

* Updated Catalan strings

* Update ca.yml

* Update ca.yml

* Update ca.yml

* Update ca.yml

* Update ca.yml

* Update ca.yml

* Update ca.yml

* Update simple_form.ca.yml

* Update simple_form.ca.yml

* Update simple_form.ca.yml

* bundle exec i18n-tasks

* Update ca.json

* Update simple_form.ca.yml

* i18n: Update Catalan translations

* i18n: Update Catalan translations

* i18n: Update Catalan translations

* i18n: Update Catalan translations

* i18n: Update Catalan translations

* i18n: Update Catalan translations

* i18n: Update Catalan translations

* i18n: Update Catalan translations

* i18n: Update Catalan translations

* i18n: Update Catalan translation

* i18n Update Catalan translation

* i18n: Update Catalan translations

* i18n: Update Catalan translations

* Fix position of search icon (#11003)

* Change priority of delete activity forwards for replies and reblogs (#11002)

Fix #11001

* Run yarn manage:translations (#11008)

* Bump version to 2.9.0rc1 (#11004)

* i18n: Update Corsican front-end translation (#11010)

* Add missing Korean translations (#11014)

* Fix old migrations failing because of new version of `strong_migrations` (#11018)

* Update sk.yml (#11015)

* Update sk.yml

* Update sk.yml

* Update sk.yml

* Update sk.yml

* Update sk.yml

* Update sk.yml

* Update fr.json (#11024)

* Update fr.yml (#11023)

* Update simple_form.fr.yml (#11021)

* Update simple_form.sk.yml (#11028)

* Fix emoji-button appearing above privacy-dropdown (#11027)

* Fix login sometimes redirecting to paths that are not pages (#11019)

Fix #11016

* Fix can't save preference other (#11042)

* Fix clicking on the left side of a conversation not marking it as read (#11041)

* Add German translations (#11043)

* Fix list not being automatically unpinned when it returns 404 in web UI (#11045)

* Fix Korean translate (#11047)

* update zh-CN translations (#11046)

* l10n: update Persian translation (#11050)

* l10n: update Persian translation

* Update fa.yml

* l10n: update Persian translations (fa.yml) (#11052)

* l10n: update Persian translations (fa.yml)

* Fix fa.yml syntax

* i18n-tasks normalize

* Update Crowdin configuration file

* Update Crowdin configuration file

* i18n: Update Japanese translations (#11035)

* Update Japanese translations

Co-authored-by: Phroneris <phroneris@gmail.com>
Co-authored-by: ruine0213 <ruine@spiele.jp>

* Update Japanese translations

* Update crowdin.yml

* Fix Serbian pluralization rules requiring a "many" key (#11061)

* New Crowdin translations (#11060)

* New translations devise.en.yml (Chinese Traditional)
[ci skip]

* New translations devise.en.yml (Chinese Traditional, Hong Kong)
[ci skip]

* New translations devise.en.yml (Corsican)
[ci skip]

* New translations devise.en.yml (Croatian)
[ci skip]

* New translations devise.en.yml (Danish)
[ci skip]

* New translations devise.en.yml (Dutch)
[ci skip]

* New translations devise.en.yml (Esperanto)
[ci skip]

* New translations devise.en.yml (Finnish)
[ci skip]

* New translations devise.en.yml (French)
[ci skip]

* New translations devise.en.yml (Galician)
[ci skip]

* New translations devise.en.yml (Georgian)
[ci skip]

* New translations devise.en.yml (German)
[ci skip]

* New translations activerecord.en.yml (Tamil)
[ci skip]

* New translations activerecord.en.yml (Spanish)
[ci skip]

* New translations activerecord.en.yml (French)
[ci skip]

* New translations activerecord.en.yml (Latvian)
[ci skip]

* New translations activerecord.en.yml (Galician)
[ci skip]

* New translations activerecord.en.yml (Georgian)
[ci skip]

* New translations activerecord.en.yml (German)
[ci skip]

* New translations activerecord.en.yml (Greek)
[ci skip]

* New translations activerecord.en.yml (Hebrew)
[ci skip]

* New translations activerecord.en.yml (Hungarian)
[ci skip]

* New translations activerecord.en.yml (Ido)
[ci skip]

* New translations activerecord.en.yml (Indonesian)
[ci skip]

* New translations activerecord.en.yml (Italian)
[ci skip]

* New translations activerecord.en.yml (Japanese)
[ci skip]

* New translations activerecord.en.yml (Kazakh)
[ci skip]

* New translations activerecord.en.yml (Korean)
[ci skip]

* New translations activerecord.en.yml (Lithuanian)
[ci skip]

* New translations activerecord.en.yml (Slovenian)
[ci skip]

* New translations activerecord.en.yml (Malay)
[ci skip]

* New translations activerecord.en.yml (Norwegian)
[ci skip]

* New translations activerecord.en.yml (Occitan)
[ci skip]

* New translations activerecord.en.yml (Persian)
[ci skip]

* New translations activerecord.en.yml (Polish)
[ci skip]

* New translations activerecord.en.yml (Portuguese)
[ci skip]

* New translations activerecord.en.yml (Portuguese, Brazilian)
[ci skip]

* New translations activerecord.en.yml (Romanian)
[ci skip]

* New translations activerecord.en.yml (Russian)
[ci skip]

* New translations activerecord.en.yml (Serbian (Cyrillic))
[ci skip]

* New translations activerecord.en.yml (Serbian (Latin))
[ci skip]

* New translations activerecord.en.yml (Slovak)
[ci skip]

* New translations simple_form.en.yml (Corsican)
[ci skip]

* New translations simple_form.en.yml (Welsh)
[ci skip]

* New translations simple_form.en.yml (Chinese Traditional)
[ci skip]

* New translations en.json (Russian)
[ci skip]

* New translations en.json (Kazakh)
[ci skip]

* New translations en.json (Korean)
[ci skip]

* New translations en.json (Latvian)
[ci skip]

* New translations en.json (Lithuanian)
[ci skip]

* New translations en.json (Malay)
[ci skip]

* New translations en.json (Norwegian)
[ci skip]

* New translations en.json (Occitan)
[ci skip]

* New translations en.json (Persian)
[ci skip]

* New translations en.json (Polish)
[ci skip]

* New translations en.json (Portuguese)
[ci skip]

* New translations en.json (Portuguese, Brazilian)
[ci skip]

* New translations en.json (Romanian)
[ci skip]

* New translations en.json (Serbian (Cyrillic))
[ci skip]

* New translations en.json (Italian)
[ci skip]

* New translations en.json (Serbian (Latin))
[ci skip]

* New translations en.json (Slovak)
[ci skip]

* New translations en.json (Slovenian)
[ci skip]

* New translations en.json (Spanish)
[ci skip]

* New translations en.json (Swedish)
[ci skip]

* New translations en.json (Tamil)
[ci skip]

* New translations en.json (Telugu)
[ci skip]

* New translations en.json (Thai)
[ci skip]

* New translations en.json (Turkish)
[ci skip]

* New translations en.json (Ukrainian)
[ci skip]

* New translations en.json (Welsh)
[ci skip]

* New translations en.yml (Albanian)
[ci skip]

* New translations en.json (Japanese)
[ci skip]

* New translations en.json (Indonesian)
[ci skip]

* New translations en.yml (Armenian)
[ci skip]

* New translations en.json (Chinese Traditional, Hong Kong)
[ci skip]

* New translations simple_form.en.yml (Czech)
[ci skip]

* New translations devise.en.yml (Czech)
[ci skip]

* New translations en.json (Albanian)
[ci skip]

* New translations en.json (Arabic)
[ci skip]

* New translations en.json (Armenian)
[ci skip]

* New translations en.json (Asturian)
[ci skip]

* New translations en.json (Basque)
[ci skip]

* New translations en.json (Bengali)
[ci skip]

* New translations en.json (Bulgarian)
[ci skip]

* New translations en.json (Catalan)
[ci skip]

* New translations en.json (Chinese Simplified)
[ci skip]

* New translations en.json (Chinese Traditional)
[ci skip]

* New translations en.json (Corsican)
[ci skip]

* New translations en.json (Ido)
[ci skip]

* New translations en.json (Croatian)
[ci skip]

* New translations simple_form.en.yml (Chinese Simplified)
[ci skip]

* New translations en.json (Dutch)
[ci skip]

* New translations en.json (Esperanto)
[ci skip]

* New translations en.json (Finnish)
[ci skip]

* New translations en.json (French)
[ci skip]

* New translations en.json (Galician)
[ci skip]

* New translations en.json (Georgian)
[ci skip]

* New translations en.json (German)
[ci skip]

* New translations en.json (Greek)
[ci skip]

* New translations en.json (Hebrew)
[ci skip]

* New translations en.json (Hungarian)
[ci skip]

* New translations en.yml (Arabic)
[ci skip]

* New translations en.json (Danish)
[ci skip]

* New translations en.yml (Asturian)
[ci skip]

* New translations en.yml (Tamil)
[ci skip]

* New translations en.yml (Persian)
[ci skip]

* New translations en.yml (Polish)
[ci skip]

* New translations en.yml (Portuguese)
[ci skip]

* New translations en.yml (Portuguese, Brazilian)
[ci skip]

* New translations en.yml (Romanian)
[ci skip]

* New translations en.yml (Russian)
[ci skip]

* New translations en.yml (Serbian (Cyrillic))
[ci skip]

* New translations en.yml (Serbian (Latin))
[ci skip]

* New translations en.yml (Slovak)
[ci skip]

* New translations en.yml (Slovenian)
[ci skip]

* New translations en.yml (Spanish)
[ci skip]

* New translations en.yml (Swedish)
[ci skip]

* New translations en.yml (Telugu)
[ci skip]

* New translations en.yml (Norwegian)
[ci skip]

* New translations en.yml (Thai)
[ci skip]

* New translations en.yml (Turkish)
[ci skip]

* New translations en.yml (Ukrainian)
[ci skip]

* New translations en.yml (Welsh)
[ci skip]

* New translations simple_form.en.yml (Arabic)
[ci skip]

* New translations simple_form.en.yml (Armenian)
[ci skip]

* New translations simple_form.en.yml (Asturian)
[ci skip]

* New translations simple_form.en.yml (Basque)
[ci skip]

* New translations simple_form.en.yml (Bengali)
[ci skip]

* New translations simple_form.en.yml (Bulgarian)
[ci skip]

* New translations simple_form.en.yml (Catalan)
[ci skip]

* New translations en.yml (Basque)
[ci skip]

* New translations en.yml (Occitan)
[ci skip]

* New translations simple_form.en.yml (Albanian)
[ci skip]

* New translations en.yml (Malay)
[ci skip]

* New translations en.yml (French)
[ci skip]

* New translations en.yml (Bengali)
[ci skip]

* New translations en.yml (Lithuanian)
[ci skip]

* New translations en.yml (Bulgarian)
[ci skip]

* New translations en.yml (Catalan)
[ci skip]

* New translations en.yml (Chinese Simplified)
[ci skip]

* New translations en.yml (Chinese Traditional, Hong Kong)
[ci skip]

* New translations en.yml (Corsican)
[ci skip]

* New translations en.yml (Croatian)
[ci skip]

* New translations en.yml (Danish)
[ci skip]

* New translations en.yml (Dutch)
[ci skip]

* New translations en.yml (Esperanto)
[ci skip]

* New translations en.yml (Finnish)
[ci skip]

* New translations en.yml (Chinese Traditional)
[ci skip]

* New translations en.yml (Galician)
[ci skip]

* New translations en.yml (Indonesian)
[ci skip]

* New translations en.yml (Georgian)
[ci skip]

* New translations en.yml (Latvian)
[ci skip]

* New translations en.yml (Kazakh)
[ci skip]

* New translations en.yml (Japanese)
[ci skip]

* New translations en.yml (Italian)
[ci skip]

* New translations en.yml (Ido)
[ci skip]

* New translations en.yml (Hungarian)
[ci skip]

* New translations en.yml (Hebrew)
[ci skip]

* New translations en.yml (Greek)
[ci skip]

* New translations en.yml (German)
[ci skip]

* New translations en.yml (Korean)
[ci skip]

* New translations doorkeeper.en.yml (Kazakh)
[ci skip]

* New translations doorkeeper.en.yml (Hebrew)
[ci skip]

* New translations doorkeeper.en.yml (Korean)
[ci skip]

* New translations doorkeeper.en.yml (Japanese)
[ci skip]

* New translations doorkeeper.en.yml (Italian)
[ci skip]

* New translations doorkeeper.en.yml (Indonesian)
[ci skip]

* New translations doorkeeper.en.yml (Ido)
[ci skip]

* New translations doorkeeper.en.yml (Hungarian)
[ci skip]

* New translations doorkeeper.en.yml (Finnish)
[ci skip]

* New translations doorkeeper.en.yml (Greek)
[ci skip]

* New translations doorkeeper.en.yml (German)
[ci skip]

* New translations doorkeeper.en.yml (Georgian)
[ci skip]

* New translations doorkeeper.en.yml (Galician)
[ci skip]

* New translations doorkeeper.en.yml (French)
[ci skip]

* New translations doorkeeper.en.yml (Esperanto)
[ci skip]

* New translations doorkeeper.en.yml (Dutch)
[ci skip]

* New translations doorkeeper.en.yml (Danish)
[ci skip]

* New translations doorkeeper.en.yml (Lithuanian)
[ci skip]

* New translations doorkeeper.en.yml (Czech)
[ci skip]

* New translations doorkeeper.en.yml (Latvian)
[ci skip]

* New translations doorkeeper.en.yml (Slovenian)
[ci skip]

* New translations doorkeeper.en.yml (Malay)
[ci skip]

* New translations doorkeeper.en.yml (Slovak)
[ci skip]

* New translations doorkeeper.en.yml (Corsican)
[ci skip]

* New translations doorkeeper.en.yml (Ukrainian)
[ci skip]

* New translations doorkeeper.en.yml (Turkish)
[ci skip]

* New translations doorkeeper.en.yml (Thai)
[ci skip]

* New translations doorkeeper.en.yml (Telugu)
[ci skip]

* New translations doorkeeper.en.yml (Tamil)
[ci skip]

* New translations doorkeeper.en.yml (Swedish)
[ci skip]

* New translations doorkeeper.en.yml (Spanish)
[ci skip]

* New translations doorkeeper.en.yml (Serbian (Latin))
[ci skip]

* New translations doorkeeper.en.yml (Norwegian)
[ci skip]

* New translations doorkeeper.en.yml (Serbian (Cyrillic))
[ci skip]

* New translations doorkeeper.en.yml (Russian)
[ci skip]

* New translations doorkeeper.en.yml (Romanian)
[ci skip]

* New translations doorkeeper.en.yml (Portuguese, Brazilian)
[ci skip]

* New translations doorkeeper.en.yml (Portuguese)
[ci skip]

* New translations doorkeeper.en.yml (Polish)
[ci skip]

* New translations doorkeeper.en.yml (Persian)
[ci skip]

* New translations doorkeeper.en.yml (Occitan)
[ci skip]

* New translations doorkeeper.en.yml (Croatian)
[ci skip]

* New translations devise.en.yml (Persian)
[ci skip]

* New translations doorkeeper.en.yml (Chinese Traditional, Hong Kong)
[ci skip]

* New translations devise.en.yml (Latvian)
[ci skip]

* New translations devise.en.yml (Romanian)
[ci skip]

* New translations devise.en.yml (Portuguese, Brazilian)
[ci skip]

* New translations devise.en.yml (Portuguese)
[ci skip]

* New translations devise.en.yml (Polish)
[ci skip]

* New translations devise.en.yml (Occitan)
[ci skip]

* New translations devise.en.yml (Norwegian)
[ci skip]

* New translations devise.en.yml (Malay)
[ci skip]

* New translations devise.en.yml (Lithuanian)
[ci skip]

* New translations devise.en.yml (Korean)
[ci skip]

* New translations devise.en.yml (Serbian (Cyrillic))
[ci skip]

* New translations devise.en.yml (Kazakh)
[ci skip]

* New translations devise.en.yml (Japanese)
[ci skip]

* New translations devise.en.yml (Italian)
[ci skip]

* New translations devise.en.yml (Indonesian)
[ci skip]

* New translations devise.en.yml (Ido)
[ci skip]

* New translations devise.en.yml (Hungarian)
[ci skip]

* New translations devise.en.yml (Hebrew)
[ci skip]

* New translations devise.en.yml (Greek)
[ci skip]

* New translations devise.en.yml (Russian)
[ci skip]

* New translations devise.en.yml (Serbian (Latin))
[ci skip]

* New translations doorkeeper.en.yml (Chinese Traditional)
[ci skip]

* New translations doorkeeper.en.yml (Albanian)
[ci skip]

* New translations doorkeeper.en.yml (Chinese Simplified)
[ci skip]

* New translations doorkeeper.en.yml (Catalan)
[ci skip]

* New translations doorkeeper.en.yml (Bulgarian)
[ci skip]

* New translations doorkeeper.en.yml (Bengali)
[ci skip]

* New translations doorkeeper.en.yml (Basque)
[ci skip]

* New translations doorkeeper.en.yml (Asturian)
[ci skip]

* New translations doorkeeper.en.yml (Armenian)
[ci skip]

* New translations doorkeeper.en.yml (Arabic)
[ci skip]

* New translations devise.en.yml (Welsh)
[ci skip]

* New translations devise.en.yml (Slovak)
[ci skip]

* New translations devise.en.yml (Ukrainian)
[ci skip]

* New translations devise.en.yml (Turkish)
[ci skip]

* New translations devise.en.yml (Thai)
[ci skip]

* New translations devise.en.yml (Telugu)
[ci skip]

* New translations devise.en.yml (Tamil)
[ci skip]

* New translations devise.en.yml (Swedish)
[ci skip]

* New translations devise.en.yml (Spanish)
[ci skip]

* New translations devise.en.yml (Slovenian)
[ci skip]

* New translations doorkeeper.en.yml (Welsh)
[ci skip]

* i18n-tasks normalize

* yarn manage:translations

* Change translations badge in README to Crowdin (#11054)

* New Crowdin translations (#11062)

* New translations doorkeeper.en.yml (French)
[ci skip]

* New translations doorkeeper.en.yml (Corsican)
[ci skip]

* New translations doorkeeper.en.yml (Finnish)
[ci skip]

* New translations doorkeeper.en.yml (Esperanto)
[ci skip]

* New translations doorkeeper.en.yml (Dutch)
[ci skip]

* New translations doorkeeper.en.yml (Danish)
[ci skip]

* New translations doorkeeper.en.yml (Czech)
[ci skip]

* New translations doorkeeper.en.yml (Croatian)
[ci skip]

* New translations activerecord.en.yml (Asturian)
[ci skip]

* New translations activerecord.en.yml (Arabic)
[ci skip]

* New translations en.yml (Danish)
[ci skip]

* New translations simple_form.en.yml (Dutch)
[ci skip]

* New translations devise.en.yml (Georgian)
[ci skip]

* New translations devise.en.yml (Galician)
[ci skip]

* New translations devise.en.yml (French)
[ci skip]

* New translations devise.en.yml (Finnish)
[ci skip]

* New translations devise.en.yml (Dutch)
[ci skip]

* New translations devise.en.yml (Danish)
[ci skip]

* New translations devise.en.yml (Croatian)
[ci skip]

* New translations simple_form.en.yml (German)
[ci skip]

* New translations simple_form.en.yml (Georgian)
[ci skip]

* New translations simple_form.en.yml (Galician)
[ci skip]

* New translations simple_form.en.yml (French)
[ci skip]

* New translations simple_form.en.yml (Finnish)
[ci skip]

* New translations simple_form.en.yml (Esperanto)
[ci skip]

* New translations simple_form.en.yml (Danish)
[ci skip]

* New translations activerecord.en.yml (Albanian)
[ci skip]

* New translations simple_form.en.yml (Basque)
[ci skip]

* New translations en.yml (Czech)
[ci skip]

* New translations devise.en.yml (Corsican)
[ci skip]

* New translations simple_form.en.yml (Albanian)
[ci skip]

* New translations simple_form.en.yml (Asturian)
[ci skip]

* New translations simple_form.en.yml (Croatian)
[ci skip]

* New translations simple_form.en.yml (Bulgarian)
[ci skip]

* New translations simple_form.en.yml (Catalan)
[ci skip]

* New translations simple_form.en.yml (Chinese Simplified)
[ci skip]

* New translations simple_form.en.yml (Chinese Traditional)
[ci skip]

* New translations simple_form.en.yml (Chinese Traditional, Hong Kong)
[ci skip]

* New translations simple_form.en.yml (Corsican)
[ci skip]

* New translations en.yml (Dutch)
[ci skip]

* New translations en.yml (Croatian)
[ci skip]

* New translations en.json (Croatian)
[ci skip]

* New translations devise.en.yml (Asturian)
[ci skip]

* New translations en.yml (Corsican)
[ci skip]

* New translations en.json (German)
[ci skip]

* New translations en.json (Georgian)
[ci skip]

* New translations en.json (Finnish)
[ci skip]

* New translations en.json (Danish)
[ci skip]

* New translations en.json (Chinese Traditional, Hong Kong)
[ci skip]

* New translations en.json (Chinese Traditional)
[ci skip]

* New translations en.json (Bulgarian)
[ci skip]

* New translations en.json (Bengali)
[ci skip]

* New translations en.json (Asturian)
[ci skip]

* New translations en.json (Armenian)
[ci skip]

* New translations devise.en.yml (Czech)
[ci skip]

* New translations simple_form.en.yml (Czech)
[ci skip]

* New translations devise.en.yml (Basque)
[ci skip]

* New translations devise.en.yml (Albanian)
[ci skip]

* New translations devise.en.yml (Bulgarian)
[ci skip]

* New translations en.yml (Armenian)
[ci skip]

* New translations devise.en.yml (Catalan)
[ci skip]

* New translations activerecord.en.yml (Corsican)
[ci skip]

* New translations activerecord.en.yml (Chinese Traditional, Hong Kong)
[ci skip]

* New translations en.yml (Asturian)
[ci skip]

* New translations activerecord.en.yml (Danish)
[ci skip]

* New translations en.yml (Basque)
[ci skip]

* New translations en.yml (Bengali)
[ci skip]

* New translations en.yml (Bulgarian)
[ci skip]

* New translations en.yml (Catalan)
[ci skip]

* New translations en.yml (Chinese Simplified)
[ci skip]

* New translations en.yml (Chinese Traditional)
[ci skip]

* New translations en.yml (Chinese Traditional, Hong Kong)
[ci skip]

* New translations activerecord.en.yml (Czech)
[ci skip]

* New translations activerecord.en.yml (Dutch)
[ci skip]

* New translations devise.en.yml (Chinese Traditional)
[ci skip]

* New translations activerecord.en.yml (French)
[ci skip]

* New translations activerecord.en.yml (Galician)
[ci skip]

* New translations devise.en.yml (Chinese Simplified)
[ci skip]

* New translations activerecord.en.yml (Georgian)
[ci skip]

* New translations activerecord.en.yml (German)
[ci skip]

* New translations devise.en.yml (Chinese Traditional, Hong Kong)
[ci skip]

* New translations devise.en.yml (Ido)
[ci skip]

* New translations devise.en.yml (Hungarian)
[ci skip]

* New translations devise.en.yml (Hebrew)
[ci skip]

* New translations devise.en.yml (Greek)
[ci skip]

* New translations devise.en.yml (German)
[ci skip]

* New translations devise.en.yml (Italian)
[ci skip]

* New translations activerecord.en.yml (Welsh)
[ci skip]

* New translations activerecord.en.yml (Ukrainian)
[ci skip]

* New translations activerecord.en.yml (Turkish)
[ci skip]

* New translations activerecord.en.yml (Thai)
[ci skip]

* New translations activerecord.en.yml (Swedish)
[ci skip]

* New translations devise.en.yml (Indonesian)
[ci skip]

* New translations devise.en.yml (Thai)
[ci skip]

* New translations doorkeeper.en.yml (Portuguese, Brazilian)
[ci skip]

* New translations doorkeeper.en.yml (Italian)
[ci skip]

* New translations doorkeeper.en.yml (Kazakh)
[ci skip]

* New translations doorkeeper.en.yml (Norwegian)
[ci skip]

* New translations doorkeeper.en.yml (Occitan)
[ci skip]

* New translations doorkeeper.en.yml (Persian)
[ci skip]

* New translations doorkeeper.en.yml (Polish)
[ci skip]

* New translations doorkeeper.en.yml (Portuguese)
[ci skip]

* New translations doorkeeper.en.yml (Ido)
[ci skip]

* New translations doorkeeper.en.yml (Russian)
[ci skip]

* New translations doorkeeper.en.yml (Serbian (Cyrillic))
[ci skip]

* New translations doorkeeper.en.yml (Serbian (Latin))
[ci skip]

* New translations doorkeeper.en.yml (Slovak)
[ci skip]

* New translations doorkeeper.en.yml (Slovenian)
[ci skip]

* New translations doorkeeper.en.yml (Swedish)
[ci skip]

* New translations doorkeeper.en.yml (Thai)
[ci skip]

* New translations doorkeeper.en.yml (Turkish)
[ci skip]

* New translations doorkeeper.en.yml (Ukrainian)
[ci skip]

* New translations doorkeeper.en.yml (Indonesian)
[ci skip]

* New translations doorkeeper.en.yml (Hungarian)
[ci skip]

* New translations devise.en.yml (Kazakh)
[ci skip]

* New translations devise.en.yml (Serbian (Cyrillic))
[ci skip]

* New translations devise.en.yml (Korean)
[ci skip]

* New translations devise.en.yml (Norwegian)
[ci skip]

* New translations devise.en.yml (Occitan)
[ci skip]

* New translations devise.en.yml (Persian)
[ci skip]

* New translations devise.en.yml (Polish)
[ci skip]

* New translations devise.en.yml (Portuguese)
[ci skip]

* New translations devise.en.yml (Portuguese, Brazilian)
[ci skip]

* New translations devise.en.yml (Russian)
[ci skip]

* New translations devise.en.yml (Serbian (Latin))
[ci skip]

* New translations doorkeeper.en.yml (Hebrew)
[ci skip]

* New translations devise.en.yml (Slovak)
[ci skip]

* New translations devise.en.yml (Slovenian)
[ci skip]

* New translations devise.en.yml (Swedish)
[ci skip]

* New translations activerecord.en.yml (Slovak)
[ci skip]

* New translations devise.en.yml (Turkish)
[ci skip]

* New translations devise.en.yml (Ukrainian)
[ci skip]

* New translations devise.en.yml (Welsh)
[ci skip]

* New translations doorkeeper.en.yml (German)
[ci skip]

* New translations doorkeeper.en.yml (Greek)
[ci skip]

* New translations activerecord.en.yml (Slovenian)
[ci skip]

* New translations simple_form.en.yml (Welsh)
[ci skip]

* New translations activerecord.en.yml (Serbian (Latin))
[ci skip]

* New translations en.yml (Latvian)
[ci skip]

* New translations en.json (Ukrainian)
[ci skip]

* New translations en.yml (Greek)
[ci skip]

* New translations en.yml (Hebrew)
[ci skip]

* New translations en.yml (Hungarian)
[ci skip]

* New translations en.yml (Ido)
[ci skip]

* New translations en.yml (Indonesian)
[ci skip]

* New translations en.yml (Italian)
[ci skip]

* New translations en.yml (Kazakh)
[ci skip]

* New translations en.yml (Korean)
[ci skip]

* New translations en.yml (Lithuanian)
[ci skip]

* New translations en.json (Thai)
[ci skip]

* New translations en.yml (Malay)
[ci skip]

* New translations en.yml (Norwegian)
[ci skip]

* New translations en.yml (Occitan)
[ci skip]

* New translations en.yml (Persian)
[ci skip]

* New translations en.yml (Polish)
[ci skip]

* New translations en.yml (Portuguese)
[ci skip]

* New translations en.yml (Portuguese, Brazilian)
[ci skip]

* New translations en.yml (Romanian)
[ci skip]

* New translations en.yml (Russian)
[ci skip]

* New translations en.yml (Serbian (Cyrillic))
[ci skip]

* New translations en.yml (Serbian (Latin))
[ci skip]

* New translations en.yml (Slovak)
[ci skip]

* New translations en.json (Turkish)
[ci skip]

* New translations en.json (Telugu)
[ci skip]

* New translations en.json (Norwegian)
[ci skip]

* New translations en.json (Hebrew)
[ci skip]

* New translations en.json (Hungarian)
[ci skip]

* New translations en.json (Ido)
[ci skip]

* New translations en.json (Indonesian)
[ci skip]

* New translations en.json (Italian)
[ci skip]

* New translations en.json (Kazakh)
[ci skip]

* New translations en.json (Korean)
[ci skip]

* New translations en.json (Latvian)
[ci skip]

* New translations en.json (Lithuanian)
[ci skip]

* New translations en.json (Malay)
[ci skip]

* New translations en.json (Occitan)
[ci skip]

* New translations en.json (Tamil)
[ci skip]

* New translations en.json (Persian)
[ci skip]

* New translations en.json (Polish)
[ci skip]

* New translations en.json (Portuguese)
[ci skip]

* New translations en.json (Portuguese, Brazilian)
[ci skip]

* New translations en.json (Romanian)
[ci skip]

* New translations en.json (Serbian (Cyrillic))
[ci skip]

* New translations en.json (Serbian (Latin))
[ci skip]

* New translations en.json (Slovak)
[ci skip]

* New translations en.json (Slovenian)
[ci skip]

* New translations en.json (Spanish)
[ci skip]

* New translations en.json (Swedish)
[ci skip]

* New translations en.yml (Slovenian)
[ci skip]

* New translations en.yml (Swedish)
[ci skip]

* New translations activerecord.en.yml (Serbian (Cyrillic))
[ci skip]

* New translations activerecord.en.yml (Japanese)
[ci skip]

* New translations simple_form.en.yml (Swedish)
[ci skip]

* New translations simple_form.en.yml (Thai)
[ci skip]

* New translations simple_form.en.yml (Turkish)
[ci skip]

* New translations simple_form.en.yml (Ukrainian)
[ci skip]

* New translations activerecord.en.yml (Greek)
[ci skip]

* New translations activerecord.en.yml (Hebrew)
[ci skip]

* New translations activerecord.en.yml (Indonesian)
[ci skip]

* New translations activerecord.en.yml (Italian)
[ci skip]

* New translations activerecord.en.yml (Kazakh)
[ci skip]

* New translations simple_form.en.yml (Slovenian)
[ci skip]

* New translations activerecord.en.yml (Norwegian)
[ci skip]

* New translations activerecord.en.yml (Occitan)
[ci skip]

* New translations activerecord.en.yml (Persian)
[ci skip]

* New translations activerecord.en.yml (Polish)
[ci skip]

* New translations activerecord.en.yml (Portuguese)
[ci skip]

* New translations activerecord.en.yml (Portuguese, Brazilian)
[ci skip]

* New translations activerecord.en.yml (Russian)
[ci skip]

* New translations simple_form.en.yml (Slovak)
[ci skip]

* New translations en.yml (Tamil)
[ci skip]

* New translations en.yml (Telugu)
[ci skip]

* New translations en.yml (Thai)
[ci skip]

* New translations en.yml (Turkish)
[ci skip]

* New translations en.yml (Ukrainian)
[ci skip]

* New translations en.yml (Welsh)
[ci skip]

* New translations simple_form.en.yml (Greek)
[ci skip]

* New translations simple_form.en.yml (Hebrew)
[ci skip]

* New translations simple_form.en.yml (Hungarian)
[ci skip]

* New translations simple_form.en.yml (Ido)
[ci skip]

* New translations simple_form.en.yml (Indonesian)
[ci skip]

* New translations simple_form.en.yml (Italian)
[ci skip]

* New translations simple_form.en.yml (Korean)
[ci skip]

* New translations simple_form.en.yml (Serbian (Latin))
[ci skip]

* New translations simple_form.en.yml (Norwegian)
[ci skip]

* New translations simple_form.en.yml (Occitan)
[ci skip]

* New translations simple_form.en.yml (Persian)
[ci skip]

* New translations simple_form.en.yml (Polish)
[ci skip]

* New translations simple_form.en.yml (Portuguese)
[ci skip]

* New translations simple_form.en.yml (Portuguese, Brazilian)
[ci skip]

* New translations simple_form.en.yml (Romanian)
[ci skip]

* New translations simple_form.en.yml (Russian)
[ci skip]

* New translations simple_form.en.yml (Serbian (Cyrillic))
[ci skip]

* New translations doorkeeper.en.yml (Welsh)
[ci skip]

* New translations en.json (German)
[ci skip]

* New translations en.yml (German)
[ci skip]

* New translations en.json (Russian)
[ci skip]

* New translations simple_form.en.yml (German)
[ci skip]

* New translations simple_form.en.yml (German)
[ci skip]

* New translations en.yml (German)
[ci skip]

* New translations simple_form.en.yml (German)
[ci skip]

* New translations simple_form.en.yml (German)
[ci skip]

* New translations simple_form.en.yml (German)
[ci skip]

* New translations en.yml (German)
[ci skip]

* New translations simple_form.en.yml (German)
[ci skip]

* New translations en.yml (German)
[ci skip]

* New translations en.ym…
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.