diff --git a/CHANGELOG.md b/CHANGELOG.md
index 359b9c4..ba78266 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,9 +1,14 @@
 # Changelog
 
-The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
+All notable changes to this project will be documented in this file.
+
+The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
+and this project aims to adhere to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
 
 ## [Unreleased]
 
+## [0.4.0] - 2023-04-18
+
 Require Elixir v1.10+.
 
 ### Changed
@@ -17,4 +22,5 @@ Require Elixir v1.10+.
 - Changed `sweet_xml` version requirement to `~> 0.7`
 
 [unreleased]: https://github.com/ex-phone-number/ex_phone_number/compare/v0.3.0...HEAD
+[0.4.0]: https://github.com/ex-phone-number/ex_phone_number/compare/v0.3.0...v0.4.0
 [0.3.0]: https://github.com/ex-phone-number/ex_phone_number/compare/v0.2.1...v0.3.0
diff --git a/README.md b/README.md
index c1f4452..7d60091 100644
--- a/README.md
+++ b/README.md
@@ -19,7 +19,7 @@ Add `:ex_phone_number` to your list of dependencies in `mix.exs`:
 ```elixir
 def deps do
   [
-    {:ex_phone_number, "~> 0.3"}
+    {:ex_phone_number, "~> 0.4"}
   ]
 end
 ```
diff --git a/mix.exs b/mix.exs
index 2a599f4..510a419 100644
--- a/mix.exs
+++ b/mix.exs
@@ -2,7 +2,7 @@ defmodule ExPhoneNumber.Mixfile do
   use Mix.Project
 
   @source_url "https://github.com/ex-phone-number/ex_phone_number"
-  @version "0.3.0"
+  @version "0.4.0"
 
   def project do
     [