diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 894aca70144e835a8aa8df4abf3a4be7760da716..1a9455f37c85710691b49ec34f34590072335cc8 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -18,12 +18,13 @@ hex_publish:
   only:
     - /^\d+[.]\d+[.]\d+$/ # Only publish HEAD tagged with semantic version
   script:
-    - mix hex.publish --force
+    - echo "Y" | mix hex.publish
 
 aws_publish:
   stage: publish
   only:
     - /^\d+[.]\d+[.]\d+$/ # Only publish HEAD tagged with semantic version
   script:
+    - mix hex.build
     - aws s3 cp plug_geoip2-$CI_BUILD_REF_NAME.tar s3://s3.erlang.ninja/plug_geoip2/
     - aws s3 cp s3://s3.erlang.ninja/plug_geoip2/plug_geoip2-$CI_BUILD_REF_NAME.tar s3://s3.erlang.ninja/plug_geoip2/plug_geoip2-latest.tar
diff --git a/mix.exs b/mix.exs
index de01f7949f6c21071f4f48812339b53faae1a050..1d5092bf5fcddaa7eb13466c941e074207f82e97 100644
--- a/mix.exs
+++ b/mix.exs
@@ -3,7 +3,7 @@ defmodule Plug.GeoIP2.Mixfile do
 
   def project do
     [app: :plug_geoip2,
-     version: "0.0.2",
+     version: "0.4.0",
      elixir: "~> 1.1",
      build_embedded: Mix.env == :prod,
      start_permanent: Mix.env == :prod,