diff --git a/.gitignore b/.gitignore
index ebbd209..095dd1b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -6,6 +6,6 @@ SOURCES/nodejs-10.21.0-5.fc32.src.rpm
 SOURCES/nspr-4.25.0-1.el8_0.src.rpm
 SOURCES/nss-3.53.1-3.fc32.src.rpm
 SOURCES/openssl-1.0.2k-19.6.bundle.el7_7.src.rpm
-SOURCES/thunderbird-78.8.0.source.tar.xz
-SOURCES/thunderbird-langpacks-78.8.0-20210219.tar.xz
+SOURCES/thunderbird-78.9.0.source.tar.xz
+SOURCES/thunderbird-langpacks-78.9.0-20210323.tar.xz
 SOURCES/yasm-1.2.0-3.el5.src.rpm
diff --git a/.thunderbird.metadata b/.thunderbird.metadata
index f5cbd57..70a2c2c 100644
--- a/.thunderbird.metadata
+++ b/.thunderbird.metadata
@@ -6,6 +6,6 @@ e188ab1a444697bc649e223c28389d82ca94c472 SOURCES/libffi-3.0.13-18.el7_3.src.rpm
 07d67c90367c3ec0d6cebc1a5793c21076d34b78 SOURCES/nspr-4.25.0-1.el8_0.src.rpm
 223c02166b1cb9863b9f453ef687d7805a93e7af SOURCES/nss-3.53.1-3.fc32.src.rpm
 a379070abf5000cde61411c97af7e733b267a4d3 SOURCES/openssl-1.0.2k-19.6.bundle.el7_7.src.rpm
-f3bf2544c0a39f8ec493c3b07b6323dc9ec6ae1a SOURCES/thunderbird-78.8.0.source.tar.xz
-c1188fc480a59779f85607eec99691a6d898c372 SOURCES/thunderbird-langpacks-78.8.0-20210219.tar.xz
+928f935ebf1606a85c3dd3fb455911f7bcf35724 SOURCES/thunderbird-78.9.0.source.tar.xz
+ac2f707fdab9cf1e547085a7d39f1a06fb964181 SOURCES/thunderbird-langpacks-78.9.0-20210323.tar.xz
 77fd30f7ebc12a629a31c1e252cec06af55a71fe SOURCES/yasm-1.2.0-3.el5.src.rpm
diff --git a/SOURCES/Bug-1238661---fix-mozillaSignalTrampoline-to-work-.patch b/SOURCES/Bug-1238661---fix-mozillaSignalTrampoline-to-work-.patch
deleted file mode 100644
index 6dfe2ad..0000000
--- a/SOURCES/Bug-1238661---fix-mozillaSignalTrampoline-to-work-.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -up firefox-60.0/mfbt/LinuxSignal.h.mozilla-1238661 firefox-60.0/mfbt/LinuxSignal.h
---- firefox-60.0/mfbt/LinuxSignal.h.mozilla-1238661	2018-04-27 08:55:38.848241768 +0200
-+++ firefox-60.0/mfbt/LinuxSignal.h	2018-04-27 09:06:47.946769859 +0200
-@@ -22,7 +22,7 @@ __attribute__((naked)) void SignalTrampo
-                                              void* aContext) {
-   asm volatile("nop; nop; nop; nop" : : : "memory");
- 
--  asm volatile("b %0" : : "X"(H) : "memory");
-+  asm volatile("bx %0" : : "r"(H), "l"(aSignal), "l"(aInfo), "l"(aContext) : "memory");
- }
- 
- #  define MOZ_SIGNAL_TRAMPOLINE(h) (mozilla::SignalTrampoline<h>)
diff --git a/SOURCES/Bug-1526653---fix_user_vfp_armv7.patch b/SOURCES/Bug-1526653---fix_user_vfp_armv7.patch
deleted file mode 100644
index 3f84f95..0000000
--- a/SOURCES/Bug-1526653---fix_user_vfp_armv7.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From fd6847c9416f9eebde636e21d794d25d1be8791d Mon Sep 17 00:00:00 2001
-From: Mike Hommey <mh@glandium.org>
-Date: Sat, 1 Jun 2019 09:06:01 +0900
-Subject: [PATCH] Bug 1526653 - Include struct definitions for user_vfp and
- user_vfp_exc.
-
----
- js/src/wasm/WasmSignalHandlers.cpp | 11 ++++++++++-
- 1 file changed, 10 insertions(+), 1 deletion(-)
-
-diff --git a/js/src/wasm/WasmSignalHandlers.cpp b/js/src/wasm/WasmSignalHandlers.cpp
-index 636537f8478..383c380f04c 100644
---- a/js/src/wasm/WasmSignalHandlers.cpp
-+++ b/js/src/wasm/WasmSignalHandlers.cpp
-@@ -248,7 +248,16 @@ using mozilla::DebugOnly;
- #endif
- 
- #ifdef WASM_EMULATE_ARM_UNALIGNED_FP_ACCESS
--#  include <sys/user.h>
-+struct user_vfp {
-+  unsigned long long fpregs[32];
-+  unsigned long fpscr;
-+};
-+
-+struct user_vfp_exc {
-+  unsigned long fpexc;
-+  unsigned long fpinst;
-+  unsigned long fpinst2;
-+};
- #endif
- 
- #if defined(ANDROID)
--- 
-2.20.1
-
diff --git a/SOURCES/D87019-thin-vec-big-endian.diff b/SOURCES/D87019-thin-vec-big-endian.diff
index bc8589b..d4c2a7e 100644
--- a/SOURCES/D87019-thin-vec-big-endian.diff
+++ b/SOURCES/D87019-thin-vec-big-endian.diff
@@ -1,24 +1,19 @@
-diff -up firefox-78.1.0/Cargo.lock.D87019-thin-vec-big-endian.diff firefox-78.1.0/Cargo.lock
---- firefox-78.1.0/Cargo.lock.D87019-thin-vec-big-endian.diff	2020-07-22 19:56:54.000000000 +0200
-+++ firefox-78.1.0/Cargo.lock	2020-08-17 17:04:24.133598583 +0200
-@@ -4792,12 +4792,9 @@ checksum = "8eaa81235c7058867fa8c0e7314f
+--- thunderbird-78.9.0/Cargo.lock.D87019-thin-vec-big-endian.diff	2021-03-22 11:34:35.584716638 +0100
++++ thunderbird-78.9.0/Cargo.lock	2021-03-22 12:29:14.140624979 +0100
+@@ -4792,9 +4792,9 @@ checksum = "8eaa81235c7058867fa8c0e7314f
  
  [[package]]
  name = "thin-vec"
--version = "0.1.0"
+-version = "0.1.2"
 +version = "0.2.1"
  source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "73fdf4b84c65a85168477b7fb6c498e0716bc9487fba24623389ea7f51708044"
--dependencies = [
-- "libc",
--]
+-checksum = "3a93c9ade36a827a69257925808463db46ffcf193442fad01eb9bdc1d31aed81"
 +checksum = "dcc760ada4a9f56fc6d0e81bd143984ebc7bb1b875a6891aa2fa613ca7394fc0"
  
  [[package]]
  name = "thiserror"
-diff -up firefox-78.1.0/gfx/webrender_bindings/Cargo.toml.D87019-thin-vec-big-endian.diff firefox-78.1.0/gfx/webrender_bindings/Cargo.toml
---- firefox-78.1.0/gfx/webrender_bindings/Cargo.toml.D87019-thin-vec-big-endian.diff	2020-08-17 17:04:24.133598583 +0200
-+++ firefox-78.1.0/gfx/webrender_bindings/Cargo.toml	2020-08-17 17:05:26.984805590 +0200
+--- thunderbird-78.9.0/gfx/webrender_bindings/Cargo.toml.D87019-thin-vec-big-endian.diff	2021-03-19 22:35:16.000000000 +0100
++++ thunderbird-78.9.0/gfx/webrender_bindings/Cargo.toml	2021-03-22 11:34:35.587716631 +0100
 @@ -20,7 +20,7 @@ nsstring = { path = "../../xpcom/rust/ns
  bincode = "1.0"
  uuid = { version = "0.8", features = ["v4"] }
@@ -28,18 +23,16 @@ diff -up firefox-78.1.0/gfx/webrender_bindings/Cargo.toml.D87019-thin-vec-big-en
  swgl = { path = "../wr/swgl" }
  
  [dependencies.webrender]
-diff -up firefox-78.1.0/intl/l10n/rust/fluent-ffi/Cargo.toml.D87019-thin-vec-big-endian.diff firefox-78.1.0/intl/l10n/rust/fluent-ffi/Cargo.toml
---- firefox-78.1.0/intl/l10n/rust/fluent-ffi/Cargo.toml.D87019-thin-vec-big-endian.diff	2020-07-22 17:56:20.000000000 +0200
-+++ firefox-78.1.0/intl/l10n/rust/fluent-ffi/Cargo.toml	2020-08-17 17:04:24.134598587 +0200
+--- thunderbird-78.9.0/intl/l10n/rust/fluent-ffi/Cargo.toml.D87019-thin-vec-big-endian.diff	2021-03-19 22:35:16.000000000 +0100
++++ thunderbird-78.9.0/intl/l10n/rust/fluent-ffi/Cargo.toml	2021-03-22 11:34:35.589716625 +0100
 @@ -10,4 +10,4 @@ fluent-pseudo = "0.2"
  intl-memoizer = "0.4"
  unic-langid = "0.8"
  nsstring = { path = "../../../../xpcom/rust/nsstring" }
 -thin-vec = { version = "0.1.0", features = ["gecko-ffi"] }
 +thin-vec = { version = "0.2.1", features = ["gecko-ffi"] }
-diff -up firefox-78.1.0/intl/locale/rust/fluent-langneg-ffi/Cargo.toml.D87019-thin-vec-big-endian.diff firefox-78.1.0/intl/locale/rust/fluent-langneg-ffi/Cargo.toml
---- firefox-78.1.0/intl/locale/rust/fluent-langneg-ffi/Cargo.toml.D87019-thin-vec-big-endian.diff	2020-07-22 17:56:20.000000000 +0200
-+++ firefox-78.1.0/intl/locale/rust/fluent-langneg-ffi/Cargo.toml	2020-08-17 17:04:24.134598587 +0200
+--- thunderbird-78.9.0/intl/locale/rust/fluent-langneg-ffi/Cargo.toml.D87019-thin-vec-big-endian.diff	2021-03-19 22:35:16.000000000 +0100
++++ thunderbird-78.9.0/intl/locale/rust/fluent-langneg-ffi/Cargo.toml	2021-03-22 11:34:35.590716623 +0100
 @@ -9,7 +9,7 @@ edition = "2018"
  nserror = { path = "../../../../xpcom/rust/nserror" }
  nsstring = { path = "../../../../xpcom/rust/nsstring" }
@@ -49,9 +42,8 @@ diff -up firefox-78.1.0/intl/locale/rust/fluent-langneg-ffi/Cargo.toml.D87019-th
  fluent-langneg = { version = "0.12.1", features = ["cldr"] }
  unic-langid = "0.8"
  unic-langid-ffi = { path = "../unic-langid-ffi" }
-diff -up firefox-78.1.0/intl/locale/rust/unic-langid-ffi/Cargo.toml.D87019-thin-vec-big-endian.diff firefox-78.1.0/intl/locale/rust/unic-langid-ffi/Cargo.toml
---- firefox-78.1.0/intl/locale/rust/unic-langid-ffi/Cargo.toml.D87019-thin-vec-big-endian.diff	2020-07-22 17:56:20.000000000 +0200
-+++ firefox-78.1.0/intl/locale/rust/unic-langid-ffi/Cargo.toml	2020-08-17 17:04:24.134598587 +0200
+--- thunderbird-78.9.0/intl/locale/rust/unic-langid-ffi/Cargo.toml.D87019-thin-vec-big-endian.diff	2021-03-19 22:35:16.000000000 +0100
++++ thunderbird-78.9.0/intl/locale/rust/unic-langid-ffi/Cargo.toml	2021-03-22 11:34:35.591716620 +0100
 @@ -9,5 +9,5 @@ edition = "2018"
  nserror = { path = "../../../../xpcom/rust/nserror" }
  nsstring = { path = "../../../../xpcom/rust/nsstring" }
@@ -59,9 +51,8 @@ diff -up firefox-78.1.0/intl/locale/rust/unic-langid-ffi/Cargo.toml.D87019-thin-
 -thin-vec = { version = "0.1.0", features = ["gecko-ffi"] }
 +thin-vec = { version = "0.2.1", features = ["gecko-ffi"] }
  unic-langid = { version = "0.8", features = ["likelysubtags"] }
-diff -up firefox-78.1.0/netwerk/socket/neqo_glue/Cargo.toml.D87019-thin-vec-big-endian.diff firefox-78.1.0/netwerk/socket/neqo_glue/Cargo.toml
---- firefox-78.1.0/netwerk/socket/neqo_glue/Cargo.toml.D87019-thin-vec-big-endian.diff	2020-08-17 17:04:24.134598587 +0200
-+++ firefox-78.1.0/netwerk/socket/neqo_glue/Cargo.toml	2020-08-17 17:05:10.352750807 +0200
+--- thunderbird-78.9.0/netwerk/socket/neqo_glue/Cargo.toml.D87019-thin-vec-big-endian.diff	2021-03-19 22:35:40.000000000 +0100
++++ thunderbird-78.9.0/netwerk/socket/neqo_glue/Cargo.toml	2021-03-22 11:34:35.600716597 +0100
 @@ -14,7 +14,7 @@ neqo-common = { tag = "v0.2.4", git = "h
  nserror = { path = "../../../xpcom/rust/nserror" }
  nsstring = { path = "../../../xpcom/rust/nsstring" }
@@ -71,9 +62,8 @@ diff -up firefox-78.1.0/netwerk/socket/neqo_glue/Cargo.toml.D87019-thin-vec-big-
  
  [dependencies.neqo-crypto]
  tag = "v0.2.4"
-diff -up firefox-78.1.0/security/manager/ssl/cert_storage/Cargo.toml.D87019-thin-vec-big-endian.diff firefox-78.1.0/security/manager/ssl/cert_storage/Cargo.toml
---- firefox-78.1.0/security/manager/ssl/cert_storage/Cargo.toml.D87019-thin-vec-big-endian.diff	2020-07-22 19:56:55.000000000 +0200
-+++ firefox-78.1.0/security/manager/ssl/cert_storage/Cargo.toml	2020-08-17 17:04:24.134598587 +0200
+--- thunderbird-78.9.0/security/manager/ssl/cert_storage/Cargo.toml.D87019-thin-vec-big-endian.diff	2021-03-19 22:35:52.000000000 +0100
++++ thunderbird-78.9.0/security/manager/ssl/cert_storage/Cargo.toml	2021-03-22 11:34:35.601716594 +0100
 @@ -18,6 +18,6 @@ rust_cascade = "0.6.0"
  sha2 = "^0.8"
  storage_variant = { path = "../../../../storage/variant" }
@@ -82,9 +72,8 @@ diff -up firefox-78.1.0/security/manager/ssl/cert_storage/Cargo.toml.D87019-thin
 +thin-vec = { version = "0.2.1", features = ["gecko-ffi"] }
  time = "0.1"
  xpcom = { path = "../../../../xpcom/rust/xpcom" }
-diff -up firefox-78.1.0/services/fxaccounts/rust-bridge/firefox-accounts-bridge/Cargo.toml.D87019-thin-vec-big-endian.diff firefox-78.1.0/services/fxaccounts/rust-bridge/firefox-accounts-bridge/Cargo.toml
---- firefox-78.1.0/services/fxaccounts/rust-bridge/firefox-accounts-bridge/Cargo.toml.D87019-thin-vec-big-endian.diff	2020-08-17 17:04:24.134598587 +0200
-+++ firefox-78.1.0/services/fxaccounts/rust-bridge/firefox-accounts-bridge/Cargo.toml	2020-08-17 17:04:52.432691786 +0200
+--- thunderbird-78.9.0/services/fxaccounts/rust-bridge/firefox-accounts-bridge/Cargo.toml.D87019-thin-vec-big-endian.diff	2021-03-19 22:35:49.000000000 +0100
++++ thunderbird-78.9.0/services/fxaccounts/rust-bridge/firefox-accounts-bridge/Cargo.toml	2021-03-22 11:34:35.603716589 +0100
 @@ -20,5 +20,5 @@ nserror = { path = "../../../../xpcom/ru
  nsstring = { path = "../../../../xpcom/rust/nsstring" }
  xpcom = { path = "../../../../xpcom/rust/xpcom" }
@@ -92,9 +81,8 @@ diff -up firefox-78.1.0/services/fxaccounts/rust-bridge/firefox-accounts-bridge/
 -thin-vec = { version = "0.1", features = ["gecko-ffi"] }
 +thin-vec = { version = "0.2.1", features = ["gecko-ffi"] }
  fxa-client = { git = "https://github.com/mozilla/application-services", rev = "61dcc364ac0d6d0816ab88a494bbf20d824b009b", features = ["gecko"] }
-diff -up firefox-78.1.0/services/sync/golden_gate/Cargo.toml.D87019-thin-vec-big-endian.diff firefox-78.1.0/services/sync/golden_gate/Cargo.toml
---- firefox-78.1.0/services/sync/golden_gate/Cargo.toml.D87019-thin-vec-big-endian.diff	2020-07-22 17:56:24.000000000 +0200
-+++ firefox-78.1.0/services/sync/golden_gate/Cargo.toml	2020-08-17 17:04:24.134598587 +0200
+--- thunderbird-78.9.0/services/sync/golden_gate/Cargo.toml.D87019-thin-vec-big-endian.diff	2021-03-19 22:35:53.000000000 +0100
++++ thunderbird-78.9.0/services/sync/golden_gate/Cargo.toml	2021-03-22 11:34:35.605716584 +0100
 @@ -19,5 +19,5 @@ sync15-traits = { git = "https://github.
  xpcom = { path = "../../../xpcom/rust/xpcom" }
  
@@ -102,52 +90,28 @@ diff -up firefox-78.1.0/services/sync/golden_gate/Cargo.toml.D87019-thin-vec-big
 -version = "0.1.0"
 +version = "0.2.1"
  features = ["gecko-ffi"]
-diff -up firefox-78.1.0/third_party/rust/thin-vec/.cargo-checksum.json.D87019-thin-vec-big-endian.diff firefox-78.1.0/third_party/rust/thin-vec/.cargo-checksum.json
---- firefox-78.1.0/third_party/rust/thin-vec/.cargo-checksum.json.D87019-thin-vec-big-endian.diff	2020-07-22 17:56:29.000000000 +0200
-+++ firefox-78.1.0/third_party/rust/thin-vec/.cargo-checksum.json	2020-08-17 17:04:24.134598587 +0200
+--- thunderbird-78.9.0/third_party/rust/thin-vec/.cargo-checksum.json.D87019-thin-vec-big-endian.diff	2021-03-22 11:34:35.606716581 +0100
++++ thunderbird-78.9.0/third_party/rust/thin-vec/.cargo-checksum.json	2021-03-22 12:30:38.588587238 +0100
 @@ -1 +1 @@
--{"files":{"Cargo.toml":"fb96cad605ae48215811808c1cc1b9a50248f2b14542058094b23983e2f8d8a0","README.md":"c26d7101e3031e7dd8890ce938e50cad7a1e6adf7fc2f2b0d3c36b03afe68c0b","src/heap.rs":"fe84a4ff433568d5713685456d87597ac5dcdb9d5190061a3da8074240ba1bc3","src/lib.rs":"ce36db8e3464dddade7c1ddbe3ee1f5e525af5be492ea51a0d8a0776c1adfc28","src/range.rs":"bac59bcb6230367a39c7e28ac15263e4526f966cd8c72015873017f17c115aaa"},"package":"73fdf4b84c65a85168477b7fb6c498e0716bc9487fba24623389ea7f51708044"}
+-{"files":{"Cargo.toml":"7b164cc8a702a204a4732cb4da2940711b8e3be915c258e2a972d4874d767b4c","README.md":"c26d7101e3031e7dd8890ce938e50cad7a1e6adf7fc2f2b0d3c36b03afe68c0b","src/lib.rs":"9f2a087cabfe0b6f83818323bb9004b45fe7548c51376816fd8d4572256bd0e8","src/range.rs":"bac59bcb6230367a39c7e28ac15263e4526f966cd8c72015873017f17c115aaa"},"package":"3a93c9ade36a827a69257925808463db46ffcf193442fad01eb9bdc1d31aed81"}
 \ No newline at end of file
 +{"files":{"Cargo.toml":"754c05523d17eb7591c3ea2c9294e47c05fbb257fed04b78546fb2ec7cafa8b4","README.md":"c26d7101e3031e7dd8890ce938e50cad7a1e6adf7fc2f2b0d3c36b03afe68c0b","src/lib.rs":"627c6094c3f0286dba25bc73f5672c06c5061c25b01c513d213cbdda100673a2"},"package":"dcc760ada4a9f56fc6d0e81bd143984ebc7bb1b875a6891aa2fa613ca7394fc0"}
-\ No newline at end of file
-diff -up firefox-78.1.0/third_party/rust/thin-vec/Cargo.toml.D87019-thin-vec-big-endian.diff firefox-78.1.0/third_party/rust/thin-vec/Cargo.toml
---- firefox-78.1.0/third_party/rust/thin-vec/Cargo.toml.D87019-thin-vec-big-endian.diff	2020-07-22 17:56:29.000000000 +0200
-+++ firefox-78.1.0/third_party/rust/thin-vec/Cargo.toml	2020-08-17 17:04:24.135598590 +0200
-@@ -3,7 +3,7 @@
- # When uploading crates to the registry Cargo will automatically
- # "normalize" Cargo.toml files for maximal compatibility
- # with all versions of Cargo and also rewrite `path` dependencies
--# to registry (e.g. crates.io) dependencies
-+# to registry (e.g., crates.io) dependencies
- #
- # If you believe there's an error in this file please file an
- # issue against the rust-lang/cargo repository. If you're
-@@ -11,16 +11,17 @@
+--- thunderbird-78.9.0/third_party/rust/thin-vec/Cargo.toml.D87019-thin-vec-big-endian.diff	2021-03-19 22:36:33.000000000 +0100
++++ thunderbird-78.9.0/third_party/rust/thin-vec/Cargo.toml	2021-03-22 12:32:38.577621737 +0100
+@@ -11,8 +11,9 @@
  # will likely look very different (and much more reasonable)
  
  [package]
 +edition = "2018"
  name = "thin-vec"
--version = "0.1.0"
+-version = "0.1.2"
 +version = "0.2.1"
  authors = ["Alexis Beingessner <a.beingessner@gmail.com>"]
  description = "a vec that takes up less space on the stack"
  homepage = "https://github.com/gankro/thin-vec"
- readme = "README.md"
- license = "MIT/Apache-2.0"
- repository = "https://github.com/gankro/thin-vec"
--[dependencies.libc]
--version = "0.2"
-+
-+[dependencies]
- 
- [features]
- default = []
-diff -up firefox-78.1.0/third_party/rust/thin-vec/src/heap.rs.D87019-thin-vec-big-endian.diff firefox-78.1.0/third_party/rust/thin-vec/src/heap.rs
-diff -up firefox-78.1.0/third_party/rust/thin-vec/src/lib.rs.D87019-thin-vec-big-endian.diff firefox-78.1.0/third_party/rust/thin-vec/src/lib.rs
---- firefox-78.1.0/third_party/rust/thin-vec/src/lib.rs.D87019-thin-vec-big-endian.diff	2020-07-22 17:56:28.000000000 +0200
-+++ firefox-78.1.0/third_party/rust/thin-vec/src/lib.rs	2020-08-17 17:04:24.135598590 +0200
-@@ -1,50 +1,252 @@
+--- thunderbird-78.9.0/third_party/rust/thin-vec/src/lib.rs.D87019-thin-vec-big-endian.diff	2021-03-19 22:36:28.000000000 +0100
++++ thunderbird-78.9.0/third_party/rust/thin-vec/src/lib.rs	2021-03-22 12:34:10.271595434 +0100
+@@ -1,47 +1,252 @@
 -mod range;
 +//! ThinVec is exactly the same as Vec, except that it stores its `len` and `capacity` in the buffer
 +//! it allocates.
@@ -297,23 +261,19 @@ diff -up firefox-78.1.0/third_party/rust/thin-vec/src/lib.rs.D87019-thin-vec-big
 -use std::ops::{Deref, DerefMut};
 +use std::ops::{Deref, DerefMut, RangeBounds};
  use std::marker::PhantomData;
-+use std::alloc::*;
+ use std::alloc::*;
  use std::cmp::*;
  use std::hash::*;
  use std::borrow::*;
 -use range::RangeArgument;
  use std::ptr::NonNull;
  
--// Heap shimming because reasons. This doesn't unfortunately match the heap api
--// right now because reasons.
--mod heap;
-+use impl_details::*;
- 
 -#[cfg(not(feature = "gecko-ffi"))]
 -type SizeType = usize;
 -#[cfg(feature = "gecko-ffi")]
 -type SizeType = u32;
--
++use impl_details::*;
+ 
 -#[cfg(feature = "gecko-ffi")]
 -const AUTO_MASK: u32 = 1 << 31;
 -#[cfg(feature = "gecko-ffi")]
@@ -407,7 +367,8 @@ diff -up firefox-78.1.0/third_party/rust/thin-vec/src/lib.rs.D87019-thin-vec-big
 +    #[cfg(target_endian = "big")]
 +    pub fn is_auto(cap: SizeType) -> bool {
 +        (cap & 1) != 0
-+    }
+     }
+-    x as SizeType
 +
 +    #[inline]
 +    pub fn assert_size(x: usize) -> SizeType {
@@ -415,8 +376,7 @@ diff -up firefox-78.1.0/third_party/rust/thin-vec/src/lib.rs.D87019-thin-vec-big
 +            panic!("nsTArray size may not exceed the capacity of a 32-bit sized int");
 +        }
 +        x as SizeType
-     }
--    x as SizeType
++    }
 +
  }
  
@@ -427,7 +387,7 @@ diff -up firefox-78.1.0/third_party/rust/thin-vec/src/lib.rs.D87019-thin-vec-big
  #[repr(C)]
  struct Header {
      _len: SizeType,
-@@ -56,38 +258,10 @@ impl Header {
+@@ -53,38 +258,10 @@ impl Header {
          self._len as usize
      }
  
@@ -466,7 +426,7 @@ diff -up firefox-78.1.0/third_party/rust/thin-vec/src/lib.rs.D87019-thin-vec-big
      fn data<T>(&self) -> *mut T {
          let header_size = mem::size_of::<Header>();
          let padding = padding::<T>();
-@@ -105,6 +279,41 @@ impl Header {
+@@ -102,6 +279,41 @@ impl Header {
      }
  }
  
@@ -508,7 +468,7 @@ diff -up firefox-78.1.0/third_party/rust/thin-vec/src/lib.rs.D87019-thin-vec-big
  /// Singleton that all empty collections share.
  /// Note: can't store non-zero ZSTs, we allocate in that case. We could
  /// optimize everything to not do that (basically, make ptr == len and branch
-@@ -121,9 +330,7 @@ extern {
+@@ -118,9 +330,7 @@ extern {
  
  // TODO: overflow checks everywhere
  
@@ -519,35 +479,20 @@ diff -up firefox-78.1.0/third_party/rust/thin-vec/src/lib.rs.D87019-thin-vec-big
  
  fn alloc_size<T>(cap: usize) -> usize {
      // Compute "real" header size with pointer math
-@@ -156,15 +363,22 @@ fn alloc_align<T>() -> usize {
-     max(mem::align_of::<T>(), mem::align_of::<Header>())
- }
- 
--fn header_with_capacity<T>(cap: usize) -> NonNull<Header> {
--    debug_assert!(cap > 0);
-+fn layout<T>(cap: usize) -> Layout {
+@@ -165,9 +375,10 @@ fn layout<T>(cap: usize) -> Layout {
+ fn header_with_capacity<T>(cap: usize) -> NonNull<Header> {
+     debug_assert!(cap > 0);
      unsafe {
--        let header = heap::allocate(
-+        Layout::from_size_align_unchecked(
-             alloc_size::<T>(cap),
-             alloc_align::<T>(),
--        ) as *mut Header;
-+        )
-+    }
-+}
- 
--        if header.is_null() { oom() }
-+fn header_with_capacity<T>(cap: usize) -> NonNull<Header> {
-+    debug_assert!(cap > 0);
-+    unsafe {
+-        let header = alloc(layout::<T>(cap)) as *mut Header;
 +        let layout = layout::<T>(cap);
 +        let header = alloc(layout) as *mut Header;
-+
+ 
+-        if header.is_null() { oom() }
 +        if header.is_null() { handle_alloc_error(layout) }
  
          // "Infinite" capacity for zero-sized types:
          (*header).set_cap(if mem::size_of::<T>() == 0 { MAX_CAP } else { cap });
-@@ -176,28 +390,8 @@ fn header_with_capacity<T>(cap: usize) -
+@@ -179,28 +390,8 @@ fn header_with_capacity<T>(cap: usize) -
  
  
  
@@ -578,7 +523,7 @@ diff -up firefox-78.1.0/third_party/rust/thin-vec/src/lib.rs.D87019-thin-vec-big
  pub struct ThinVec<T> {
      ptr: NonNull<Header>,
      boo: PhantomData<T>,
-@@ -627,15 +821,15 @@ impl<T> ThinVec<T> {
+@@ -630,15 +821,15 @@ impl<T> ThinVec<T> {
      }
  
      pub fn drain<R>(&mut self, range: R) -> Drain<T>
@@ -597,35 +542,11 @@ diff -up firefox-78.1.0/third_party/rust/thin-vec/src/lib.rs.D87019-thin-vec-big
              Bound::Included(&n) => n + 1,
              Bound::Excluded(&n) => n,
              Bound::Unbounded => len,
-@@ -666,9 +860,10 @@ impl<T> ThinVec<T> {
- 
-     unsafe fn deallocate(&mut self) {
-         if self.has_allocation() {
--            heap::deallocate(self.ptr() as *mut u8,
--                alloc_size::<T>(self.capacity()),
--                alloc_align::<T>());
-+            dealloc(
-+                self.ptr() as *mut u8,
-+                layout::<T>(self.capacity()),
-+            )
-         }
-     }
+@@ -688,11 +879,30 @@ impl<T> ThinVec<T> {
+                 alloc_size::<T>(new_cap),
+             ) as *mut Header;
  
-@@ -678,15 +873,36 @@ impl<T> ThinVec<T> {
-         debug_assert!(new_cap > 0);
-         if self.has_allocation() {
-             let old_cap = self.capacity();
--            let ptr = heap::reallocate(self.ptr() as *mut u8,
--                                       alloc_size::<T>(old_cap),
--                                       alloc_size::<T>(new_cap),
--                                       alloc_align::<T>()) as *mut Header;
 -            if ptr.is_null() { oom() }
-+            let ptr = realloc(
-+                self.ptr() as *mut u8,
-+                layout::<T>(old_cap),
-+                alloc_size::<T>(new_cap),
-+            ) as *mut Header;
-+
 +            if ptr.is_null() { handle_alloc_error(layout::<T>(new_cap)) }
              (*ptr).set_cap(new_cap);
              self.ptr = NonNull::new_unchecked(ptr);
@@ -654,7 +575,7 @@ diff -up firefox-78.1.0/third_party/rust/thin-vec/src/lib.rs.D87019-thin-vec-big
          }
      }
  
-@@ -1087,10 +1303,7 @@ mod tests {
+@@ -1093,10 +1303,7 @@ mod tests {
          use std::mem::size_of;
          assert_eq!(size_of::<ThinVec<u8>>(), size_of::<&u8>());
  
@@ -666,7 +587,7 @@ diff -up firefox-78.1.0/third_party/rust/thin-vec/src/lib.rs.D87019-thin-vec-big
      }
  
      #[test]
-@@ -1725,7 +1938,6 @@ mod std_tests {
+@@ -1731,7 +1938,6 @@ mod std_tests {
          assert_eq!(v, &[(), ()]);
      }
  
@@ -674,7 +595,7 @@ diff -up firefox-78.1.0/third_party/rust/thin-vec/src/lib.rs.D87019-thin-vec-big
      #[test]
      fn test_drain_inclusive_range() {
          let mut v = thin_vec!['a', 'b', 'c', 'd', 'e'];
-@@ -1755,6 +1967,7 @@ mod std_tests {
+@@ -1761,6 +1967,7 @@ mod std_tests {
      }
  
      #[test]
@@ -682,7 +603,7 @@ diff -up firefox-78.1.0/third_party/rust/thin-vec/src/lib.rs.D87019-thin-vec-big
      fn test_drain_max_vec_size() {
          let mut v = ThinVec::<()>::with_capacity(usize::max_value());
          unsafe { v.set_len(usize::max_value()); }
-@@ -1775,7 +1988,6 @@ mod std_tests {
+@@ -1781,7 +1988,6 @@ mod std_tests {
          let mut v = thin_vec![1, 2, 3, 4, 5];
          v.drain(5..=5);
      }
@@ -690,7 +611,7 @@ diff -up firefox-78.1.0/third_party/rust/thin-vec/src/lib.rs.D87019-thin-vec-big
  
  /* TODO: implement splice?
      #[test]
-@@ -2181,7 +2393,7 @@ mod std_tests {
+@@ -2187,7 +2393,7 @@ mod std_tests {
          assert!(v.capacity() >= 33)
      }
  
@@ -699,10 +620,8 @@ diff -up firefox-78.1.0/third_party/rust/thin-vec/src/lib.rs.D87019-thin-vec-big
      #[test]
      fn test_try_reserve() {
  
-diff -up firefox-78.1.0/third_party/rust/thin-vec/src/range.rs.D87019-thin-vec-big-endian.diff firefox-78.1.0/third_party/rust/thin-vec/src/range.rs
-diff -up firefox-78.1.0/toolkit/components/cascade_bloom_filter/Cargo.toml.D87019-thin-vec-big-endian.diff firefox-78.1.0/toolkit/components/cascade_bloom_filter/Cargo.toml
---- firefox-78.1.0/toolkit/components/cascade_bloom_filter/Cargo.toml.D87019-thin-vec-big-endian.diff	2020-07-22 17:56:29.000000000 +0200
-+++ firefox-78.1.0/toolkit/components/cascade_bloom_filter/Cargo.toml	2020-08-17 17:04:24.135598590 +0200
+--- thunderbird-78.9.0/toolkit/components/cascade_bloom_filter/Cargo.toml.D87019-thin-vec-big-endian.diff	2021-03-19 22:36:12.000000000 +0100
++++ thunderbird-78.9.0/toolkit/components/cascade_bloom_filter/Cargo.toml	2021-03-22 11:37:44.287130273 +0100
 @@ -8,5 +8,5 @@ nserror = { path = "../../../xpcom/rust/
  nsstring = { path = "../../../xpcom/rust/nsstring" }
  rental = "0.5.5"
@@ -710,9 +629,8 @@ diff -up firefox-78.1.0/toolkit/components/cascade_bloom_filter/Cargo.toml.D8701
 -thin-vec = { version = "0.1.0", features = ["gecko-ffi"] }
 +thin-vec = { version = "0.2.1", features = ["gecko-ffi"] }
  xpcom = { path = "../../../xpcom/rust/xpcom" }
-diff -up firefox-78.1.0/toolkit/components/extensions/storage/webext_storage_bridge/Cargo.toml.D87019-thin-vec-big-endian.diff firefox-78.1.0/toolkit/components/extensions/storage/webext_storage_bridge/Cargo.toml
---- firefox-78.1.0/toolkit/components/extensions/storage/webext_storage_bridge/Cargo.toml.D87019-thin-vec-big-endian.diff	2020-07-22 17:56:30.000000000 +0200
-+++ firefox-78.1.0/toolkit/components/extensions/storage/webext_storage_bridge/Cargo.toml	2020-08-17 17:04:24.135598590 +0200
+--- thunderbird-78.9.0/toolkit/components/extensions/storage/webext_storage_bridge/Cargo.toml.D87019-thin-vec-big-endian.diff	2021-03-19 22:36:28.000000000 +0100
++++ thunderbird-78.9.0/toolkit/components/extensions/storage/webext_storage_bridge/Cargo.toml	2021-03-22 11:37:44.288130270 +0100
 @@ -13,7 +13,7 @@ moz_task = { path = "../../../../../xpco
  nserror = { path = "../../../../../xpcom/rust/nserror" }
  nsstring = { path = "../../../../../xpcom/rust/nsstring" }
@@ -722,9 +640,8 @@ diff -up firefox-78.1.0/toolkit/components/extensions/storage/webext_storage_bri
  xpcom = { path = "../../../../../xpcom/rust/xpcom" }
  serde = "1"
  serde_json = "1"
-diff -up firefox-78.1.0/toolkit/components/kvstore/Cargo.toml.D87019-thin-vec-big-endian.diff firefox-78.1.0/toolkit/components/kvstore/Cargo.toml
---- firefox-78.1.0/toolkit/components/kvstore/Cargo.toml.D87019-thin-vec-big-endian.diff	2020-07-22 17:56:30.000000000 +0200
-+++ firefox-78.1.0/toolkit/components/kvstore/Cargo.toml	2020-08-17 17:04:24.135598590 +0200
+--- thunderbird-78.9.0/toolkit/components/kvstore/Cargo.toml.D87019-thin-vec-big-endian.diff	2021-03-19 22:36:33.000000000 +0100
++++ thunderbird-78.9.0/toolkit/components/kvstore/Cargo.toml	2021-03-22 11:37:44.289130267 +0100
 @@ -18,7 +18,7 @@ rkv = "0.10.2"
  storage_variant = { path = "../../../storage/variant" }
  xpcom = { path = "../../../xpcom/rust/xpcom" }
@@ -734,9 +651,8 @@ diff -up firefox-78.1.0/toolkit/components/kvstore/Cargo.toml.D87019-thin-vec-bi
  
  # Get rid of failure's dependency on backtrace. Eventually
  # backtrace will move into Rust core, but we don't need it here.
-diff -up firefox-78.1.0/toolkit/components/places/bookmark_sync/Cargo.toml.D87019-thin-vec-big-endian.diff firefox-78.1.0/toolkit/components/places/bookmark_sync/Cargo.toml
---- firefox-78.1.0/toolkit/components/places/bookmark_sync/Cargo.toml.D87019-thin-vec-big-endian.diff	2020-07-22 17:56:30.000000000 +0200
-+++ firefox-78.1.0/toolkit/components/places/bookmark_sync/Cargo.toml	2020-08-17 17:04:24.135598590 +0200
+--- thunderbird-78.9.0/toolkit/components/places/bookmark_sync/Cargo.toml.D87019-thin-vec-big-endian.diff	2021-03-19 22:36:25.000000000 +0100
++++ thunderbird-78.9.0/toolkit/components/places/bookmark_sync/Cargo.toml	2021-03-22 11:37:44.289130267 +0100
 @@ -19,5 +19,5 @@ url = "2.0"
  xpcom = { path = "../../../../xpcom/rust/xpcom" }
  
@@ -744,9 +660,8 @@ diff -up firefox-78.1.0/toolkit/components/places/bookmark_sync/Cargo.toml.D8701
 -version = "0.1.0"
 +version = "0.2.1"
  features = ["gecko-ffi"]
-diff -up firefox-78.1.0/tools/profiler/rust-helper/Cargo.toml.D87019-thin-vec-big-endian.diff firefox-78.1.0/tools/profiler/rust-helper/Cargo.toml
---- firefox-78.1.0/tools/profiler/rust-helper/Cargo.toml.D87019-thin-vec-big-endian.diff	2020-07-22 17:56:30.000000000 +0200
-+++ firefox-78.1.0/tools/profiler/rust-helper/Cargo.toml	2020-08-17 17:04:24.135598590 +0200
+--- thunderbird-78.9.0/tools/profiler/rust-helper/Cargo.toml.D87019-thin-vec-big-endian.diff	2021-03-19 22:36:33.000000000 +0100
++++ thunderbird-78.9.0/tools/profiler/rust-helper/Cargo.toml	2021-03-22 11:37:44.290130265 +0100
 @@ -23,7 +23,7 @@ features = ["endian_fd", "elf32", "elf64
  default-features = false
  
@@ -756,9 +671,8 @@ diff -up firefox-78.1.0/tools/profiler/rust-helper/Cargo.toml.D87019-thin-vec-bi
  features = ["gecko-ffi"]
  
  [features]
-diff -up firefox-78.1.0/xpcom/rust/xpcom/Cargo.toml.D87019-thin-vec-big-endian.diff firefox-78.1.0/xpcom/rust/xpcom/Cargo.toml
---- firefox-78.1.0/xpcom/rust/xpcom/Cargo.toml.D87019-thin-vec-big-endian.diff	2020-07-22 17:56:30.000000000 +0200
-+++ firefox-78.1.0/xpcom/rust/xpcom/Cargo.toml	2020-08-17 17:04:24.136598593 +0200
+--- thunderbird-78.9.0/xpcom/rust/xpcom/Cargo.toml.D87019-thin-vec-big-endian.diff	2021-03-19 22:36:33.000000000 +0100
++++ thunderbird-78.9.0/xpcom/rust/xpcom/Cargo.toml	2021-03-22 11:37:44.291130262 +0100
 @@ -9,4 +9,4 @@ nsstring = { path = "../nsstring" }
  nserror = { path = "../nserror" }
  threadbound = "0.1"
diff --git a/SOURCES/thunderbird-centos-default-prefs.js.el6 b/SOURCES/thunderbird-centos-default-prefs.js.el6
deleted file mode 100644
index a277f3d..0000000
--- a/SOURCES/thunderbird-centos-default-prefs.js.el6
+++ /dev/null
@@ -1,33 +0,0 @@
-pref("app.update.enabled", false);
-pref("app.update.autoInstallEnabled", false);
-# Allow users to set custom colors
-# pref("browser.display.use_system_colors",   true);
-pref("general.useragent.vendor", "CentOS");
-pref("general.useragent.vendorSub", "THUNDERBIRD_RPM_VR");
-pref("intl.locale.matchOS", true);
-pref("mail.shell.checkDefaultClient", false);
-pref("toolkit.networkmanager.disable", false);
-pref("offline.autoDetect", true);
-
-# Disable global indexing by default
-pref("mailnews.database.global.indexer.enabled", false);
-
-# Do not switch to Smart Folders after upgrade to 3.0b4
-pref("mail.folder.views.version", "1");
-pref("extensions.shownSelectionUI", true);
-pref("extensions.autoDisableScope", 0);
-
-# For rhbz#1024232
-pref("ui.SpellCheckerUnderlineStyle",       1);
-
-/* Workaround for rhbz#1134876 */
-pref("javascript.options.baselinejit",      false);
-/* Workaround for rhbz#1110291 */
-pref("network.negotiate-auth.allow-insecure-ntlm-v1", true);
-/* Workaround for mozbz#1063315 */
-pref("security.use_mozillapkix_verification", false);
-/* Use OS settings for UI language */
-pref("intl.locale.requested", "");
-pref("datareporting.healthreport.uploadEnabled", false);
-pref("datareporting.policy.dataSubmissionEnabled", false);
-pref("toolkit.telemetry.archive.enabled", false);
diff --git a/SOURCES/thunderbird-centos-default-prefs.js.el7 b/SOURCES/thunderbird-centos-default-prefs.js.el7
deleted file mode 100644
index a277f3d..0000000
--- a/SOURCES/thunderbird-centos-default-prefs.js.el7
+++ /dev/null
@@ -1,33 +0,0 @@
-pref("app.update.enabled", false);
-pref("app.update.autoInstallEnabled", false);
-# Allow users to set custom colors
-# pref("browser.display.use_system_colors",   true);
-pref("general.useragent.vendor", "CentOS");
-pref("general.useragent.vendorSub", "THUNDERBIRD_RPM_VR");
-pref("intl.locale.matchOS", true);
-pref("mail.shell.checkDefaultClient", false);
-pref("toolkit.networkmanager.disable", false);
-pref("offline.autoDetect", true);
-
-# Disable global indexing by default
-pref("mailnews.database.global.indexer.enabled", false);
-
-# Do not switch to Smart Folders after upgrade to 3.0b4
-pref("mail.folder.views.version", "1");
-pref("extensions.shownSelectionUI", true);
-pref("extensions.autoDisableScope", 0);
-
-# For rhbz#1024232
-pref("ui.SpellCheckerUnderlineStyle",       1);
-
-/* Workaround for rhbz#1134876 */
-pref("javascript.options.baselinejit",      false);
-/* Workaround for rhbz#1110291 */
-pref("network.negotiate-auth.allow-insecure-ntlm-v1", true);
-/* Workaround for mozbz#1063315 */
-pref("security.use_mozillapkix_verification", false);
-/* Use OS settings for UI language */
-pref("intl.locale.requested", "");
-pref("datareporting.healthreport.uploadEnabled", false);
-pref("datareporting.policy.dataSubmissionEnabled", false);
-pref("toolkit.telemetry.archive.enabled", false);
diff --git a/SOURCES/thunderbird-redhat-default-prefs.js.rhel6 b/SOURCES/thunderbird-redhat-default-prefs.js.rhel6
new file mode 100644
index 0000000..26e8d17
--- /dev/null
+++ b/SOURCES/thunderbird-redhat-default-prefs.js.rhel6
@@ -0,0 +1,33 @@
+pref("app.update.enabled", false);
+pref("app.update.autoInstallEnabled", false);
+# Allow users to set custom colors
+# pref("browser.display.use_system_colors",   true);
+pref("general.useragent.vendor", "Red Hat");
+pref("general.useragent.vendorSub", "THUNDERBIRD_RPM_VR");
+pref("intl.locale.matchOS", true);
+pref("mail.shell.checkDefaultClient", false);
+pref("toolkit.networkmanager.disable", false);
+pref("offline.autoDetect", true);
+
+# Disable global indexing by default
+pref("mailnews.database.global.indexer.enabled", false);
+
+# Do not switch to Smart Folders after upgrade to 3.0b4
+pref("mail.folder.views.version", "1");
+pref("extensions.shownSelectionUI", true);
+pref("extensions.autoDisableScope", 0);
+
+# For rhbz#1024232
+pref("ui.SpellCheckerUnderlineStyle",       1);
+
+/* Workaround for rhbz#1134876 */
+pref("javascript.options.baselinejit",      false);
+/* Workaround for rhbz#1110291 */
+pref("network.negotiate-auth.allow-insecure-ntlm-v1", true);
+/* Workaround for mozbz#1063315 */
+pref("security.use_mozillapkix_verification", false);
+/* Use OS settings for UI language */
+pref("intl.locale.requested", "");
+pref("datareporting.healthreport.uploadEnabled", false);
+pref("datareporting.policy.dataSubmissionEnabled", false);
+pref("toolkit.telemetry.archive.enabled", false);
diff --git a/SOURCES/thunderbird-redhat-default-prefs.js.rhel7 b/SOURCES/thunderbird-redhat-default-prefs.js.rhel7
new file mode 100644
index 0000000..26e8d17
--- /dev/null
+++ b/SOURCES/thunderbird-redhat-default-prefs.js.rhel7
@@ -0,0 +1,33 @@
+pref("app.update.enabled", false);
+pref("app.update.autoInstallEnabled", false);
+# Allow users to set custom colors
+# pref("browser.display.use_system_colors",   true);
+pref("general.useragent.vendor", "Red Hat");
+pref("general.useragent.vendorSub", "THUNDERBIRD_RPM_VR");
+pref("intl.locale.matchOS", true);
+pref("mail.shell.checkDefaultClient", false);
+pref("toolkit.networkmanager.disable", false);
+pref("offline.autoDetect", true);
+
+# Disable global indexing by default
+pref("mailnews.database.global.indexer.enabled", false);
+
+# Do not switch to Smart Folders after upgrade to 3.0b4
+pref("mail.folder.views.version", "1");
+pref("extensions.shownSelectionUI", true);
+pref("extensions.autoDisableScope", 0);
+
+# For rhbz#1024232
+pref("ui.SpellCheckerUnderlineStyle",       1);
+
+/* Workaround for rhbz#1134876 */
+pref("javascript.options.baselinejit",      false);
+/* Workaround for rhbz#1110291 */
+pref("network.negotiate-auth.allow-insecure-ntlm-v1", true);
+/* Workaround for mozbz#1063315 */
+pref("security.use_mozillapkix_verification", false);
+/* Use OS settings for UI language */
+pref("intl.locale.requested", "");
+pref("datareporting.healthreport.uploadEnabled", false);
+pref("datareporting.policy.dataSubmissionEnabled", false);
+pref("toolkit.telemetry.archive.enabled", false);
diff --git a/SPECS/thunderbird.spec b/SPECS/thunderbird.spec
index d439f52..ee29620 100644
--- a/SPECS/thunderbird.spec
+++ b/SPECS/thunderbird.spec
@@ -194,8 +194,8 @@
 %global build_langpacks         1
 Summary:        Mozilla Thunderbird mail/newsgroup client
 Name:           thunderbird
-Version:        78.8.0
-Release:        1%{?dist}
+Version:        78.9.0
+Release:        3%{?dist}
 URL:            http://www.mozilla.org/projects/thunderbird/
 License:        MPLv1.1 or GPLv2+ or LGPLv2+
 Group:          Applications/Internet
@@ -210,7 +210,7 @@ ExclusiveArch:  i686 x86_64 ppc64 s390x
 # From ftp://archive.mozilla.org/pub/thunderbird/releases/%{version}%{?ext_version}/source
 Source0:        https://archive.mozilla.org/pub/thunderbird/releases/%{version}%{?pre_version}/source/thunderbird-%{version}%{?pre_version}.source.tar.xz
 %if %{build_langpacks}
-Source1:        thunderbird-langpacks-%{version}%{?ext_version}-20210219.tar.xz
+Source1:        thunderbird-langpacks-%{version}%{?ext_version}-20210323.tar.xz
 # Locales for lightning
 %endif
 Source2:        cbindgen-vendor-0.14.3.tar.xz
@@ -234,8 +234,8 @@ Source301:      yasm-1.2.0-3.el5.src.rpm
 Source303:      libffi-3.0.13-18.el7_3.src.rpm
 Source304:      nodejs-10.21.0-5.fc32.src.rpm
 Source305:      openssl-1.0.2k-19.6.bundle.el7_7.src.rpm
-Source601:      thunderbird-centos-default-prefs.js.el6
-Source701:      thunderbird-centos-default-prefs.js.el7
+Source601:      thunderbird-redhat-default-prefs.js.rhel6
+Source701:      thunderbird-redhat-default-prefs.js.rhel7
 
 ## Firefox patches
 
@@ -1457,8 +1457,14 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
 #===============================================================================
 
 %changelog
-* Wed Feb 24 2021 CentOS Sources <bugs@centos.org> - 78.8.0-1.el8.centos
-- Apply debranding changes
+* Tue Mar 23 2021 Eike Rathke <erack@redhat.com> - 78.9.0-3
+- Update to 78.9.0 build2, updated langpacks
+
+* Mon Mar 22 2021 Eike Rathke <erack@redhat.com> - 78.9.0-2
+- Update to 78.9.0 build2
+
+* Mon Mar 22 2021 Eike Rathke <erack@redhat.com> - 78.9.0-1
+- Update to 78.9.0 build1
 
 * Fri Feb 19 2021 Eike Rathke <erack@redhat.com> - 78.8.0-1
 - Update to 78.8.0 build1