diff --git a/packages/wyatt_analysis/new_version.sh b/packages/wyatt_analysis/new_version.sh
new file mode 100755
index 00000000..f92f9421
--- /dev/null
+++ b/packages/wyatt_analysis/new_version.sh
@@ -0,0 +1,114 @@
+#!/usr/bin/env sh
+
+# Copyright (C) 2022 WYATT GROUP
+# Please see the AUTHORS file for details.
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+
+usage="
+usage:
+ $(basename "$0") -- create new analyzer files.
+
+where:
+ previous_version: last version, for example \`2.2.1\`
+ new_version: new version, for example \`2.2.3\`"
+
+old=$1
+new=$2
+
+if [ -z "$old" ]; then
+ echo "previous_version cannot be null"
+ echo "${usage}"
+ exit 1
+fi
+
+if [ -z "$new" ]; then
+ echo "new_version cannot be null"
+ echo "${usage}"
+ exit 1
+fi
+
+SCRIPT_PATH="${BASH_SOURCE:-$0}"
+ABS_SCRIPT_PATH="$(realpath "${SCRIPT_PATH}")"
+ABS_DIRECTORY="$(dirname "${ABS_SCRIPT_PATH}")"
+
+OPTIONS="${ABS_DIRECTORY}/lib/analysis_options.yaml"
+OLD_OPTIONS="${ABS_DIRECTORY}/lib/analysis_options.${old}.yaml"
+NEW_OPTIONS="${ABS_DIRECTORY}/lib/analysis_options.${new}.yaml"
+
+OPTIONS_FLUTTER="${ABS_DIRECTORY}/lib/analysis_options.flutter.yaml"
+OLD_OPTIONS_FLUTTER="${ABS_DIRECTORY}/lib/analysis_options.flutter.${old}.yaml"
+NEW_OPTIONS_FLUTTER="${ABS_DIRECTORY}/lib/analysis_options.flutter.${new}.yaml"
+
+if [ ! -e "$OLD_OPTIONS" ]; then
+ echo "analysis_options.${old}.yaml doesn't exists"
+ echo "${usage}"
+ exit 1
+fi
+
+if [ ! -e "$OLD_OPTIONS_FLUTTER" ]; then
+ echo "analysis_options.flutter.${old}.yaml doesn't exists"
+ echo "${usage}"
+ exit 1
+fi
+
+# Copy previous version files
+cp "${OLD_OPTIONS}" "${NEW_OPTIONS}"
+cp "${OLD_OPTIONS_FLUTTER}" "${NEW_OPTIONS_FLUTTER}"
+
+# Search and replace old version string occurences in new files
+sed -e "s/${old}/${new}/g" "${NEW_OPTIONS_FLUTTER}" > tempfile.tmp
+mv -f tempfile.tmp "${NEW_OPTIONS_FLUTTER}"
+
+echo "
+# Copyright (C) 2022 WYATT GROUP
+# Please see the AUTHORS file for details.
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+
+include: package:wyatt_analysis/analysis_options.${new}.yaml
+" > "${OPTIONS}"
+
+echo "
+# Copyright (C) 2022 WYATT GROUP
+# Please see the AUTHORS file for details.
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+
+include: package:wyatt_analysis/analysis_options.flutter.${new}.yaml
+" > "${OPTIONS_FLUTTER}"
+
+exit 0