diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,8 +1,15 @@
+0.14 -- 2024-05-25
+---
+
+- Drop support GHC 8.10, 9.0, add support GHC 9.8, 9.10 (see [#182](https://github.com/fizruk/telegram-bot-simple/pull/182)).
+- Support `telegram-bot-api == 7.3`.
+- Ignore updates that produces parsing errors (see [#175](https://github.com/fizruk/telegram-bot-simple/pull/175)).
+
 0.13 -- 2024-02-06
 ---
 
 - Support GHC 9.6 (see [#163](https://github.com/fizruk/telegram-bot-simple/pull/163)).
-- Support `telegram-bot-api == 0.7`.
+- Support `telegram-bot-api == 7.0`.
 - Fix bot hanging via rethrowing exceptions (see [#170](https://github.com/fizruk/telegram-bot-simple/pull/170)).
 
 
@@ -12,7 +19,7 @@
 - Add support for testing WebApps (see [#148](https://github.com/fizruk/telegram-bot-simple/pull/148));
 - Add nix flake (see [#149](https://github.com/fizruk/telegram-bot-simple/pull/149));
 - Improve documentation for `callbackQueryDataRead` (see [#153](https://github.com/fizruk/telegram-bot-simple/pull/153));
-- Support `telegram-bot-api == 0.6.7` (breaking changes included).
+- Support `telegram-bot-api == 6.7` (breaking changes included).
 
 - **Migration guide**:
 
diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -31,5 +31,6 @@
 | 0.11.1  | 6.5.1  |
 | 0.12  | 6.7  |
 | 0.13 | 7.0 | 
+| 0.14 | 7.3 | 
 
 _Nick_
diff --git a/src/Telegram/Bot/Simple/BotApp/Internal.hs b/src/Telegram/Bot/Simple/BotApp/Internal.hs
--- a/src/Telegram/Bot/Simple/BotApp/Internal.hs
+++ b/src/Telegram/Bot/Simple/BotApp/Internal.hs
@@ -16,6 +16,8 @@
 
 import qualified Telegram.Bot.API        as Telegram
 import           Telegram.Bot.Simple.Eff
+import Data.Either (partitionEithers)
+import Data.Aeson.Types (parseEither, parseJSON)
 
 -- | A bot application.
 data BotApp model action = BotApp
@@ -141,7 +143,7 @@
       let inc (Telegram.UpdateId n) = Telegram.UpdateId (n + 1)
           offset = fmap inc lastUpdateId
       res <-
-        (Right <$> Telegram.getUpdates
+        (Right <$> Telegram.getUpdatesAsValue
           (Telegram.GetUpdatesRequest offset Nothing (Just 25) Nothing))
         `catchError` (pure . Left)
 
@@ -150,19 +152,29 @@
           liftIO (print servantErr)
           pure lastUpdateId
         Right result -> do
-          let updates = Telegram.responseResult result
+          let updateValues = Telegram.responseResult result
+              (errors, updates) = parseUpdates updateValues
               updateIds = map Telegram.updateUpdateId updates
               maxUpdateId = maximum (Nothing : map Just updateIds)
+          mapM_ reportParseError errors
           mapM_ handleUpdate updates
           pure maxUpdateId
       liftIO $ threadDelay 1000000
       go nextUpdateId
 
+    parseUpdates updates =
+      partitionEithers (map (parseEither parseJSON) updates)
+
+    reportParseError err =
+      liftIO $ putStrLn $
+        "Failed to parse an update! Please, make sure you have the latest version of `telegram-bot-api`\
+        \ library and consider opening an issue if so. Error message: " <> err
+
 -- ** Helpers
 
 -- | Instead of 'forkIO' which hides exceptions,
 -- allow users to handle those exceptions separately.
--- 
+--
 -- See <https://github.com/fizruk/telegram-bot-simple/issues/159>.
 asyncLink :: IO a -> IO (Async a)
 asyncLink action = do
diff --git a/src/Telegram/Bot/Simple/Reply.hs b/src/Telegram/Bot/Simple/Reply.hs
--- a/src/Telegram/Bot/Simple/Reply.hs
+++ b/src/Telegram/Bot/Simple/Reply.hs
@@ -60,6 +60,7 @@
 replyMessageToSendMessageRequest :: SomeChatId -> ReplyMessage -> SendMessageRequest
 replyMessageToSendMessageRequest someChatId ReplyMessage{..} = SendMessageRequest
   { sendMessageChatId = someChatId
+  , sendMessageBusinessConnectionId = Nothing
   , sendMessageMessageThreadId = replyMessageMessageThreadId
   , sendMessageText = replyMessageText
   , sendMessageParseMode = replyMessageParseMode
diff --git a/src/Telegram/Bot/Simple/UpdateParser.hs b/src/Telegram/Bot/Simple/UpdateParser.hs
--- a/src/Telegram/Bot/Simple/UpdateParser.hs
+++ b/src/Telegram/Bot/Simple/UpdateParser.hs
@@ -3,7 +3,6 @@
 {-# LANGUAGE CPP #-}
 module Telegram.Bot.Simple.UpdateParser where
 
-import           Control.Applicative
 import           Control.Monad
 #if defined(MIN_VERSION_GLASGOW_HASKELL)
 #if MIN_VERSION_GLASGOW_HASKELL(8,6,2,0)
@@ -15,42 +14,22 @@
 import           Data.Text            (Text)
 import qualified Data.Text            as Text
 import           Text.Read            (readMaybe)
-
+import           Control.Monad.Reader
 import           Telegram.Bot.API
 
-
-newtype UpdateParser a = UpdateParser
-  { runUpdateParser :: Update -> Maybe a
-  } deriving (Functor)
-
-instance Applicative UpdateParser where
-  pure x = UpdateParser (pure (pure x))
-  UpdateParser f <*> UpdateParser x = UpdateParser (\u -> f u <*> x u)
-
-instance Alternative UpdateParser where
-  empty = UpdateParser (const Nothing)
-  UpdateParser f <|> UpdateParser g = UpdateParser (\u -> f u <|> g u)
-
-instance Monad UpdateParser where
-  return = pure
-  UpdateParser x >>= f = UpdateParser (\u -> x u >>= flip runUpdateParser u . f)
-#if !MIN_VERSION_base(4,13,0)
-  fail _ = empty
-#endif
-
-#if MIN_VERSION_base(4,13,0)
-instance MonadFail UpdateParser where
-  fail _ = empty
-#endif
+type UpdateParser a = ReaderT Update Maybe a
 
 mkParser :: (Update -> Maybe a) -> UpdateParser a
-mkParser = UpdateParser
+mkParser f = ask >>= lift . f
 
 parseUpdate :: UpdateParser a -> Update -> Maybe a
-parseUpdate = runUpdateParser
+parseUpdate = runReaderT
 
+runUpdateParser :: UpdateParser a -> Update -> Maybe a
+runUpdateParser = runReaderT
+
 text :: UpdateParser Text
-text = UpdateParser (extractUpdateMessage >=> messageText)
+text = mkParser (extractUpdateMessage >=> messageText)
 
 plainText :: UpdateParser Text
 plainText = do
@@ -77,10 +56,7 @@
 
 -- | Obtain 'CallbackQuery' @data@ associated with the callback button in an inline keyboard if present in 'Update' message. 
 callbackQueryDataRead :: Read a => UpdateParser a
-callbackQueryDataRead = mkParser $ \update -> do
-  query <- updateCallbackQuery update
-  data_ <- callbackQueryData query
-  readMaybe (Text.unpack data_)
+callbackQueryDataRead = mkParser (updateCallbackQuery >=> callbackQueryData >=> (readMaybe . Text.unpack))
 
 updateMessageText :: Update -> Maybe Text
 updateMessageText = extractUpdateMessage >=> messageText
diff --git a/telegram-bot-simple.cabal b/telegram-bot-simple.cabal
--- a/telegram-bot-simple.cabal
+++ b/telegram-bot-simple.cabal
@@ -1,7 +1,7 @@
 cabal-version: 1.12
 
 name:           telegram-bot-simple
-version:        0.13
+version:        0.14
 synopsis:       Easy to use library for building Telegram bots.
 description:    Please see the README on Github at <https://github.com/fizruk/telegram-bot-simple#readme>
 category:       Web
@@ -70,7 +70,7 @@
     , split
     , stm
     , template-haskell
-    , telegram-bot-api
+    , telegram-bot-api >= 7.3
     , text
     , time
     , transformers
@@ -117,7 +117,7 @@
   if flag(examples)
     build-depends:
         telegram-bot-simple
-      , telegram-bot-api
+      , telegram-bot-api >= 7.3
   else
     buildable: False
 
@@ -159,7 +159,7 @@
   if flag(examples)
     build-depends:
         telegram-bot-simple
-      , telegram-bot-api
+      , telegram-bot-api >= 7.3
   else
     buildable: False
 
@@ -212,7 +212,7 @@
       , servant-server
       , signal
       , telegram-bot-simple
-      , telegram-bot-api
+      , telegram-bot-api >= 7.3
       , uuid
       , warp
   else
@@ -256,6 +256,6 @@
   if flag(examples)
     build-depends:
         telegram-bot-simple
-      , telegram-bot-api
+      , telegram-bot-api >= 7.3
   else
     buildable: False
