chatty (0.7.0) byzantium; urgency=medium

  [ Mohammed Sadiq ]
  * ma-chat: Show notifications on unread messages
  * log: Log events from libcmatrix
  * various: Improve logs
  * Add .dir-locals.el
  * Update libcmatrix

  [ Adrien Plazas ]
  * window: Use the over leaflet transition
  * window: Merge the header bar into the window
  * list-row: Vertically align buttons

 -- Mohammed Sadiq <sadiq@sadiqpk.org>  Tue, 14 Feb 2023 20:08:04 +0530

chatty (0.7.0~rc5) byzantium; urgency=medium

  [ Balázs Úr ]
  * Update Hungarian translation

  [ Mohammed Sadiq ]
  * ma-account: Don't override delete()
  * matrix: Remove a no longer needed code
  * ma-account: Remove connect() and disconnect()
  * ma-account: Remove unused methods
  * chat-view: Don't delete existing text on uploading matrix files
  * log: Add a way to log to files
  * Update libcmatrix
  * matrix: Don't load old accounts
  * Remove no longer used code
  * application: Update copyright year
  * Update libcmatrix

  [ AsciiWolf ]
  * po: Update Czech translation

  [ Chris Talbot ]
  * mmsd: trust MMS MIME type if it is text/plain

 -- Mohammed Sadiq <sadiq@sadiqpk.org>  Mon, 09 Jan 2023 11:42:42 +0530

chatty (0.7.0~rc4) byzantium; urgency=medium

  * ma-chat: Emit message-added when new events are added
  * ma-account: Fix a crash when account details are changed
  * Update cmatrix

 -- Mohammed Sadiq <sadiq@sadiqpk.org>  Wed, 16 Nov 2022 09:31:59 +0530

chatty (0.7.0~rc3) byzantium; urgency=medium

  * chat-list: Add API to select a chat
  * window: don't deselect the chat when folded
  * window: Fix selecting already selected item
  * window: Restore selection when window is unfolded
  * ma-buddy: Fix a crash when the user details change
  * ma-chat: Scale down avatar when loading
  * ma-buddy: Scale down avatar when loading
  * Update cmatrix
  * message-row: Fix opening matrix files

 -- Mohammed Sadiq <sadiq@sadiqpk.org>  Fri, 11 Nov 2022 14:39:40 +0530

chatty (0.7.0~rc2) byzantium; urgency=medium

  [ Mohammed Sadiq ]
  * chat-list: Casefold search needle
  * Update cmatrix
  * ma-chat-info: Set avatar when item is set
  * ma-buddy: Load user avatar
  * ma-chat: Load room avatar
  * ma-account: Load account avatar
  * matrix: Remove no longer used code
  * po: Update POTFILES.in
  * main: Log stack traces only on verbose log

  [ Vittorio Monti ]
  * Update Italian translation

  [ Pablo Correa Gómez ]
  * application: follow upstream dark style preference changes

  [ Anders Jonsson ]
  * po: Update Swedish translation

  [ Daniel Șerbănescu ]
  * po: Update Romanian translation

  [ Guido Günther ]
  * chat-view: Fix harmless oks_ -> osk_ typo
  * chat-view: Turn on word-completion input hint

 -- Mohammed Sadiq <sadiq@sadiqpk.org>  Sun, 06 Nov 2022 10:26:43 +0530

chatty (0.7.0~rc1) byzantium; urgency=medium

  [ Mohammed Sadiq ]
  * manager: Don't filter out matrix chats
  * main-view: Show an app-notification if account not connected
  * Update cmatrix
  * main: Don't force libsoup HTTP/1
  * main-view: Let the stack be non-homogeneous
  * verification-view: Fix showing subsequent verifications
  * Update cmatrix and adapt to API changes
  * style: Imrpove unread badge style
  * list-row: Use bullet for invite and verification chats
  * Update cmatrix

  [ Yuri Chornoivan ]
  * po: Update Ukrainian translation
  * po: Update Ukrainian translation

 -- Mohammed Sadiq <sadiq@sadiqpk.org>  Fri, 21 Oct 2022 19:42:34 +0530

chatty (0.7.0~rc0) byzantium; urgency=medium

  [ Mohammed Sadiq ]
  * tests: Use memory backend for gsettings
  * matrix: Port to use libcmatrix
  * mm-chat-info: Fix possible invalid free
  * log: Sync with upstream
  * application: Fix nologin commandline argument
  * build: Bump meson version to 0.56
  * build: Fix using deprecated meson options
  * build: Improve meson build summary
  * log: Fix a thinko
  * build: Fix validating ui files
  * po: Add Hebrew translation
  * mm: Fix removing duplicate items from array
  * log: Anonymize unicode strings properly
  * message: Add support for CmEvent messages
  * tests: Remove matrix-utils test
  * matrix: Update libcmatrix and adapt to changes
  * image-item: Don't update image on dispose
  * tests: Create matrix account from cm_client
  * matrix: Remove unused code
  * ma-chat: Remove unused code
  * secret-store: Remove unused code
  * matrix-utils: Remove unused code
  * ma-account: Remove unused code
  * subprojects: Update cmatrix
  * Update cmatrix
  * subprojects: Update cmatrix
  * build: Point libcmatrix URL to official source
  * ma-account: Fix a crash when accessing avatar url
  * message: Use the same API to get file for all protocols
  * Update cmatrix
  * ma-chat: Fix unread count
  * tests: Remove chat history tests
  * history: Remove matrix support
  * ma-chat: Remove no longer used code
  * ma-account: Remove no longer used code
  * ma-chat: Fix setting room id
  * application: Add an action to show about dialog
  * Add chatty-header-bar
  * window: Use chatty-header-bar for header bar
  * Add chatty-main-view
  * window: Use chatty-main-view
  * chat-view: Remove empty view
  * enums: Add ChattyChatState
  * Update cmatrix
  * chat: Add API to get chat state
  * ma-chat: Implement get_state()
  * chat: Add API to accept/reject invites
  * ma-chat: Implement accept/reject invites
  * manager: List invited rooms in the top of chat list
  * ma-account: Add invited chats to chat list
  * list-row: Mark invited room as such
  * Add chatty-invite-view
  * main-view: Use chatty-invite-view
  * history: Use sqlite transactions
  * history: Improve setting user version
  * history: More sqlite transactions
  * message: Change status atomically
  * chat-view: Create a new draft to save in history
  * invite-view: Add a translator comment
  * Update cmatrix
  * enums: Add CHATTY_CHAT_VERIFICATION
  * Add chatty-ma-key-chat
  * ma-account: Add chat verifications to chat list
  * avatar: Use system-lock icon for matrix verification
  * list-row: Hide chat details for key verifications
  * manager: Place chat verifications at the top of chat list
  * Add chatty-verification-view
  * main-view: Use verification-view for verifications
  * log: Improve abort() on fatal errors
  * main: Log backtrace on fatal errors

  [ Chris Talbot ]
  * Add function to call out transmit or receieve issue for MMS

  [ Anders Jonsson ]
  * po: Update Swedish translation
  * po: Update Swedish translation

  [ Yuri Chornoivan ]
  * po: Update Ukrainian translation
  * po: Update Ukrainian translation
  * po: Update Ukrainian translation
  * po: Update Ukrainian translation

  [ Vittorio Monti ]
  * Update Italian translation
  * Update Italian translation

  [ Guido Günther ]
  * data: Indicate that chatty provides LED/haptic feedback

  [ Jeremy Bicha ]
  * utils: update for GNOME Desktop 43 thumbnail API changes

  [ Марко М. Костић (Marko M. Kostić) ]
  * Update Serbian translation

  [ Rafael Fontenelle ]
  * Update Brazilian Portuguese translation

  [ Emin Tufan Çetin ]
  * Update Turkish translation

  [ Evangelos Ribeiro Tzaras ]
  * submodule: Point libcmatrix URL to official sources
  * settings-dialog: Mark "add" button in account page as suggested action
  * settings-dialog: Default to https if no scheme given in homeserver entry

  [ Daniel Șerbănescu ]
  * po: Update Romanian translation

  [ Pablo Correa Gómez ]
  * po: Update Spanish translation

  [ carlosgonz ]
  * po: Update Spanish translation

  [ Yosef Or Boczko ]
  * po: Update Hebrew Translation

 -- Mohammed Sadiq <sadiq@sadiqpk.org>  Mon, 17 Oct 2022 11:16:33 +0530

chatty (0.6.7) byzantium; urgency=medium

  [ Andrey Skvortsov ]
  * text-item: fix missing new line if there is subject, but no text in MMS

  [ Chris Talbot ]
  * utils: add chatty_utils_sanitize_filename()
  * mmsd: sanitize incoming filenames

  [ Mohammed Sadiq ]
  * pp-account: Use utils API to get pixbuf from data
  * pp-buddy: Use utils API to get pixbuf from data
  * pp-chat: Fix leaking avatar
  * utils: Scale down pixbuf when load from data

 -- Mohammed Sadiq <sadiq@sadiqpk.org>  Sat, 25 Jun 2022 21:22:58 +0530

chatty (0.6.6) byzantium; urgency=high

  [ Mohammed Sadiq ]
  * window: Allow swiping back from chat view
  * mm-account: Delete modem SMS only if succeeded adding to db
  * history: Return early on fail

  [ Kyle Evans ]
  * Apply 1 suggestion(s) to 1 file(s)

 -- Mohammed Sadiq <sadiq@sadiqpk.org>  Tue, 07 Jun 2022 12:58:02 +0530

chatty (0.6.5) byzantium; urgency=medium

  [ Daniel Șerbănescu ]
  * po: Update Romanian translation

  [ Vittorio Monti ]
  * Update Italian translation

 -- Mohammed Sadiq <sadiq@sadiqpk.org>  Wed, 25 May 2022 21:27:44 +0530

chatty (0.6.4) byzantium; urgency=medium

  [ Mohammed Sadiq ]
  * mm-chat: Emit "changed" after unread is completely set
  * chat-view: Fix saving draft after a message is sent
  * window: Bind header bar label with item name
  * chat: Don't show notification for blocked chats
  * mm-chat: Add support for blocking chat
  * mm-account: Add list of blocked chats
  * window: Add UI for blocking and unblocking chats
  * mm-chat: Set visibility when chat is created
  * settings-dialog: Show list of blocked chats
  * chat-list: Add support for filtering archived chats
  * mm-chat: Unarchive archived chat on new message
  * window: Add support for listing archived chats
  * subprojects: Pin libgd to a specific commit

  [ Yuri Chornoivan ]
  * po: Update Ukrainian translation
  * po: Update Ukrainian translation

  [ Luna Jernberg ]
  * po: Update Swedish translation

  [ Vittorio Monti ]
  * Update Italian translation

  [ Pablo Correa Gómez ]
  * po: Update Spanish translation

  [ Anders Jonsson ]
  * po: Update Swedish translation

 -- Mohammed Sadiq <sadiq@sadiqpk.org>  Wed, 27 Apr 2022 11:08:06 +0530

chatty (0.6.3) byzantium; urgency=medium

  [ Evangelos Ribeiro Tzaras ]
  * media: Use G_GSIZE_FORMAT as format identifier for size types
  * mmsd: Use gsize type and suitable format identifier
  * matrix: Use G_GSIZE_FORMAT as format identifier for size types
  * tests: Bump timeout to 5 minutes
  * mmsd: Fix total max attachment size

  [ Vittorio Monti ]
  * Update Italian translation

  [ Chris Talbot ]
  * mmsd: replace spaces with underlines for new files

  [ Gilles Filippini ]
  * fix typo: RECIEVED -> RECEIVED

  [ Emin Tufan Çetin ]
  * po: Update Turkish translation

 -- Mohammed Sadiq <sadiq@sadiqpk.org>  Sat, 26 Mar 2022 20:08:55 +0530

chatty (0.6.2) byzantium; urgency=medium

  [ Daniel Șerbănescu ]
  * po: Update Romanian translation

 -- Mohammed Sadiq <sadiq@sadiqpk.org>  Fri, 25 Feb 2022 20:59:56 +0530

chatty (0.6.1) byzantium; urgency=medium

  [ Matheus Barbosa ]
  * Update Brazilian Portuguese translation
  * Update Brazilian Portuguese translation

  [ Chris Talbot ]
  * mmsd: Don't append draft outgoing MMS if it is in the chat

  [ Mohammed Sadiq ]
  * enums: Add draft status type
  * history: Use a different variable for message status
  * history: Add support for draft messages
  * message: Add API to change message text
  * chat-view: Add draft message support
  * tests: Add draft message tests
  * Add chatty-clock
  * message-row: Use chatty-clock to get human time
  * list-row: Use chatty-clock to get human time
  * utils: Remove no longer used function
  * list-row: Remove SECONDS_PER_HOUR macro
  * clock: Add some macros
  * message-row: Hook to chatty-clock to update time
  * list-row: Hook to chatty-clock signal to update time
  * application: Toggle clock on focus changes
  * window: Update copyright year
  * mm-account: Increment unread message count on new messages
  * chat-view: Reset unread message count for active SMS/MMS chats
  * text-item: Avoid escaping allowed charaters in URL path or delimiters
  * window: Credit Chris Talbot in about window
  * history: Add APIs to handle unread message count
  * mm-chat: Save last read message info to history
  * settings-dialog: Show homeserver entry for matrix logins with email
  * settings-dialog: Apply error style when validating entries
  * settings-dialog: Fill librem.one homeserver details for matching user ID
  * mmsd: Fix various memory leaks

  [ Yuri Chornoivan ]
  * po: Update Ukrainian translation
  * po: Update Ukrainian translation

  [ Rafael Fontenelle ]
  * mmsd: use ratio Unicode char for time

  [ Anders Jonsson ]
  * po: Update Swedish translation

 -- Mohammed Sadiq <sadiq@sadiqpk.org>  Tue, 08 Feb 2022 08:47:44 +0530

chatty (0.6.0) byzantium; urgency=medium

  [ Mohammed Sadiq ]
  * new-chat-dialog: Use a single variable for account
  * contact: Add API to create dummy contact
  * Add chatty-contact-list
  * new-chat-dialog: Use the new contact-list to list contacts
  * new-chat-dialog: Return a GListModel of selected chat list
  * new-chat-dialog: Port to use HdyPreferencesPage
  * new-chat-dialog: Implement New Message Flow
  * list-row: Add close button
  * chat-view: Let the message entry be always sensitive
  * css: Apply button style only if sensitive
  * new-chat-dialog: Fix title for SMS row
  * contact-list: don't expand selected contact list
  * chat: Fix autogenerated name for mm-buddy
  * window: Create settings dialog only once
  * window: Hide new chat dialog on chat selection
  * window: Fix opening non SMS contacts
  * mm-chat-info: Avoid criticals when chat is NULL

  [ Yuri Chornoivan ]
  * po: Update Ukrainian translation
  * po: Update Ukrainian translation

  [ Chris Talbot ]
  * mmsd: fix a couple memory leaks
  * mmsd: Only clear proxy and modem number if string is NULL or empty
  * mmsd: Set auto_create_smil variable
  * mmsd: Don't trust the MMS file type
  * Utils: Account for g_file_info_get_content_type() returning NULL

  [ Anders Jonsson ]
  * po: Update Swedish translation

 -- Mohammed Sadiq <sadiq@sadiqpk.org>  Tue, 25 Jan 2022 16:07:05 +0530

chatty (0.6.0~beta) byzantium; urgency=medium

  [ Mohammed Sadiq ]
  * This version changes the DB schema so we bumped the version number to 0.6.0 to indicate that.  It is still supposed to be the last beta before the next stable release.
  * Add NEWS
  * mm: Add an SMS URI parser
  * mm-chat: Add API to create chat from SMS URI
  * mm-account: Add API start chat from SMS URI
  * manager: Use ChattySmsUri to handle SMS URIs
  * window: Avoid validating SMS URI
  * chat: Add API to generate chat name
  * ma-chat: Use the new API to generate name
  * mm-chat: Use the new API to generate name
  * chat-view: Show send button for file only messages
  * tests: Improve history tests
  * message: Add API for message subject
  * history: Update db design to handle more MMS features
  * mmsd: Add files as attachments to message
  * text-item: Generate text content for multi file messages

  [ Anders Jonsson ]
  * po: Update Swedish translation

  [ Yuri Chornoivan ]
  * po: Update Ukrainian translation

  [ Vittorio Monti ]
  * po: Update Italian translation

  [ Daniel Șerbănescu ]
  * po: Update Romanian translation

  [ Jan Jasper de Kroon ]
  * po/nl.po: Dutch translation updates

  [ Chris Talbot ]
  * mmsd: Add uid to folder
  * list-row: Add call button
  * mm-chat-info: Add call button next to contacts for group chats

  [ Kyle Evans ]
  * run.in: show gdb the source, debug from anywhere

 -- Mohammed Sadiq <sadiq@sadiqpk.org>  Tue, 11 Jan 2022 14:36:10 +0530

chatty (0.5.0~beta4) byzantium; urgency=medium

  [ Chris Talbot ]
  * mm-account: Only try to search for MMS if the message status is sent or delivered
  * mmsd: Add Support for expired MMS messages
  * po: add chatty-mmsd to list of files to be translated
  * mmsd: make delete_mms() an API
  * mm-account: delete orphaned MMSes
  * mmsd: Only close files if they exist
  * mmsd: Get file size if file already exists

  [ Mohammed Sadiq ]
  * matrix-db: Close db on dispose()
  * history: Keep the first distinct match when migrating db
  * chat-view: Fix a conditional
  * mm-chat: Add API to find message by uid
  * mm-account: Find MMS messages by uid
  * chat-view: Update file upload button on state change
  * matrix-api: Request password if empty
  * ma-account: Don't warn if password is empty
  * text-item: Fix urls followed by common delimiters
  * contact: Allow EContact to be NULL

  [ Anders Jonsson ]
  * po: Update Swedish translation

  [ Yuri Chornoivan ]
  * po: Update Ukrainian translation

 -- Mohammed Sadiq <sadiq@sadiqpk.org>  Wed, 15 Dec 2021 22:20:35 +0530

chatty (0.5.0~beta3) byzantium; urgency=medium

  [ Mohammed Sadiq ]
  * message-row: Don't show author for outgoing SMS/MMS
  * matrix-api: Regenerate keys only if empty
  * mmsd: Write settings directly to mmsd-tng
  * settings: Remove unused settings
  * new-chat-dialog: Remove unused struct member
  * new-chat-dialog: Update contact filter when dialog is shown
  * new-chat-dialog: Deselect selected items on dispose
  * window: Destroy new-chat-dailog on finalize()
  * tests: Fix matrix tests with olm account pickle v4
  * text-item: Allow creating text-item from file only messages
  * text-item: Remove an additional '/' in file url

  [ Yuri Chornoivan ]
  * po: Update Ukrainian translation

  [ Luna Jernberg ]
  * po: Update Swedish translation (fixed)

  [ Chris Talbot ]
  * mm-chat: Force contact update if SMS chat
  * notification: Change message body based on message type
  * mmsd: Don't delete statuses Chatty doesn't support yet

  [ Daniel Șerbănescu ]
  * po: Update Romanian translation

 -- Mohammed Sadiq <sadiq@sadiqpk.org>  Fri, 10 Dec 2021 16:39:18 +0530

chatty (0.5.0~beta2) byzantium; urgency=medium

  [ Mohammed Sadiq ]
  * window: Derive from HdyApplicationWindow
  * window: Fix indentation
  * settings-dialog: Derive from HdyWindow
  * new-muc-dialog: Derive from HdyWindow
  * settings-dialog: Improve some strings
  * settings-dialog: Add an arrow for message settings row
  * settings-dialog: Don't expand accounts list box
  * avatar: Use user icon for group chat dummy contacts
  * build: Avoid testing some UI files
  * mmsd: Warn and return if recipientlist is empty
  * mm-account: Don't proceed if chat not found
  * flatpak: Bump olm dependency
  * settings-dialog: Update some strings
  * settings-dialog: Remove unused options
  * manager: Remove unused ListStore
  * purple: Fix setting weak pointer
  * manager: Simplify list models
  * manager: Filter out disconnected chats
  * chat-view: Fix empty view for IM conversation
  * chat-view: Fix send button style for Group IM chats
  * window: Simplifying filtering items
  * Add chatty-chat-list
  * window: Use chatty-chat-list for chat lists
  * Update POTFILES.in
  * chat-view: Show an empty page on empty view
  * window: Hide headerbar buttons that can't be used
  * window: Fix sidebar width
  * manager: Fix an invalid free
  * settings-dialog: Move purple specific settings to another page
  * settings-dialog: Move protocol settings to bottom
  * settings-dialog: Remove a duplicate binding
  * settings-dialog: Hide purple settings if feature is disabled
  * matri-utils: Add API to verify homeserver
  * settings-dialog: Use an entry for providing homeserver details
  * settings-dialog: Use an app notification on error
  * ma-account: activate OK button on password entry activate
  * matrix-utils: Pass server address to task
  * matrix-utils: Log homeserver verify status
  * matrix-api: Simplify verifying homeserver
  * matrix: Remove debug code
  * settings-dialog: Reset homeserver entry on opening new account page
  * settings-dialog: Ellipsize app notification label
  * settings-dialog: Handle homeserver details for puri.sm accounts
  * ma-account: Simplify setting db
  * ma-account: Add a documentation comment
  * settings-dialog: Simplify updating headerbar after save
  * manager: Remove unused struct variable
  * ma-account: Don't try connecting when it's already in similar state
  * ma-account: log when trying to connect a disabled account
  * matrix-net: Remove unused struct members
  * matrix-utils: Store the GSocketAddress on network connection
  * matrix: Rework handling network changes
  * matrix-api: Avoid resync when asked to stop sync
  * mmsd: Simplify setting weak pointer
  * mmsd: Simplify updating gvariant string values
  * mmsd: Handle all dbus signals at once
  * mmsd: Simplify signal and object cleanup
  * mm-account: Add API to get device phone number
  * mmsd: Use MmDevice API to get phone number
  * mmsd: Load when mmsd is created
  * mmsd: Cleanup if mm-account has been finalized
  * mmsd: Don't clear mmsd_watch_id when mmsd is vanished
  * mmsd: Fix various memory leaks
  * mmsd: Unsubscribe from mmsd dbus signal on mmsd vanish
  * text-item: Handle links in messages
  * d/control: Add more packages for tests
  * d/rules: Run tests with xvfb-run
  * tests: Add a test for chatty-text-item
  * settings-dialog: Update dialog title on new account page
  * settings-dialog: Hide 'Accounts' title if content is hidden
  * settings-dialog: Select available protocol when new account page is shown
  * settings-dialog: Add appropriate placeholders in new account entry
  * manager: Add SMS account to account list model
  * settings-dialog: Use bind_model to create account rows
  * new-chat-dialog: Don't explicitly add SMS account row
  * settings-dialog: Fix a translator comment
  * d/control: Recommend mmsd-tng
  * README.md: Mention mmsd-tng for MMS support
  * doap: Mention MMS
  * d/control: Update Description to mention MMS

  [ Chris Talbot ]
  * mmsd: Add own number back if it is the only recipient
  * mmsd: Don't check mmsd modem number if it is empty
  * mmsd: remove warning about own number

  [ Yuri Chornoivan ]
  * po: Update Ukrainian translation
  * po: Update Ukrainian translation
  * po: Update Ukrainian translation
  * po: Update Ukrainian translation
  * po: Update Ukrainian translation

  [ Evangelos Ribeiro Tzaras ]
  * mmsd: Use platform independent size types

  [ Vittorio Monti ]
  * po: Update Italian translation
  * po: Update Italian translation

  [ Anders Jonsson ]
  * po: Update Swedish translation
  * po: Update Swedish translation
  * po: Update Swedish translation

  [ Guido Günther ]
  * help: Add stub
  * chatty-application: Move static action entries out of function
  * chatty-application: Add help action

  [ Luna Jernberg ]
  * po: Update Swedish translation

 -- Mohammed Sadiq <sadiq@sadiqpk.org>  Thu, 02 Dec 2021 22:05:47 +0530

chatty (0.5.0~beta) byzantium; urgency=medium

  [ Mohammed Sadiq ]
  * manager: Remove no longer required code
  * new-chat-dialog: Avoid an unnecessary filter
  * tests: Include chatty-contact.h
  * pp-buddy: Remove unused methods
  * Remove debug code
  * pp-account: Remove an unsed method and related tests
  * pp-chat: Remove no longer used methods
  * pp-chat: fixup
  * utils: Use #pragma once
  * ma-account-details: Remove commented code
  * chat-view: Remove unused struct member
  * text-item: Don't use markup for matrix messages
  * pp-account-details: Improve avatar
  * pp-account: Allow deleting avatars
  * pp-chat-info: Improve avatar
  * pp-buddy: Emit avatar-changed when existing icon is deleted
  * ma-account-details: Improve delete button state on deleting avatar
  * history: Delete existing avatar when deleted
  * ma-account: Update avatar after avatar changes
  * ma-acccount-details: Improve avatar
  * ma-chat-info: Don't pack avatar inside a button
  * ma-account: Delete existing file when avatar is deleted
  * new-muc-dialog: Don't warn non existing accounts
  * Add ChattySelectableRow
  * manager: Add API to check if telegram plugin is loaded
  * window: Add search protocol filter
  * chat-view: Use HdyStatusPage to show empty label
  * chat-view: Show empty status page if no chat is selected
  * chat-view: Fix indentation
  * window: Add empty view for chat search
  * window: Don't update sidebar view twice on model changes
  * new-chat-dialog: Use HdyStatusPage for empty view
  * tests: Add more utils tests
  * mm-account: Fix memory leaks
  * matrix-api: Use weak ref to keep track of object
  * tests: Fix various memory leaks in history
  * tests: Fix memory leaks in matrix-db
  * ma-chat: Use weak ref to keep track of account
  * matrix-net: Fix a memory leak
  * message: Fix a memory leak
  * tests: Fix a memory leak in mm-account
  * README: Add how to run over ssh
  * matrix-api: Set access token details only if non NULL
  * matrix: Separate username from login username
  * Add CHATTY_PROTOCOL_EMAIL enum item
  * settings-dialog: Support matrix login with email
  * ma-account: Add an API to get login username
  * secret-store: Use the provided username when saving account
  * matrix-db: Don't store to db if matrix id is not present
  * settings-dialog: Use login username for matrix accounts
  * secret-store: Store username when saving matrix accounts
  * ma-account: Set matrix username if available when loading
  * matrix-db: Don't load account if username not set
  * media: Use g_autoptr() to auto cleanup
  * media: Properly set task data
  * media: Trivial style fix
  * media: Fix a typo in a comment
  * media: Use the same type in declaration and definition
  * chatty-media: Rename a variable
  * media: Use MIN() and MAX() macros to find ratio
  * media: Use G_FILE_ATTRIBUTE_STANDARD_SIZE to query size
  * media: Use gsize for size
  * media: Set destroy func for task
  * media: Add a method to finish async resize
  * media: Fix indentation
  * media: Use the same variable name in declaration and definition
  * media: Use 'chatty-media' as log domain
  * media: Improve image resize strategy
  * mmsd: Add API to get if mmsd is ready
  * mm-account: Use the new API to check if mms feature present
  * mm: Remove unused code
  * d/control: Depend on libgnome-desktop
  * chatty-utils: Add API to generate thumbnails
  * Add chatty-file-item
  * Add chatty-attachments-view
  * chat-view: Add support for selecting multiple files
  * settings-dialog: Set appropriate title on page change
  * d/changelog: Fix Invalid email addresses
  * chat-view: Fix send button style
  * chat: Add API to show notifications
  * ma-chat: Use the new notification API
  * mm-account: Use the new API to show notification
  * manager: Use the new API to show notification
  * mm-chat: Remove no longer used code
  * ma-chat: Remove no longer used code
  * manager: Remove unused code
  * notification: Let notifications be made per chat
  * notification: Withdraw notification when message is read
  * pp-chat-info: Set transient window
  * ma-chat: Set encryption when chat is created
  * ma-chat: Remove set_encryption()
  * chat: Add API to set encryption async
  * matrix-api: Implement setting room encryption
  * ma-chat: Implement setting encryption
  * ma-chat-info: Add UI to set matrix encryption
  * mm-chat: Implement history loading status
  * chat-view: Disconnect status callback when chat changes
  * chat-view: Hide scroll down button when chat is set
  * chat-view: Reset variable to scroll to bottom on chat change
  * chat-view: Update spinner opacity on history loading change
  * window: Simplify getting active chat
  * application: Reset chat unread count on window focus
  * mmsd: Create hash table in init()
  * mmsd: Don't update mm object if not changed
  * mmsd: Fix finding self number
  * mmsd: Avoid an unnecessary cast
  * mmsd: Fix a memory leak
  * mmsd: Simplify string free
  * mmsd: Set a weak pointer for mm-account
  * mm-account: Add some methods to access device
  * mmsd: Use the new API to handle device changes
  * Add chatty-purple
  * manager: Remove code copied to chatty-purple
  * application: Use the new API to load manager
  * manager: Remove no longer used code
  * xeps: Improve logging
  * log: Fix spacing when not anonymized
  * log: Add API for detailed logs
  * mm-account: Rename a variable
  * mmsd: Simplify creating message content text file
  * mmsd: Rename some variables
  * icons: Add icons for send message button
  * chat-view: Use the new icons for message send buttons
  * chat-view: Simplify updating scrolledwindow view
  * chat-view: Update adjustment on OSK visiblity change
  * chat-view: Scroll less on adjustment change
  * purple: Use dialogs as needed instead of using signals
  * manager: Remove no longer used code
  * application: Remove no longer used code
  * ma-chat: Show notifications on unread messages
  * manager: Remove obsolete code
  * manager: Remove no longer needed code
  * purple: Enable debug if set when loading
  * application: Improving setting purple debug
  * window: Use chatty-purple to check for plugins
  * settings-dialog: Use chatty-purple for checking plugins
  * manager: Remove no longer used code
  * purple: Rename a function
  * purple: Add API to start buddy chat
  * window: Use the new purple API to start purple chat
  * manager: Remove no longer used code
  * purple-request: Avoid setting custom directory for file chooser
  * manager: Remove an unused macro
  * log: Add API to convert bool to string
  * application: Improve debug logs
  * secret-store: Improve debug logs
  * manager: Improve debug logs
  * window: Improve debug logs
  * purple: Improve debug logs
  * pp-chat: Improve logs
  * purple: Improve log
  * contact-provider: Improve logs
  * manager: Improve logs
  * secret-store: Improve logs
  * settings: Add API to toggle purple plugin
  * purple: Load purple on settings change
  * settings-dialog: Add UI to toggle purple plugin
  * matrix-api: Add an API to check if in sync
  * matrix-api: Run callback on common errors
  * ma-account: Update status if matrix not in sync
  * matrix-api: Fix getting joined rooms task
  * matrix: Improve debug logs
  * ma-account: Simplify updating status
  * ma-account: Don't Update status when getting joined rooms
  * ma-account: Emit notify status on change
  * matrix: Add matrix sync filter
  * matrix-api: Upload filter and use it for sync
  * history: Mark group MM chat as MMS
  * matrix-net: Don't log error on cancel
  * matrix-api: Stop sync on cancel
  * ma-account: Fix resync on reconnect
  * ma-chat: Don't warn if room name not found
  * purple: Add 'enabled' property
  * settings-dialog: Hide XMPP if purple is disabled
  * purple: Fix is_loaded()
  * settings-dialog: Hide new account row if not supported
  * mm-chat: Allow setting custom names
  * mm-chat: Update name from contacts only if no name set
  * po: Update POTFILES.in
  * application: Create window only when required
  * purple: Add API to find chat
  * notification: Pass protocol when notification is created
  * window: Update '+' button when window is created
  * chat: Simplify getting last message time
  * chat: Remove no longer used code
  * manager: Populate chats immediately after creating accounts
  * chat: Add message-added signal
  * purple: Emit message-added signal on new messages
  * mm-chat: Emit message-added signal on new messages
  * pp-chat: Emit message-added signal on new messages
  * manager: Update chat list on new messages
  * window: Simplify creating search filter row
  * window: Set minimum width and height
  * window: Improve filter
  * window: Update protocols in constructed()
  * pp-account-details: Avoid an unnecessary check
  * Fix include headers
  * window: Don't update protocols early
  * window: Select first only if non folded
  * window: Use chat from chat-view
  * window: Improve translatable strings
  * window: Don’t deselect when back is clicked
  * window: Allow only selecting ChattyChat
  * window: Don’t set chat immediately when chat is selected
  * window: Don’t set chat when opening an item
  * history: Warn if self is not valid
  * purple: Set history db before adding to list
  * purple: Add API to create and join chat
  * purple: Make a function static
  * window: Simplify opening purple chat
  * window: Update chat-view when setting item
  * window: Improve empty view description
  * window: Fix selection on search changes
  * window: Update selection on startup
  * manager: Fix a memory leak
  * manager: Rearrange some code
  * window: Rename a function
  * Add chatty-matrix
  * manager: Use chatty-matrix for matrix accounts
  * settings-dialog: Improve keyboard navigation
  * settings-dialog: Add some mnemonics
  * Add keyboard shortcuts window
  * new-chat-dialog: Open first match on search activate
  * window: Open the first match on search activate
  * window: Update view and selection only on map
  * chat-view: Fix some criticals
  * settings-dialog: Allow non-https homeserver URIs
  * settings-dialog: Avoid an unnecessary check
  * purple: Add API to find matching account
  * matrix: Add API to find matching account
  * manager: Add API to find matching account
  * settings-dialog: Don't allow adding same account again
  * settings-dialog: Fix visiblity of XMPP account row
  * purple: Add API to delete account
  * manager: Handle deleting purple accounts
  * settings-dialog: Simplify deleting accounts
  * pp-chat: Add API to reset buddy
  * purple: Reset associated chat when a buddy is deleted
  * mmsd: Disable MMS support when mmsdtng disappears
  * tests: Add tests for multi user mm-chat
  * mm-account: Use sorted name when creating chats
  * mm-account: Simplify finding matching chat
  * various: Avoid path in include headers
  * Move purple code to purple directory
  * matrix: Improve build
  * mm: Improve build
  * new-chat-dialog: Fix multi selection mode in large lists
  * window: Use a model button for new chat menu
  * new-chat-dialog: Use GPtrArray to store selected items
  * purple: Fix enabling debug logs
  * window: Reduce minimum height
  * mm-chat-info: Show 'Add to contacts button' only for valid numbers
  * mm-chat: Add API to find buddy by number
  * mm-account: Fix finding chat buddy
  * mm-chat: Improve updating name
  * mm-chat: Set contact when a buddy is added
  * mm-chat: Remove no longer used method
  * mm-buddy: Notify when contact is updated
  * mm-buddy: Return contact name if available
  * message-row: Bind author label with item name
  * mm-chat: Add API to check if custom name is set
  * history: Save mm-chat name only if custom
  * mm-chat: Mark as custom name set only if not empty
  * messge: Fix to return the right username
  * Remove unneeded include headers
  * history: Set domain only if not set
  * tests: Remove purple specific code from history tests
  * text-item: Don't escape sms messages
  * utils: Add API to get purple user dir
  * purple: Add chatty-pp-utils and use it
  * utils: Remove no longer used code
  * Add chatty-chat-info
  * Derive info pages from chatty-info
  * settings-dialog: Move purple specific code to a block
  * chat-view: Improve escape pp-chat messages
  * window: Allow deleting non-MaChat
  * Make libpurple optional
  * ci: Add a build with libpurple disabled
  * message: Avoid a pp-buddy usage
  * mmsd: Fix a crash when no image attachments are present

  [ Anders Jonsson ]
  * po: Update Swedish translation
  * po: Update Swedish translation
  * Settings-dialog: Fix typo (Carrrier)
  * po: Update Swedish translation
  * po: Update Swedish translation
  * po: Update Swedish translation

  [ Yuri Chornoivan ]
  * po: Update Ukrainian translation
  * po: Update Ukrainian translation
  * po: Update Ukrainian translation
  * po: Update Ukrainian translation
  * po: Update Ukrainian translation
  * po: Update Ukrainian translation
  * po: Update Ukrainian translation
  * po: Update Ukrainian translation
  * po: Update Ukrainian translation
  * po: Update Ukrainian translation
  * po: Update Ukrainian translation

  [ Vittorio Monti ]
  * po: Update Italian translation
  * po: Update Italian translation
  * po: Update Italian translation
  * po: Update Italian translation

  [ Chris Talbot ]
  * Add chatty-media
  * Add chatty-mmsd
  * mm-account: Splice in loading and unloading chatty-mmsd
  * mm-account: Make MMS support an experimental feature
  * README: Annotate MMS being an experimental feature
  * mm-account: Update chatty_mm_account_find_chat () to include group MMS
  * mm-account: Add logic to receive and send MMS
  * mm-account: Incorporate logic to decide sending MMS vs SMS
  * mm-account: Set mms-feature to true when mmsd-tng service loads
  * settings: Add MMS settings
  * mmsd: Sync settings from chatty to mmsd-tng
  * Settings-dialog: Add MMS UI Settings
  * mm-chat: do not append an MMS
  * mmsd: send "NULL" if carrier proxy setting is ""
  * settings: convert mmsd mmsc, apn, and proxy to GObject Properites
  * settings-dialog: conver const char to autofree
  * mmsd: convert const char to autofree
  * mmsd: monitor mms carrier properties
  * mmsd: wait to notify changed carrier settings
  * settings: remove "mms-settings-changed" signal
  * settings: fix indentation
  * mm-account: enable file upload
  * Utils: create function chatty_file_info_new_for_path ()
  * attachments-view: have chatty_attachments_view_get_files return list compatible with chatty_message
  * chat-view: attach files to message if attachment-view has files
  * mmsd: Remove unneeded debug messages
  * mm-chat: fix logic error
  * mmsd: rename variables
  * mmsd: replace +1; with ++;
  * mm-account: replace "+1;" with "++;"
  * chat-view: hide scroll down button after it is clicked
  * chat-view: Hide scroll down button if page size reports itself as zero
  * mm-account: Fix memory leaks
  * mm-account: modify chatty_mm_account_start_chat () for MMS
  * mm-account: Edit comment to make sense
  * mm-account: Ensure correct sender for outgoing SMS
  * mm_account: merge SMS and MMS appending message
  * mmsd: Fix memory leaks
  * mmsd: Always connect to "SettingsChanged" Signal
  * mm-account: Append history when MMS status is updated
  * mmsd: Unref Chatty Message when deleting payload
  * mmsd: Process MMS payload before deleting
  * mmsd: use GDateTime for time
  * mm-account: Add phone number to new buddy
  * mm-chat: Set Group MMS title
  * window: don't hide "add contact" if there is an error
  * new-chat-dialog: Show dummy contact if length is less than 3 and greater than 0
  * mm-account: Show chat name in notification
  * mm-chat: connect to eds GListModel
  * Add mm-chat detail
  * info-dialog: Incorporate mm-chat detail
  * mm-account: don't initialize name in Group MMS
  * mm-chat: Update contacts even with custom names
  * listrow: Add checkbox
  * new-chat-dialog: support selecting multiple users for MMS
  * window: support selecting multiple users for MMS
  * manager: allow multiple numbers in set_uri
  * list-row: add "Add Contact" button
  * mm-chat-info: Show add contact button for Unknown Contacts
  * window: remove "Add Contact" button
  * mm-account: Load chatty-mmsd by default
  * README: Remove MMS annotation for experimental features

  [ Evangelos Ribeiro Tzaras ]
  * run: Allow debugging by setting CHATTY_GDB=1
  * README: Document how to debug using the runscript

  [ Daniel Șerbănescu ]
  * po: Update Romanian translation
  * po: Update Romanian translation
  * po: Update Romanian translation

  [ Luna Jernberg ]
  * po: Update Swedish translation
  * po: Update Swedish translation

  [ Sebastian Krzyszkowiak ]
  * info-dialog: Clean up unused GtkFileChooserDialog
  * ma-chat-info: Clean up unused GtkFileChooserDialog
  * {ma,pp}-account-details: Show only images in avatar file chooser
  * {ma,pp}-account-details: Set file chooser as modal and transient for parent window
  * pp-chat-info: Use GtkFileChooserNative

  [ tor sorensen ]
  * build: Update flatpak manifest

  [ Morgan McMillian ]
  * xep-0313: use default archive preference from server

  [ Matthew Via ]
  * media: Attempt multiple JPEG qualities to stay below desired_size

 -- Mohammed Sadiq <sadiq@sadiqpk.org>  Tue, 16 Nov 2021 21:57:13 +0530

chatty (0.4.0) byzantium; urgency=medium

  * mm-chat: Fix a memory leak
  * tests: Add mm-account test
  * new-chat-dialog: List SMS account to add contacts
  * new-chat-dialog: Improve 'Add in contacts' workflow
  * window: Don't open next chat on deleting one when folded
  * mm-chat: Send messages in the order they are added
  * mm-chat: Add API to update db thread members
  * mm-account: Refresh chat when modem is ready
  * message-row: Ellipsize author label
  * chat-view: Don't hide footers in outgoing SMS
  * mm-account: Save failed to send messages on polkit errors
  * mm-chat: Move update eds contact to a function
  * mm-chat: Update eds contact on refresh
  * window: Update chat view buttons on deleting chat
  * chat-view: Fix view with no chat in non-folded mode
  * enums: Add CHATTY_UNKNOWN
  * mm-account: Update status based on modem state
  * test: Fix memory leaks in history
  * chat-view: Use the right sized arrays
  * mm-account: Fix memory leaks
  * account: Fix bounds of status property
  * new-muc-dialog: Don't list accounts with unknown status
  * new-chat-dialog: Don't list accounts with unknown status
  * pp-account: Don't try disconnecting if account has an unknown status

 -- Mohammed Sadiq <sadiq@sadiqpk.org>  Sat, 11 Sep 2021 15:25:36 +0530

chatty (0.4.0~beta3) byzantium; urgency=high

  [ Yuri Chornoivan ]
  * po: Update Ukrainian translation
  * po: Update Ukrainian translation

  [ Anders Jonsson ]
  * po: Update Swedish translation
  * po: Update Swedish translation

  [ Mohammed Sadiq ]
  * manager: Don't warn if account not found
  * mm-chat: Don't warn if chat is not found in db
  * chat-view: Move purple specific code to pp-chat
  * utils: Anonymize phone number in debug log
  * manager: Don't ignore mm chats when searching chat by name
  * application: Anonymize chat and account details in log
  * window: Add a way to call SMS contacts
  * settings-dialog: Verify homeserver before saving
  * avatar: Update avatar on name changes
  * avatar: Don't show intials for SMS chats with no name
  * mm: Add message to chat early
  * d/control: Don't suggest purple-mm-sms
  * README: Remove references to purple-mm-sms
  * manager: Remove purple-mm-sms code
  * mm-account: Fix matching chats without proper number

  [ Vittorio Monti ]
  * po: Update Italian translation

  [ Rafael Fontenelle ]
  * Update Brazilian Portuguese translation

 -- Mohammed Sadiq <sadiq@sadiqpk.org>  Mon, 06 Sep 2021 22:58:36 +0530

chatty (0.4.0~beta2) byzantium; urgency=medium

  * contact: Add API to test for exact match
  * contact-provider: Test for exact match to find matching contact
  * contact: Let item_matches() match partial matches
  * new-chat-dialog: Place the new contact at top of the list
  * new-chat-dialog: Update search list on protocol changes
  * mm-account: Use time from the SMS for new messages
  * mm-buddy: Prefer locally parsed number as the SMS number
  * new-chat-dialog: Update search view when list item changes
  * window: Allow adding non existing contacts to GNOME contacts
  * message-row: Hide avatar image only if not hidden before
  * log: Improve logging
  * history: Return not-found error if chat is not found
  * manager: Don't warn if chat is not found in db
  * settings: Add settings for SMS delivery report request
  * mm-account: Request delivery reports only if asked for one
  * settings-dialog: Add UI to set SMS delivery report request

 -- Mohammed Sadiq <sadiq@sadiqpk.org>  Mon, 30 Aug 2021 16:38:08 +0530

chatty (0.4.0~beta) byzantium; urgency=medium

  [ Mohammed Sadiq ]
  * matrix-net: Handle mxc file uri
  * ma-account: Load user avatars and use it
  * matrix-api: Add API to get room encryption state
  * ma-chat: Load encryption state on start
  * chat-view: Fix message entry focus in non-folded mode
  * text-item: Let message text be selectable
  * pp-chat-info: Allow selecting chat details
  * ma-chat-info: Allow selecting chat details
  * debian/control: Depend on mm-glib
  * Add native SMS support
  * manager: Use the new MmAccount for SMS chat
  * window: Handle opening ChattyMmChat
  * history: Support SMS accounts
  * window: Always show SMS chats
  * chat-view: Adapt to ChattyMmAccount changes
  * new-chat-dialog: Use MmAccount for SMS chats
  * window: Handle deleting SMS chats
  * pp-chat-info: Don't allow changing SMS avatars
  * pp-chat-info: Show notification switch only for purple account
  * ma-chat: Fix a debug format string
  * chat-view: Add support for message spell check
  * matrix-api: Add API to delete avatar
  * ma-account: Implemente deleting user avatar
  * ma-account-details: Add a way to delete user avatar
  * secret-store: Use simple API to manage secrets
  * window: Simplify chat list filter
  * various: Avoid an unnecessary check
  * pp-account: Don't handle SMS accounts
  * pp-chat-info: Don't handle SMS accounts
  * pp-chat: Don't handle SMS accounts
  * pp-buddy: Don't handle SMS accounts
  * enums: Remove no longer used enum
  * manager: Don't handle SMS with purple
  * window: Remove purple SMS code
  * various: Rename SMS enum to MMS_SMS
  * manager: Don't add purple sms account to list
  * application: Improve presenting window
  * chat-view: Reset unread count after message is sent
  * matrix-api: Add an API to get room members
  * ma-chat: Get members list for sending encrypted messages
  * ma-chat: Don't claim keys when a request is in progress
  * ma-chat: Handle m.room.member events
  * item: Unify API to get/set username
  * pp-chat-info: Show the right title for phone numbers
  * window: Show delete menu item for SMS chats
  * flatpak: Fix build

  [ Guido Günther ]
  * notification: Set category (Closes: #514)

  [ Bruno Lopes ]
  * Update Brazilian Portuguese translation

  [ Rafael Fontenelle ]
  * Update Brazilian Portuguese translation

  [ Chris T ]
  * mm-account: Do not delete an SMS if there is no text in it

  [ Daniel Șerbănescu ]
  * po: Update Romanian translation

  [ Chris Talbot ]
  * image-item: Handle MMS files
  * mm-account: set eds after users are loaded
  * message-row: Handle MMS Files

 -- Mohammed Sadiq <sadiq@sadiqpk.org>  Wed, 25 Aug 2021 14:23:08 +0530

chatty (0.3.4) byzantium; urgency=medium

  [ Mohammed Sadiq ]
  * history: Add API to update user in db
  * history: Add API to load user details
  * ma-account: Implement get_avatar_file()
  * ma-account: Update db when details are loaded
  * ma-account: Load account details when db is set
  * pp-chat-info: Disconnect signal callback before changing chat
  * Add ChattyMaChatInfo for matrix chats
  * info-dialog: Use ChattyMaChatInfo for matrix chats
  * run.in: Set more debug env variables
  * ma-account: Fix a memory leak
  * pp-chat: Fix a memory leak
  * matrix-api: Fix invalid assignments
  * matrix-api: Fix various memory leaks
  * ma-chat: Fix a memory leak
  * item: Fix case insensitive search
  * pp-chat: Fix returning username on first call
  * pp-chat: Fix G_LOG_DOMAIN

  [ Evangelos Ribeiro Tzaras ]
  * secret-store: Work around bug in gnome-keyring preventing keyring unlocking
  * secret-store: Use protocol attribute for lookup

 -- Mohammed Sadiq <sadiq@sadiqpk.org>  Wed, 28 Jul 2021 15:11:05 +0530

chatty (0.3.3) byzantium; urgency=medium

  [ Mohammed Sadiq ]
  * manager: Add an API find chat with matching name
  * application: Handle opening chats from notifications
  * notification: Remove open-chat action and signals
  * matrix-api: Add API to get 3pid and user details
  * ma-account: Add API to get 3pid and user details
  * Add ChattyMaAccountDetails to handle matrix accounts
  * settings-dialog: Use ChattyMaAccountDetails for matrix accounts
  * pp-account-details: Save changes async
  * pp-account-details: Let 'modified' be a property
  * ma-account-details: Add 'modified' property
  * ma-account-details: Remove existing 3pid list when account is changed
  * matrix-api: Add API to set display name
  * ma-account: Add API to set display name
  * ma-account-details: Handle changing display name
  * Add MatrixNet
  * matrix-api: Use MatrixNet for network related actions
  * matrix-net: Add API to download files
  * matrix-api: Use MatrixNet to download files
  * matrix-net: Add priorities for network requests
  * matrix: Clear memory before freeing access token
  * matrix-api: Fix various memory leaks
  * matrix-net: Properly free a hashtable
  * ma-account: Fix memory leaks
  * ma-buddy: Fix memory leaks
  * ma-chat: Fix memory leaks
  * matrix-net: Properly free JsonObject
  * matrix-api: Add API to delete 3pid
  * ma-account: Add API to delete 3pid
  * ma-account-details: Add a way to delete 3pid
  * matrix-api: Fix a double free
  * message: Fix a check
  * ma-chat: Load room name when chat data is set
  * matrix-api: show error logs on common errors
  * ma-chat: Save chat name to db once loaded
  * matrix-api: Remove error from class struct
  * matrix-api: Use single bit variables for booleans
  * message: Use single bit variables for booleans
  * matrix-net: Add documentation
  * matrix-net: Remove a commented code
  * matrix-api: Reset cancellable on timeout
  * Add ChattyPpChatInfo
  * info-dialog: Use ChattyPpChatInfo
  * chat-view: Let labels can be wrapped

  [ Yuri Chornoivan ]
  * po: Update Ukrainian translation

  [ Anders Jonsson ]
  * po: Update Swedish translation

  [ Andy Holmes ]
  * pp-chat: fix a tiny typo with a vfunc name

  [ Vittorio Monti ]
  * po: Update Italian translation

 -- Mohammed Sadiq <sadiq@sadiqpk.org>  Wed, 14 Jul 2021 13:48:14 +0530

chatty (0.3.2) byzantium; urgency=medium

  [ Mohammed Sadiq ]
  * window: Remove unused code
  * config.h: Rename from chatty-config.h
  * README: Remove reference to purple-matrix
  * README: mention the OMEMO crash issue
  * Apply 2 suggestion(s) to 1 file(s)
  * chat-view: Load past messages when setting chat
  * meson: Move chat-view to libsrc
  * window: Use one chat-view for every chat
  * chat-view: Improve updating message row details
  * README: Mention how to enable matrix support
  * history: Save user alias to db and use it
  * contact: Use object data to track dummy contact
  * message: Don't allow passing user alias as string
  * message: Return the right user_name
  * manager: Don't set username manually
  * ma-chat: Don't set username manually
  * xep-0313: use ChattyContact to set message user
  * tests/history: use ChattyContact to set message user
  * pp-chat: Strip jabber suffix from username
  * history: Prefer chat username for outgoing messages
  * message: Remove unused method
  * message: Fix matching users
  * window: Set selection mode as none by default
  * window: Simplify showing contact button
  * chat-view: Allow chat to be NULL
  * window: Simplify setting sidebar view
  * window: Swap notify callback arguments
  * application: Show window only with open-chat signal callback
  * window: Move window specific code from application
  * window: Reset unread count only if chat is active
  * window: Let a function be static
  * window: Align function declarations
  * utils: Add API to load pixbuf from data
  * contact: Use the new API to load pixbuf
  * pp-chat: Use the new API to load pixbuf
  * message-row: Use 'dim-label' class for labels
  * Remove chatty-icons
  * ma-chat: Move file creation to a new method
  * api: Allow message to be NULL on loading file
  * matrix-db: Include required headers
  * utils: Move ChattyFileInfo from chatty-item
  * item: Add API to get avatar file
  * ma-chat: Implement get_avatar_file()
  * ma-chat: Handle room avatar
  * history: Save room avatar file to db
  * ma-chat: Implement room avatar support
  * history: Load room avatar when creating matrix chat
  * ma-chat: Set avatar details when creating chat
  * gresource.xml: strip blanks from xml files on build
  * utils: Add a way to load avatars from files
  * ma-chat: Load avatars async
  * log: Improve GdkPixbuf log
  * application: Remove unused code
  * chat-view: Remove unused code
  * manager: Remove unused code
  * pp-account: Clear past fingerprints before adding new
  * Add ChattyPpAccountDetails
  * settings-dialog: Use ChattyPpAccount details
  * matrix-api: Add API to get room name
  * ma-chat: Load room name only when room is created

  [ Vittorio Monti ]
  * po: Update Italian translation (by Vittorio Monti)

  [ ZenWalker ]
  * settings-dialog: Avoid a duplicate condition

  [ ArenM ]
  * list-row: Keep last modified time up to date

 -- Mohammed Sadiq <sadiq@sadiqpk.org>  Tue, 29 Jun 2021 11:26:24 +0530

chatty (0.3.1) byzantium; urgency=medium

  [ Mohammed Sadiq ]
  * ma-chat: Add API to get next notification message
  * manager: Show notification for new matrix messages
  * notification: Simplify setting icon
  * icons: Remove unused code
  * icons: Avoid creating circular or fallback icons
  * icons: Remove unused code
  * text-item: Improve message row margin
  * message-row: Reduce margin after message row
  * image-item: Add API to get style context
  * text-item: Add API to get style context
  * message-row: Fix message row style
  * message-row: Remove commented code
  * message-row: reduce size and spacing between rows
  * message-row: Reduce spacing between content items
  * message-row: Show message author before the content
  * chat-view: Show message time of they differ by a minute or more
  * message: Add API to check if messages have same user
  * message-row: Add a way to hide author and avatar
  * chat-view: Hide author details if two adjacent messages have same detail
  * message-row: align author label based on message direction
  * chat-view: Hide duplicate time footer for non-IMs too
  * message-row: Always show message time
  * chat-view: Hide duplicate author labels for matrix chat messages
  * settings-dialog: Remove password edit button
  * settings-dialog: Avoid spacing after save button
  * window: Remove unused code
  * notification: Add open-chat signal
  * notification: Fix tests
  * ma-chat: Handle chat notifications
  * window: Remove chat info button
  * application: Bind signal callback only once
  * avatar: Reset signal handlers when item changes
  * chat-view: Reset signal handlers when item changes
  * pp-chat: Remove past set signal handlers when reset
  * debian/control: Recommend purple-xmpp-carbons
  * message-row: Avoid animating when messages are shown

  [ AsciiWolf ]
  * po: Update Czech translation
  * po: Update Czech translation

 -- Mohammed Sadiq <sadiq@sadiqpk.org>  Thu, 27 May 2021 15:31:28 +0530

chatty (0.3.0) byzantium; urgency=medium

  [ Anders Jonsson ]
  * po: Update Swedish translation

  [ Evangelos Ribeiro Tzaras ]
  * d/control: Bump required libhandy version

  [ Mohammed Sadiq ]
  * settings-dialog: Fix avatar chooser dialog
  * avatar: Port to use HandyAvatar
  * chat-view: don't show file upload button for matrix
  * window: Fix chat list row selection
  * matrix: Speed up buddy search
  * pp-chat: Initialize a variable with NULL
  * window: Initialize chat with NULL
  * message-row: Remove unused code
  * message-row: Don't allow creating message row without message
  * history: Update file path when saving file
  * chat: Add API to download files
  * chat-view: Add file-requested signal
  * enums: Add more items to ChattyFileStatus
  * matrix-api: Update file path after download
  * message: Add an API to emit 'updated' signal
  * ma-chat: Implement a way to download files
  * Add chatty-text-item
  * Add chatty-image-item
  * message-row: Use the newly added widgets to show messages
  * message-row: Don't show copy popover for images
  * message-row: Open image with external app on single click

  [ scootergrisen ]
  * po: Update Danish translation

  [ Daniel Șerbănescu ]
  * po: Update Romanian translation

 -- Mohammed Sadiq <sadiq@sadiqpk.org>  Tue, 04 May 2021 15:11:22 +0530

chatty (0.3.0~beta2) byzantium; urgency=medium

  [ Mohammed Sadiq ]
  * matrix-enc: Remove unused code
  * matrix-enc: Fix order of hash table free funcs
  * message-row: Fix being stuck in the loop updating quote
  * ma-chat: Set username when message is created
  * manager: Log if loading accounts failed with error
  * secret-store: Add trace messages when loading accounts
  * log: Prefer logging to journald if available
  * ma-account: Return NULL if credentials are not loaded
  * secret-store: Add account to list only if non-NULL
  * ma-chat: Add a way to mark chat as encrypted
  * history: Save and load chat encryption details
  * log: Allow listing multiple domains in filter
  * settings-dialog: Allow empty passwords for new telegram accounts
  * pp-account: Implement get_buddies()
  * account: Add API to check if buddy exists
  * pp-account: Implement buddy_exists()
  * new-chat-dialog: Replace purple specific code
  * new-chat-dialog: Simplify checking if a number is valid
  * message: Remove unused code
  * account: Add API to start direct chat
  * pp-account: Add a way to start IM chat
  * new-chat-dialog: Use the new API to create IM chat
  * window: Use new API to start IM chat
  * manager: Remove no longer used code
  * pp-chat: Handle purple commands
  * chat-view: Use the new API to handle purple commands
  * chat: Add API to check if file upload is supported
  * pp-chat: Add file upload support
  * chat-view: Simplify file uploading
  * chat-view: Remove PurpleConversation from class struct
  * window: Simplify check for contact
  * new-muc-dialog: Simplify check if muc exists
  * account: Add API to leave a chat
  * ma-account: Cleanup leave chat API
  * pp-chat: Add a way to leave chat
  * pp-account: Implement leave chat
  * window: Use the new API to leave chat
  * manager: Add API to set uri
  * window: Simplify setting uri
  * pp-chat: Add API to save buddy to contacts
  * window: Simplify adding chat to contacts
  * window: Remove redundant 'Add in contacts' button
  * ci: Update to use pureOS images
  * ci: Build only for byzantium
  * window: Remove unused code
  * settings: Don't greyout offline contacts
  * window: Simplify empty state titles
  * window: Don't set label for chat view widgets
  * account: Add API to join chat
  * pp-chat: Add API to get object for chat
  * pp-chat: Add a way to join chat
  * pp-account: Implement join chat
  * pp-account: Add a way to join chat
  * new-muc-dialog: Use the new API to join chat
  * window: Use new API to join chat
  * manager: Remove no longer used code
  * pp-chat: Implement joining IM chat
  * pp-chat: Add a way to create a new IM chat
  * window: Use newly Added APIs to create chat
  * window: Use a stack to list chats
  * window: Let search entry be a direct child of headerbar
  * window: Set defaults in ui file
  * chat-view: Remove unused code
  * chat-view: Always show the spinner widget
  * message: Remove unused code
  * chat-view: Don't split translatable strings

  [ Evangelos Ribeiro Tzaras ]
  * d/rules: Run tests using C locale

  [ Daniel Șerbănescu ]
  * po: Update Romanian translation

  [ Jan Jasper de Kroon ]
  * po: Add Dutch translation

  [ Adrien Plazas ]
  * meson: Bump libhandy to 1.1.90
  * window: Drop overlay_label_3
  * window: Drop unused fields in overlay_content_t
  * window: Use HdyStatusPage for the empty state
  * window: Use title case for empty state titles

  [ Yuri Chornoivan ]
  * po: Update Ukrainian translation
  * po: Update Ukrainian translation

 -- Mohammed Sadiq <sadiq@sadiqpk.org>  Wed, 14 Apr 2021 15:31:41 +0530

chatty (0.3.0~beta) experimental; urgency=medium

  [ Mohammed Sadiq ]
  * history: Remove get_default()
  * flatpak: Use fallback-x11
  * flatpak: Remove some dependencies
  * tests: Use the right schema for history migration tests
  * various: Handle message content type
  * user-info-dialog: Handle matrix accounts separately
  * build: set HAVE_EXPLICIT_BZERO if available
  * application: Create matrix cache directories on startup
  * window: Handle pp-chat separately
  * xep-0352: Handle only pp-account
  * Add matrix-enums.h
  * build: Add several dependencies
  * debian/control: Add several dependencies
  * Add matrix-utils
  * tests: Add matrix-utils test
  * Add chatty-ma-buddy
  * Add matrix-enc
  * Add matrix-api
  * Add matrix-db
  * Add chatty-ma-chat
  *  Add chatty-ma-account
  * Add chatty-secret-store
  * ma-account: Handle account secrets
  * secret-store: Add API to load accounts
  * settings: Add API to enable experimental features
  * manager: Load matrix accounts
  * manager: Add API to save and delete matrix accounts
  * window: Handle deleting matrix chats
  * window: Show matrix chats
  * chat-view: Handle matrix chats
  * settings-dialog: Handle matrix accounts
  * tests: Add matrix-enc tests
  * tests: Add matrix-db tests
  * Update POTFILES
  * matrix-enc: Ignore encrypted messages with no matching session
  * avatar: Skip ’@’ for matrix account names
  * manager: Don't load purple-matrix accounts if native matrix enabled
  * manager: Update matrix chat list on status change
  * account: Add API to connect and disconnect
  * pp-account: Implement connect and disconnect
  * ma-account: Implement connect and disconnect
  * ma-account: Update status on connection fail
  * application: Return active chat only if window is focused
  * matrix: Allow leaving from a chat
  * api: Sanitize uri when setting homeserver
  * tests: Add matrix-api test
  * matrix-api: Set homeserver with set_homeserver() API
  * ma-account: Save pickle only if access token present
  * ma-account: Update connection status on password login
  * matrix-db: Update existing row when device id is updated
  * matrix-api: Add more debug messages
  * ma-chat: Return room id as chat name
  * history: Save the right name when saving thread
  * api: Return early on initial sync
  * ma-account: Connect only if account is enabled
  * ma-account: Connect after some delay
  * chat: Add API to load past messages
  * pp-chat: Implement loading past messages
  * ma-chat: Implement loading past messages
  * manager: Use new API to load past messages
  * chat-view: Use new API to load past messages
  * window: Use new API to load past messages
  * various: Remove unused code
  * history: Add visibility column to threads table
  * enum: Add ChattyItemState
  * item: Add API to get and set state
  * ma-chat: Implement getting and setting state
  * history: Add API to update chat details
  * ma-account: Update chat state in history on leaving chat
  * history: Add API to get all chats of an account
  * ma-chat: Add API to create new chat
  * ma-account: Load chat list from db before connecting
  * matrix-api: Don't load full state if next_batch set
  * ma-chat: Allow enc to be NULL
  * ma-account: Add API to add chat
  * tests: Add tests for new history chat APIs
  * ma-chat: Implement loading past messages from server
  * ma-account: Unescape secret strings before use
  * matrix-api: Increase connections limit
  * history: Fix possible invalid pointer
  * history: Load past messages by time
  * matrix-db: Add API to save/load room details
  * ma-chat: Save prev-batch details to db
  * flatpak: Add 'olm' dependency
  * ma-chat: Save chat after loading room state
  * ma-chat: Remove unused code
  * matrix: Implement safe sending of messages
  * window: Add more debug code and set log domain
  * window: Update view after leaving matrix room
  * pp-chat: Update ui_data only if non-NULL
  * ci: Override global before_script for building packages
  * Implement new notifications
  * manager: Use the new notifications
  * Remove old chatty-notify
  * ma-account: Use get_chat_name() to get room id
  * ma-chat: Remove unused code
  * history: Save and load message status
  * history: Update thread_members when new message is added
  * message: Add API to get and set sms id
  * new-chat-dialog: Hide chats without accounts
  * chat: Add 'loading-history' property
  * pp-chat: Notify when loading history
  * ma-chat: Notify when loading history
  * chat-view: Show a spinner when loading history
  * chat-view: Hide empty labels for matrix chat
  * ma-chat: Repeat loading more items until we have some
  * chat: Add API to set typing
  * pp-chat: Implement set_typing()
  * ma-chat: Implement set_typing()
  * chat-view: Use new API to set typing
  * ma-chat: Pass the right variable
  * Implement custom logger
  * application: Use the new logger
  * application: Use ’v’ as the short name for ’verbose’
  * log: Always show logs if domain is “all”
  * matrix: Prefix log domain with 'chatty'
  * history: Don't warn if message type is unknown
  * matrix-api: Set high priority for sync request
  * ma-account: Connect only if network is available
  * application: Show version info on debug output
  * matrix-api: Improve debug logs
  * ma-chat: Improve debug logs
  * ma-account: Improve debug logs
  * message: Add API to set sender
  * chat: Add API to send message
  * history: Remove get_default()
  * flatpak: Use fallback-x11
  * flatpak: Remove some dependencies
  * tests: Use the right schema for history migration tests
  * various: Handle message content type
  * user-info-dialog: Handle matrix accounts separately
  * build: set HAVE_EXPLICIT_BZERO if available
  * application: Create matrix cache directories on startup
  * window: Handle pp-chat separately
  * xep-0352: Handle only pp-account
  * Add matrix-enums.h
  * build: Add several dependencies
  * debian/control: Add several dependencies
  * Add matrix-utils
  * tests: Add matrix-utils test
  * Add chatty-ma-buddy
  * Add matrix-enc
  * Add matrix-api
  * Add matrix-db
  * Add chatty-ma-chat
  *  Add chatty-ma-account
  * Add chatty-secret-store
  * ma-account: Handle account secrets
  * secret-store: Add API to load accounts
  * settings: Add API to enable experimental features
  * manager: Load matrix accounts
  * manager: Add API to save and delete matrix accounts
  * window: Handle deleting matrix chats
  * window: Show matrix chats
  * chat-view: Handle matrix chats
  * settings-dialog: Handle matrix accounts
  * tests: Add matrix-enc tests
  * tests: Add matrix-db tests
  * Update POTFILES
  * matrix-enc: Ignore encrypted messages with no matching session
  * avatar: Skip ’@’ for matrix account names
  * manager: Don't load purple-matrix accounts if native matrix enabled
  * manager: Update matrix chat list on status change
  * account: Add API to connect and disconnect
  * pp-account: Implement connect and disconnect
  * ma-account: Implement connect and disconnect
  * ma-account: Update status on connection fail
  * application: Return active chat only if window is focused
  * matrix: Allow leaving from a chat
  * api: Sanitize uri when setting homeserver
  * tests: Add matrix-api test
  * matrix-api: Set homeserver with set_homeserver() API
  * ma-account: Save pickle only if access token present
  * ma-account: Update connection status on password login
  * matrix-db: Update existing row when device id is updated
  * matrix-api: Add more debug messages
  * ma-chat: Return room id as chat name
  * history: Save the right name when saving thread
  * api: Return early on initial sync
  * ma-account: Connect only if account is enabled
  * ma-account: Connect after some delay
  * chat: Add API to load past messages
  * pp-chat: Implement loading past messages
  * ma-chat: Implement loading past messages
  * manager: Use new API to load past messages
  * chat-view: Use new API to load past messages
  * window: Use new API to load past messages
  * various: Remove unused code
  * history: Add visibility column to threads table
  * enum: Add ChattyItemState
  * item: Add API to get and set state
  * ma-chat: Implement getting and setting state
  * history: Add API to update chat details
  * ma-account: Update chat state in history on leaving chat
  * history: Add API to get all chats of an account
  * ma-chat: Add API to create new chat
  * ma-account: Load chat list from db before connecting
  * matrix-api: Don't load full state if next_batch set
  * ma-chat: Allow enc to be NULL
  * ma-account: Add API to add chat
  * tests: Add tests for new history chat APIs
  * ma-chat: Implement loading past messages from server
  * ma-account: Unescape secret strings before use
  * matrix-api: Increase connections limit
  * history: Fix possible invalid pointer
  * history: Load past messages by time
  * matrix-db: Add API to save/load room details
  * ma-chat: Save prev-batch details to db
  * flatpak: Add 'olm' dependency
  * ma-chat: Save chat after loading room state
  * ma-chat: Remove unused code
  * matrix: Implement safe sending of messages
  * window: Add more debug code and set log domain
  * window: Update view after leaving matrix room
  * pp-chat: Update ui_data only if non-NULL
  * ci: Override global before_script for building packages
  * Implement new notifications
  * manager: Use the new notifications
  * Remove old chatty-notify
  * ma-account: Use get_chat_name() to get room id
  * ma-chat: Remove unused code
  * history: Save and load message status
  * history: Update thread_members when new message is added
  * message: Add API to get and set sms id
  * new-chat-dialog: Hide chats without accounts
  * chat: Add 'loading-history' property
  * pp-chat: Notify when loading history
  * ma-chat: Notify when loading history
  * chat-view: Show a spinner when loading history
  * chat-view: Hide empty labels for matrix chat
  * ma-chat: Repeat loading more items until we have some
  * chat: Add API to set typing
  * pp-chat: Implement set_typing()
  * ma-chat: Implement set_typing()
  * chat-view: Use new API to set typing
  * ma-chat: Pass the right variable
  * Implement custom logger
  * application: Use the new logger
  * application: Use ’v’ as the short name for ’verbose’
  * log: Always show logs if domain is “all”
  * matrix: Prefix log domain with 'chatty'
  * history: Don't warn if message type is unknown
  * matrix-api: Set high priority for sync request
  * ma-account: Connect only if network is available
  * application: Show version info on debug output
  * matrix-api: Improve debug logs
  * ma-chat: Improve debug logs
  * ma-account: Improve debug logs
  * message: Add API to set sender
  * chat: Add API to send message
  * pp-chat: Implement send_message_async()
  * ma-chat: Implement send_message_async()
  * chat-view: Use the new API to send message
  * ma-chat: Remove unused code
  * manager: Unload purple-matrix plugin if experimental features are enabled
  * ma-chat: Avoid logging excessively verbose details
  * ma-account: Fix possible invalid free
  * matrix-api: Silence a compiler warning
  * icons: Silence a compiler warning
  * manager: Silence a compiler warning
  * message-row: Fix compiler warnings
  * message-row: Fix possible dereferencing of invalid pointer
  * utils: Silence a compiler warning
  * secret-store: Fix a use after free
  * chat-view: Handle purple sms message only if conv is non-NULL
  * contrib: Drop use of volatile
  * application: Fix a memory leak
  * contact: Fix memory leak
  * contact-provider: Fix various memory leaks
  * manager: Fix memory leaks
  * secret-store: Fix a memory leak
  * matrix-enc: Add more debug code
  * matrix-api: Improve debug experience
  * matrix-api: Reconnect on recoverable network failures
  * ma-account: Update connection status on network issues
  * matrix-api: Improve debug
  * ma-chat: Improve debug
  * ma-chat: Improve debug log
  * matrix-api: Improve debug log
  * ma-account: Improve debug log
  * matrix-enc: Return NULL if pickle is invalid
  * matrix-enc: Fix a double free
  * log: Rewrite log writer
  * matrix-enc: Improve debug log
  * matrix-api: Improve debug log
  * ma-account: Improve debug log
  * matrix-enc: Generate new pickle key when keys are renewed
  * matrix-enc: Allow user_id to be null
  * message: Add API to add files from file name
  * various: Use the new API to set files
  * message: Free files on finalize()
  * matrix-api: Get list of joined rooms before sync
  * ma-account: Fix populating chat list
  * ma-chat: Implement get_last_msg_time()
  * ma-account: Emit chat changed on new messages
  * ma-chat: Save generated name to db
  * log: colorize log domain in logs
  * history: Set message author for matrix chats
  * matrix-enc: Fix some memory leaks
  * matrix-enc: Fix last commit
  * matrix-enc: Fix some memory leaks
  * matrix-enc: Remove a debug code
  * matrix-enc: Check if matrix-db is NULL before using
  * matrix-enc: Override the right method
  * matrix-enc: Fix cache and lookup of incoming olm sessions
  * matrix-enc: Remove old keys only when creating new sessions
  * matrix-enc: Fix a possible double free
  * tests: Fix matrix-enc test to work with olm3
  * matrix-api: Fix some memory leaks
  * log: Use atexit() for cleanup
  * application: Fix parsing "debug" argument
  * application: Use g_autofree to free a variable
  * application: Use g_autoptr() to free css provider
  * chat-view: Use g_autofree() to free variables
  * icons: Use g_auto to free variables
  * window: Use g_autofree to free a variable
  * settings-dialog: Use g_autoptr for cleanups
  * various: Remove unused code
  * new-chat-dialog: Create row only if supported
  * new-chat-dialog: Allow activating account item from list
  * new-chat-dialog: Fix account type
  * new-chat-dialog: Don't list native matrix accounts
  * chat-view: Add a button to scroll to bottom
  * manager: Pass the right enum type to sort chat
  * window: Fix empty view
  * matrix-enc: Handle normal encrypted messages
  * Be less verbose when logging
  * Recover on json parse error
  * matrix-utils: Return the right error on timeout
  * history: Fix argument check
  * history: Return task error on failures
  * history: Improve error messages
  * chat: Add API to get/set chat topic
  * pp-chat: Implement get/set chat topic
  * pp-chat: Implement get_status()
  * pp-chat: Improve has_encryption_support()
  * pp-chat: Pass encryption status when creating chat
  * pp-chat: Add API to get notification settings
  * pp-chat: Add API to get show status settings
  * Add unified info dialog
  * window: Use the new unified info dialog
  * Remove no longer used code
  * window: Don't scroll search bar
  * window: Add Control+F shortcut to toggle search
  * pp-buddy: Return ChattyAccount on get_account()
  * pp-buddy: Remove unused code
  * manager: List loaded purple plugins in debug log
  * window: Use non purple API to get phone number
  * settings-dialog: Don't update username when saving account
  * settings-dialog: Use A GtkLabel to show username
  * manager: Load accounts after loading plugins
  * pp-account: pass encryption support as argument
  * account: Add API to get fingerprints
  * account: Add API to get device fingerprint
  * pp-account: Implement APIs to get fingerprints
  * Add ChattyFpRow
  * settings-dialog: Use new ChattyFpRow
  * fp-row: Improve breaking fingerprint into lines
  * ma-account: Implement getting device fingerprint
  * message-row: Style quotes in replies differently
  * message-row: Always use markup to set message
  * chat: Add API to invite buddy
  * pp-chat: Implement invite()
  * info-dialog: Use the new ChattyChat API to invite
  * contact-provider: Add a way store contacts over dbus
  * window: Use the new API to save contacts
  * Remove no longer used code
  * log: Add more log verbosity level
  * manager: Enable notification for new buddy conversations
  * pp-chat: Add API to hide/show status messages
  * info-dialog: Use the new API to hide/show status messages
  * manager: Print purple plugin version in logs
  * pp-chat: Implement API to load fingerprints
  * info-dialog: Use the new API to list fingerprints
  * utils: Remove no longer used code
  * info-dialog: Fix member count string
  * window: Update copyright year
  * new-muc-dialog: Allow clicking account items
  * info-dialog: Hide encrypt switch for matrix accounts
  * ci: Fix 'before_script' for buster packages
  * matrix-db: Match device when loading account
  * tests: Set timeout to 120 seconds

  [ Julian Sparber ]
  * Flatpak: fix manifest
  * Flatpak: fix and update libphonenumber module
  * Flatpak: remove java dep
  * Flatpak: add folks
  * Flatpak: Add more files to cleanups
  * Flatpak: manually run some cleanups for ci
  * Flatpak: remove unneeded options from  manifest
  * Flatpak: bump libical and set libhandy to v0.0.12
  * flatpak: add libfeedback as allowed --talk-name
  * Flatpak: fix manifest
  * Flatpak: fix and update libphonenumber module
  * Flatpak: remove java dep
  * Flatpak: add folks
  * Flatpak: Add more files to cleanups
  * Flatpak: manually run some cleanups for ci
  * Flatpak: remove unneeded options from  manifest
  * Flatpak: bump libical and set libhandy to v0.0.12
  * flatpak: add libfeedback as allowed --talk-name

  [ Christopher Davis ]
  * flatpak: Update config opts for dependencies and add libfeedback
  * flatpak: Update config opts for dependencies and add libfeedback

  [ Andika Triwidada ]
  * Added Indonesian translation
  * Added Indonesian translation

  [ fabrixxm ]
  * xep-0313: Add message to history only if conv is not NULL
  * xep-0313: Add message to history only if conv is not NULL

  [ Yuri Chornoivan ]
  * po: Update Ukrainian translation
  * po: Update Ukrainian translation
  * po: Update Ukrainian translation
  * po: Update Ukrainian translation
  * po: Update Ukrainian translation
  * po: Update Ukrainian translation

  [ Anders Jonsson ]
  * po: Update Swedish translation
  * po: Update Swedish translation

  [ Timo Jyrinki ]
  * po: Updated Finnish translation from JRfi
  * po: Updated Finnish translation from JRfi

  [ Chris T ]
  * message: Add API to set multiple files

  [ Pierre Michel Augustin ]
  * po: Add Creole Haitian translation

  [ Balázs Meskó ]
  * Update Hungarian translation

  [ Emin Tufan Çetin ]
  * po: Update Turkish translation

 -- Mohammed Sadiq <sadiq@sadiqpk.org>  Thu, 25 Mar 2021 13:38:15 +0530

chatty (0.2.0) amber-phone; urgency=high

  [ Mohammed Sadiq ]
  * chat-view: Use chatty-chat API to check if it's IM
  * Add API to check if a number is possible
  * utils: Improve parsing phone numbers
  * tests: Add phone utils test
  * chat-view: Html escape outgoing Telegram messages
  * utils: Don't sanitize invalid numbers
  * manager: Use existing buddy chat if available
  * pp-buddy: Use contact name if available
  * pp-chat: Use buddy contact name if available
  * utils: Allow passing country code for number validation
  * history: Implement new Database design
  * contact: Return parent class protocol if possible
  * utils: Add API to get direction from flags
  * history: Pass ChattyMessage to add a new message
  * new-chat-dialog: Add an empty search view
  * utils: Fix direction_from_flag()
  * manager: update protocols when first message is added
  * manager: Update active-protocols when chat loads
  * settings-dialog: Remove old rows before adding new ones
  * utils: Add API to validate username and group name
  * test: Add test for name validation
  * settings-dialog: Add a minimal user id validation
  * settings-dialog: Focus the right entry
  * test: Reduce purple specific variables
  * Port to libhandy-1
  * README.md: Update links to libhandy
  * settings-dialog: Port to use HdyPreferencesGroup
  * window: Let sub menu be sensitive only if a chat is selected
  * utils: Remove unused code
  * dialog-join-muc: Fix ui file
  * build: Test ui files
  * Remove unused resources
  * application: Fix resource path
  * utils: Allow numbers prefixed with 'sms://'
  * window: Show an error dialog for invalid numbers
  * window: Fix logic to store contact
  * window: Hide "Add contact" menu item once done

  [ Guido Günther ]
  * d/control: Update description

  [ Seong-ho Cho ]
  * po: Add Korean translation

  [ Yuri Chornoivan ]
  * po: Update Ukrainian translation

 -- Mohammed Sadiq <sadiq@sadiqpk.org>  Mon, 16 Nov 2020 14:27:57 +0530

chatty (0.1.17) amber-phone; urgency=medium

  [ Emin Tufan Çetin ]
  * Update Turkish translation

  [ Juliano de Souza Camargo ]
  * po: Add Portuguese translation

  [ Oliver Smith ]
  * meson.build: set version to 0.1.16

  [ Mohammed Sadiq ]
  * message-row: Hide avatar for outgoing messages
  * Fix message author name in muc chat
  * window: Hide rows with empty chat when folded
  * manager: Don't load second last message twice
  * message-row: Don't strip html from SMS messages
  * chat-view: Html escape matrix and XMPP outgoing messages

  [ Adrien Plazas ]
  * data: List compatible form-factors

  [ Sebastian Krzyszkowiak ]
  * gitlab-ci: Use bullseye CI repo for bullseye build

  [ Evangelos Ribeiro Tzaras ]
  * po: fix duplicated it_IT language
  * po: fix duplicated de_DE language

  [ Deniz Ercan ]
  * po: Update German translation

 -- Mohammed Sadiq <sadiq@sadiqpk.org>  Mon, 02 Nov 2020 08:36:10 +0530

chatty (0.1.16) amber-phone; urgency=medium

  [ Mohammed Sadiq ]
  * window: Set popover relative-to in UI file
  * window: Simplify handling add chat
  * Remove ChattyConversation struct
  * chat: Fix possible dereferencing of NULL
  * chat: Simplify setting PurpleConversation
  * chat: Remove purple-chat property
  * chat: Point ui_data to self when setting PurpleChat
  * chat: Simplify setting buddy
  * manager: Remove redundant code
  * utils: Remove an unused function
  * chat-view: Don't let Return key insert newline if set to send message
  * Move chatty-conversation to chatty-manager
  * window: Use chatty-item API to check if item is SMS
  * manager: Remove unused function
  * chat: Fix setting ui_data when buddy/chat is already set
  * manager: Add chat to the right store
  * chat: Link buddy to self when buddy is set
  * manager: Unset buddy chat when deleting a chat
  * manager: Check if chat exists before adding a new one
  * chat: Destroy conversation when deleting chat
  * new-chat-dialog: Hide chats from disconnected accounts
  * manager: Don't remove chat when node is removed
  * manager: Remove no longer used code
  * manager: Simplify adding chat to list
  * manager: Remove no longer used function
  * chat-view: Use an array to store emoticons
  * chat: Use the right variable for check
  * manager: Use chatty-item API to get chat protocol
  * pp-account: Use chatty-item API to get protocol
  * settings-dialog: Use chatty-item API to get protocol
  * new-muc-dialog: Use chatty-item API to get account protocol
  * chat-view: Use chatty-item API to get chat protocol
  * pp-buddy: Use chatty-item API to get buddy protocol
  * new-chat-dialog: Hide IM chats with buddies
  * manager: Remove some lists used to store chats
  * manager: Rename a variable
  * manager: Use ui_data to get chat from conv
  * xep-0184: Use ui_data to get chat from conv
  * muc-info-dialog: Use ui_data to get chat from conv
  * manager: Remove an unused function
  * Add chatty-chat base class
  * item: Move is_sms() from chatty-pp-account
  * account: Move some pp-account APIs to parent class
  * account: Move more APIs from pp-account

  [ Fabio Tomat ]
  * po: Add friulian to LINGUAS
  * po: Add friulian translations

  [ scootergrisen ]
  * Update da.po

  [ Anders Jonsson ]
  * Add Swedish translation

  [ Марко Костић (Marko Kostić) ]
  * po: Add Serbian translation

 -- Mohammed Sadiq <sadiq@sadiqpk.org>  Wed, 23 Sep 2020 13:15:01 +0530

chatty (0.1.15) amber-phone; urgency=medium

  [ Mohammed Sadiq ]
  * new-chat-dialog: Inform user if contacts app failed to open
  * tests: Add direct database tests for history
  * meson: Move chatty-message to libsrc
  * message: Add API to get/set custom name
  * chat: Add API to get chat name
  * chat: Add API to prepend message
  * chat: Add API to check if chat is IM
  * Add and use new history
  * window: Use GtkStack to stack sidebar widgets
  * window: Simplify updating headerbar info button
  * chat-view: Focus chat entry when mapped
  * chat: Add 'buddy-typing' property and use it
  * chat-view: Clear related hash table data on finalize
  * Reduce usage of chatty_conversation
  * notify: Remove unused code
  * list-row: Add some translation comments
  * purple-notify: Place dialog over the current active window
  * manager: Move buddy-icon-changed from conversation
  * muc-info-dialog: Use chatty-chat API to set notifications
  * user-info-dialog: Use chatty-chat API to set notifications
  * window: Use chatty-chat APIs where possible
  * window: Simplify getting current chat
  * window: Simplify setting item
  * chat: Implement set_avatar_async
  * user-info-dialog: Use chatty-item API to set avatar
  * user-info-dialog: Simplify check if chat is IM
  * chat: Add API to get associated chaty-account
  * window: Simplify filtering chat list
  * Add API to get active chat and use it
  * manager: Add chat-deleted signal and use it
  * manager: Add open-chat signal and use it
  * Remove no longer required code
  * Simplify showing a conversation
  * application: Show main window on clicking notification
  * chat-view: Replace purple APIs with chatty-chat APIs
  * window: Always reset unread count after opening a chat
  * window: Don't change selection when fold mode changes
  * history: Fix possible deadlock
  * history: Close database right
  * chat: Add API to delete chat and use it

  [ Luís Fernando Stürmer da Rosa ]
  * Update pt_BR.po
  * po: Update Brazilian Portuguese translation

  [ Guido Günther ]
  * data: Drop unused protocol icons (Closes: #374)

  [ Daniel Șerbănescu ]
  * po: Update Romanian translation

  [ Yuri Chornoivan ]
  * po: Update Ukrainian translation
  * po: Update Ukrainian translation

  [ Daniel Mustieles ]
  * po: Update Spanish translation

  [ Evangelos Ribeiro Tzaras ]
  * src/chatty-manager.c: Fix spelling mistake
  * Desktop files: Add "Network" main category

  [ Emin Tufan Çetin ]
  * po: Update Turkish translation

  [ Zander Brown ]
  * po: Update British English translation
  * l10n: disambiguate timestamp strings
  * utils: improve translation of timestamps on messages

 -- Mohammed Sadiq <sadiq@sadiqpk.org>  Thu, 20 Aug 2020 14:39:15 +0530

chatty (0.1.14) amber-phone; urgency=medium

  [ louib ]
  * Add a missing comma in the Flatpak build file.

  [ Mohammed Sadiq ]
  * Add bash completion support
  * Use SIM provider country code for parsing phone number
  * utils: Use g_uri_unescape_string to parse URI
  * pp-buddy: Return contact value if available
  * settings-dialog: Allow toggling switch by activating the row

  [ Daniel Șerbănescu ]
  * po: Update Romanian Translation

  [ Balázs Meskó ]
  * po: Update Hungarian Translation

  [ Emin Tufan Çetin ]
  * po: Update Turkish translation

  [ Yuri Chornoivan ]
  * po: Update Ukrainian translation

  [ scootergrisen ]
  * Add Danish translation

 -- Mohammed Sadiq <sadiq@sadiqpk.org>  Tue, 14 Jul 2020 14:34:00 +0530

chatty (0.1.13) amber-phone; urgency=high

  [ Mohammed Sadiq ]
  * Remove obsolete files
  * Revert "window: Select the first chat if in non-folded mode"

  [ David Heidelberg ]
  * Rename appdata to metainfo and install into metainfo directory

 -- Mohammed Sadiq <sadiq@sadiqpk.org>  Thu, 25 Jun 2020 20:01:42 +0530

chatty (0.1.12) amber-phone; urgency=medium

  [ Mohammed Sadiq ]
  * manager: Emit “avatar-changed” if chat icon changes
  * dialog-user-info: Use ChattyAvatar for avatar
  * window: Use ChattyAvatar for chat avatars
  * user-info-dialog: Don’t update main window avatar on change
  * conversation: Emit ‘avatar-changed’ for IM on buddy avatar change
  * conversation: Don’t update main window avatar on change
  * window: Remove unused function
  * manager: Emit ‘avatar-changed’ if buddy sign on/off
  * manager: Remove a hack
  * manager: Use ChattyItem API to get notification avatar
  * contact: Fix a memory leak
  * settings-dialog: Fix a string
  * application: Move some functions from main.c
  * chat: Strip resource information from get_name()
  * item: Update doc for get_name()
  * history: Fix a function signature
  * history: Sort by id after timestamp sort
  * history: Fix getting last message on duplicate timestamp
  * Move chatty-history.c to libsrc
  * history: Fix a dangling pointer
  * tests: Add chatty-history tests
  * history: Load uid when loading last message
  * history: Fix a function signature
  * Set uid when creating message
  * conversation: Remove an unused struct member
  * chat: Remove unused code
  * manager: Don’t reconnect to SMS account on network error
  * message-row: Remove unused code
  * contact-provider: Avoid creating contacts with empty value
  * window: Use stripped string for alias
  * application: Fix setting daemon mode
  * user-info-dialog: Fix label for SMS chat
  * message-row: Align the message label depending on the direction
  * gbp.conf: Set multimaint-merge as default when generating changelog
  * conversation: Use purple API to present the conversation
  * conversation: Remove unused code
  * ci: Enable coverage report
  * window: Select the first chat if in non-folded mode
  * Fix showing contact numbers of unknown type

  [ Rafael Fontenelle ]
  * Update Brazilian Portuguese translation
  * Add doap file

  [ Daniel Șerbănescu ]
  * Add Romanian translation

  [ Guido Günther ]
  * po: Fix incorrect translations
  * pp-account: Add feature flags
  * xeps: Support xep-0352: Client state indication
  * xep-0352: Trigger (in)activity on screen blank/unblank

  [ Yuri Chornoivan ]
  * po: Update Ukrainian translation

 -- Mohammed Sadiq <sadiq@sadiqpk.org>  Wed, 24 Jun 2020 19:00:14 +0530

chatty (0.1.11) amber-phone; urgency=medium

  [ Mohammed Sadiq ]
  * manager: Fix a check
  * Move more purple code to manager

  [ Arnaud Ferraris ]
  * window: ensure received SMS is displayed
  * window: update overlay when active protocols change

  [ Mohammed Sadiq ]
  * avatar: Add API to set custom titles
  * utils: Add API to get human time from time_t
  * enums: Add ChattyMsgDirection and ChattyMsgStatus enums
  * utils: Move some macros from list-row
  * Add chatty-message class
  * chat: Add API to get the protocol used for chat
  * chat: Add API to find buddy by username
  * chat: Add APIs to manager chat messages
  * message-row: Add API to set custom alias
  * message-row: Update APIs to create row from chatty-message
  * message-row: Add API to hide footer
  * chat-view: Implement set_chat()
  * chat-view: Keep track of SMS messages with message object
  * window: Reset unread count when chat view is shown
  * xep-0184: Track messages using chat object
  * manager: Use set_chat() to set currently shown chat
  * manager: Use chatty-message for creating messages
  * manager: Remove code no longer required
  * conversation: Remove code no longer required
  * chat-view: Remove unused code
  * conversation: Remove unused code
  * Update POTFILES
  * item: Update doc
  * enums: Add a CHATTY_PROTOCOL_LAST
  * item: Fix 'protocols' property
  * Move some error dialogs to application
  * info-dialogs: Use chatty-chat to populate data
  * window: Fix selection flicker when chat is updated
  * chat: Emit 'avatar-changed' if associated buddy avatar changes
  * list-row: Limit subtitle to a single line
  * window: Silence some compiler warnings
  * new-muc-dialog: Silence a compiler warning
  * manager: Fix a possible invalid free
  * icons: Silence compiler warnings
  * xep-0313: Set a variable before being used

  [ Guido Günther ]
  * gitlab-ci: Build against Debian bullseye too

  [ Mohammed Sadiq ]
  * tests: Don’t set MALLOC_PERTURB_
  * utils: Format time as per the current user settings

  [ Guido Günther ]
  * po: Update POTFILES
  * po: Use POTFILES.in
  * po: Update file list
  * gitlab-ci: Check for necessary po changes

  [ Mohammed Sadiq ]
  * pp-account: Use purple_core_get_ui() to get ui string
  * xep-0313: Use purple_core_get_ui() to get ui string
  * manager: Move CHATTY_UI macro private
  * application: Set the application name as translatable
  * window: Don’t explicitly set ‘program-name’
  * manager: Use g_get_application_name() to get app name
  * manager: Use PACKAGE_VERSION to get version string
  * manager: Remove unused macros
  * manager: Remove a redundant variable
  * enums: Add ChattyEncryption enum
  * chat: Add API to get/set encryption status
  * chat-view: Use the new chat API to load encryption status
  * user-info-dialog: Bind encrypt switch with chat 'encrypt' property
  * user-info-dialog: bind to chat 'encrypt' property to update on change
  * user-info-dialog: Don't update encrypt switch manually
  * various: Remove unused code
  * chat-view: Use the right css classes for encrypt icon
  * style.css: Remove unused code
  * chat-view: Don't apply encrypt icon style by default
  * new-chat-dialog: Fix some memory leaks
  * window: Fix memory leaks
  * pp-buddy: Fix a memory leak
  * contact: Fix a memory leak
  * message-row: Fix a memory leak
  * new-chat-dialog: Move GtkFilterModel as local variable
  * pp-buddy: Avoid updating avatar often

  [ Guido Günther ]
  * contact-dialog: Set focus to first input field

  [ Mohammed Sadiq ]
  * muc-join-dialog: Let pressing ‘Enter’ activates join chat
  * new-chat-dialog: Let pressing ‘Enter’ save new contact
  * new-chat-dialog: Reset search text when showing dialog
  * application: Add API to get main window
  * Use chatty_application_get_main_window() to get main window
  * utils: Remove get_window() API
  * meson.build: Move chatty-utils.c to libsrc
  * Move method to find node from conv to chatty-utils

  [ Guido Günther ]
  * join-muc-dialog: Set focus to first input field

  [ Mohammed Sadiq ]
  * chat-view: Add border and fix background
  * window: Remove double frame
  * window: Remove unused code
  * chat-view: Fix message entry backdrop background
  * message-row: Don't allow focus

  [ Yuri Chornoivan ]
  * Update Ukrainian translation
  * Fix minor typos

  [ Guido Günther ]
  * new-chat: Set focus to search field
  * new-chat: Grab input when switching to 'Add contact'

  [ Mohammed Sadiq ]
  * window: Update copyright year

  [ Guido Günther ]
  * Avoid newline in debug messages

  [ Mohammed Sadiq ]
  * manager: Handle error messages

  [ Guido Günther ]
  * user-info-dialog: Strip trailing whitespace
  * user-info-dialog: Don't leak from chatty_utils_jabber_id_strip
  * user-info-dialog: Don't assume alias is non-null (Closes: #340)

 -- Mohammed Sadiq <sadiq@sadiqpk.org>  Thu, 28 May 2020 19:50:01 +0530

chatty (0.1.10) amber-phone; urgency=medium

  [ Mohammed Sadiq ]
  * Re-factor buddy-list

  [ Andrea Schaefer ]
  * Add popover menu to 'Add Chat' button
  * Use unicode char for ellipses

  [ Mohammed Sadiq ]
  * pp-buddy: Get contact name only if available
  * list-row: Don’t expand unread message count label
  * avatar: Fix dereferencing invalid pointers
  * pp-buddy: Fix possible dereferencing of NULL pointer
  * new-chat-dialog: Show only buddies from connected accounts
  * manager: Blindly emit “active-protocols” on account changes
  * window: Update selection on fold change
  * window: Show sidebar when state changed to fold
  * manager: Update last message when new message arrives
  * window: Show chat list on leaving chat if window is folded
  * manager: Re-order chat list when new message arrives
  * Update POTFILES
  * manager: Update chat details when new message arrives
  * chat: Fix getting avatar
  * avatar: Simplify getting avatar

  [ Arnaud Ferraris ]
  * manager: enable notifications on first message

  [ Mohammed Sadiq ]
  * pp-buddy: Fix a possible dead lock on loading avatar
  * pp-buddy: Simplify get_name()
  * window: Fix new chat dialog when only SMS account is present
  * chat: Implement get_protocols()
  * window: List chats only from connected accounts
  * Add chat-view

  [ Andrea Schaefer ]
  * Add css style to chat-view input_frame

  [ Mohammed Sadiq ]
  * conversation: Simplify getting colors
  * muc-info-dialog: Move invite code from chatty-conversation
  * window: Simplify creating new chat dialog
  * muc-info-dialog: Use ListBox to list users
  * conversation: Remove a redundant function
  * Remove chatty-folks
  * contact: Remove unused code
  * Remove libfolks and libgee dependency
  * avatar: Fix typo in property name
  * Add message-row and use it
  * message-list: Fix lazy loading items on scroll-up
  * Move conversation_ui_ops to manager
  * Remove chatty-message-list
  * contact: Add a way to create dummy contacts
  * avatar: Handle dummy contacts differently
  * list-row: Handle dummy contacts differently
  * new-chat-dialog: Use dummy contacts for new contact
  * window: Adapt to new-chat-dialog changes
  * Remove chatty-contact-row
  * list-row: Always align to left
  * list-row: Add API to create contact row
  * new-chat-dialog: Hide chat details in contact list

  [ Andrea Schaefer ]
  * Update translations
  * Set new maintainer

 -- Andrea Schaefer <andrea.schaefer@puri.sm>  Wed, 22 Apr 2020 10:55:09 +0200

chatty (0.1.9) amber; urgency=medium

  [ Mohammed Sadiq ]
  * purple-request: Fix a possible crash

  [ Andrea Schaefer ]
  * Fix issue #293 'Enable notifications by defaul'
  * Fix #284 'Add xmpp account as user@server'

  [ Mohammed Sadiq ]
  * pp-account: Simplify handling XMPP id

  [ Andrea Schaefer ]
  * Fix phonenumber formatting

  [ Mohammed Sadiq ]
  * main: Remove srand()
  * application: Don’t set uri to NULL on startup
  * window: Fix a possible leak
  * window: Remove an unused method
  * user-info-dialog: Add dialog to select avatar
  * window: Add about dialog
  * Remove chatty-dialogs.c

  [ Nikhil Jha ]
  * fix build on GCC 10

  [ Andrea Schaefer ]
  * Add window geometry to gsettings

  [ Mohammed Sadiq ]
  * contact-provider: Port to evolution-data-server
  * control: build depend on libebook1.2-dev

  [ Andrea Schaefer ]
  * Add updated po files
  * Update po sources
  * Fix pt_BR.po

  [ Mohammed Sadiq ]
  * window: Simplify updating UI on account changes
  * window: Remove unused enums
  * manager: Add “connection-error” signal
  * window: Simplify handling ‘sms’ URI
  * Remove code no longer required
  * buddy-list: Remove unused code
  * application: Simplify handling sms uri
  * new-chat-dialog: Use chatty-list-row for chats
  * window: Simplify handling menu items
  * eds: Add API to open GNOME Contacts
  * history: Simplify calculating message direction
  * application: Simplify handling URI
  * window: Simplify updating overlay

  [ Andrea Schaefer ]
  * Code cleanup

  [ Mohammed Sadiq ]
  * window: Simplify

  [ Andrea Schaefer ]
  * Remove chats-list refresh timer
  * Code cleanup
  * Remove unued code

  [ Mohammed Sadiq ]
  * window: Use callbacks instead of actions
  * Move some buddy-list methods to window
  * buddy: Remove unused code
  * Move some buddy-list methods to new-muc-dialog

 -- Andrea Schaefer <andrea.schaefer@puri.sm>  Thu, 12 Mar 2020 14:13:55 +0100

chatty (0.1.8) amber-phone; urgency=medium

  [ Mohammed Sadiq ]
  * manager: Manage loading plugins

  [ Andrea Schaefer ]
  * Create seperate class for 'new chat' dialog
  * Adjust (c) date
  * Add grey '+' icon to 'Send to:' row
  * Add search-entry placeholder text
  * Move account-list handling to new-chat-dialog
  * Add new-chat-dialog to potfiles
  * Move cb_account_list_row_activated to ui-xml
  * Rename function
  * Remove unused code

  [ Mohammed Sadiq ]
  * user: Add API to set avatar
  * pp-account: Implement set_avatar_async()
  * settings-dialog: Use the new API to set avatar
  * icons: Remove no-longer used code
  * pp-account: Add API to add specific accounts
  * settings-dialog: Use the new APIs to create account

  [ Andrea Schaefer ]
  * Move 'selected_account' to the class struct
  * Change name entry signal
  * Cleanup

  [ Mohammed Sadiq ]
  * Remove msg_carbons purple setting
  * manager: Simplify loading plugins
  * purple-init: Remove No longer used code

  [ Andrea Schaefer ]
  * Create seperate object for 'add muc' dialog
  * Code cleanup
  * Adjust symbol naming

  [ Mohammed Sadiq ]
  * pp-account: Add API to create sms account
  * manager: Use the new API to create SMS account
  * manager: make enable_sms_account() private
  * manager: Fix typo in variable name
  * manager: Check if lurch plugin is loaded right
  * tests: Use built in method to get build dir
  * pp-account: Fix creating XMPP account
  * tests: Add XMPP account tests
  * pp-account: Fix tests to guard against invalid input
  * pp-account: Fix creating new SMS account

  [ Sebastian Krzyszkowiak ]
  * debian: Add used purple plugins to Recommends

  [ Andrea Schaefer ]
  * Add separate class for 'user info' dialog
  * Code cleanup
  * Add constructor

  [ Mohammed Sadiq ]
  * Move chatty-users class to ‘users’ subdir

  [ Andrea Schaefer ]
  * Don't show empty listbox
  * Move dialog- files into subdirectory

  [ Mohammed Sadiq ]
  * Add chatty-account class
  * pp-account: Derive from chatty-account

  [ Andrea Schaefer ]
  * Move lurch functions to dialogs
  * Code cleanup
  * Cleanup
  * Update translations
  * Update linguas and potfile-sources

  [ Mohammed Sadiq ]
  * enums: Add ChattyProtocol enum
  * user: Add ‘protocol’ property
  * Add chatty-pp-buddy class
  * account: Add API to add buddy
  * pp-account: Add API to add buddy
  * new-chat-dialog: Use new API to add buddy
  * buddy-list: Remove unused code
  * Simplify managing accounts created

  [ Andrea Schaefer ]
  * Create separate class for muc-info dialog
  * Remove whitespace

  [ Mohammed Sadiq ]
  * account: Remove unused code
  * pp-account: Update comment on ‘ui_data’
  * pp-account: Fix a dangling pointer
  * new-chat-dialog: Populate account list from pp-account
  * utils: Add API to remove an item from a GListStore
  * buddy-list: Remove unused code
  * conversation: Remove unused code
  * icons: Remove unused code
  * connection: Remove unused code
  * window: Remove unused code

  [ Andrea Schaefer ]
  * Merge master
  * Resolve merge conflicts

  [ Mohammed Sadiq ]
  * pp-account: Add API to get buddy list model
  * pp-buddy: Add a pointer to self from PurpleBuddy
  * manager: Add API to load buddies

  [ Ruslan N. Marchenko ]
  * Dedup forward notification (eg. carbons) as well

  [ Andrea Schaefer ]
  * Code rework
  * Add changes according to MR review comments
  * Fix issue #264 'libpurple is never properly closed'
  * Disconnect listbox_chats signals
  * Fix button_header_add ccp issue

  [ Guido Günther ]
  * conversation: Don't carry on with uninitialized status_msg
  * chatty-new-chat-dialog: Don't use uninitialized buddy
  * chatty_pp_account_set_avatar_async: Fix error check

  [ Andrea Schaefer ]
  * Change names/formatting
  * Use gtk_widget_set_visible
  * Add coding conventions
  * Move action_entries to new_chat_dialog
  * Change names and formatting
  * Move popover actions to chatty-window
  * Remove chatty-popover-actions.*
  * Replace chatty_utils_get_window in dialog
  * Change g_autoptr example
  * Use g_uuid_string_random
  * Revert "Merge branch 'coding-conventions' into 'master'"
  * Add password entry icons from Gtk4
  * Add peek icons to password entries

  [ Guido Günther ]
  * chatty_icon_get_data_from_image: Don't return without an error set
  * chatty_icon_get_data_from_image: Don't carry on after errors

  [ Andrea Schaefer ]
  * Set badge color according to notification mode
  * Remove dbg-printf
  * Remove g_strdup

  [ Guido Günther ]
  * Provide user feedback via libfeedback

  [ Mohammed Sadiq ]
  * enums: Add CHATTY_PROTOCOL_ANY
  * pp-account: Fix logic to set protocol
  * pp-account: Test the right argument on adding buddy
  * user: Add API to find matches
  * user: Add API to compare two users
  * pp-buddy: Implement get_protocols()
  * pp-buddy: Implement matches()
  * contrib: Add various list models
  * Add chatty-contact
  * Add chatty-contact-provider
  * manager: Simplify loading buddies
  * manager: Add API to get active protocols
  * manager: Create a list of buddies
  * purple-init: Load buddies after init
  * manager: Load all folks contacts
  * folks: Make API to load avatar public
  * new-chat-dialog: Populate contacts using the new API
  * manager: Try harder to find associated pp-buddy
  * Remove obsolete code
  * manager: Add API to get folks instance
  * Use new folks API to find contact
  * add chatty-chat class
  * manager: Add API to add chat node
  * buddy-list: Update manager list model on group chat changes
  * new-chat-dialog: Handle group chat items
  * manager: Update buddy list on status change
  * pp-buddy: Add a pointer to self before updating blist
  * manager: Try harder to avoid duplicate buddies
  * pp-buddy: Don't add weak pointer to self
  * pp-buddy: Add to pp-account store when creating buddy
  * manager: Fix a double free
  * manager: Don't warn if chat not found on removing
  * manager: Simplify handling node change
  * pp-buddy: Add “changed” signal
  * manager: Emit “changed” signal if buddy detail changes
  * new-chat-dialog: Update contact row on buddy detail change
  * window: Move Populating chat list from buddy-list
  * manager: Fix "active-protocols" property
  * Move account management to chatty-manager
  * Remove obsolete code
  * Rename user class to item

  [ Andrea Schaefer ]
  * Fix #289 'don't show notifications in active chats'

  [ Mohammed Sadiq ]
  * chat: Derive from chatty-item
  * chat: Implement get_name()
  * chat: Implement get_protocols()
  * new-chat-dialog: Simplify filtering items
  * avatar: Mark offline buddy with grey color

  [ Guido Günther ]
  * README: Mention libfeedback
  * README: Use a tested list of build dependencies

  [ Mohammed Sadiq ]
  * contact-provider: Update contact list on change
  * pp-buddy: Implement get_avatar()
  * Add chatty-list-row
  * new-chat-dialog: Use list-row to create buddy row
  * new-chat-dialog: Remove unused code
  * contact-provider: Ignore contacts with invalid details
  * contact: Load and cache more details
  * list-row: Handle chatty-contact
  * new-chat-dialog: Simply chatty-contact row
  * build: Build chatty-icons at library build stage
  * chat: Implement get_avatar()
  * folks: Remove unused code
  * window: Add api to update overlay
  * connection: Use the new API to update window overlay
  * window: Simplify updating menu on chat list change
  * buddy-list: Remove unused code
  * window: Remove unused code
  * item: Add get_avatar_asyn()
  * contact: Implement get_avatar_async()
  * pp-buddy: Add API to get and set contact
  * pp-buddy: Add API get buddy id
  * folks: Add is-ready property
  * new-chat-dialog: Hide buddies with contact associated
  * manager: Associate buddies with folks contacts
  * manager: Set contact for newly added buddies

  [ Andrea Schaefer ]
  * Bring back OMEMO FPs to user-info

  [ Mohammed Sadiq ]
  * avatar: Calculate the right text color
  * avatar: Avoid a padding
  * buddy-list: Fix a crash
  * manager: Avoid warning when an account is deleted

  [ Andrea Schaefer ]
  * Enable direct SMS from contacts search-entry
  * Evaluate row-type first

  [ Mohammed Sadiq ]
  * Add documentation
  * Fix Updating avatar on change
  * manager: Fix populating active protocols

  [ Andrea Schaefer ]
  * Don't show empty fingerprint list
  * Use phonenumber for SMS alias
  * Fix #292 'dialog on top of the current appliation'

 -- Andrea Schaefer <andrea.schaefer@puri.sm>  Wed, 26 Feb 2020 14:20:32 +0100

chatty (0.1.7) amber-phone; urgency=high

  [ Mohammed Sadiq ]
  * user: Add ‘deleted’ signal
  * manager: Emit signal when account is deleted
  * avatar: Clear user variable if deleted

 -- Andrea Schaefer <andrea.schaefer@puri.sm>  Wed, 22 Jan 2020 18:09:21 +0100

chatty (0.1.6) amber-phone; urgency=medium

  [ Mohammed Sadiq ]
  * Add chatty-pp-account
  * utils: Add API to search a GListModel
  * Use chatty-pp-account
  * tests: Add chatty-pp-account test
  * account: Add 'status' property
  * Add chatty-manager
  * pp-account: Add ‘enabled’ property
  * manager: Handle adding and removing accounts
  * settings-dialog: Simplify handling account status
  * account: Remove unused code
  * pp-account: Add API to save account
  * manager: Load SMS plugin
  * connection: Don’t update account list on change

  [ Andrea Schaefer ]
  * Fix issue #267 'Chatty normalizes phone numbers'

  [ Mohammed Sadiq ]
  * manager: Enable SMS accounts when added
  * manager: Handle disabling auto-login
  * pp-account: Add API to activate/deactivate connection
  * manager: Handle network changes
  * Remove obsolete code

  [ Andrea Schaefer ]
  * Fix widget visibility in 'add contact' dialog

  [ Mohammed Sadiq ]
  * account: Remove unused code
  * Add chatty-user class
  * pp-account: Derive from chatty-user class
  * pp-account: Check details only when connecting

  [ Andrea Schaefer ]
  * Handle non-numeric SMS identifiers
  * Remove g_error statements
  * Handle avatar null-pointer
  * Don't unref referenced pixbuf
  * Add avatar instance-check
  * Fix issue 274
  * Don't wait for timeout to update contacts list Refresh list directly after contacts have been pulled via libfolks

  [ Mohammed Sadiq ]
  * Add chatty-avatar
  * user: Add API to get avatar
  * pp-account: Implement get_avatar()
  * settings-dialog: Use new chatty-avatar for avatar
  * Move account store to manager
  * folks: Fix a possible invalid free

  [ Andrea Schaefer ]
  * Update po-files
  * Fix issue in pt_BR.po

 -- Andrea Schaefer <andrea.schaefer@puri.sm>  Wed, 22 Jan 2020 12:46:56 +0100

chatty (0.1.5) amber-phone; urgency=high

  [ Mohammed Sadiq ]
  * window: Let F10 key open menu

  [ Andrea Schaefer ]
  * Don't pull 'chatty-status-msg' flag from IM nodes

  [ Ruslan N. Marchenko ]
  * Multiple memory leaks (msg-list, lurch, icons, requests)
  * Multiple memory leaks (blist, xep0184)
  * Multiple memory leaks (conversation)

  [ Andrea Schaefer ]
  * Remove auto-join switch from MUC details dialog
  * Remove g_setting notify
  * Change purple-cmd pref names
  * Use notify::active instead of state-set
  * Bind g_settings to pref_switches
  * Convert newline chars to html linebreaks This preserves the formatting of help texts

  [ Mohammed Sadiq ]
  * Add chatty-settings-dialog class
  * remove obsolete code
  * connection: update account list only if non-NULL

  [ Andrea Schaefer ]
  * Fix issue #259 'Chatty quits demon mode'
  * Update accounts list when adding new account
  * Fix protocol issue in 'add account' dialog
  * Code cleanup
  * Add preference 'message carbons' to gsettings

  [ Ruslan N. Marchenko ]
  * fixup! Multiple memory leaks (conversation)
  * Refactor ./xeps/ for more addons. Add bare discovery

  [ Ruslan Marchenko ]
  * Move add_history logic to chatty-history

  [ Ruslan N. Marchenko ]
  * Extend history timestamp call to check for duplicates
  * Add initial MAM implementation - message parser
  * message in history may be NULL with MAM
  * Extend timestamp for older messages, add offline send (archived sent)
  * Initial MAM Query implementation - sync on connect
  * Implement sent messages dedup based on origin-id
  * Add support for concurrency and state persistance
  * Add mam prefs handle/sync
  * Correct cleanup and add comments
  * Add MAM Enabled gSetting
  * Prevent messing up last_ts with MUC MAMQs

  [ Andrea Schaefer ]
  * Add pref-switch for mam

  [ Mohammed Sadiq ]
  * Remove obsolete code

  [ Andrea Schaefer ]
  * Fix issue #262 'Chatty opens first conv at start'
  * Add developer to list of authors
  * Mark rows when chatlist is unfold
  * Fix segv that occurs when flipping notification switch
  * Update po files

  [ Guido Günther ]
  * d/changelog: Fix syntax
  * debian: Fix shlib dependency
  * build: Use a rpath
  * debian: Add autopktest
  * gitlab-ci: Use prebuilt pipeline

  [ Andrea Schaefer ]
  * Fix issue in pt_BR.po file

 -- Andrea Schaefer <andrea.schaefer@puri.sm>  Mon, 13 Jan 2020 16:57:41 +0100

chatty (0.1.4) amber-phone; urgency=high

  [ Mohammed Sadiq ]
  * settings: Add a weak pointer to self
  * Add initial tests
  * README.md: Add ‘running from source’ section
  * build: fix generating version from git

  [ Andrea Schaefer ]
  * Remove 'show offline contacts' pref
  * Add librem.one as default jabber provider
  * Remove function prototype
  * Frame account settings in listbox/rows
  * Open URI when modem is connected
  * Improve empty-state overlay handling
  * Change matrix default server

 -- Andrea Schaefer <andrea.schaefer@puri.sm>  Sun, 15 Dec 2019 13:12:46 +0100

chatty (0.1.3) amber-phone; urgency=high

  [ Mohammed Sadiq ]
  * folks: Fix leaking row id
  * utils: Fix a memory leak
  * buddy-list: Fix a memory leak

  [ Andrea Schaefer ]
  * Add support for custom user icons

  [ Ruslan N. Marchenko ]
  * Do not send receipts for groupchats, fix #225

  [ Andrea Schaefer ]
  * Use file_chooser_native
  * Add support for account icons

  [ Mohammed Sadiq ]
  * Add chatty-settings

  [ Andrea Schaefer ]
  * Update po files

  [ Mohammed Sadiq ]
  * Add a script to run chatty without install

  [ Andrea Schaefer ]
  * Set correct icon size in muc info dialog
  * Set group for blist-chat entry
  * Fix double-free issue; avoid gtk-critical when creating chat
  * Add support for muc room and user aliases
  * Change 'user alias' to 'nickname'
  * Resolve merge conflict issue
  * Fix issue 231 'disable add group chat button...'
  * Remove muc autojoin option
  * Don't send account notifications  when network is disconnected
  * Use g_autofree

 -- Andrea Schaefer <andrea.schaefer@puri.sm>  Mon, 09 Dec 2019 19:11:34 +0100

chatty (0.1.2) amber-phone; urgency=medium

  [ Mohammed Sadiq ]
  * application: Fix some leaks
  * contact-row: Use G_DEFINE_TYPE

  [ Andrea Schaefer ]
  * Fix issue #217: 'Avatar from contacts does not update'

  [ Mohammed Sadiq ]
  * icons: Fix some leaks
  * folks: Fix a memory leak
  * buddy-list: Fix a memory leak
  * buddy-list: Ignore case when filtering list

  [ Andrea Schaefer ]
  * Fix issue #218 'smaller font size for timestamp'
  * Add dbus trial
  * Merge improved code from Julian
  * Add contacts to gnome-contacts when created in chatty
  * Enable folks contacts only when modem is available
  * Fix notify-signal connect issue
  * Start new SMS from search entry Rework 'Add Contact' dialog Add 'Add to GNOME contacts' entry to sub-menu
  * Sync gnome-contacts alias in chats-list enries
  * Add proper buddy alias via dbus api
  * Add icon-update signal
  * Update po files
  * Fix hidden jabber contacts with rescource part
  * Disable SMS feature in search-entry if no modem is connected
  * Scale down timestamp font by 0.7
  * Show jabber user status in chat details Strip resource portion from alias strings

  [ Mohammed Sadiq ]
  * icons: Fix multibyte utf-8 avatars from name

  [ Andrea Schaefer ]
  * Show jabber status independentlly from lurch
  * Mitigate phonenumber parsing message

 -- Andrea Schaefer <andrea.schaefer@puri.sm>  Tue, 19 Nov 2019 13:01:39 +0100

chatty (0.1.1) amber-phone; urgency=medium

  [ Julian Sparber ]
  * BuddyList: use listbox
  * BuddyList: Clean up code and remove manual refresh for buddylist
  * BuddyList: remove selected-node prop
  * BuddyList: Destroy ui_data when a BuddyList is destroied
  * BuddyList: remove ChattyBuddyList struct
  * BuddyList: resort buddylist on change
  * BuddyList: make Contact list not selectable
  * BuddyList: auto select first chat when unfolding

  [ Andrea Schaefer ]
  * Fix double-free issue
  * Only show contacts of connected accounts
  * Add 'chatty_utils_time_ago_in_words'
  * Shorten timestamp
  * Drop translation for symbols add flag for markup esc
  * Add libphonenumber to flatpak
  * Fix issue #209 'Hide conversation menu on an empty state'
  * Add copyright info
  * Update potfiles; change gettext-domain in appdata
  * Remove straying character
  * Add gettext setup

  [ Antonio Pandolfo ]
  * Delete it.po
  * Delete it_IT.po
  * upload new file

  [ Andrea Schaefer ]
  * Add zanata translations to LINGUAS file update po files

  [ Antonio Pandolfo ]
  * Update it.po

  [ Andrea Schaefer ]
  * Revert "Update it.po"

  [ Guido Günther ]
  * conversations: Don't crash without an alias

  [ Andrea Schaefer ]
  * Fix issue #203 'Keyboard open doesn't auto-scroll screen to bottom'
  * Update po files

  [ Mohammed Sadiq ]
  * History: fix a memory leak
  * application: Fix applying remote instance commands

  [ Andrea Schaefer ]
  * Fix sms account disconnect
  * Fix g_return check

  [ Julian Sparber ]
  * MessageList: Strip and escape markup in messages

  [ Andrea Schaefer ]
  * Reduce icon size to 36px
  * Avoid sms account disconnect
  * Add folks contact handling ro blist
  * Move e_phonenumber function to utils Add chatty_utils_strip_blank
  * Add properties to contact-row widget
  * Lookup phonenumber for incoming sms
  * Add libfolks support
  * Add libfolks and libgee to debian control
  * Correct typos as mentioned in the MR
  * Remove 'individuals' hash table
  * Use gtk_container_get_children to retrieve contact rows
  * Fix several issues mentioned in the MR comments
  * Fix leak in contacts-row

  [ Mohammed Sadiq ]
  * application: Simplify app running check

  [ Andrea Schaefer ]
  * Fix icon issues - get avatar for new incoming SMS and URI-SMS - add folks avatar to blist.xml - show icon in chat details - adjust icon sizes - move icon shaping to chatty-icon.c - cleanup chatty-icon.c
  * Make GInputStream local
  * Autojoin uri SMS contacts with chat history
  * Fix remaining issues of #52 'Various visual bugs'
  * Fix newline issue in contact-row description
  * Add /r to strsplit delimiters
  * Use buffer instead of file for icon transfer
  * Show user icons in message notifications
  * Show notifications only for received messages Set notification title with alias instead of user ID
  * Update po files
  * Add debian gpb.conf

 -- Andrea Schaefer <andrea.schaefer@puri.sm>  Mon, 04 Nov 2019 09:45:56 +0100

chatty (0.1.0) amber-phone; urgency=medium

  * Changed app release description

 -- Andrea Schaefer <andrea.schaefer@puri.sm>  Sun, 06 Oct 2019 15:45:04 +0200

chatty (0.0.8) amber-phone; urgency=medium

  * Change app name from Chatty to Chats
  * Fixed a bug that led to a crash when adding a new contact without an active acount
  * Added upport for XMPP http file upload plugin
  * Chats switches directly to the conversation view when a new contact is added
  * Added conversation notifications
  * Added notifications for XMPP account and modem (re)connections
  * Set first account in the 'Add New Chat' dialog as default
  * Added timestamp to incoming messages
  * Added daemon mode
  * Added support for SMS uri scheme
  * Added handling for libpurple TLS notifications
  * Added dialog for TLS connection handling
  * Improved connection handling
  * Added spinner for connection status to each entry in the accounts list
  * Reworked connection error dialog
  * Added OMEMO fingerprints and device IDs to the XMPP account info dialog and the chat details dialog 
  * Added phone number formatting according to E164
  * Added lazy-loading for the chat history
  * Added gtk_about_dialog
  * Added auto reconnect for SMS and IM accounts
  * Replaced purple conversation logging by SQLite based logging
  * Added acount setup verification
  * Fixed many visual bugs in the UI

 -- Andrea Schaefer <andrea.schaefer@puri.sm>  Sat, 05 Oct 2019 17:37:52 +0200

chatty (0.0.7) purple; urgency=medium

  * Added an application info dialog
  * Fixed a core dump issue which was caused by invoking another instance of Chatty
  * Chatty won't start anymore if another libpurple client, like Pidgin, 
    is running already

 -- Andrea Schaefer <andrea.schaefer@puri.sm>  Tue, 16 Apr 2019 10:12:34 +0200

chatty (0.0.6) purple; urgency=medium

  * Set the spinner-widget for account-connection status active again
  * The first 'Chats' list entry will be selected after leaving/deleting a chat and at application start 
  * Added HdyLeaflet notification handler for headerbar update
  * Fixed issue #97 'Unsolicited chats get ignored'
  * Improved css styling of message panel
  * Shows 'close' button when leaflet is foldet

 -- Andrea Schaefer <andrea.schaefer@puri.sm>  Thu, 07 Mar 2019 19:05:43 +0100

chatty (0.0.5) purple; urgency=medium

  * Added "Leave Chat" menu entry
  * Added handling and settings for messages from unknown users
  * Added group chat dialog
  * Fixed crash on conversation with not yet buddies
  * Added 'Welcome' dialog
  * Fixed issue #87 'Duplicated Jabber-IDs'
  * Fixed issue #54 'New accounts should be enabled'
  * Added bugfix: return to contacts list after new contact has been added 

 -- Andrea Schaefer <andrea.schaefer@puri.sm>  Mon, 04 Mar 2019 16:13:51 +0100

chatty (0.0.4) purple; urgency=medium

  * Wrapped 'Preferences', 'New Direct Chat', 'Edit Account' and 'New Graup Chat' views with HdyDialog
  * Added new file chatty-dialogs.c that includes the handling for the new HdyDialogs
  * Introduced HdyLeaflet
  * Centered avatar-icon and contact name on msg-view header-bar
  * Added 'X' button to header-bar which is visible when msg-view is unfolded
  * Indicated selected chat in chats-list when msg-view is unfolded
  * Introduced XMPP multi user chat

 -- Andrea Schaefer <andrea.schaefer@puri.sm>  Wed, 30 Jan 2019 19:15:11 +0100

chatty (0.0.3) purple; urgency=medium
	
  * Fixed issues #73 #75 #77 
  * Added contacts list refresh handling
  * Added 'edit account' dialog
  * Replaced 'add account' view with dialog
  * Reworked 'add contact' view
  * Added setting for return=send message
  * Added setting for enabling/disabling message carbons
  * Added settings view
  * Added emoticon translation
  * Added support for sending typing messages

 -- Andrea Schaefer <andrea.schaefer@puri.sm>  Mon, 07 Jan 2019 14:20:14 +0100

chatty (0.0.2) purple; urgency=medium

  * Added app icon
  * Added purple-command support
  * Added SMS send receipts
  * Added application info to libpurple core
  * Fixed fatal-warnings issue related to markup parsing
  * Fixed segfault when last conversation was deleted in chats list
  * Replaced GtkSearchBar with HdySearchBar
  * Added handling for XMPP authorization requests

 -- Andrea Schaefer <andrea.schaefer@puri.sm>  Fri, 14 Dec 2018 18:55:21 +0100

chatty (0.0.1) purple; urgency=low

  * Initial release

 -- Andrea Schaefer <andrea.schaefer@puri.sm>  Tue, 04 Dec 2018 15:57:21 +0100
