diff --git a/.devcontainer/README.md b/.devcontainer/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..a719361689897b67e53c12da1c50e68c5b8c7dc8
--- /dev/null
+++ b/.devcontainer/README.md
@@ -0,0 +1,38 @@
+# devcontainer
+
+
+For format details, see https://aka.ms/devcontainer.json. 
+
+For config options, see the README at:
+https://github.com/microsoft/vscode-dev-containers/tree/v0.140.1/containers/puppet
+ 
+``` json
+{
+	"name": "Puppet Development Kit (Community)",
+	"dockerFile": "Dockerfile",
+
+	// Set *default* container specific settings.json values on container create.
+	"settings": {
+		"terminal.integrated.profiles.linux": {
+			"bash": {
+				"path": "bash",
+			}
+		}
+	},
+
+	// Add the IDs of extensions you want installed when the container is created.
+	"extensions": [
+		"puppet.puppet-vscode",
+		"rebornix.Ruby"
+	],
+
+	// Use 'forwardPorts' to make a list of ports inside the container available locally.
+	"forwardPorts": [],
+
+	// Use 'postCreateCommand' to run commands after the container is created.
+	"postCreateCommand": "pdk --version",
+}
+```
+
+
+
diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json
index fe7a8b12b998dab13c95cce183eec95e387ae6bc..cdd65d220af6f17adfbbbcf66b108888a96697c6 100644
--- a/.devcontainer/devcontainer.json
+++ b/.devcontainer/devcontainer.json
@@ -5,7 +5,7 @@
 	"settings": {
 		"terminal.integrated.profiles.linux": {
 			"bash": {
-				"path": "bash",
+				"path": "bash"
 			}
 		}
 	},
diff --git a/Gemfile b/Gemfile
index 0057a1722c6e185755de3802eef2da5c724db7c7..4eaa0c3e28daaf22cad5aacfa2f43a7657244225 100644
--- a/Gemfile
+++ b/Gemfile
@@ -14,37 +14,29 @@ def location_for(place_or_version, fake_version = nil)
 end
 
 group :development do
-  gem "json", '= 2.1.0',                                  require: false if Gem::Requirement.create(['>= 2.5.0', '< 2.7.0']).satisfied_by?(Gem::Version.new(RUBY_VERSION.dup))
-  gem "json", '= 2.3.0',                                  require: false if Gem::Requirement.create(['>= 2.7.0', '< 3.0.0']).satisfied_by?(Gem::Version.new(RUBY_VERSION.dup))
-  gem "json", '= 2.5.1',                                  require: false if Gem::Requirement.create(['>= 3.0.0', '< 3.0.5']).satisfied_by?(Gem::Version.new(RUBY_VERSION.dup))
-  gem "json", '= 2.6.1',                                  require: false if Gem::Requirement.create(['>= 3.1.0', '< 3.1.3']).satisfied_by?(Gem::Version.new(RUBY_VERSION.dup))
-  gem "json", '= 2.6.3',                                  require: false if Gem::Requirement.create(['>= 3.2.0', '< 4.0.0']).satisfied_by?(Gem::Version.new(RUBY_VERSION.dup))
-  gem "voxpupuli-puppet-lint-plugins", '~> 3.1',          require: false
-  gem "facterdb", '~> 1.18',                              require: false
-  gem "metadata-json-lint", '>= 2.0.2', '< 4.0.0',        require: false
-  gem "puppetlabs_spec_helper", '>= 3.0.0', '< 5.0.0',    require: false
-  gem "rspec-puppet-facts", '~> 2.0',                     require: false
-  gem "codecov", '~> 0.2',                                require: false
-  gem "dependency_checker", '~> 0.2',                     require: false
-  gem "parallel_tests", '~> 3.4',                         require: false
-  gem "pry", '~> 0.10',                                   require: false
-  gem "simplecov-console", '~> 0.5',                      require: false
-  gem "puppet-debugger", '~> 1.0',                        require: false
-  gem "rubocop", '= 1.6.1',                               require: false
-  gem "rubocop-performance", '= 1.9.1',                   require: false
-  gem "rubocop-rspec", '= 2.0.1',                         require: false
-  gem "rb-readline", '= 0.5.5',                           require: false, platforms: [:mswin, :mingw, :x64_mingw]
-  gem "concurrent-ruby", '< 1.2.0',                       require: false
-  gem "puppet-lint-absolute_classname-check", '>= 3.0.1', require: false
-  gem "puppet-lint-absolute_template_path", '>= 1.0.1',   require: false
-  gem "puppet-lint-empty_trailing_lines", '>= 0.0.1',     require: false
-  gem "puppet-lint-file_ensure-check", '>= 1.0.0',        require: false
-  gem "puppet-lint-strict_indent-check", '>= 2.0.8',      require: false
-  gem "puppet-lint-trailing_comma-check", '>= 0.4.3',     require: false
-  gem "puppet-lint-unquoted_string-check", '>= 2.1.0',    require: false
+  gem "json", '= 2.1.0',                           require: false if Gem::Requirement.create(['>= 2.5.0', '< 2.7.0']).satisfied_by?(Gem::Version.new(RUBY_VERSION.dup))
+  gem "json", '= 2.3.0',                           require: false if Gem::Requirement.create(['>= 2.7.0', '< 3.0.0']).satisfied_by?(Gem::Version.new(RUBY_VERSION.dup))
+  gem "json", '= 2.5.1',                           require: false if Gem::Requirement.create(['>= 3.0.0', '< 3.0.5']).satisfied_by?(Gem::Version.new(RUBY_VERSION.dup))
+  gem "json", '= 2.6.1',                           require: false if Gem::Requirement.create(['>= 3.1.0', '< 3.1.3']).satisfied_by?(Gem::Version.new(RUBY_VERSION.dup))
+  gem "json", '= 2.6.3',                           require: false if Gem::Requirement.create(['>= 3.2.0', '< 4.0.0']).satisfied_by?(Gem::Version.new(RUBY_VERSION.dup))
+  gem "voxpupuli-puppet-lint-plugins", '~> 4.0',   require: false
+  gem "facterdb", '~> 1.18',                       require: false
+  gem "metadata-json-lint", '>= 2.0.2', '< 4.0.0', require: false
+  gem "puppetlabs_spec_helper", '~> 5.0',          require: false
+  gem "rspec-puppet-facts", '~> 2.0',              require: false
+  gem "codecov", '~> 0.2',                         require: false
+  gem "dependency_checker", '~> 0.2',              require: false
+  gem "parallel_tests", '= 3.12.1',                require: false
+  gem "pry", '~> 0.10',                            require: false
+  gem "simplecov-console", '~> 0.5',               require: false
+  gem "puppet-debugger", '~> 1.0',                 require: false
+  gem "rubocop", '= 1.6.1',                        require: false
+  gem "rubocop-performance", '= 1.9.1',            require: false
+  gem "rubocop-rspec", '= 2.0.1',                  require: false
+  gem "rb-readline", '= 0.5.5',                    require: false, platforms: [:mswin, :mingw, :x64_mingw]
 end
 group :system_tests do
-  gem "puppet_litmus", '< 1.0.0', require: false, platforms: [:ruby]
+  gem "puppet_litmus", '< 1.0.0', require: false, platforms: [:ruby, :x64_mingw]
   gem "serverspec", '~> 2.41',    require: false
 end
 
diff --git a/manifests/tal_cli.pp b/manifests/tal_cli.pp
index 253226855e78ea74ef344b5fa73e8d2a88dbc736..c17363ed860a69752cea388f7394a69856eb57cd 100644
--- a/manifests/tal_cli.pp
+++ b/manifests/tal_cli.pp
@@ -63,8 +63,8 @@ class aes::tal_cli (
     fi
     if [ -e /home/examadm/ENABLE_TAL_REMINDERS ]
     then
-        sudo -u examadm /home/examadm/tal-cli/scripts/tal-remind.py --to ${TO} --send
-        sudo -u examadm /home/examadm/tal-cli/scripts/tal-remind.py --to ${TO} --computer-exam --send
+        sudo -u examadm /home/examadm/tal-cli/source/scripts/tal-remind.py --to ${TO} --send
+        sudo -u examadm /home/examadm/tal-cli/source/scripts/tal-remind.py --to ${TO} --computer-exam --send
     fi
     | END
   }
diff --git a/metadata.json b/metadata.json
index cb6c9a3c1d574c6a1eeb1ddde49db09cf9923184..83c95db4dbe7ef9de4e8c6aecf1e96409519b668 100644
--- a/metadata.json
+++ b/metadata.json
@@ -26,7 +26,7 @@
       "version_requirement": ">= 6.21.0 < 8.0.0"
     }
   ],
-  "pdk-version": "2.6.1",
+  "pdk-version": "2.7.1",
   "template-url": "https://gitlab.it.liu.se/puppet-infra/pdk-templates.git#liu",
-  "template-ref": "heads/liu-0-g09dd5f0"
+  "template-ref": "heads/liu-0-g6052ec1"
 }