-gem 'rails-i18n', ">= 0.6.3"
-gem 'dynamic_form'
-gem 'rinku', '>= 1.2.2', :require => 'rails_rinku'
-gem 'openstreetmap-oauth-plugin', '>= 0.4.0.1', :require => 'oauth-plugin'
-gem 'open_id_authentication', '>= 1.1.0'
-gem 'validates_email_format_of', '>= 1.5.1'
-gem 'composite_primary_keys', '= 5.0.4'
-gem 'http_accept_language', '>= 1.0.2'
-gem 'paperclip', '~> 2.0'
-gem 'deadlock_retry', '>= 1.2.0'
-
-# Browser detection support
-gem 'browser'
+gem "actionpack-page_caching", ">= 1.2.0"
+gem "activerecord-import"
+gem "active_record_union"
+gem "bootstrap", "~> 5.3.2"
+gem "bootstrap_form", "~> 5.0"
+gem "cancancan"
+gem "config"
+gem "delayed_job_active_record"
+gem "frozen_record"
+gem "http_accept_language", "~> 2.1.1"
+gem "i18n-js", "~> 3.9.2"
+gem "oauth-plugin", ">= 0.5.1"
+gem "openstreetmap-deadlock_retry", ">= 1.3.1", :require => "deadlock_retry"
+gem "rack-cors"
+gem "rails-i18n", "~> 7.0.0"
+gem "rinku", ">= 2.0.6", :require => "rails_rinku"
+gem "strong_migrations"
+gem "validates_email_format_of", ">= 1.5.1"
+
+# Native OSM extensions
+gem "quad_tile", "~> 1.0.1"
+
+# Sanitise URIs
+gem "rack-uri_sanitizer"
+
+# Omniauth for authentication
+gem "omniauth", "~> 2.0.2"
+gem "omniauth-facebook"
+gem "omniauth-github"
+gem "omniauth-google-oauth2", ">= 0.6.0"
+gem "omniauth-mediawiki", ">= 0.0.4"
+gem "omniauth-microsoft_graph"
+gem "omniauth-openid"
+gem "omniauth-rails_csrf_protection", "~> 1.0"
+
+# Doorkeeper for OAuth2
+gem "doorkeeper"
+gem "doorkeeper-i18n"
+gem "doorkeeper-openid_connect"