diff --git a/CHANGELOG b/CHANGELOG
index b8a3e4a..673d080 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,90 @@
+2024-04-09 v3.9.0
+  This release includes new codec interfaces, compression efficiency and
+  perceptual improvements, speedup for RTC for both video and screen content,
+  and many bug fixes. This release is ABI compatible with the previous release.
+
+  - New Features
+    * New codec control
+      * AV1E_SET_SVC_FRAME_DROP_MODE is added to configure the SVC encoder to
+        only drop spatial layers or the whole superframe.
+    * Active Map is fixed and tested for RTC.
+    * CONFIG_QUANT_MATRIX is added to disable quantization matrices when aom
+      decoder is disabled with CONFIG_AV1_DECODER. Reduces ~10% binary size when
+      both are disabled.
+    * libwebm is updated to libwebm-1.0.0.31-1-gaffd7f4.
+
+  - Compression Efficiency Improvements
+    * RTC encoding improvements
+      * 1-2% BD-rate gain for screen content with temporal layers; 5% BD-rate
+        gain on scrolling content.
+
+  - Perceptual Quality Improvements
+    * For RTC screen content
+      * Reduced color artifacts for RTC screen content
+      * Visual quality improved for scene changes for SVC with quality layers.
+      * Removed visual artifacts for speed 11
+
+  - RTC speedups:
+    * Speed 11: aggressive speedup setting added for video mode,
+      resolutions <= VGA: ~30% faster than speed 10.
+    * Arm specific SIMD improvements
+
+  - Other improvements
+    * Further improvements to global motion estimation.
+    * Documented minimum required SIMD support: SSE4.1 on x86, Neon on Arm.
+    * Remove unneeded SIMD functions, saving >100 KiB from binary size.
+    * Cleaned up and improved pattern_search.
+    * Added end-to-end c vs SIMD bit-exactness test.
+    * Added config flag to calc psnr using libvmaf peak: use a slightly
+      different peak value for PSNR (1020 and 2040 for 10- and 12-bit)
+
+  - Bug Fixes
+    * Fuzzing bug fixes
+      * b/329485898 Null-dereference WRITE in av1_cdef_frame_mt
+      * b/329810149 Null-dereference WRITE in av1_cdef_copy_sb8_16
+      * b/329813868 Ill in av1_cdef_frame_mt
+      * chromium:327882824 Null-dereference WRITE in av1_cdef_init_fb_row
+      * b/330014723 Null-dereference WRITE in
+        cdef_copy_rect8_16bit_to_16bit_avx2
+      * b/310455204 Null-dereference WRITE in prepare_enc_workers
+      * b/314858909 Heap-buffer-overflow in aom_variance64x64_avx2
+      * oss-fuzz:67132 av1_dec_fuzzer: ASSERT: (pbi->tile_count_minus_1 + 1) <=
+        (pbi->output_frame_width_in_tiles_minus_1 + 1)
+      * oss-fuzz:67058 av1_dec_fuzzer: ASSERT: i == 0 || tile_w == *w
+      * oss-fuzz:67161 av1_dec_fuzzer: ASSERT: i == 0 || tile_h == *h
+      * oss-fuzz:67059 av1_dec_fuzzer: Crash in mem_get_varsize
+      * oss-fuzz:67162 av1_dec_fuzzer: Use-of-uninitialized-value in
+        od_ec_decode_bool_q15
+      * oss-fuzz:67184 av1_dec_fuzzer: Heap-buffer-overflow in od_ec_dec_init
+      * oss-fuzz:67216 av1_dec_fuzzer: Heap-buffer-overflow in
+        od_ec_dec_normalize
+      * oss-fuzz:67055 av1_dec_fuzzer: Heap-buffer-overflow in
+        get_ls_tile_buffers
+    * libaom library
+      * aomedia:3510 Large value of duration could cause encoder overflow
+      * chromium:328105513 Fix build conflicts between Abseil and libaom/libvpx
+        in Win ARM64 builds
+      * aomedia:3544 AV1/SharpnessTestLarge.SharpnessPSNRTest failures after
+        59c592bb8
+      * aomedia:3531 Exception encountered with PSNR calculation
+      * aomedia:3541 Can not compile correctly by CYGWIN
+      * chromium:41482688 heap-buffer-overflow write in vpx_img_read()
+        (tools_common.c) with VPX_IMG_FMT_NV12
+      * aomedia:3521 Assertion failures on Arm in CNNTest.* in
+        av1_cnn_convolve_no_maxpool_padding_valid_2x2_neon and
+        av1_cnn_convolve_no_maxpool_padding_valid_5x5_neon
+      * aomedia:3486 C vs NEON mismatch in AV1 encoder
+      * aomedia:3536 Over write in highbd_dr_prediction_z3_upsample1_neon()
+      * aomedia:3276 Significant progress on ensuring all allocations are
+        checked
+      * aomedia:3491 heap-buffer-overflow encoding frames of size 256x256,
+        512x512 in good quality usage mode using 4 threads
+      * aomedia:3322 PSNR number discrepancy
+      * aomedia:3493 Cmake generates garbage symbols for libaom_srcs.gni
+      * aomedia:3478 GCC 12.2.0 emits a -Wstringop-overflow warning on
+        aom/av1/encoder/motion_search_facade.c
+      * aomedia:3484 C vs NEON mismatch in AV1 encoder for high-bitdepth case
+
 2024-03-08 v3.8.2
   This release includes several bug fixes. This release is ABI
   compatible with the last release. See
