Prepare for the 2.90.0 release v2.90.0

Tue, 31 Dec 2024 19:52:04 -0600

author
Gary Kramlich <grim@reaperworld.com>
date
Tue, 31 Dec 2024 19:52:04 -0600
changeset 43113
6b0efa558150
parent 43112
3515fa54e789
child 43114
de19914c41f0

Prepare for the 2.90.0 release

Testing Done:
Ran `meson dist`

Bugs closed: PIDGIN-18007

Reviewed at https://reviews.imfreedom.org/r/3705/

ChangeLog file | annotate | diff | comparison | revisions
meson.build file | annotate | diff | comparison | revisions
--- a/ChangeLog	Tue Dec 31 19:47:01 2024 -0600
+++ b/ChangeLog	Tue Dec 31 19:52:04 2024 -0600
@@ -1,89 +1,329 @@
 Pidgin: The Universal Chat Client
 
-version 3.0.0 (??/??/????):
+version 2.90.0 (12/31/2024):
 	General:
-	* Various core components of libpurple are now GObjects (Ankit Vani).
-	* Ciphers are now built from the libpurple directory.
-	* Doxygen has been replaced by gtk-doc for generating documentation (Ankit
-	  Vani).
-	* Added dependency GPlugin, which is now required to build libpurple with
-	  plugins support.
-	* Added dependency gobject-introspection, which is now required to enable
-	  non-native plugin support.
-	* Removed flags for manually configuring GnuTLS and NSS. They are now only
-	  recognized through pkg-config. (Michael McConville)
-	* Fixed an issue where transient startup statuses could be deleted
-	  (Jakub Adam) (#16762)
-	* Moved config files to XDG Directories. (Arkadiy Illarionov) (#10029)
+	* Internationalization is just now getting started. Everything is marked
+	  for translation, but we haven't gottten anything translated yet.
+	* The entire code base has been modernized with the hope of being more
+	  friendly to everyone but especially new contributors.
+	* Build system has been migrated to meson.
+	* Many things that were implemented internally have now been offloaded to
+	  new and existing external libraries.
+	* We have a new guide for contributors at
+	  https://docs.imfreedom.org/contributors-guide/.
+	* We're not ever rewriting any of this in Rust.
 
 	libpurple:
-	* Specify a different set of encryption ciphers for TLS connections when
-	  using GnuTLS. (elrond, belmyst, and Mark Doliner) (#8061)
-	* Don't allow SSL 3.0 (only TLS 1.0 and newer) for TLS connections when
-	  using either GnuTLS or NSS.
-	* Install a purple-url-handler file to handle protocol schemes on Linux.
+	* Removed AIM themed nomenclature from the API. Buddy is now Contact,
+	  Contact is now Person, Instant Message is now Direct Message, and Chat
+	  is now Channel.
+	* GPlugin has been adopted to handle plugins. This means plugins will have
+	  to be ported or rewritten.
+	* Every API has been completely overhauled and is now almost entirely
+	  GObject based, which means the API is now introspectable.
+	* Most Windows-specific code has been removed as it is now redundant.
+	* Finally adopted the XDG base directory specification so the .purple
+	  directory is now XDG_CONFIG_HOME/<name of user interface>.
+	* Added support for storing passwords with libsecret, KWallet, wincred
+	  (Windows), and keychain access (macOS).
+	* Removed internal support for storing passwords (plain text).
+	* Started using SQLite for storing complex data like conversation history.
+	* Preferences have been moved to GSettings.
+	* Documentation is now created via gi-docgen and available at
+	  https://docs.imfreedom.org/purple3/.
+
+	Pidgin:
+	* Migrated to GTK 4 and Adwaita.
+	* There has not yet to be any serious attempt to polish the user interface.
+	* Accessibility has been held off as we work through exactly how the user
+	  interface is going to end up.
+	* Most of the user interface is now defined in GTK Builder XML.
+	* Combined the contact list and conversation windows into a single window.
+	* Many features are not yet implemented.
+	* Most Windows-specific code has been removed as it is now redundant.
+	* Documentation is now created via gi-docgen and available at
+	  https://docs.imfreedom.org/pidgin3/.
+
+	Finch:
+	* Finch has been removed, for now.
+	* It may make a comeback when Pidgin gets more stable and we have more
+	  time.
+
+	Protocols:
+	* Protocols have been moved from the libpurple directory to a new toplevel
+	  protocols directory.
+	* All existing protocols have been removed and new implementations are in
+	  the works.
+
+	Bonjour:
+	* A from scratch implementation based on Xeme, our new XMPP library.
+	* This is just a stub for now, and is not yet functional.
+
+	Demo:
+	* A new protocol plugin for helping demonstrate Pidgin 3 features.
+	* Also used for testing and creating screenshots.
+
+	IRCv3:
+	* A new IRC protocol has been implemented using Ibis, our new IRCv3
+	  library.
+	* It's quite functional but missing a few things yet.
+	* SASL is implemented via HASL, our new SASL library.
+	* Added support for the following specifications:
+		* account-tag
+		* capability negotiation
+		* message ids
+		* message tags
+		* sasl-3.1
+		* server-time
+		* standard replies
+		* typing client-only tag
+
+	XMPP:
+	* A from scratch implementation based on Xeme, our new XMPP library.
+	* This is just a stub for now, is not yet functional.
+	* SASL is implemented via HASL, our new SASL library.
+
+version 2.14.13 (02/23/2024):
+	* Fix compile warning (Wcast-function-type). (RR 2225) (Markus Fischer)
+	* Fix memory leak originating in purple_prefs_connect_callback. (RR 2226)
+	  (Markus Fisher)
+	* Don't use the Real name as a candidate for the SASL username in IRC.
+	  (RR 2535) (Gary Kramlich)
+	* Don't link with libgadu unnecessarily. (RR 2684) (Elliott Sales de
+	  Andrade)
+	* Make collapsed groups searchable in the buddy list. (PIDGIN-7877)
+	  (RR 1494) (Belgin Știrbu)
+	* Fix incompatible type conversion errors. (PIDGIN-17850) (RR 2944)
+	  (Jaroslav Škarvada, Elliott Sales de Andrade)
+	* Stop removing -Wall from CFLAGS. (PIDGIN-16593) (RR 2946) (Elliott Sales
+	  de Andrade)
+	* Updated the spell checking dictionaries on Windows. (Gary Kramlich)
+	* Resolved the crash on exit under Windows by reverting to the old
+	  toolchain. (PIDGIN-17710) (Gary Kramlich)
+
+version 2.14.12 (12/31/2022):
+	* Remove a string from the Romanian translation that's breaks the creation
+	  of the Windows installer. (RR 2157) (Gary Kramlich)
+
+version 2.14.11 (12/31/2022):
+	* Add Markus "ivanhoe" Fischer to the Crazy Patch Writers! Congrats Markus!
+	  (RR 1952) (Gary Kramlich)
+	* Fix a crash when closing a group chat with spellchk plugin enabled. (RR
+	  1951) (Markus Fischer)
+	* Fix network interface detection on Windows to fix broken file transfers.
+	  (PIDGIN-17123, PIDGIN-17293, PIDGIN-17516, PIDGIN-17704) (RR 2018) (Gary
+	  Kramlich)
+	* Update the about box to point people to Discourse instead of the mailing
+	  lists. (RR 2154) (Gary Kramlich)
+
+version 2.14.10 (06/02/2022):
+	General:
+	* Audit and correct the COPYRIGHT file. (RR 1425) (Richard Laager)
+	* Fix a spelling error in a debug message for proxies. (RR 1426) (Richard
+	  Laager)
+	* Install some emojis already in the theme but not being installed.
+	  (RR 1428) (Richard Laager)
+	* Drop the QQ smileys as we don't ship QQ anymore. (PIDGIN-14385) (RR 1429)
+	  (Richard Laager)
+	* Modernize the desktop file. (RR 1433) (Richard Laager)
+	* Modernize the appdata file. (RR 1431) (Richard Laager)
+	* Make privacy settings persist. (PIDGIN-17137) (RR 1463) (Belgin Știrbu)
+
+	Pidgin:
+	* Fix a use after free that was introduced in 2.14.9. (RR 1488) (ivanhoe)
+
+	IRC:
+	* Fix a crash if the server sends a short form JOIN message. (PIDGIN-17375)
+	  (RR 1484) (Belgin Știrbu)
+
+	XMPP:
+	* Fix a regression from 2.14.9 where XMPP accounts state would get lost
+	  after failing to connect. (PIDGIN-17621) (RR 1455) (Belgin Știrbu)
+	* Fix a crash when requesting your own info in an XMPP conference. (RR 1465)
+	  (Belgin Știrbu)
+	* Fix hang when completing a file transfer over XMPP. (RR 1466) (Belgin
+	  Știrbu)
+	* Fix updating custom smileys. (PIDGIN-17153) (RR 1477) (Belgin Știrbu)
+	* Fix unblocking users. (PIDGIN-16414) (RR 1479) (Belgin Știrbu)
+	* Fix a crash when cancelling a file transfer. (PIDGIN-17189) (RR 1485)
+	  (Belgin Știrbu)
+
+version 2.14.9 (04/28/2022):
+	Security:
+	* Remove _xmppconnect support. (RR 1357) (CVE-2022-26491) (Gary Kramlich)
+
+	libpurple:
+	* Fix a GLib CRITICAL message with typing time outs. (RR 1123) (Mohammed
+	  Sadiq)
+	* Fix an issue where the unit tests for purple_str_to_time would fail.
+	  (GENTOO-819774) (RR 1238) (Gary Kramlich)
 
 	Pidgin:
-	* Support building with the GTK+ 3.x toolkit.  When configuring the
-	  build, use --with-gtk=<2|3> to determine which toolkit to use.  Using
-	  either 2 or 3 will attempt to build with specifically 2.x or 3.x
-	  support.  The default is 'auto', which will first look for 3.x
-	  development headers and then 2.x development headers.
-	* Add email notification in the docklet area. (Alexei) (#3571)
-	* Add a pref to select the type messages in conversation that triggers
-	  the docklet notification. (Momchil) (#12598)
-	* Complete support for receiving a limited amount of history when
-	  joining a room. (Kha) (#15458)
-	* Fix gevolution plugin to compile with e-d-s >= 3.6, older versions are
-	  not supported anymore. (Ed Catmur) (#15353)
-	* Removed command line argument --multiple in *nix in favor of using
-	  GApplication's uniqueness checking directly. The new way to allow
-	  multiple Pidgin instances is to pass --gapplication-app-id with an
-	  alternate, valid app id. Be careful not to use the same configuration
-	  directory as the primary instance.
-	* Replaced purple-url-handler script with the ability to call Pidgin
-	  itself for URI handling.
+	* Fix a memory leak in pidgin_conversations_set_tab_colors. (RR 1244)
+	  (ivanhoe)
+	* Fixed the majority of the infinite resizing issues in the input box.
+	  (PIDGIN-16753, PIDGIN-16999, PIDGIN-17287, PIDGIN-17413, PIDGIN-17430,
+	  PIDGIN-17568, PIDGIN-17602) (RR 1342) (Belgin Știrbu)
+	* Add transient-buddy back which is used to show some context menus and
+	  other things. (PIDGIN-17523) (RR 1381) (Belgin Știrbu)
+
+	Windows:
+	* Fix the download of dictionaries in the Windows installer. (PIDGIN-14618,
+	  PIDGIN-15648, PIDGIN-15540, PIDGIN-14612, PIDGIN-14893) (RR 1303) (Gary
+	  Kramlich)
+
+	Translations:
+	* Fix a typo in the German translations. (PIDGIN-17575) (RR 1242) (ivanhoe)
+	* Synced all of the translations with Transifex.
+
+	IRC:
+	* Fix IRC file transfers on Windows. (PIDGIN-17175) (RR 1382) (Belgin
+	  Știrbu)
+	* Fix file transfers failing at 99% on IRC. (PIDGIN-15893) (RR 1385) (Belgin
+	  Știrbu)
+	* Default realname and ident name in IRC to the username (nickname) of the
+	  account. (PIDGIN-17610) (RR 1386) (Belgin Știrbu)
+	* Add an advanced account option to IRC accounts for explicitly setting the
+	  SASL login name. (PIDGIN-15451) (RR 1388) (Belgin Știrbu)
+	* Added a rate limiter that should make it impossible to excess flood.
+	  (RR 1391) (Gary Kramlich)
+
+	SIMPLE:
+	* Fix an issue with the CSeq numbers in SIMPLE. (PIDGIN-9675) (RR 1379)
+	  (dohmniq)
+
+	XMPP:
+	* Fix XMPP attention messages being sent to incorrect JIDs. (PIDGIN-14714)
+	  (RR 1387) (itsnotabigtruck, Belgin Știrbu)
+
+version 2.14.8 (10/14/2021):
+	libpurple:
+	* Fix a regression in purple_str_to_time. (PIDGIN-17552) (RR 931) (Gary
+	  Kramlich)
+
+	XMPP:
+	* Fix a double free in jabber/message.c. (PIDGIN-17547) (RR 932) (Gary
+	  Kramlich, pv32768)
+
+	Pidgin:
+	* Fix the link to the support mailing list archive in the About Dialog.
+	  (RR 929) (Gary Kramlich)
+
+version 2.14.7 (09/16/2021):
+	libpurple:
+	* Fix leak in purple_markup_find_tag on error. (OSS-FUZZ 35816) (RR 924)
+	  (Elliott Sales de Andrade)
+	* Fix an issue where the XMPP utility tests would fail if libidn was
+	  disabled. (RR 922) (Gary Kramlich)
+	* Fix an assert in purple_markup_html_to_xhtml (OSS-FUZZ 35029) (RR 921)
+	  (Elliott Sales de Andrade)
+	* Fix building on Haiku (RR 916) (Haiku Ports Team)
+	* Correctly free parse tags at end of purple_html_to_xhtml (OSS-FUZZ 34996)
+	  (RR 913) (Elliott Sales de Andrade)
+	* Fix leak that may occur when xmlnode_from_str fails (OSS-FUZZ 34988)
+	  (RR 911) (Elliott Sales de Andrade)
+	* Cleanup, standardize and create starting corpora for all of the fuzzers.
+	  (RR 920) (Gary Kramlich)
+	* Port purple_str_to_time to use a regular expression and add additional
+	  unit tests for it. (RR 923) (Gary Kramlich)
+
+version 2.14.6 (07/08/2021):
+	General:
+	* Update references to point to our current websites. (RR 766) (Gary
+	  Kramlich)
+	* Add a donate link to the help menu. (RR 749) (Gary Kramlich)
 
 	Finch:
-	* Support the conversation-extended signal for extending the
-	  conversation menu. (Howard Chu) (#14818)
-
-	Bonjour:
-	* Support file transfers up to ~9 EiB.
-
-	Gadu-Gadu:
-	* Possibility to require encryption. Also, using encryption when
-	  available is default option now. (Tomasz Wasilczyk)
-	* Show local time for incoming messages. (Tomasz Wasilczyk) (#4579)
-	* Fixed password change dialog and problems with connecting to accounts
-	  with non-ASCII passwords. (Tomasz Wasilczyk) (#14652)
-	* Option to show links from strangers. (Tomasz Wasilczyk) (#10591)
-	* Better handling of "invisible" and "chatty" statuses. (Tomasz
-	  Wasilczyk) (#13836)
-
-	Facebook:
-	* Added a new prpl for the Facebook Messenger protocol
-	* Removed the defunct Facebook XMPP support
+	* Check pkg-config for ncurses before looking for it manually. (RR 729)
+	  (Justin Lecher)
+
+	Pidgin:
+	* Replace newlines in topics with spaces. (PIDGIN-16704) (RR 730) (Gary
+	  Kramlich)
+
+	libpurple:
+	* Added support for the no_proxy environment variable. (PIDGIN-17518)
+	  (RR #667) (Alynx Zhou and Gary Kramlich)
+	* Added infrastructure for fuzzing as well as some initial fuzzers.
+	  (RR #760) (Jordy Zomer)
+	* Fix an out of bounds write in purple_markup_linkify. (RR 781) (Thomas
+	  Roth, Dominik Maier, and Fabian Freyer)
 
 	XMPP:
-	* Strip element prefixes from XHTML-IM messages as they're presented
-	  to the core (and UIs) as incoming messages (Thijs Alkemade).
-	  (#14529)
-	* Support file transfers up to ~9 EiB.
-	* Invalid user moods can no longer be sent to the server.
-	* Added WEBEX-TOKEN SASL auth (Bryon Roche).
-
-	Plugins:
-	* A new plugin API has been introduced. Plugins are no longer required
-	  to be of a predefined type (such as protocol, standard, loader etc),
-	  and can perform multiple roles.
-	* The Offline Message Emulation plugin now adds a note that the message
-	  was an offline message. (Flavius Anton) (#2497)
-	* IPC test plugins have been removed, since the new plugin API does not
-	  provide a separate IPC API.
-
-	Protocols:
-	* A single jabber plugin provides XMPP, GTalk and Facebook protocols.
+	* Enable session management after binding a resource. (PIDGIN-17520) (RR
+	  759) (defanor)
+
+	Zephyr:
+	* Fix a clang logical-not-parentheses warning. (PIDGIN-17528) (RR 731)
+	  (Gary Kramlich)
+
+version 2.14.5 (06/03/2021):
+	General:
+	* Updated our bundled certificates to the latest version from Mozilla.
+	  (RR #722) (PIDGIN-17535) (Gary Kramlich)
+	* Made the project scan-build clean. (RR #692-705, #707-714, #716-#719)
+	  (Gary Kramlich)
+	* Fixed some of Gary's scan-build fixes that were a bit verbose. (RR #715)
+	  (Elliott Sales de Andrade)
+	* Disabled UPnP and NAT-PMP by default for new user. (RR #706) (Gary
+	  Kramlich)
+
+	IRC:
+	* Changed the default server to irc.libera.chat. (RR #675) (Gary Kramlich)
+
+	Windows Specific Changes:
+	* Fixed the installer not running when Mandatory ASLR was turned on.
+	  (RR #721) (PIDGIN-17524) (Gary Kramlich)
+
+version 2.14.4 (04/29/2021):
+	General:
+	* Use LT_LIB_M to find the math library.  This should simplify things for
+	  various distros including the BSD's. (RR #608) (and, Justin Lechner)
+
+	libpurple:
+	* Removed a dangling reference to oscar that was causing the unit tests
+	  to fail. (RR #605) (Gary Kramlich)
+	* Update purple-remote and purple-url-handler to have a Python 3 shebang.
+	  (RR #609) (Richard Laager)
+
+	Pidgin:
+	* Install our AppData file into the $prefix/share/metainfo. (RR 607)
+	  (Lars Wendler)
+	* Re-enable the Gevolution plugin and set the evolution-data-server
+	  requirement to >= 3.6. (RR #610) (Ed Catmur, Lars Wendler)
+
+	Windows-Specific Changes:
+	* Output pkg-config files so that our Windows builds can be seen by meson.
+	  Grim owes a blog post on how this works. (RR #615) (Gary Kramlich)
+	* Update the debug symbols download in the installer to the inetc plugin.
+	  (RR #627) (Gary Kramlich)
+	* Make sure the uninstaller removes all files that we install. (RR #612)
+	  (Gary Kramlich)
+
+version 2.14.3 (04/08/2021):
+	libpurple:
+	* Removed the AIM protocol plugin. AIM has been shut down since December
+	  15th of 2017. We left it around because of a third party server, but our
+	  plugin no longer works with it. (RR #598) (Gary Kramlich)
+
+	Windows-Specific Changes:
+	* Standardize on wprintf in pidgin/win32/winpidgin.c (RR #593) (Gary
+	  Kramlich)
+	* Use the inetc nsis plugin that supports https (RR #593, #594)
+	  (PIDGIN-17511) (Gary Kramlich)
+	* If building under msys2 copy libgcc_s_dw2-1.dll and libwinpthread to the
+	  install directory. (RR #593) (PIDGIN-17511) (Gary Kramlich)
+
+version 2.14.2 (04/01/2021):
+	* Fix a build issue when compiling with gstreamer but without voice and
+	  video. (RR #25)
+	* Enable cyrus-sasl by default. (RR #26)
+	* Fix an issue with opening link in Firefox. (RR #503) (PIDGIN-16589)
+	* Fix a regression from 2.14.0 where extra whitespace would be displayed
+	  when pasting <p> elements from HTML. (RR #504) (PIDGIN-17437)
+	* Require Python 3 for generating the D-Bus bindings. (RR #550)
+	* Fix an issue where pasting <hr>'s and other HTML elements would
+	  eventually lead to a crash. (RR #514) (PIDGIN-17446)
 
 version 2.14.1 (11/06/2020):
 	* Fixed issues with Windows installer that always thought Pidgin was
--- a/meson.build	Tue Dec 31 19:47:01 2024 -0600
+++ b/meson.build	Tue Dec 31 19:52:04 2024 -0600
@@ -21,7 +21,7 @@
 #   For production releases:    ''
 #
 project('pidgin', 'c',
-    version : '2.90.0-devel',
+    version : '2.90.0',
     meson_version : '>=1.0.0',
     default_options : ['c_std=c17', 'warning_level=2'])
 purple_soversion = 0

mercurial