0.16.0 (2026-02-23)
===================

5 people contributed to this release: @balejk, @mcalierno, @ritesh006, @sjaeckel and @jubalh.

Thanks a lot to our sponsors:  Matthew Fennell, Martin Dosch and one anonymous sponsor.
If you want to support us too: https://profanity-im.github.io/donate.html

This release depends on libstrophe >= 0.12.3.

Changes:
- Add new command /changes (#2080)
  With that command one can see the modifications of the runtime
  configuration vs. the saved configuration.
- Explain the different kinds of messages in the manpage (#2063)
- Fix OTR detection (#1957, #2072)
- Fix OMEMO startup (79ff9ba)
- Fix overwriting new accounts when running multiple instances (#2080)
- Fix reconnect when no account has been set up yet (#2080)
- Don't publish keys if the server doesn't support pubsub (#2078, #2080)
- Fix compilation on Apple silicon macs (#2075)
- Handle SIGTERM and SIGHUP (#2082)
- Cleanup (#2067, #2080)
- Add cygwin CI (#2066)
- Replace ACX_PTHREAD with AX_PTHREAD (#2062)
- Add meson build system (#2086)
  Mainly for testing purposes. Details will be announced in a later release.

0.15.1 (2025-08-22)
===================

5 people contributed to this release: @andreasstieger, @killerdevildog, @mdosch,
@sjaeckel and @jubalh.

Thanks a lot to our sponsors:  Matthew Fennell, Martin Dosch and one anonymous sponsor.
If you want to support us too: https://profanity-im.github.io/donate.html

This release depends on libstrophe >= 0.12.3.

Changes:
- Add `iso8601` as valid time format
  `/time all set iso8601` instead of manual specification
- Fix ignoring of roster pushes (#2035)
- Print location of decrypted files (#2041)
- Fix GPGME >= 2.0.0 compatibility issue (#2048)
- Fix tests with gcc15 and uintptr_t (#2055)
- Reduce noise in log files (#1911, #2060)
- Cleanup, code improvement and memory fixes (#2033, #2041, #2053)
- Improve documentation (#2040, 18f157b, #2058)

0.15.0 (2025-03-27)
===================

9 people contributed to this release: @DebXWoody, @H3rnand3zzz, @ike08, @mdosch,
@rodarima, @sjaeckel, @tjsweetblack, @ventosus and @jubalh.

Thanks a lot to our sponsors: Matteo Bini, @mdosch, @LeSpocky, and one anonymous sponsor.
If you want to support us too: https://profanity-im.github.io/donate.html

This release depends on libstrophe >= 0.12.3.

Changes:
- Don't use xscreensaver on wayland (#1876)
- Correctly recognize ox encrypted carbons (#1878)
- Don't crash when using /plugins install while disconnected (#1880, #1882)
- Unify loading of keyfile (#1886)
- Fix detection of some URLs (#1877, #1883)
- Improve MUC title behaviour for roster, statusbar, and titlebar (#1892)
- Improve logging of DB messages (#1893)
- Fix crash on reconnect (#1894, #1896)
- Check sender for LMC messages (#1893, #1898)
- Fix /plugins reload error message (2ab9a3)
- Add parameter support for aliases (#1900)
- Add section on how to use Profanity to man page (#1904)
- Improve history paging performance (#1905)
- Fix loading of encryption type (#1906)
- Refactor tests to use the new cmocka test runner (#1908)
- Add unicode support for correction char (#1909)
- Show encryption for messages from history (#1910)
- Fix /omemo fingerprint crashing in a MUC (#1913)
- Change DB structure (#1902)
- Allow redirects for /plugins install via URLs (#1922)
- Fix error message for /executable subcommands (#1921)
- Do not check for unique stanza-id for MAM messages (#1926)
- Handle alt+enter as newline char (#1927)
- Fix unintended exits on some commands (#1924)
- Introduce /redraw command (#1931)
- Fix prof_pre_chat_message_display does not replace sent messages (#1918)
- Add new dynamic mode for statusbar tab behaviour (#1912)
  `/statusbar tabmode default|dynamic|actlist`
- Smooth scrolling support (+mouse wheel scrolling in some terminals) (#1824)
- Fix scrolling (#1937, #1935, #1952)
- Remove unnecessary input win redisplay (#1948)
- Fix unable to download item twice (#1958)
- Check whether we are already in an omemo session for MUCs as well (#1973)
- Remove subscription when reporting spam/abuse (#1970, #1972)
- Make statusbar actlist respect the /statusbar show setting (#1974, #1978)
- Fix statusbar display of active tab (#1980)
- Reset autoconnect account when the account gets removed (#1976, #1982)
- Change default download location (#1983)
  `/url save $someurl` will now download to `~/.local/share/profanity/downloads/from_jid/date/filename`
  instead of `~/.local/share/profanity/downloads`.
- Fix outdated types in tests (#1992, #1993)
- Fix crash on startup when using sequoia-pgp (#1995)
- Remove plenking (#1998)
- Add valgrind checks to CI (#2023)
- Add --cmd option (#2023)
  This allows to kind of automate what profanity should do as first jobs,
  e.g. `--cmd /foo --cmd /bar --cmd /quit`
- Fix download of encrypted file (#1994, #2026)
- Improve documentation (beeddda, a8ba8af, 7e0338b
- Cleanup (#1885, #1884, #1897, #1914, #1923, #1920, #1930, #1933, #1941, #1942, #1981, 8a62d8e,
  c32aac7, cee92b0, #2014, #2007, 996a1fd)
- Memory related fixes (#1891, #1915, #1916, #1919, #1932, b04650f, d341705, #1979, 07900e9, #2022)

0.14.0 (2023-08-03)
===================

13 people contributed to this release: Daniel Santos, @DebXWoody, @H3rnand3zzz, @ike08, @MarcoPolo-PasTonMolo, @mdosch, @pasis, @paulfertser, @shahab-vahedi, @sjaeckel, @techmetx11, @thexhr and @jubalh.

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

This release depends on libstrophe >= 0.12.3. This is not done for feature reasons, but because several issues were fixed inside libstrophe.

Changes:
- Introduce new `/privacy` command (#1836, #1870)
  `/os` -> `/privacy os`
  `/privacy logging`
- Fix crash when using NetBSD curses implementation (#1769)
- Fix OMEMO autodetection in autotools (#1865)
- Add ability to completely turn logs off (#1857)
- Extend `/pgp` command to make key exchange procedure easier (#1850)
  Used by PSI and Pidgin as well.
- Add ability to download and install plugins directly (#1842)
  `/plugins install`
- Improvements for /executable and /avatar code (#1845)
- Add ability to disable avatar publishing (#1843)
- Fix /plugins update (#1840)
- Improve logging (#1835)
- Add feature that can warn you when another client logs in (#1827)
  `/account set <account> session_alarm <max_sessions>`
- Don't add the same command twice to history (#1829)
- Improve manpage to inform users about encryption (#1823)
- Fix possible crash in PGP/OX (#1823)
- Add nickname support for /roster remove (#1826)
- Fix JID display in titlebar (#1816)
- Allow setting client identification (#1815)
  `/account set <account> clientid`
- Add /statusbar tabmode actlist (#1813)
- Fix color name in batman theme (#1810)
- Fix empty window after reconnect (#1556)
- Support passing flags to editor (#1801)
- OTR and PGP fixes (#1802)
- Adapt to g_string_free glib 2.75.3 change (#1799)
- Improve OMEMO QR code (#1796)
- Improve OMEMO help (#1838)
- Fix duplicate download IDs (#1794)
- Add macro for possible NULL prints (#1786)
- Prevent setting invalid combination of libstrophe flags
- Fix libstrophe timer-callback usage
- Fix memory leaks (#1780, #1814, #1837)
- Code cleanup (#1780, #1788, #1796, #1800, #1807, #1814, #1847, #1839, #1848, #1853, #1856, #1865, #1858)
- Add `now` option to `/reconnect` command (#1809)
- Add `/strophe` command to modify libstrophe-specific settings
- Fix xscreensaver detection (#1783)
- Make `/url save` autocomplete filenames after a url (#1783)
- Improve MAM support (#1724, #1791, #1868)
- Add vCard support (XEP-0054) (#1757)
- Fix autocompletion for lastactivity
- Improve `/msg` and `/win` autocompletion: autocomplete roster nickname and actual barejid
- UI improvements (#1800, #1773, #1821)

0.13.1 (2022-10-12)
===================

8 people contributed to this release: @omar-polo, @wahjava, @vinegret, @sgn, Max Wuttke, @tran-h-trung, @techmetx11 and @jubalh.

Changes:
- Fix configure parameter detection (#1752, #1753)
- Improve plugins management (#1755)
- Fix build with plugins enabled for Python >= 3.11 (#1756)
- Add gruvbox_transparent theme optimized for enabled transparency (#1763)
- Fix detection of first start used for welcome screen (#1767)
- Improve opening of URLs by spawning external program asynchronously (#1759, #1760)

0.13.0 (2022-09-13)
===================

11 people contributed to this release: @binex-dsk, @cockroach, @DebXWoody, @MarcoPolo-PasTonMolo, @mdosch, @nandesu-utils, @netboy3, @paulfertser, @sjaeckel, @Zash and @jubalh.

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

This release depends on libstrophe >= 0.12.2.

Changes:
- Print OMEMO verification QR code (#1320, #1568, #1718, #1720)
  `/omemo qrcode`
- Add option to configure stamp (#1663)
- Allow bold for default colors (#1674)
- Add irssi theme (#1680)
- Include useful aliases in profrc example (#1683)
- Improve man pages (#1688, #1703)
- Show return symbol for embedded newlines in multiline messages (#1690)
- Fix xscreensaver detection (#1696)
- Add support for offline MUC notifications (#1697)
  `/notify room offline on|off`
- Fix SIGABRT when using wrong argument order for receiving ox key (#1689, #1699)
- Use 3 digits for rotated log files (#1701)
- Fix autocomplete for /ox discover. (#1702)
- Fix segfault on /ox discover (#1713, #1715)
- Fix OX rpad generation (#1703)
- Don't forget encryption status for OX and PGP. (#733, #1694, #1722)
- Several OX improvements (#1703, #1705)
- Fix room name not updating. (#1710, #1711)
- Update capabilities of muc on available presence (#1347, #1712)
- Add /avatar set command to publish avatar (#1687, #1714)
- Respect silent nick change in mucs (#757, #1716)
- Fix duplicate messages in chat with oneself. (#1595, #1717)
- Improve cmd argument parser (#497, #1721)
- Make display of user mood optional (#1725)
- Switch log level while running (#1726)
- Split chatlog and log functions in separate files (#1727)
- Split pgp and ox into separate files (#1728)
- Various cleanups (#1729)
- Don't scroll if not needed (#1730)
- Retrieve encryption type from db (#1731)
- Be more resilient when receiving empty messages (#1734)
- Display a welcome message upon first start of Profanity (#1735)
  Explain for new users how to connect/set up a new account
- Fix /autoaway command logic (#1736)
- Fix segfault when requesting an avatar (#1738, #1740)
- Integrate XEP-0198 Stream-Management (#698, #1745, #1746)
- Fix avatar opening executable (#1742, #1748)
- Let slashguard ignore quoted messages (#1732)
- Update DOAP

Behaviour changes:
- Use ISO8601 as date format in chat logs and log files (#1700)
- Increase default log file size to 10MB (#1701)
- Name rotated log files profanity.001.log instead of profnaity.log.001 (#1701)
- Log encrypted messages by default to chatlog (#1707)
- Dont show presence status changes by default (59b9b44)

0.12.1 (2022-04-04)
===================

5 people contributed to this bugfix release: @sjaeckel, @paulfertser, @akaWolf, Max Wuttke and @jubalh.

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

Changes:
- Fix resetting colors when loading invalid theme (#1681)
- Use correct color for nick of others in history (#1675)
- Fix a segfault when uploading or downloading files (f11ad16)
- Fix logging of text chatlogs (#1672, #1673)
- Simplification of tab completion code (#1664)
- Add Alt/Ctrl-arrows combinations for GNU Screen (#1667)
- Make all existing input functions bindable from config (#1669)
- Cleanup (#1665, #1670)
- Improve man pages (#1666, #1668)
- Fix race condition on resize (#1671)

0.12.0 (2022-03-30)
===================

Eight months and 207 commits after 0.11.0 we are happy to release 0.12.0.

16 people contributed code to it: @sjaeckel, @MarcoPolo-PasTonMolo, @paulfertser,
@DebXWoody, @trofi, @nandesu-utils, @carlocab, @binex-dsk, @nlfx, @JurajMlich,
@wstrm, @arya-pratap-singh, @a02c1175-5220-4e75-b7a1-18e20548305f,
@mdosch, @jugendhacker and @jubalh.

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

This release depends on libstrophe >= 0.11.0, libsignal-protocol-c >= 2.3.2 and glib >= 2.62.0.
libmesode was deprecated, all functionality was merged into libstrophe.

Changes:
- Fix format string for ncurses 6.3 (#1597)
- Remove `/python sourcepath` command (#1598)
- Add option to install plugins from global plugin installation directory (#945)
- Fix wrong timestamp display in MUC history (#1423)
- Add in-band account registration (XEP-0077) (#1574)
- New theme: snikket (#1604)
- Allow more UI indicator signs to be UTF-8 characters (#1607)
- Add /correct-editor command (#1596)
- Fix message encryption for sender devices (#1609)
- Deprecate libmesode. We require libstrophe >= 0.11.0 (#1608)
- Fix OMEMO /sendfile on non-glibc systems (#1478)
- Cleanup plugins code (#1616)
- Make readline check more portable (#1617)
- Fix carbons criteria (#1614, #1618)
- Add support for User Mood (XEP 0107) (#1605)
- Use wildcard for man pages in Makefile.am (#1622)
- Fix inserting messages to chat logs if archive_id is empty (#1589, #1625)
- Implement RFC 6120 see-other-host during login (#1628, #1631, #1632, #1633, #1637)
- Guard against invalid input in presence stanza (#1630)
- Do not check for OMEMO device id for JIDs banned of a MUC (#1594)
- Minor cleanups (#1635, #1653)
- Cleanup build files (#1641, #1642, #1657, #1659)
- Improve documentation for new developers (#1640)
- Set libstrophe log verbosity to fix jump on unconditional value (e55f6d)
- Add DOAP file (XEP-0453) (bd8c32)
- Add `/subject editor` command
- Improve OX user experience (#1644)
- Add hotkey for sending readline text to editor (#1645, #1648)
- Fix breaking autocompletion with nicknames containing '/' (#1474)
- Add autocompletion for `/cmd` (#1650)
- Add easy quoting (#1651)
  When typing `>` you can now use TAB to cycle through the messages in the chat
  window to quote those messages easily.
- Make sendfile work with self signed certificates (#1624)
- Reset URL autocompletion after usage (#1654)
- Use EDITOR environment variable and only use vim if this is unset (#1658)
- Fix invalid mbrlen in input field (#1660)

Tips:
- You can press alt+c to open an external editor. This is handy for multiline editing
  Like replies, editing MUC subjects, long texts or copying texts from various files.
- Use `>` <TAB> to quote messages from the main window. Combine this with alt+c for
  multiline editing.
- We also want to highlight alt+a from an earlier release to switch between windows
  with new activity.

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 ability 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 activity 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
