diff --git a/.release/0.250.0.migrate b/.release/0.250.0.migrate
new file mode 100644
index 0000000000000000000000000000000000000000..dfbf39f9f4cce3ed8a61e8d1e5fc52d37616bcdc
--- /dev/null
+++ b/.release/0.250.0.migrate
@@ -0,0 +1,1125 @@
+# This file describe operations needed for migration between versions,
+# both for UPGRADE and DOWNGRADE.
+#
+# Documentation about syntax of this file:
+# https://metacpan.org/pod/App::migrate#SYNTAX
+#
+# You shouldn't modify anything in this file BEFORE LAST "VERSION" LINE!
+# If you will do this you'll likely BREAK DOWNGRADE for some version.
+# Exceptions from this rule are:
+# - git rebase
+# - add/remove comments, empty lines or do other visual/formatting changes
+# - add new DEFINEs
+# - modification of downgrade/after_downgrade operations needed to FIX
+#   BROKEN DOWNGRADE
+#
+# You shouldn't manually add "VERSION" lines - run narada-release instead.
+# Exceptions from this rule are some advanced use cases like:
+# - squashing several patches into one
+# - merging different release branches like 1.x and 2.x
+
+# INSTALL
+# - usually it will be automatically added by ./release, and you shouldn't
+#   add it manually
+# - this operation must be the last one, right before VERSION - to make
+#   sure patch&tgz will be applied exactly between before_upgrade and
+#   upgrade operations, and will be reversed exactly between downgrade and
+#   after_downgrade operations
+DEFINE2 INSTALL
+before_upgrade
+  if test -f .release/${MIGRATE_NEXT_VERSION}.patch; then
+    GIT_DIR=.git git apply .release/${MIGRATE_NEXT_VERSION}.patch
+  fi
+  if test -f .release/${MIGRATE_PREV_VERSION}.tgz; then
+    files='m{\A[.]/\n}&&next;s/\n/\0/;s/(\\.)/"\"$1\""/gee;m{/\0}||print'
+     dirs='m{\A[.]/\n}&&next;s/\n/\0/;s/(\\.)/"\"$1\""/gee;m{/\0}&&print'
+    names=$(tar tzf .release/${MIGRATE_PREV_VERSION}.tgz)
+    echo "$names" |       perl -ne "$files" | xargs -0 -r rm -f
+    echo "$names" | tac | perl -ne "$dirs"  | xargs -0 -r rmdir --ignore-fail-on-non-empty
+  fi
+  if test -f .release/${MIGRATE_NEXT_VERSION}.tgz; then
+    tar xzvpf .release/${MIGRATE_NEXT_VERSION}.tgz
+  fi
+  narada-bg-killall
+after_downgrade
+  if test -f .release/${MIGRATE_PREV_VERSION}.patch; then
+    GIT_DIR=.git git apply -R .release/${MIGRATE_PREV_VERSION}.patch
+  fi
+  if test -f .release/${MIGRATE_PREV_VERSION}.tgz; then
+    files='m{\A[.]/\n}&&next;s/\n/\0/;s/(\\.)/"\"$1\""/gee;m{/\0}||print'
+     dirs='m{\A[.]/\n}&&next;s/\n/\0/;s/(\\.)/"\"$1\""/gee;m{/\0}&&print'
+    names=$(tar tzf .release/${MIGRATE_PREV_VERSION}.tgz)
+    echo "$names" |       perl -ne "$files" | xargs -0 -r rm -f
+    echo "$names" | tac | perl -ne "$dirs"  | xargs -0 -r rmdir --ignore-fail-on-non-empty
+  fi
+  if test -f .release/${MIGRATE_NEXT_VERSION}.tgz; then
+    tar xzvpf .release/${MIGRATE_NEXT_VERSION}.tgz
+  fi
+  narada-bg-killall
+
+DEFINE2 only_before_upgrade
+upgrade
+downgrade true
+
+DEFINE2 only_upgrade
+upgrade
+downgrade true
+
+DEFINE2 only_downgrade
+upgrade true
+downgrade
+
+DEFINE2 only_after_downgrade
+upgrade true
+after_downgrade
+
+# mysql path/to/alter.sql
+# mysql
+#   sql commands here ...
+DEFINE mysql
+upgrade
+  test -f "$1" -a -r "$1"
+  narada-mysql < "$1"
+
+# rollback_mysql path/to/alter.sql
+# rollback_mysql
+#   sql commands here ...
+DEFINE rollback_mysql
+downgrade
+  test -f "$1" -a -r "$1"
+  narada-mysql < "$1"
+
+# mkdir some/dir ...
+# - parameters can't contain /../ or begin with /
+DEFINE2 mkdir
+upgrade
+  perl -e 'exit grep {m{\A/|(\A|/)[.][.](/|\z)}} @ARGV' "$@"
+  mkdir "$@"
+downgrade
+  perl -e 'exit grep {m{\A/|(\A|/)[.][.](/|\z)}} @ARGV' "$@"
+  rm -rf "$@"
+
+# rmdir some/dir ...
+# - parameters can't contain /../ or begin with /
+DEFINE2 rmdir
+upgrade
+  perl -e 'exit grep {m{\A/|(\A|/)[.][.](/|\z)}} @ARGV' "$@"
+  rm -rf "$@"
+after_downgrade
+  perl -e 'exit grep {m{\A/|(\A|/)[.][.](/|\z)}} @ARGV' "$@"
+  narada-restore .backup/full-"$MIGRATE_NEXT_VERSION".tar "$@"
+
+# rm some/file ...
+# - parameters can't contain /../ or begin with /
+DEFINE2 rm
+upgrade
+  perl -e 'exit grep {m{\A/|(\A|/)[.][.](/|\z)}} @ARGV' "$@"
+  rm -f "$@"
+after_downgrade
+  perl -e 'exit grep {m{\A/|(\A|/)[.][.](/|\z)}} @ARGV' "$@"
+  narada-restore .backup/full-"$MIGRATE_NEXT_VERSION".tar "$@"
+
+# add_config some/config "value"
+# add_config some/config -
+#   value
+# - config must not exists
+DEFINE2 add_config
+upgrade
+  test ! -e config/"$1"
+  mkdir -p $(dirname config/"$1")
+  { test $# = 3 && cat "$3" || echo -n "$2"; } > config/"$1"
+  echo "$1" | grep -v -q '^crontab/' || narada-setup-cron
+  echo "$1" | grep -v -q '^qmail/'   || narada-setup-qmail
+downgrade
+  rm -f config/"$1"
+  rmdir -p $(dirname config/"$1") 2>/dev/null || :
+  echo "$1" | grep -v -q '^crontab/' || narada-setup-cron
+  echo "$1" | grep -v -q '^qmail/'   || narada-setup-qmail
+
+# set_config some/config "new value"
+# set_config some/config -
+#   new value
+# - config may exists
+# - on downgrade previous value restored only if current is "new value"
+DEFINE2 set_config
+upgrade
+  mkdir -p $(dirname config/"$1")
+  { test $# = 3 && cat "$3" || echo -n "$2"; } > config/"$1"
+  echo "$1" | grep -v -q '^crontab/' || narada-setup-cron
+  echo "$1" | grep -v -q '^qmail/'   || narada-setup-qmail
+after_downgrade
+  test $# = 3 && value=$(cat "$3") || value="$2"
+  if test "$(cat config/"$1")" = "$value"; then
+    narada-restore .backup/full-"$MIGRATE_NEXT_VERSION".tar config/"$1"
+    echo "$1" | grep -v -q '^crontab/' || narada-setup-cron
+    echo "$1" | grep -v -q '^qmail/'   || narada-setup-qmail
+  fi
+
+# mod_config some/config "pcre regex" "new value"
+# mod_config some/config "pcre regex" -
+#   new value
+# - config must exists
+# - value changed only if current value match "pcre regex"
+# - on downgrade previous value restored only if current is "new value"
+DEFINE2 mod_config
+upgrade
+  test -e config/"$1"
+  if grep -q -P -- "$2" config/"$1"; then
+    { test $# = 4 && cat "$4" || echo -n "$3"; } > config/"$1"
+    echo "$1" | grep -v -q '^crontab/' || narada-setup-cron
+    echo "$1" | grep -v -q '^qmail/'   || narada-setup-qmail
+  fi
+after_downgrade
+  test $# = 4 && value=$(cat "$4") || value="$3"
+  if test "$(cat config/"$1")" = "$value"; then
+    narada-restore .backup/full-"$MIGRATE_NEXT_VERSION".tar config/"$1"
+    echo "$1" | grep -v -q '^crontab/' || narada-setup-cron
+    echo "$1" | grep -v -q '^qmail/'   || narada-setup-qmail
+  fi
+
+# del_config some/config
+DEFINE2 del_config
+upgrade
+  rm -f config/"$1"
+  rmdir -p $(dirname config/"$1") 2>/dev/null || :
+  echo "$1" | grep -v -q '^crontab/' || narada-setup-cron
+  echo "$1" | grep -v -q '^qmail/'   || narada-setup-qmail
+after_downgrade
+  narada-restore .backup/full-"$MIGRATE_NEXT_VERSION".tar config/"$1"
+  echo "$1" | grep -v -q '^crontab/' || narada-setup-cron
+  echo "$1" | grep -v -q '^qmail/'   || narada-setup-qmail
+
+# exclude_from_backup "value"
+DEFINE2 exclude_from_backup
+upgrade
+  test -e config/backup/exclude
+  if ! grep -q -F -x -- "$1" config/backup/exclude; then
+    echo "$1" >> config/backup/exclude
+  fi
+after_downgrade
+  test -e config/backup/exclude
+  grep -v -F -x -- "$1" config/backup/exclude >tmp/config_backup_exclude.$$
+  mv tmp/config_backup_exclude.$$ config/backup/exclude
+
+# kill process_name ...
+# - make sure processes started before upgrade/downgrade but blocked on
+#   start because of lock won't continue to run after upgrade/downgrade
+DEFINE2 kill
+upgrade
+  killall -9 "$@" || :
+after_downgrade
+  killall -9 "$@" || :
+
+# Initial version. MUST be 0.0.0 for new empty projects.
+VERSION 0.0.0
+
+# REQUIRED Narada files & directories:
+only_upgrade
+    mkdir -p .backup
+mkdir config
+mkdir tmp
+mkdir var
+mkdir var/log
+mkdir var/use
+
+add_config backup/exclude -
+  ./.backup/*
+  ./.lock*
+  ./tmp/*
+  ./.release/*
+add_config backup/pass
+only_upgrade
+  chmod 0600 config/backup/pass
+add_config crontab/backup -
+  1 3 * * *   ( narada-backup && echo Reminder: encrypt .backup/full.tar with config/backup/pass and upload it somewhere >&2) >/dev/null
+  1 2 * * 1   rm .backup/full.tar >/dev/null 2>&1
+
+add_config log/level    DEBUG
+add_config log/type     syslog
+add_config log/output   var/log.sock
+
+# OPTIONAL Narada files & directories:
+mkdir config/qmail
+mkdir var/mysql
+mkdir var/qmail
+
+### narada-plugin-runit
+
+# restart service_to_restart
+DEFINE2 restart
+upgrade
+  sv t ./service/"$1" || :
+after_downgrade
+  sv t ./service/"$1" || :
+
+add_config service/type runit
+add_config crontab/service -
+  */1  * * * *    narada-start-services &
+
+exclude_from_backup ./service/*/supervise
+exclude_from_backup ./service/*/log/supervise
+
+### narada-plugin-socklog
+
+restart log
+
+### narada-plugin-go-service
+
+add_config listen           127.0.0.1:0
+add_config basepath
+add_config real_ip_header
+
+INSTALL
+VERSION 0.1.0
+
+add_config httptimeout      10s
+
+add_config rsa_public_key
+
+add_config lock_timeout          1s
+
+upgrade
+  mkdir -p config/http
+  mv config/listen         config/http/listen
+  mv config/basepath       config/http/basepath
+  mv config/real_ip_header config/http/real_ip_header
+  mv config/httptimeout    config/http/timeout
+
+downgrade
+  mv config/http/listen         config/listen
+  mv config/http/basepath       config/basepath
+  mv config/http/real_ip_header config/real_ip_header
+  mv config/http/timeout        config/httptimeout
+  rm -r config/http
+
+upgrade   mv service/main service/redminems
+downgrade mv service/redminems service/main
+
+add_config router                http://localhost
+
+restart redminems
+
+restart redminems
+
+restart redminems
+
+restart redminems
+
+restart redminems
+
+INSTALL
+VERSION 0.70.0
+
+restart redminems
+
+INSTALL
+VERSION 0.71.0
+
+restart redminems
+
+INSTALL
+VERSION 0.72.0
+
+restart redminems
+
+restart redminems
+
+restart redminems
+
+restart redminems
+
+restart redminems
+
+INSTALL
+VERSION 0.76.0
+
+restart redminems
+
+INSTALL
+VERSION 0.77.0
+
+restart redminems
+
+INSTALL
+VERSION 0.78.0
+
+restart redminems
+
+restart redminems
+
+restart redminems
+
+restart redminems
+
+INSTALL
+VERSION 0.81.0
+
+restart redminems
+
+INSTALL
+VERSION 0.82.0
+
+restart redminems
+
+restart redminems
+
+restart redminems
+
+restart redminems
+
+restart redminems
+
+restart redminems
+
+INSTALL
+VERSION 0.87.0
+
+restart redminems
+
+restart redminems
+
+restart redminems
+
+restart redminems
+
+restart redminems
+
+restart redminems
+
+restart redminems
+
+restart redminems
+
+INSTALL
+VERSION 0.94.0
+
+restart redminems
+
+restart redminems
+
+restart redminems
+
+restart redminems
+
+restart redminems
+
+restart redminems
+
+restart redminems
+
+restart redminems
+
+INSTALL
+VERSION 0.101.0
+
+restart redminems
+
+restart redminems
+
+restart redminems
+
+restart redminems
+
+INSTALL
+VERSION 0.104.0
+
+restart redminems
+
+restart redminems
+
+restart redminems
+
+restart redminems
+
+restart redminems
+
+INSTALL
+VERSION 0.108.0
+
+add_config sentry_dsn
+add_config service_name
+restart redminems
+
+INSTALL
+VERSION 0.109.0
+
+restart redminems
+
+INSTALL
+VERSION 0.110.0
+
+restart redminems
+
+INSTALL
+VERSION 0.111.0
+
+restart redminems
+
+INSTALL
+VERSION 0.112.0
+
+restart redminems
+
+INSTALL
+VERSION 0.113.0
+
+restart redminems
+
+INSTALL
+VERSION 0.114.0
+
+restart redminems
+
+INSTALL
+VERSION 0.115.0
+
+restart redminems
+
+INSTALL
+VERSION 0.116.0
+
+restart redminems
+
+INSTALL
+VERSION 0.117.0
+
+restart redminems
+
+INSTALL
+VERSION 0.118.0
+
+restart redminems
+
+INSTALL
+VERSION 0.119.0
+
+restart redminems
+
+INSTALL
+VERSION 0.120.0
+
+restart redminems
+
+INSTALL
+VERSION 0.121.0
+
+restart redminems
+
+INSTALL
+VERSION 0.122.0
+
+restart redminems
+
+restart redminems
+
+restart redminems
+
+restart redminems
+
+restart redminems
+
+restart redminems
+
+restart redminems
+
+restart redminems
+
+restart redminems
+
+restart redminems
+
+restart redminems
+
+restart redminems
+
+INSTALL
+VERSION 0.133.0
+
+restart redminems
+
+restart redminems
+
+restart redminems
+
+restart redminems
+
+restart redminems
+
+restart redminems
+
+restart redminems
+
+INSTALL
+VERSION 0.139.0
+
+restart redminems
+
+restart redminems
+
+restart redminems
+
+restart redminems
+
+restart redminems
+
+restart redminems
+
+restart redminems
+
+restart redminems
+
+restart redminems
+
+restart redminems
+
+restart redminems
+
+restart redminems
+
+INSTALL
+VERSION 0.150.0
+
+restart redminems
+
+restart redminems
+
+restart redminems
+
+restart redminems
+
+INSTALL
+VERSION 0.153.0
+
+restart redminems
+
+restart redminems
+
+restart redminems
+
+restart redminems
+
+restart redminems
+
+restart redminems
+
+restart redminems
+
+restart redminems
+
+restart redminems
+
+restart redminems
+
+restart redminems
+
+restart redminems
+
+restart redminems
+
+restart redminems
+
+restart redminems
+
+restart redminems
+
+restart redminems
+
+restart redminems
+
+restart redminems
+
+restart redminems
+
+restart redminems
+
+restart redminems
+
+restart redminems
+
+restart redminems
+
+restart redminems
+
+INSTALL
+VERSION 0.154.0
+
+restart redminems
+
+INSTALL
+VERSION 0.155.0
+
+restart redminems
+
+INSTALL
+VERSION 0.156.0
+
+restart redminems
+
+INSTALL
+VERSION 0.157.0
+
+restart redminems
+
+INSTALL
+VERSION 0.158.0
+
+restart redminems
+
+INSTALL
+VERSION 0.159.0
+
+restart redminems
+
+INSTALL
+VERSION 0.160.0
+
+restart redminems
+
+INSTALL
+VERSION 0.161.0
+
+restart redminems
+
+INSTALL
+VERSION 0.162.0
+
+restart redminems
+
+INSTALL
+VERSION 0.163.0
+
+restart redminems
+
+INSTALL
+VERSION 0.164.0
+
+restart redminems
+
+INSTALL
+VERSION 0.165.0
+
+restart redminems
+
+INSTALL
+VERSION 0.166.0
+
+restart redminems
+
+INSTALL
+VERSION 0.167.0
+
+restart redminems
+
+INSTALL
+VERSION 0.168.0
+
+restart redminems
+
+INSTALL
+VERSION 0.169.0
+
+restart redminems
+
+INSTALL
+VERSION 0.170.0
+
+restart redminems
+
+INSTALL
+VERSION 0.171.0
+
+restart redminems
+
+INSTALL
+VERSION 0.172.0
+
+restart redminems
+
+INSTALL
+VERSION 0.173.0
+
+restart redminems
+
+INSTALL
+VERSION 0.174.0
+
+restart redminems
+
+INSTALL
+VERSION 0.175.0
+
+restart redminems
+
+INSTALL
+VERSION 0.176.0
+
+restart redminems
+
+restart redminems
+
+restart redminems
+
+INSTALL
+VERSION 0.178.0
+
+restart redminems
+
+restart redminems
+
+restart redminems
+
+INSTALL
+VERSION 0.180.0
+
+restart redminems
+
+restart redminems
+
+restart redminems
+
+restart redminems
+
+restart redminems
+
+restart redminems
+
+restart redminems
+
+restart redminems
+
+INSTALL
+VERSION 0.187.0
+
+restart redminems
+
+restart redminems
+
+restart redminems
+
+restart redminems
+
+restart redminems
+
+restart redminems
+
+restart redminems
+
+restart redminems
+
+restart redminems
+
+INSTALL
+VERSION 0.195.0
+
+restart redminems
+
+restart redminems
+
+restart redminems
+
+restart redminems
+
+restart redminems
+
+restart redminems
+
+restart redminems
+
+restart redminems
+
+restart redminems
+
+
+restart redminems
+
+INSTALL
+VERSION 0.202.0
+
+
+restart redminems
+
+INSTALL
+VERSION 0.203.0
+
+
+restart redminems
+
+INSTALL
+VERSION 0.204.0
+
+
+restart redminems
+
+INSTALL
+VERSION 0.205.0
+
+
+restart redminems
+
+INSTALL
+VERSION 0.206.0
+
+
+restart redminems
+
+INSTALL
+VERSION 0.207.0
+
+
+restart redminems
+
+INSTALL
+VERSION 0.208.0
+
+
+restart redminems
+
+INSTALL
+VERSION 0.209.0
+
+
+restart redminems
+
+INSTALL
+VERSION 0.210.0
+
+
+restart redminems
+
+INSTALL
+VERSION 0.211.0
+
+
+restart redminems
+
+INSTALL
+VERSION 0.212.0
+
+
+restart redminems
+
+INSTALL
+VERSION 0.213.0
+
+
+restart redminems
+
+INSTALL
+VERSION 0.214.0
+
+
+restart redminems
+
+INSTALL
+VERSION 0.215.0
+
+
+restart redminems
+
+INSTALL
+VERSION 0.216.0
+
+
+restart redminems
+
+INSTALL
+VERSION 0.217.0
+
+
+restart redminems
+
+INSTALL
+VERSION 0.218.0
+
+
+restart redminems
+
+INSTALL
+VERSION 0.219.0
+
+
+restart redminems
+
+INSTALL
+VERSION 0.220.0
+
+
+restart redminems
+
+INSTALL
+VERSION 0.221.0
+
+
+restart redminems
+
+INSTALL
+VERSION 0.222.0
+
+
+restart redminems
+
+INSTALL
+VERSION 0.223.0
+
+
+restart redminems
+
+INSTALL
+VERSION 0.224.0
+
+
+restart redminems
+
+INSTALL
+VERSION 0.225.0
+
+
+restart redminems
+
+INSTALL
+VERSION 0.226.0
+
+
+restart redminems
+
+INSTALL
+VERSION 0.227.0
+
+
+restart redminems
+
+INSTALL
+VERSION 0.228.0
+
+
+restart redminems
+
+INSTALL
+VERSION 0.229.0
+
+
+restart redminems
+
+INSTALL
+VERSION 0.230.0
+
+
+restart redminems
+
+INSTALL
+VERSION 0.231.0
+
+
+restart redminems
+
+INSTALL
+VERSION 0.232.0
+
+
+restart redminems
+
+INSTALL
+VERSION 0.233.0
+
+
+restart redminems
+
+INSTALL
+VERSION 0.234.0
+
+
+restart redminems
+
+INSTALL
+VERSION 0.235.0
+
+
+restart redminems
+
+INSTALL
+VERSION 0.236.0
+
+
+restart redminems
+
+INSTALL
+VERSION 0.237.0
+
+
+restart redminems
+
+INSTALL
+VERSION 0.238.0
+
+
+restart redminems
+
+INSTALL
+VERSION 0.239.0
+
+
+restart redminems
+
+INSTALL
+VERSION 0.240.0
+
+
+restart redminems
+
+INSTALL
+VERSION 0.241.0
+
+
+restart redminems
+
+INSTALL
+VERSION 0.242.0
+
+
+restart redminems
+
+INSTALL
+VERSION 0.243.0
+
+
+restart redminems
+
+INSTALL
+VERSION 0.244.0
+
+
+restart redminems
+
+INSTALL
+VERSION 0.245.0
+
+
+restart redminems
+
+INSTALL
+VERSION 0.246.0
+
+
+restart redminems
+
+INSTALL
+VERSION 0.247.0
+
+
+restart redminems
+
+INSTALL
+VERSION 0.248.0
+
+
+restart redminems
+
+INSTALL
+VERSION 0.249.0
+
+
+restart redminems
+
+INSTALL
+VERSION 0.250.0
+
diff --git a/migrate b/migrate
index f22b3e384a515bfd379b1b28c2f8d1c9dd3b7fae..dfbf39f9f4cce3ed8a61e8d1e5fc52d37616bcdc 100644
--- a/migrate
+++ b/migrate
@@ -1117,3 +1117,9 @@ restart redminems
 INSTALL
 VERSION 0.249.0
 
+
+restart redminems
+
+INSTALL
+VERSION 0.250.0
+