about summary refs log tree commit diff stats
path: root/CHANGELOG
blob: 8e093ecd7f85706615f57dc9ac6623f34763a4cb (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
pre { line-height: 125%; }
td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
.highlight .hll { background-color: #ffffcc }
.highlight .c { color: #888888 } /* Comment */
.highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */
.highlight .k { color: #008800; font-weight: bold } /* Keyword */
.highlight .ch { color: #888888 } /* Comment.Hashbang */
.highlight .cm { color: #888888 } /* Comment.Multiline */
.highlight .cp { color: #cc0000; font-weight: bold } /* Comment.Preproc */
.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
.highlight .c1 { color: #888888 } /* Comment.Single */
.highlight .cs { color: #cc0000; font-weight: bold; background-color: #fff0f0 } /* Comment.Special */
.highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */
.highlight .ge { font-style: italic } /* Generic.Emph */
.highlight .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */
.highlight .gr { color: #aa0000 } /* Generic.Error */
.highlight .gh { color: #333333 } /* Generic.Heading */
.highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */
.highlight .go { color: #888888 } /* Generic.Output */
.highlight .gp { color: #555555 } /* Generic.Prompt */
.highlight .gs { font-weight: bold } /* Generic.Strong */
.highlight .gu { color: #666666 } /* Generic.Subheading */
.highlight .gt { color: #aa0000 } /* Generic.Traceback */
.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
.highlight .kp { color: #008800 } /* Keyword.Pseudo */
.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
.highlight .kt { color: #888888; font-weight: bold } /* Keyword.Type */
.highlight .m { color: #0000DD; font-weight: bold } /* Literal.Number */
.highlight .s { color: #dd2200; background-color: #fff0f0 } /* Literal.String */
.highlight .na { color: #336699 } /* Name.Attribute */
.highlight .nb { color: #003388 } /* Name.Builtin */
.highlight .nc { color: #bb0066; font-weight: bold } /* Name.Class */
.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
.highlight .nd { color: #555555 } /* Name.Decorator */
.highlight .ne { color: #bb0066; font-weight: bold } /* Name.Exception */
.highlight .nf { color: #0066bb; font-weight: bold } /* Name.Function */
.highlight .nl { color: #336699; font-style: italic } /* Name.Label */
.highlight .nn { color: #bb0066; font-weight: bold } /* Name.Namespace */
.highlight .py { color: #336699; font-weight: bold } /* Name.Property */
.highlight .nt { color: #bb0066; font-weight: bold } /* Name.Tag */
.highlight .nv { color: #336699 } /* Name.Variable */
.highlight .ow { color: #008800 } /* Operator.Word */
.highlight .w { color: #bbbbbb } /* Text.Whitespace */
.highlight .mb { color: #0000DD; font-weight: bold } /* Literal.Number.Bin */
.highlight .mf { color: #0000DD; font-weight: bold } /* Literal.Number.Float */
.highlight .mh { color: #0000DD; font-weight: bold } /* Literal.Number.Hex */
.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
.highlight .mo { color: #0000DD; font-weight: bold } /* Literal.Number.Oct */
.highlight .sa { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Affix */
.highlight .sb { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Backtick */
.highlight .sc { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Char */
.highlight .dl { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Delimiter */
.highlight .sd { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Doc */
.highlight .s2 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Double */
.highlight .se { color: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */
.highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */
.highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */
.highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */
.highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */
.highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */
.highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */
.highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */
.highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */
.highlight .vc { color: #336699 } /* Name.Variable.Class */
.highlight .vg { color: #dd7700 } /* Name.Variable.Global */
.highlight .vi { color: #3333bb } /* Name.Variable.Instance */
.highlight .vm { color: #336699 } /* Name.Variable.Magic */
.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
/*
 * stub_database.c
 *
 * Copyright (C) 2020 Michael Vetter <jubalh@iodoru.org>
 *
 * This file is part of Profanity.
 *
 * Profanity is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * Profanity is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with Profanity.  If not, see <http://www.gnu.org/licenses/>.
 *
 */

#include <glib.h>
#include <setjmp.h>
#include <cmocka.h>

#include "database.h"

gboolean
log_database_init(ProfAccount* account)
{
    return TRUE;
}
void
log_database_add_incoming(ProfMessage* message)
{
}
void
log_database_add_outgoing_chat(const char* const id, const char* const barejid, const char* const message, const char* const replace_id, prof_enc_t enc)
{
}
void
log_database_add_outgoing_muc(const char* const id, const char* const barejid, const char* const message, const char* const replace_id, prof_enc_t enc)
{
}
void
log_database_add_outgoing_muc_pm(const char* const id, const char* const barejid, const char* const message, const char* const replace_id, prof_enc_t enc)
{
}
void
log_database_close(void)
{
}
id='n438' href='#n438'>438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590
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 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