0.8.0 (2020-) ===== On 2012-02-02 the first commit to Profanity was done by @boothj5. 7 years later, and 5 months after 0.7.0, we are happy to announce Profanity 0.8.0. This release has 295 commits since the last release. 11 people contributed code to it: @paulfariello, @svensp, @aaptel, @aszlig, @mdosch, @pasis, @mzagozen, @quite, @weiss, @Misaflo and @jubalh. If you like Profanity, please consider donating: https://profanity-im.github.io/donate.html Changes: - Fingerprint autocompletion now considers only the given nickname (@paulfariello) (#1068) - Save and display oldest timestamp from delay tags (#1254) - Change theme handling (#1077) `/theme load themename` not loads only the colours of a theme. So the users preferences don't get overwritten `/theme full-load themename` loads the whole theme including preferences (like `omemo.char`) - Add gruvbox theme (@Misaflo) (#1259) - XEP-0092: Include OS name in `/software` answer. See `/os on|off` - Add option to notify about version request via XEP-0092 and XEP-0232 via `adv.notify.discoversion` setting in configuration file. - Add option to display MUC name or JID in titlebar * `/titlebar use [name|jid]`. - Add `/roster room use` command to decide whether to display the MUC name or JID in the roster * `/roster room use name` to use the name of the MUC in the roster list. * `/roster room use jid` to use the jid of the MUC in the roster list. - Fix decryption failure for messages sent from Converse.js (@paulfariello) (#1253) - Fix crash when OMEMO key is misconfigured (@paulfariello) (#1239) - Use OMEMO for offline MUC members (@paulfariello) (#1242) - Fix OMEMO 1on1 chats with psi+ (@svensp) (#1247) - Save occupants and roster chars (#1244) - Add support for downloading user avatars via XEP-0084 (#1240) See `/avatar` - Add last read position marker trackbar (#1238) - Dont print error message if a valid setting function is called (#1237) When printing configuration we often use the same command as setting but without any argument. So far ths displayed "Invalid usage". - Add support for XEP-0392 consistent color generation for nicks (@aaptel and @jubalh) (#1191) See `/color`, `/occupants color`, `/roster color` - Call ncurses resize function before move function (#1235) - Fix error when joining IRC via biboumi (#1230) - Fix stanza_get_child_by_name_and_from() strcmp (#1227) - Fix showing own messages twice in ejabberd mucs (#1223) - Allow setting of status message (which actually never worked before) (b846c49) `/status set online "This is my text"` `/status set away bye` `/status set away` - Add option to store current line in history (irssi down arrow) (#200) - Standardize commands (#1116): * `/tls show on|of -> `/titlebar show|hide tls` * `/encwarn on|off` -> `/titlebar show|hide encwarn` * `/titlebar show|hide resource` additionally to `/resource titlebar on` * `/titlebar show|hide presence` additionally to `/presence titlebar on` * `/invite ` -> `/invite send * `/invites` -> `/invite list` * `/decline` -> `/invite decline` * `/online`, `/away`, `/dnd`, `/chat`, `/xa` -> `/status set online` etc. * `/status` -> `/status get` * `/chlog on` -> `/logging chat on` (#1224) * `/grlog on` -> `/logging group on` (#1224) * `/group` -> `/roster group` (#1229) - Check omemo stanza names when iterating nodes (@aszlig) (#1217) - Add clipboard feature. See `/paste` (#1216) - Log MUC PM messages (#1214) - Improve forest theme - Change default text colors to default instead of white (@mdosch) (#1213) (#535) - Fix date display in chat history (#992) - Log incoming MUC messages if origin-id sais they dont come from us (#1201) - Support XEP-0359: Unique and Stable Stanza IDs (#1207) To help us identify which MUC messages were sent by us. - Fix double _XOPEN_SOURCE definition (@pasis) (#1206) - Highlight unread messages with a different color in /wins (#895) New theming option `cmd.wins.unread` - Improve MUC 1:1 logging (#1184) - Fix user messages double logged in MUC logs (#1201) - Fix 26 causes for memory leaks - Add `/clear` autocompletion and improve help (#855) - Allow multiple instances to write to account config via `/reload` command that reloads the config file (#627) - Log message carbons to log file (#1181) - Include PYTHON_EXTRA_LIBS in libtool config (@mzagozen) (#1200) - Document how to block users in MUCS (#618) - Keyboard switch to select the next window with unread messages (#1114) (alt + a) - Keyboard switches (for moving to 20 windows instead of 10 (#1114) (alt + 1234567890qwertyuio) - Fix MUC history detection with older Prosody versions (#1190) See https://issues.prosody.im/1416 - `statusbar.current` is a new theming option for currently selected tab (@quite) (#1195) - Code cleanup - Make /info more user friendly (#1194) - Add solarized theme (#1175, #1198, #1199) (@mdosch) - Set nonblocking mode for stderr (@pasis) (#1192) - Log alleged roster push (6cf06dc) - Allow colorization of history messages (#1170) See `main.text.history` theming option - Fix crash if source jid doesn't contain the node part (@pasis) (#1153) - Add support for 256 colors (@aaptel and @jubalh) (#1177 and many commits) We use the Xterm color names. See https://jonasjacek.github.io/colors - Don't render (all) delayed messages as MUC history (@weiss) (#1173) - Add possibility to specify alternative config file (10ca3e) Use `profanity -c ~/path/to/other/config` - Don't print subscribed message if contact is already in roster (#1166) - Only save preferences when new `/save` command is issued (#1146) 0.7.1 (2019-09-24) ===== - Fix copyright/info displayed email - Fix typos in OMEMO logs - Fix crash when jid has no node part (#1153, #1193) 0.7.0 (2019-07-31) ===== - Fix plugin unload return code if just one plugin fails (#995) - Fix several typos - Fix some display indentation issues (#1073) - Fail plugin unload if the plugin doesnt exist - Improve encrypted message stub header by mentioning the encryption method - Fix GPG encryption (#997) - Redraw sceen after entry of PGP key (#906) - Fix support for case-sensitive account names (#725) - Fix /me display when highlighting user in MUCs (#950) - Fix `make dist` (0f0659a) - Fix use after free bug (#1044) - Fix segfault on connect with default account (#1046) - Implement OMEMO support (#1039, #658, #1070) - Add random string at the end of the default resource (#1053) - Fix handling of messages without ID in MUC (#1061) - Add library versioning to libprofanity (#973) - Add more customization: occupants indent (/occupants) (#690, #1072) - Add more customization: occupants header char (/occupants) (#690, #1074) - Add more customization: occupants wrap (/occupants) (#690, 125ca2f) - Add more customization: occupants char (/occupants) (#690, #1084) - Fix formatting for privileges on (a666f0d) - Fix usage of statusbar number in theme (#1078) - Fix Debian 32bit tests (#1091) - Fix unit tests (#1092) - Fix infinite loop on connection loss (#1103) - Don't clear saved account data in session_disconnect (#1106) - Cancel autoping timer on disconnect or connection loss (#1105) - Fix SIGABRT on connection loss (#1083) - Only print room history for new messages upon reconnect (#704, #1110) - Check if valid account before setting autoconnect (#1112) - Improve plugin load error message, in case built without support (cc697de) - Iterate up to 100 logfiles (#519) - Fix rejoining of MUCs upon reconnect (#1120) - Add option to set all window related time formats (#632, #1120) - Always check for directory changes with sendfile auto completion (#1154) - Fix several memory leaks (#1130, + plenty commits) - For details see https://github.com/profanity-im/profanity/milestone/17 0.6.0 (2019-02-18) ===== - Allow moving vertical window positions (/titlebar, /mainwin, /statusbar, /inputwin) - Allow loading/unloading all plugins (/plugins) - Allow installing plugins from directory (/plugins) - Allow uninstallation of plugins (/plugins uninstall) - Allow update of plugins (/plugins update) - Theme option for status bar time (statusbar.time) - Case/accent insensitive autocompletion - Shift tab to select previous autocomplete suggestion - Allow searching help (/help search_all|search_any) - Support for Legacy SSL - Allow caching of rooms (/rooms cache) - Add autocompletion for servername when listing rooms (/rooms service) - Allow showing/disabling tab number in statusbar (/statusbar show) - Adjust configure for OpenBSD - Use UUIDs instead of counter for messages - Support basic ad-hoc commands(xep-0050) (/command) - Add option to trust server's certificate (/connect, /account) - Add possibility to close windows via prof_win_close inputrc hook - Bug fixes: https://github.com/profanity-im/profanity/milestone/16?closed=1 0.5.1 (2017-01-28) ===== - Add prof.get_room_nick plugins api function - Add main.help.header theme option - Look for system TLS certificate path by default (/tls certpath) - Use service discovery to set account muc property - Allow clearing account muc and resource properties - Allow plugins to complete file paths with prof.filepath_completer_add function - Add encryption settings functions to plugins api - Allow plugins to block message sending on pre message send hooks - Fix CVE-2017-5592 (incorrect implementation of Message Carbons allowing social engineering attacks) - Bug fixes: https://github.com/profanity-im/profanity/milestone/15?closed=1 0.5.0 (2016-09-15) ===== - Plugins API supporting C and Python plugins - SSL certificate verification (requires libmesode) (/tls) - HTTP file upload (xep-0363) (/sendfile) - Blocking command (xep-0191) (/blocked) - Allow auto extended away (/autoaway) - Include last acitvity in initial presence (xep-0256) (/lastactivity) - Last Activity (xep-0012) (/lastactivity) - Ability to run command scripts (/script) - Account startscript property to execute a command script on connect (/account) - Export roster to CSV file (/export) - Support for GTK tray icons (/tray) - User specified text triggers for chat room notifications (/notify) - Per chat room notification options (/notify) - Many new roster panel display options (/roster) - Time format preferences per window type (/time) - Edit, prepend and append to room subject (/subject) - Autoping timeout preference (/autoping) - Window navigation by window title (/win) - Window closing by window title (/close) - Account theme setting (/account) - Allow sending XMPP stanzas in xmlconsole window (/xmlconsole) - Configure level of room message notifications in console window (/console) - Check ~/.config/profanity/inputrc for readline settings - Custom readline functions for navigation key bindings - Autocomplete command arguments when no characters entered 0.4.7 (2015-09-20) ===== - GNU Readline - OpenPGP support - Message Carbons (xep-0280) - Message Delivery Receipts (xep-0184) - MUC Mediated Invitation support - Configurable time formatting - Option to show JIDs in roster - Option to hide empty groups in roster - Generate UUID for unnamed new MUC rooms - Themable UI preference to indicate OTR and PGP messages - Reformatted help - devel: Added functional tests using libexpect and libstabber 0.4.6 (2015-03-03) ===== - 16 colour support (/theme colours) - UI preferences included in themes - /wrap - Word wrapping - /time - Show/hide time in main window, and configure precision - /roster - Show/hide and customise roster panel - /roster and /occupants panel size settings (% of screen width) - /account default - Set default account for /connect - /account remove - /presence - Show/hide contact presence in titlebar - /resource - Override resource during chat, resource display settings - Improved chat session handling - Lower CPU usage with dynamic input blocking timeout - Keychain/keyring integration using account eval_password property - Disable term window title by default - Fixed remote code execution bug on OSX when desktop notifications configured to show message text