0.11.1 (2021-09-28)
=====

5 people contributed to this bugfix release: @a1346054, @d3npa, @paulfariello, @pasis and @jubalh.

Changes:
- Fix typo in `shade` color theme (#1579)
- Fix memory leaks (#1583) (#1584) (#1585)
- Fix buffer overread (#1586)
- Don't handle /me in the middle of a message with mentions (#1586)
- Explicitly check for curl version (#1581)
- Fix OMEMO devicelist access model by reconfiguring it (#1538) (#1591)
- Cosmetic cleanup (#1593)
- Change attentionflag shortcut from alt-f to alt+v (#1580)
- Update man page and /help information
- Enable whole word only notifications by default (#1578)

0.11.0 (2021-07-14)
=====

Six months and 242 commits after 0.10.0 we are happy to release 0.11.0.

10 people contributed code to it: @DebXWoody, @xenrox, @mwuttke97, @dustinlagoy, @kaffeekanne,
@CIacademic, @rjc, @raspbeguy, @Mic92 and @jubalh.

Thanks a lot to our sponsors: @mdosch, @wstrm, @huhndev, @matteobin and @jamesponddotco
If you want to support us too: https://profanity-im.github.io/donate.html

Changes:
- Fix 'headache' and 'whiteness' themes (#1471)
- Fix help text for `/logging` (#1470)
- Fix theme loading with -t parameter when a disconnect happens (#1472)
- Add `/mam` command (MAM is still experimental) (#660)
- Improve MAM support: load multiple pages with RSM (#660)
- Fix titlebar MUC name display when no name is set (#1481)
- Improved window title output (#1493)
- Show offline members in occupants panel (#1495)
  `/occupants default show|hide [jid|offline]`
  `/occupants show|hide [jid|offline]`
- Support handling `file://` prefix in paths (#1498)
- Update HTTP Upload XEP-0363 to 1.0.0 (#1499, #1500)
- New `/changepassword` command to change users password (XEP-0077) (#1501)
- Add ability to request 'voice' in MUCs (XEP-0045) (#1211, #1504)
  `/affiliation request`
- Add ability to approve MUC voice requests (XEP-0045) (#1507, #1508)
- Improve `/bookmark` help (#1511)
- Add ability to register a nickname with a MUC (XEP-0045) (#1510, #1210)
  `/affiliation register`
- Fix segfault on `/sendfile` using OMEMO on Raspberry Pi (#1512)
- Use shorter IDs (#1520)
- Add abbility to launch external editor to write (multiline) messages (#1485, #1546)
  `/editor`
- Introdcue OMEMO trustmode (#1506)
  `/omemo trustmode manual|firstusage|blind`
- Fix random string generation (8e588d6)
- Separate settings to configure printing of typing information in console and titlebar (#1516, #1532)
  `/intype on|of` -> `/intype titlebar|console on|off`
- Use direct messages instead of MUC-PMs for non-anonymous MUCs (#1534)
- Add ability to mark a window with an attention flag as a reminder to read it later (#1543)
  ALT+F to toggle the flag
  ALT+M to switch to marked windows
  `/wins attention` to list windows with the attention flag set
- Don't log chat states as empty messages (#1550)
- Fix wrong message display when mention is triggered (#1557, #1231)
- Add command to show single bookmark details (#1558, #1559)
  `/bookmark list <jid>`
- Display a notice when someone tries to call (XEP-0353) (#1525, #1560)
- Fix logfile rotation (#1518, #1563)
- Disable notifications by default (#977, #1564)
- Add support for XEP-0157 server contact information discovery (#1524, #1567)
  `/disco info` does now include server contact information
- Fix segfault in `/url open` with OMEMO encrypted files (#1478)
- Add XEP-0377 Spam Reporting (#1434, #1569)
  `/blocked report abuse|spam <jid> <msg>`
- Remember status on reconnect (#1006, #1570)
- Option to accept chat messages only from known contacts (#955, #1571)
  `/silence on|off`
- Improve OX (XEP-0373) handling (#1566)
- Extend Python API (#1528, #1529)
- Cleanups (#1513, #1554, #1561)
- OMEMO related fixes (#1496, #1515, #1539, #1540, #1548, #1549, #1530, #1553, #1565)
- For details see https://github.com/profanity-im/profanity/milestone/26

0.10.0 (2021-01-09)
=====

Six months and 270 commits after 0.9.5 we are happy to release 0.10.0.

10 people contributed code to it: @wstrm, @DebXWoody, @pasis, @niacat, @kaffeekanne,
@timgates42, @spth, @licaon-kter, @misaflo and @jubalh.

Thanks a lot to our sponsors: @mdosch, @wstrm, @huhndev and one person who wants to stay anonymous.
If you want to support us too: https://profanity-im.github.io/donate.html

This release depends on:
- libstrophe/libmesode >= 0.10.0.
- glib >= 2.62.0
- sqlite >= 3.22.0
- gtk3 >= 3.24 or gtk2 >= 2.24.10

The goal for this release was mostly internal cleanup, like announced in
the 0.10.0 roadmap: https://lists.notraces.net/pipermail/profanity/2020/000018.html
There was also some undercover work done for MAM (XEP-0313).

Changes:
- Code cleanup
- Several memory leaks fixed (b45384, #805, #1416, #1427)
- Handle headline stanza (#1366)
- By default log only WARN not INFO (#1353)
- Fix OMEMO: check for current item (#1384)
- Fix request OMEMO device id (#1332)
- Add experimental OX (XEP-0373, XEP-0374) support (#1331)
- Add clang format file for uniform coding style (#1396)
- Add contributing guidelines (#1397)
- Dont highlight console once all messages have been read (#1399)
- New setting: Only highlight in console upon MUC mention (#1371)
  `/console muc mention`
- Remove `/tiny` command (#1370)
- Fix `/lastactivity` behaviour (#1411)
- Fix `/correct` quotation marks usage (#1404)
- Parse Stable Stanza IDs (XEP-0359) (#1207) (#660)
- Only insert new messages in database (c9b154) (#660)
- Support both gtk2 and gtk3 (05d19c)
- Update gruvbox theme (#1421)
- Add NetBSD support (#1424)
- Fix uninitialized field in bookmarks (#1432)
- Don't link functional tests against tcl (da513a)
- Fix date format for MAM requests (15f45f)
- Print error stanzas (#1435)
- Add man pages for each profanity command (#1444)
- Fix chatlogs for outgoing carbons (#1439)
- Add OMEMO media sharing support (#1375)
  See `/help sendfile` `/help executable`
- Expand trackbar to whole line (#1448)
- Set default color for trackbar (#1453)
- Log incoming carbons (#1446)
- Use whole path as logfile when defined via -f (#1442)
  `profanity -f ~/mylog`
- Fix color for outgoing messages when no receipts are enabled (#1441)
- Set input window size to max window size (#1458)
- For details see: https://github.com/profanity-im/profanity/milestone/20

0.9.5 (2020-07-01)
=====

Changes:
- Fix segfault in `/theme properties` due to uninitialized `titlebar.scrollable` (#1380)

0.9.4 (2020-06-24)
=====

Changes:
- Fix NULL terminated list (#1367)
- Add missing string.h (#1372) (@pasis)
- Fix gcc warnings for cygwin (#1373) (@pasis)

0.9.3 (2020-06-19)
=====

Changes:
- Fix expansion in eval_password (#1364)

0.9.2 (2020-06-13)
=====

Changes:
- Dont manipulate pointer from getenv (#1357)
- Fix reading/writing linked files (#1362)
- Use gnu99 C standard (#1357)

0.9.1 (2020-06-11)
=====

This release depends on libstrophe 0.9.3 only if you want to have legacy authentication.
Otherwise you can still use libstrophe 0.9.2.

Changes:
- Make legacy auth optional (#1360) (@pasis)

0.9.0 (2020-06-09)
=====

Four months and 350 commits after 0.8.1 we are happy to release 0.9.0.

7 people contributed code to it: @pasis, @wstrm, @DebXWoody, @toogley, @pmaziere, @moppman and @jubalh.

Thanks a lot to our sponsors: @mdosch and @wstrm!
If you want to support us too: https://profanity-im.github.io/donate.html

This release depends on libstrophe >= 0.9.3, sqlite >= 3.22.0 and glib >= 2.56.0.

Changes:
- Support for XEP-0308: Last Message Correction (#805)
  See `/correction` and `/correct`.
- Code cleanup of UI and Message functions
- Always send delivery receipts if they are enabled (#1268)
- By default don't allow sending unencrypted files in an encrypted chat session (#1270) (@moppman and @jubalh)
  See `/omemo|otr|pgp sendfile`.
- Add CI for OpenBSD via sr.ht (@wstrm)
- OMEMO: switch to 12 byte IV for sending (#1272)
- Allow UTF-8 symbols as OMEMO/OTR/PGP indicator char (#1264)
- Make color of the trackbar configurable
  Use `main.trackbar` in themes.
- Allow setting custom log file
  `profanity -f TEST` will log to `~/.local/share/profanity/logs/TEST.log`.
- Send proper OS names for OpenBSD and NetBSD if `/os` is enabled
- Fix plenty memory leaks (@pasis and @jubalh)
- XEP-0084: Add option to open avatars directly (#1281)
  `/avatar odin@valhalla.org` became `/avatar get odin@valhalla.org`
  New is:
  `/executable avatar feh`
  `/avatar open odin@valhalla.org`
  xdg-open is used by default. So it will take your default application.
- Enable popular features by default.
  For a nicer out of the box experience we enable:
  * allow message correction
  * sending receipts
  * enabling carbons
  * type/chat states
- Add slashguard feature to prevent sending commands with typos
  Should protect against `q/uit` or ` /quit`.
  See `/slashguard`.
- Optionally display both MUC name and MUC JID in titlebar (#1284)
  `/titlebar use name|jid` -> `/titlebar show|hide name|jid`.
- Add option to define a theme at startup (#1286)
  `/profanity -t bios`
- Add setting to not colorize own nick if XEP-0392 is enabled (#1288)
  `/color own on|off`.
- Add new theme: jubalian
- Fix docker related CI tests (#1294)
- Fix OMEMO autocompletion (75a43f, df23c3)
- Modify our README
- Store logs in SQLite backend (#1282)
- Request OMEMO device list only for non anon MUCs (#1315) (@DebXWoody)
- Don't display MUC history in one uniform colour, instead colour messages like regular ones (#1261)
- Fix autocompletion for `/software` in regular chat windows (#1337)
- XEP-0092: Make it possible to ask servers for their version (#1338)
- Add possibility to easily open URLs (#1340, #1348)
  `/executable urlopen firefox`
  `/urlopen <tab>`
- Display hint when window is scrolled (#1289)
  Theme via `titlebar.scrolled`
- Add option to hide windows with no new messages in statusbar (#1285)
  `/statusbar show|hide read`
- Support bookmark names (#697)
- Preserve Gajims minimize flag in bookmarks (#1326)
- Don't show resource in titlebar in narrow windows if it is too long (#715)
- Improve autoping (#1333, #1315) (@DebXWoody)
- Fix titlebar status display when using PGP (#1327) (@DebXWoody)
- OMEMO: Only request "current" item (#1329) (@DebXWoody)
- Add feature to ignore the autojoin flag for bookmarks (#1115)
  Helps users who want to autojoin MUCs with most clients but not with all.
  `/bookmark ignore`
- Fix edge case where contacts get displayed as offline when they are online (3d7a31)
- Add option for legacy authentication (#1236) (@pasis)
  `/connect <account> [auth default|legacy]`
  `/account <account> set auth default|legacy`
- All issues: https://github.com/profanity-im/profanity/milestone/19

0.8.1 (2020-02-07)
=====

This is a bugfix release.

If you like Profanity, please consider donating: https://profanity-im.github.io/donate.html

Changes:

- Fix ending ncurses colors in rosterwin
- Fix segfault when consistent nick colors where never in config (#1236)
- Improve `/clear` behaviour to also clear the buffer. So a redraw doesn't bring
  the content back.
- Use unique IDs in stanzas when requesting avatars

0.8.0 (2020-02-03)
=====

On 2012-02-02 the first commit to Profanity was done by @boothj5.
8 years later, and 5 months after 0.7.0, we are happy to announce Profanity 0.8.0.

This release has 315 commits since the last release.
11 people contributed code to it: @paulfariello, @svensp, @aaptel, @aszlig, @mdosch, @pasis, @mzagozen, @quite, @weiss, @Misaflo and @jubalh.

Changes:

- OMEMO fingerprint autocompletion now considers only the contact in question (@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 this 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 <contact>` -> `/invite send <contact>
  * `/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 (#922)
- Log incoming MUC messages if origin-id says 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 doesn't exist
- Improve encrypted message stub header by mentioning the encryption method
- Fix GPG encryption (#997)
- Redraw screen 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 <http://xmpp.org/rfcs/rfc6121.html#message-chat>
- 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