update version
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 04be959..10d8c32 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,11 @@
+#### 4.0.0
+
+* First stable null safe release.
+
+#### 4.0.0-nullsafety.4
+
+* Update supported SDK range.
+
 #### 4.0.0-nullsafety.3
 
 * Update supported SDK range.
diff --git a/pubspec.yaml b/pubspec.yaml
index 658feb5..427cb42 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -1,5 +1,5 @@
 name: process
-version: 4.0.0-nullsafety.4
+version: 4.0.0
 description: A pluggable, mockable process invocation abstraction for Dart.
 homepage: https://github.com/google/process.dart
 
@@ -7,9 +7,9 @@
   sdk: '>=2.12.0-0 <3.0.0'
 
 dependencies:
-  file: '^6.0.0-nullsafety.4'
-  path: ^1.8.0-nullsafety.3
-  platform: '^3.0.0-nullsafety.4'
+  file: '^6.0.0'
+  path: ^1.8.0
+  platform: '^3.0.0'
 
 dev_dependencies:
   test: ^1.16.0-nullsafety.8