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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
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
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
|
= WeeChat ChangeLog
:author: Sébastien Helleu
:email: flashcode@flashtux.org
:lang: en
:toc: left
:docinfo1:
This document lists all changes for each version
(the latest formatted version of this document can be found
https://weechat.org/files/changelog/ChangeLog-devel.html[here]).
For a list of important changes that require manual action, please look at
https://weechat.org/files/releasenotes/ReleaseNotes-devel.html[release notes]
(file _ReleaseNotes.adoc_ in sources).
[[v1.6]]
== Version 1.6 (under dev)
New features::
* doc: switch to asciidoctor to build docs and man page
* relay: add option relay.network.allow_empty_password (issue #735)
Bugs fixed::
* api: fix crash in function string_split_command() when the separator is not a semicolon (issue #731)
* relay: allow escape of comma in command "init" (weechat protocol) (issue #730)
[[v1.5]]
== Version 1.5 (2016-05-01)
New features::
* core: add Portuguese translations
* core: change default value of option weechat.look.nick_color_hash to "djb2"
* core: move nick coloring from irc plugin to core, move options irc.look.nick_color_force, irc.look.nick_color_hash and irc.look.nick_color_stop_chars to core, add info "nick_color" and "nick_color_name", deprecate info "irc_nick_color" and "irc_color_name" (issue #262)
* core: move irc bar item "away" to core, move options irc.look.item_away_message and irc.color.item_away to core (issue #692)
* api: add support of functions in hook_process
* api: add pointer in callbacks used in scripting API (issue #406)
* irc: add option irc.network.sasl_fail_unavailable (issue #600, issue #697)
* irc: add multiple targets and support of "-server" in command /ctcp (issue #204, issue #493)
* ruby: add detection of Ruby 2.3 (issue #698)
* trigger: add "recover" in default triggers cmd_pass/msg_auth, and "regain" in default trigger "msg_auth" (issue #511)
Bugs fixed::
* core: fix nick coloring when stop chars and a forced color are used: first remove chars then look for forced color
* core: check that pointers received in arguments are not NULL in buffers and windows functions
* core: fix truncation of buffer names in hotlist (issue #668)
* core: fix update of window title under Tmux (issue #685)
* core: fix detection of Python shared libraries (issue #676)
* api: fix number of arguments returned by function string_split() when keep_eol is 2 and the string ends with separators
* irc: fix first message displayed in raw buffer when the message is modified by a modifier (issue #719)
* irc: add missing completion "*" for target in command /msg
* irc: fix /msg command with multiple targets including "*"
* lua: fix crash when a lua function doesn't return a value and a string was expected (issue #718)
* relay: do not execute any command received in a PRIVMSG message from an irc relay client (issue #699)
* relay: fix the max number of clients connected on a port, allow value 0 for "no limit" (issue #669)
* relay: fix decoding of multiple frames in a single websocket message, send PONG on PING received in a websocket frame (issue #675)
* relay: fix command "input" received from clients with only spaces in content of message (weechat protocol) (issue #663)
* script: force refresh of scripts buffer after download of scripts list (issue #693)
* xfer: fix DCC file received when the terminal is resized (issue #677, issue #680)
[[v1.4]]
== Version 1.4 (2016-01-10)
New features::
* core: add a parent name in options, display inherited values if null in /set output, add option weechat.color.chat_value_null (issue #629)
* core: add tag "term_warning" in warnings about wrong $TERM on startup
* core: add option weechat.look.paste_auto_add_newline (issue #543)
* core: display a more explicit error when a filter fails to be added (issue #522)
* api: add function string_hex_dump()
* api: add argument "length" in function utf8_is_valid()
* alias: display completion in /alias list (issue #518)
* fifo: add /fifo command
* irc: evaluate content of server option "addresses"
* irc: move option irc.network.alternate_nick into servers (irc.server.xxx.nicks_alternate) (issue #633)
* irc: track real names using extended-join and WHO (issue #351)
* irc: add support of SNI (Server Name Indication) in SSL connection to IRC server (issue #620)
* irc: use current channel and current server channels first in completions "irc_server_channels" and "irc_channels" (task #12923, issue #260, issue #392)
* irc: add support of "cap-notify" capability (issue #182, issue #477)
* irc: add command /cap (issue #8)
* irc: add hex dump of messages in raw buffer when debug is enabled for irc plugin (level 2 or more)
* logger: display system error when the log file can not be written (issue #541)
* relay: add option relay.irc.backlog_since_last_message (issue #347)
* script: add completion with languages and extensions, support search by language/extension in /script search
* script: add option script.scripts.download_timeout
* doc: add Czech man page and quickstart guide (issue #490)
* build: add scripts version.sh and build-debian.sh, separate stable from devel Debian packaging
* tests: check if all plugins are loaded
Bugs fixed::
* core: fix execution of empty command name ("/" and "/ " are not valid commands)
* core: fix memory leak when using multiple "-d" or "-r" in command line arguments
* core: don't complain any more about "tmux" and "tmux-256color" $TERM values when WeeChat is running under Tmux (issue #519)
* core: fix truncated messages after a word with a length of zero on screen (for example a zero width space: U+200B) (bug #40985, issue #502)
* api: fix handle of invalid escape in function string_convert_escaped_chars()
* alias: do not allow slashes and spaces in alias name (issue #646)
* irc: fix channel forwarding when option irc.look.buffer_open_before_{autojoin|join} is on (issue #643)
* irc: add a missing colon before the password in PASS message, if the password has spaces or begins with a colon (issue #602)
* irc: fix charset decoding in incoming private messages (issue #520)
* irc: display the arrow before server name in raw buffer
* irc: fix display of messages sent to server in raw buffer
* irc: fix display of invalid UTF-8 chars in raw buffer
* relay: display the arrow before client id and protocol in raw buffer
* ruby: fix load of scripts requiring "uri" (issue #433)
* ruby: fix Ruby detection when pkg-config is not installed
* tests: fix locale used to execute tests (issue #631)
[[v1.3]]
== Version 1.3 (2015-08-16)
New features::
* core: add completion "colors" (issue #481)
* core: start/stop search in buffer at current scroll position by default, add key kbd:[Ctrl+q] to stop search and reset scroll (issue #76, issue #393)
* core: add option weechat.look.key_grab_delay to set the default delay when grabbing a key with kbd:[Alt+k]
* core: add option weechat.look.confirm_upgrade (issue #463)
* core: allow kbd:[Ctrl+c] to exit WeeChat when the passphrase is asked on startup (issue #452)
* core: allow pointer as list name in evaluation of hdata (issue #450)
* core: add signal "signal_sighup"
* api: add support of evaluated sub-strings and current date/time in function string_eval_expression() and command /eval
* api: add function string_eval_path_home()
* alias: add options "add", "addcompletion" and "del" in command /alias, remove command /unalias (issue #458)
* irc: add option irc.network.channel_encode (issue #218, issue #482)
* irc: add option irc.color.topic_current (issue #475)
* irc: evaluate content of server option "nicks"
* logger: evaluate content of option logger.file.path (issue #388)
* lua: add detection of Lua 5.3
* relay: display value of HTTP header "X-Real-IP" for websocket connections (issue #440)
* ruby: add detection of Ruby 2.2
* script: rename option script.scripts.dir to script.scripts.path, evaluate content of option (issue #388)
* xfer: evaluate content of options xfer.file.download_path and xfer.file.upload_path (issue #388)
Bugs fixed::
* core: flush stdout/stderr after sending text directly on them (fix corrupted data sent to hook_process() callback) (issue #442)
* core: allow execution of command "/input return" on a buffer which is not displayed in a window
* core: allow jump from current to previous buffer with default keys kbd:[Alt+j], kbd:[01..99] (issue #466)
* core: fix crash if a file descriptor used in hook_fd() is too high (> 1024 on Linux/BSD) (issue #465)
* core: fix display of invalid UTF-8 chars in bars
* core: fix bar item "scroll" after /buffer clear (issue #448)
* core: fix display of time in bare display when option weechat.look.buffer_time_format is set to empty string (issue #441)
* api: add missing function infolist_search_var() in script API (issue #484)
* api: add missing function hook_completion_get_string() in script API (issue #484)
* api: fix type of value returned by functions strcasestr, utf8_prev_char, utf8_next_char, utf8_add_offset and util_get_time_string
* api: fix type of value returned by function strcasestr
* fifo: fix send error on Cygwin when something is received in the pipe (issue #436)
* irc: fix update of lag item when the server lag changes
* irc: do not allow command /query with a channel name (issue #459)
* irc: decode/encode only text in IRC messages and not the headers (bug #29886, issue #218, issue #451)
* irc: fix crash with commands /allchan, /allpv and /allserv if the executed command closes buffers (issue #445)
* irc: do not open auto-joined channels buffers when option "-nojoin" is used in command /connect (even if the option irc.look.buffer_open_before_autojoin is on)
* irc: fix errors displayed on WHOX messages received (issue #376)
* xfer: fix crash if the DCC file socket number is too high (> 1024 on Linux/BSD) (issue #465)
* xfer: fix parsing of DCC chat messages (handle "\r\n" at the end of messages) (issue #425, issue #426)
* doc: replace PREFIX with CMAKE_INSTALL_PREFIX in cmake instructions (issue #354)
[[v1.2]]
== Version 1.2 (2015-05-10)
New features::
* core: add signals "signal_sigterm" and "signal_sigquit" (issue #114)
* core: use environment variable WEECHAT_HOME on startup (issue #391)
* core: remove WeeChat version from config files (issue #407)
* core: add options weechat.look.quote_{nick_prefix|nick_suffix|time_format} to customize quoted messages in cursor mode (issue #403)
* core: add a welcome message on first WeeChat run (issue #318)
* core: add options weechat.look.word_chars_{highlight|input} (issue #55, task #9459)
* core: display a warning on startup if the locale can not be set (issue #373)
* core: allow "*" as plugin name in command /plugin reload to reload all plugins with options
* core: add option "-s" in command /eval to split expression before evaluating it (no more split by default) (issue #324)
* core: add priority in plugins to initialize them in order
* api: add support of environment variables in function string_eval_expression() and command /eval
* api: add support of full color option name in functions color() and string_eval_expression() and in command /eval
* api: add "_chat_line" (line pointer) in hashtable of hook_focus
* irc: display a warning when the option irc.look.display_away is set to "channel"
* irc: optimize search of a nick in nicklist (up to 3x faster)
* irc: add support of SHA-256 and SHA-512 algorithms in server option "ssl_fingerprint" (issue #281)
* irc: add option "-noswitch" in command /query (issue #394)
* irc: format message 008 (RPL_SNOMASK) (issue #144)
* irc: add support of "account-notify" capability (issue #11, issue #246)
* irc: remove server "freenode" from default config file (issue #309)
* irc: add support of "ecdsa-nist256p-challenge" SASL mechanism (issue #251)
* doc: add Russian man page
* javascript: new script plugin for javascript
Bugs fixed::
* core: add missing completions in command /input
* guile: fix value returned in case of error in functions: config_option_reset, config_color, config_color_default, config_write, config_read, config_reload, hook_command, buffer_string_replace_local_var, command
* irc: fix color of new nick in nick changes messages when option irc.look.color_nicks_in_server_messages is off
* irc: fix crash when setting an invalid regex with "/list -re" during a /list server response (issue #412)
* irc: fix display of PART messages on channels with +a (anonymous flag) (issue #396)
* irc: remove useless rename of channel buffer on JOIN received with different case (issue #336)
* irc: fix completion of commands /allchan and /allpv
* lua: fix wrong argument usage in functions nicklist_remove_group, nicklist_remove_nick and nicklist_remove_all (issue #346)
* lua: fix value returned in case of error in functions: config_option_reset, config_string, config_string_default, config_color, config_color_default, config_write, config_read, config_reload, hook_modifier_exec, buffer_string_replace_local_var, nicklist_group_set, nicklist_nick_set, command, upgrade_read, upgrade_close
* relay: fix up/down keys on relay buffer (issue #335)
* relay: remove v4-mapped addresses in /help relay.network.allowed_ips (issue #325)
* perl: fix value returned in case of error in functions: config_option_reset, config_color, config_color_default, config_write, config_read, config_reload, buffer_string_replace_local_var, command
* python: fix value returned in case of error in functions: config_option_reset, config_color, config_color_default, config_write, config_read, config_reload, config_is_set_plugin, buffer_get_string, buffer_string_replace_local_var, nicklist_group_get_string, nicklist_nick_get_string, command, hdata_time
* python: fix name of function "bar_update" in case of error
* python: fix restore of old interpreter when a function is not found in the script
* ruby: fix crash on /plugin reload (issue #364)
* ruby: fix value returned in case of error in functions: config_option_reset, config_color, config_color_default, config_write, config_read, config_reload, buffer_string_replace_local_var, command
* script: fix state of script plugins when list of scripts has not been downloaded
* scripts: reset current script pointer when load of script fails in python/perl/ruby/lua/tcl plugins
* scripts: fix return code of function bar_set in python/perl/ruby/lua/tcl/guile plugins
* scripts: fix type of value returned by function hdata_time (from string to long integer) in perl/ruby/lua/tcl/guile plugins
* tcl: fix value returned in case of error in functions: mkdir_home, mkdir, mkdir_parents, config_option_reset, config_color, config_color_default, config_write, config_read, config_reload, print_date_tags, buffer_string_replace_local_var, command, infolist_new_item, infolist_new_var_integer, infolist_new_var_string, infolist_new_var_pointer, infolist_new_var_time, upgrade_write_object, upgrade_read, upgrade_close
* trigger: do not hook anything if the trigger is disabled (issue #405)
[[v1.1.1]]
== Version 1.1.1 (2015-01-25)
Bugs fixed::
* core: fix random error when creating symbolic link weechat-curses on make install with cmake (bug #40313)
* core: fix crash when a root bar has conditions different from active/inactive/nicklist (issue #317)
* irc: don't close channel buffer on second /part when option irc.look.part_closes_buffer is off (issue #313)
* irc: fix /join on a channel buffer opened with autojoin but which failed to join
* irc: send QUIT to server and no PART for channels when the server buffer is closed (issue #294)
* irc: fix order of channel buffers opened when option irc.look.server_buffer is set to "independent", irc.look.buffer_open_before_autojoin to "on" and irc.look.new_channel_position to "near_server" (issue #303)
* irc: fix crash in buffer close when server name is the same as a channel name (issue #305)
[[v1.1]]
== Version 1.1 (2015-01-11)
New features::
* core: check bar conditions in root bars and on each update of a bar item
* core: fully evaluate commands bound to keys in cursor and mouse contexts
* core: add option weechat.completion.command_inline (task #12491)
* core: add bar item "mouse_status", new options weechat.look.item_mouse_status and weechat.color.status_mouse (issue #247)
* core: add signals "mouse_enabled" and "mouse_disabled" (issue #244)
* core: add hide of chars in string in evaluation of expressions
* core: add arraylists, improve speed of completions (about 50x faster)
* core: move bar item "scroll" between buffer name and lag in default bar items of status bar
* core: allow incomplete commands if unambiguous, new option weechat.look.command_incomplete (task #5419)
* api: send value returned by command callback in function command(), remove WeeChat error after command callback if return code is WEECHAT_RC_ERROR
* api: add regex replace feature in function string_eval_expression()
* api: use microseconds instead of milliseconds in functions util_timeval_diff() and util_timeval_add()
* irc: add option "reorder" in command /server (issue #229)
* irc: open channel buffers before the JOIN is received from server (autojoin and manual joins), new options irc.look.buffer_open_before_{autojoin|join} (issue #216)
* irc: add server option "sasl_fail" (continue/reconnect/disconnect if SASL fails) (issue #265, task #12204)
* irc: add support for color codes 16-99 in IRC messages (issue #228), add infolist "irc_color_weechat"
* irc: disable SSLv3 by default in server option "ssl_priorities" (issue #248)
* irc: add support of "extended-join" capability (issue #143, issue #212)
* irc: automatically add current channel in command /samode (issue #241)
* irc: display own nick changes in server buffer (issue #188)
* irc: disable creation of temporary servers by default with command /connect, new option irc.look.temporary_servers
* lua: add detection of Lua 5.2
* relay: add options "stop" and "restart" in command /relay
* relay: add option relay.network.ssl_priorities (issue #234)
* relay: add host in sender for IRC backlog PRIVMSG messages sent to clients
* script: add option script.scripts.url_force_https (issue #253)
* trigger: evaluate and replace regex groups at same time, new format for regex option in triggers (incompatible with version 1.0) (issue #224)
* trigger: add `${tg_displayed}` in conditions of default trigger "beep"
* trigger: add option "restore" in command /trigger
Bugs fixed::
* core: fix compilation of plugins with cmake >= 3.1 (issue #287)
* core: fix display bug when scrolling in buffer on a filtered line (issue #240)
* core: send mouse code only one time to terminal with command /mouse enable|disable|toggle
* core: fix buffer property "lines_hidden" when merging buffers or when a line is removed from a buffer (issue #226)
* core: display time in bare display only if option weechat.look.buffer_time_format is not an empty string
* core: fix translation of message displayed after /upgrade
* doc: fix compilation of man pages with autotools in source directory
* api: fix truncated process output in hook_process() (issue #266)
* api: fix crash when reading config options with NULL value (issue #238)
* irc: defer the auto-connection to servers with a timer (issue #279, task #13038)
* irc: add missing server options "sasl_timeout" and "notify" in output of /server listfull
* irc: use option irc.look.nick_mode_empty to display nick prefix in bar item "input_prompt"
* irc: remove IRC color codes from buffer title in channels (issue #237)
* irc: add tag "nick_xxx" in invite messages
* irc: fix completion of commands /msg, /notice and /query
* irc: fix translation of CTCP PING reply (issue #137)
* python: fix Python detection with Homebrew (issue #217)
* relay: wait for message CAP END before sending join of channels and backlog to the client (issue #223)
* relay: send messages "_buffer_localvar_*" and "_buffer_type_changed" with sync "buffers" (issue #191)
* relay: don't remove relay from config when the binding fails (issue #225)
* relay: use comma separator in option relay.irc.backlog_tags, check the value of option when it is changed with /set
* relay: remove "::ffff:" from IPv4-mapped IPv6 client address (issue #111)
* trigger: fix memory leak when allocating a new trigger with several regex
* xfer: fix freeze when accepting DCC (issue #160, issue #174)
* xfer: bind to wildcard address when sending (issue #173)
* tests: fix compilation of tests with clang (issue #275)
[[v1.0.1]]
== Version 1.0.1 (2014-09-28)
Bugs fixed::
* core: fix crash on buffer close when option weechat.look.hotlist_remove is set to "merged" (issue #199)
* core: fix highlight of IRC action messages when option irc.look.nick_mode is set to "action" or "both" (issue #206)
* core: fix compilation of plugin API functions (macros) when compiler optimizations are enabled (issue #200)
* core: fix window/buffer pointers used in command /eval
* core: fix modifier "weechat_print": discard only one line when several lines are displayed in same message (issue #171)
* api: fix bug in function hdata_move() when absolute value of count is greater than 1
* aspell: fix compilation with Enchant < 1.6.0 (issue #192)
* aspell: fix crash with command "/aspell addword" if no word is given (issue #164, issue #165)
* irc: fix display of channel exception list (348) with 6 arguments (date missing)
* irc: fix type of value stored in hashtable when joining a channel (issue #211)
* guile: fix compilation with Guile < 2.0.4 (issue #198)
* perl: fix detection of Perl >= 5.20 with autotools
* relay: fix send of signals "relay_client_xxx" (issue #214)
* script: fix crash on "/script update" if a script detail is displayed in buffer (issue #177)
* trigger: do not allow any changes on a trigger when it is currently running (issue #189)
* trigger: fix regex used in default triggers to hide passwords ("\S" is not supported on *BSD) (issue #172)
* tests: fix build of tests when the build directory is outside source tree (issue #178)
* tests: fix memory leak in tests launcher
[[v1.0]]
== Version 1.0 (2014-08-15)
New features::
* core: add terabyte unit for size displayed
* core: display a warning on startup if $TERM does not start with "screen" under Screen/Tmux
* core: add option weechat.color.status_nicklist_count (issue #109, issue #110)
* core: add option "env" in command /set (manage environment variables)
* core: add bar item "buffer_short_name" (task #10882)
* core: add option "send" in command /input (send text to a buffer)
* core: add support of negated tags in filters (with "!") (issue #72, issue #74)
* core: add hidden buffers, add options hide/unhide in command /buffer
* core: add default key kbd:[Alt+-] (toggle filters in current buffer) (issue #17)
* core: add non-active merged buffers with activity in hotlist (if another merged buffer is zoomed) (task #12845)
* core: add text search in buffers with free content (task #13051)
* core: add buffer property "clear"
* core: add option weechat.look.hotlist_add_conditions, remove option weechat.look.hotlist_add_buffer_if_away
* core: add option weechat.look.hotlist_remove (issue #99)
* core: add options "-beep" and "-current" in command /print
* core: add bare display mode (for easy text selection and click on URLs), new key: kbd:[Alt+l], new option "bare" in command /window, new options: weechat.look.bare_display_exit_on_input and weechat.look.bare_display_time_format
* core: add signals "key_combo_{default|search|cursor}"
* core: display a warning in case of inconsistency between the options weechat.look.save_{config|layout}_on_exit
* api: add argument "flags" in function hdata_new_list()
* api: allow wildcard "*" inside the mask in function string_match()
* api: allow value "-1" for property "hotlist" in function buffer_set() (to remove a buffer from hotlist)
* api: add option "buffer_flush" in function hook_process_hashtable()
* api: allow negative value for y in function printf_y()
* api: add support of case insensitive search and search by buffer full name in function buffer_search() (bug #34318)
* api: add option "detached" in function hook_process_hashtable()
* api: add option "signal" in function hook_set() to send a signal to the child process
* api: add support of nested variables in function string_eval_expression() and command /eval (issue #35)
* api: add support of escaped strings with format `${esc:xxx}` or `${\xxx}` in function string_eval_expression() and command /eval
* api: add functions hashtable_dup(), string_replace_regex(), string_split_shell(), string_convert_escaped_chars()
* api: add integer return code for functions hook_{signal|hsignal}_send()
* alias: add default alias "msgbuf" (send text to a buffer)
* exec: add exec plugin: new command /exec and file exec.conf
* irc: display locally away status changes in private buffers (in addition to channels) (issue #117)
* irc: add value "+" for option irc.look.smart_filter_mode to use modes from server prefixes (this is now the default value) (issue #90)
* irc: add bar item "irc_nick_modes" (issue #71)
* irc: add support of message 324 (channel modes) in option irc.look.display_join_message (issue #75)
* irc: add option irc.look.join_auto_add_chantype (issue #65)
* irc: add tag with host ("host_xxx") in IRC messages displayed (task #12018)
* irc: allow many fingerprints in server option ssl_fingerprint (issue #49)
* irc: rename option irc.look.item_channel_modes_hide_key to irc.look.item_channel_modes_hide_args, value is now a string (task #12070, task #12163, issue #48)
* irc: add option irc.color.item_nick_modes (issue #47)
* irc: allow "$ident" in option irc.network.ban_mask_default (issue #18)
* irc: add support of "away-notify" capability (issue #12)
* irc: add command /remove (issue #91)
* irc: add command /unquiet (issue #36)
* irc: add command /allpv (task #13111)
* irc: evaluate content of server options "username" and "realname"
* relay: add messages "_buffer_cleared", "_buffer_hidden" and "_buffer_unhidden"
* relay: add info "relay_client_count" with optional status name as argument
* relay: add signals "relay_client_xxx" for client status changes (issue #2)
* relay: add option relay.network.clients_purge_delay
* rmodifier: remove plugin (replaced by trigger)
* ruby: add detection of Ruby 2.1
* trigger: add trigger plugin: new command /trigger and file trigger.conf
* tests: add unit tests using CppUTest
Bugs fixed::
* core: fix zero-length malloc of an hashtable item with type "buffer"
* core: fix memory leak on /upgrade when file signature in upgrade file is invalid
* core: fix memory leak in completion of config options values
* core: fix memory leak when removing script files
* core: fix result of hash function (in hashtables) on 32-bit systems
* core: fix insert of mouse code in input line after a partial key combo (issue #130)
* core: check code point value in UTF-8 check function (issue #108)
* core: add option "-mask" in command /unset (issue #112)
* core: fix socks5 proxy for curl downloads (issue #119)
* core: display curl error after a failed download
* core: do not display content of passphrase on /secure buffer
* core: fix potential memory leak with infolists not freed in plugins (debian #751108)
* core: fix color display of last terminal color number + 1 (issue #101)
* core: add option "-buffer" in command /command (issue #67)
* core: fix restoration of core buffer properties after /upgrade
* core: fix "/buffer clear" with a name (don't clear all merged buffers with same number)
* core: fix evaluation of expression with regex: when a comparison char is in the regex and don't evaluate the regex itself (issue #63)
* core: close .upgrade files before deleting them after /upgrade
* core: fix refresh of bar item "buffer_zoom" on buffer switch
* core: fix reset of attributes in bars when "resetcolor" is used (issue #41)
* core: fix alignment of lines in merged buffers when options weechat.look.prefix_align and weechat.look.prefix_buffer_align are set to "none" (issue #43)
* core: quit WeeChat on signal SIGHUP, remove signal "signal_sighup"
* core: fix add of filter on OS X when regex for message is empty (filter regex ending with "\t")
* core: check validity of buffer pointer when data is sent to a buffer (command/text from user and API function command())
* core: fix crash when buffer is closed during execution of multiple commands (issue #27)
* core: fix compilation on SmartOS (bug #40981, issue #23)
* core: add missing \0 at the end of stderr buffer in function hook_process()
* core: fix highlight problem with "(?-i)" and upper case letters in option weechat.look.highlight (issue #24)
* core: use glibtoolize on Mac OS X (autotools) (issue #22)
* core: fix detection of terminated process in function hook_process()
* core: set option weechat.look.buffer_search_where to prefix_message by default
* core: fix "/window scroll -N" on a buffer with free content
* core: fix recursive calls to function eval_expression()
* core: mute all buffers by default in command /mute (replace option -all by -core)
* core: save and restore mute state in command /mute (bug #41748)
* core: fix memory leak when removing a hdata
* core: fix memory leak in evaluation of sub-conditions
* core: fix memory leak in function gui_key_add_to_infolist() (in case of insufficient memory)
* core: fix use of invalid pointer in function gui_bar_window_content_alloc() (in case of insufficient memory)
* core: fix uninitialized value in function string_decode_base64()
* core: fix memory leak and use of invalid pointer in split of string (in case of insufficient memory)
* core: fix potential NULL pointer in function gui_color_emphasize()
* core: use same return code and message in all commands when arguments are wrong/missing
* core: allow empty arguments for command /print
* core: fix freeze/crash in GnuTLS (bug #41576)
* core: fix cmake warning CMP0007 on "make uninstall" (bug #41528)
* api: fix function string_decode_base64()
* api: fix function string_format_size() on 32-bit systems
* api: change type of arguments displayed/highlight in hook_print() callback from string to integer (in scripts)
* alias: change default command for alias /beep to "/print -beep"
* guile: fix module used after unload of a script
* irc: fix memory leak in CTCP answer
* irc: fix duplicate sender name in display of wallops (issue #142, issue #145)
* irc: fix extract of channel in parser for JOIN/PART messages when there is a colon before the channel name (issue #83)
* irc: fix duplicate sender name in display of notice (issue #87)
* irc: fix refresh of buffer name in bar items after join/part/kick/kill (issue #86)
* irc: display message 936 (censored word) on channel instead of server buffer
* irc: make reason optional in command /kill
* irc: add alias "whois" for target buffer of messages 401/402 (issue #54)
* irc: fix truncated read on socket with SSL (bug #41558)
* irc: display output of CAP LIST in server buffer
* irc: fix colors in message with CTCP reply sent to another user
* irc: set option irc.network.autoreconnect_delay_max to 600 by default, increase max value to 604800 seconds (7 days)
* irc: fix read of MODES server value when in commands /op, /deop, /voice, /devoice, /halfop, /dehalfop
* irc: set option irc.network.whois_double_nick to "off" by default
* irc: fix parsing of nick in host when "!" is not found (bug #41640)
* lua: fix interpreter used after unload of a script
* perl: fix context used after unload of a script
* python: fix read of return value for callbacks returning an integer in Python 2.x (issue #125)
* python: fix interpreter used after unload of a script
* relay: fix memory leak during handshake on websocket
* relay: fix memory leak when receiving commands from client (weechat protocol)
* relay: fix crash when an IRC "MODE" command is received from client without arguments
* relay: fix number of bytes sent/received on 32-bit systems
* relay: fix crash when closing relay buffers (issue #57, issue #78)
* relay: check pointers received in hdata command to prevent crashes with bad pointers (WeeChat protocol)
* relay: remove warning on /reload of relay.conf when ports are defined
* relay: fix client disconnection on empty websocket frames received (PONG)
* relay: add support of Internet Explorer websocket (issue #73)
* relay: fix crash on /upgrade received from a client (weechat protocol)
* relay: fix freeze after /upgrade when many disconnected clients still exist
* relay: fix NULL pointer when reading buffer lines for irc backlog
* ruby: fix crash when trying to load a directory with /ruby load
* script: fix display of curl errors
* script: set option script.scripts.cache_expire to 1440 by default
* script: fix scroll on script buffer in the detailed view of script (issue #6)
* scripts: fix crash when a signal is received with type "int" and NULL pointer in signal_data
* xfer: fix problem with option xfer.file.auto_accept_nicks when the server name contains dots
* xfer: fix freeze/problems when sending empty files with DCC (issue #53)
* xfer: fix connection to remote host in DCC receive on Mac OS X (issue #25)
* xfer: remove bind on xfer.network.own_ip (issue #5)
[[v0.4.3]]
== Version 0.4.3 (2014-02-09)
New features::
* core: add signals "signal_sighup" and "signal_sigwinch" (terminal resized)
* core: add command /print, add support of more escaped chars in command "/input insert"
* core: add option weechat.look.tab_width
* core: add completion "plugins_installed"
* core: add support of UTF-8 chars in horizontal/vertical separators (options weechat.look.separator_{horizontal|vertical})
* core: add option weechat.look.window_auto_zoom, disable automatic zoom by default when terminal becomes too small for windows
* core: add support of logical and/or for argument "tags" in function hook_print()
* core: rename buffer property "highlight_tags" to "highlight_tags_restrict", new behavior for buffer property "highlight_tags" (force highlight on tags), rename option irc.look.highlight_tags to irc.look.highlight_tags_restrict
* core: use "+" separator to make a logical "and" between tags in command /filter, option weechat.look.highlight_tags and buffer property "highlight_tags"
* core: rename options save/reset to store/del in command /layout
* core: add options weechat.look.buffer_auto_renumber and weechat.look.buffer_position, add option "renumber" in command /buffer, add bar item "buffer_last_number" (task #12766)
* core: add signal "buffer_cleared"
* core: add buffer property "day_change" to hide messages for the day change in specific buffers
* core: replace default key kbd:[Ctrl+c], kbd:[r] by kbd:[Ctrl+c], kbd:[v] for reverse video in messages
* core: replace default key kbd:[Ctrl+c], kbd:[u] by kbd:[Ctrl+c], kbd:[_] for underlined text in messages
* core: add option "libs" in command /debug
* core: rename option weechat.look.set_title to weechat.look.window_title, value is now a string (evaluated)
* core: add infos "term_width" and "term_height"
* core: add bar item "buffer_zoom", add signals "buffer_{zoomed|unzoomed}" (patch #8204)
* core: add default keys kbd:[Alt+Home] / kbd:[Alt+End] (`meta2-1;3H` / `meta2-1;3F`) and kbd:[Alt+F11] / kbd:[Alt+F12] (`meta2-23;3~` / `meta2-24;3~`) for xterm
* core: add support of italic text (requires ncurses >= 5.9 patch 20130831)
* core: add options to customize default text search in buffers: weechat.look.buffer_search_{case_sensitive|force_default|regex|where}
* doc: add French developer's guide and relay protocol
* doc: add Japanese plugin API reference and developer's guide
* doc: add Polish man page and user's guide
* api: add function infolist_search_var()
* api: add stdin options in functions hook_process_hashtable() and hook_set() to send data on stdin of child process, add function hook_set() in script API (task #10847, task #13031)
* api: add hdata "buffer_visited"
* api: add support of infos with format `${info:name,arguments}` in function string_eval_expression() and command /eval
* api: add support for C++ plugins
* alias: add default alias /beep => /print -stderr \a
* irc: use MONITOR instead of ISON for /notify when it is available on server (task #11477)
* irc: add server option "ssl_fingerprint" (task #12724)
* irc: add option irc.look.smart_filter_mode (task #12499)
* irc: add option irc.network.ban_mask_default (bug #26571)
* irc: add option irc.network.lag_max
* irc: add option irc.look.notice_welcome_tags
* irc: add server option "default_msg_kick" to customize default kick/kickban message (task #12777)
* relay: send backlog for irc private buffers
* xfer: add support of IPv6 for DCC chat/file (patch #7992)
* xfer: add option xfer.file.auto_check_crc32 (patch #7963)
Bugs fixed::
* core: fix hotlist problems after apply of a layout (bug #41481)
* core: fix installation of weechat-plugin.h with autotools (patch #8305)
* core: fix compilation on Android (bug #41420, patch #8301, bug #41434)
* core: fix crash when creating two bars with same name but different case (bug #41418)
* core: fix display of read marker when all buffer lines are unread and that option weechat.look.read_marker_always_show is on
* core: fix memory leak in regex matching when evaluating expression
* core: fix crash in /eval when config option has a NULL value
* core: fix crash with hdata_update() on shared strings, add hdata type "shared_string" (bug #41104)
* core: fix text emphasis with wide chars on screen like Japanese (patch #8253)
* core: remove option on /unset of plugin description option (plugins.desc.xxx) (bug #40768)
* core: fix random crash when closing a buffer
* core: fix crash on /buffer close core.weechat
* core: apply color attributes when clearing a window (patch #8236)
* core: set option weechat.look.paste_bracketed to "on" by default
* core: fix truncated text when pasting several long lines (bug #40210)
* core: create .conf file with default options only if the file does not exist (and not on read error with existing file)
* core: fix highlight on action messages: skip the nick at beginning to prevent highlight on it (bug #40516)
* core: fix bind of keys in cursor/mouse context when key starts with "@" (remove the warning about unsafe key)
* core: fix truncated prefix when filters are toggled (bug #40204)
* core: use one date format when day changes from day to day+1
* api: fix read of arrays in hdata functions hdata_<type>() (bug #40354)
* aspell: fix detection of nicks with non-alphanumeric chars
* guile: disable guile gmp allocator (fix crash on unload of relay plugin) (bug #40628)
* irc: clear the GnuTLS session in all cases after SSL connection error
* irc: do not display names by default when joining a channel (task #13045)
* irc: display PONG answer when resulting from manual /ping command
* irc: fix time parsed in tag of messages on Cygwin
* irc: use statusmsg from message 005 to check prefix char in status notices/messages
* irc: remove display of channel in channel notices, display "PvNotice" for channel welcome notices
* irc: fix ignore on a host without nick
* irc: use color code 0x1F (`ctrl-_`) for underlined text in input line (same code as messages) (bug #40756)
* irc: use color code 0x16 (`ctrl-v`) for reverse video in messages
* irc: use option irc.network.colors_send instead of irc.network.colors_receive when displaying messages sent by commands /away, /me, /msg, /notice, /query
* irc: fix memory leak when checking the value of ssl_priorities option in servers
* irc: fix memory leak when a channel is deleted
* irc: fix groups in channel nicklist when reconnecting to a server that supports more nick prefixes than the previously connected server
* irc: fix auto-switch to channel buffer when doing /join channel (without "#")
* logger: fix memory leaks in backlog
* logger: replace backslashs in name by logger replacement char under Cygwin (bug #41207)
* lua: fix detection of Lua 5.2 in autotools (patch #8270)
* lua: fix crash on calls to callbacks during load of script
* python: fix load of scripts with Python >= 3.3
* relay: fix memory leak on unload of relay plugin
* ruby: add detection and fix compilation with Ruby 2.0 (patch #8209)
* ruby: fix ruby init with Ruby >= 2.0 (bug #41115)
* scripts: fix script interpreter used after register during load of script in python/perl/ruby/lua/guile plugins (bug #41345)
* xfer: use same infolist for hook and signals (patch #7974)
[[v0.4.2]]
== Version 0.4.2 (2013-10-06)
New features::
* core: reduce memory used by using shared strings for nicklist and lines in buffers
* core: display day change message dynamically (do not store it as a line in buffer), split option weechat.look.day_change_time_format into two options weechat.look.day_change_message_{1date|2dates}, new option weechat.color.chat_day_change (task #12775)
* core: add syntax "@buffer:item" in bar items to force the buffer used when displaying the bar item (task #12717)
* core: add search of regular expression in buffer, don't reset search type on a new search, select where to search (messages/prefixes), add keys in search context: kbd:[Alt+c] (case (in)sensitive search), kbd:[Tab] (search in messages/prefixes)
* core: add text emphasis in messages when searching text in buffer, new options: weechat.look.emphasized_attributes, weechat.color.emphasized, weechat.color.emphasized_bg
* core: change color format for options weechat.look.buffer_time_format and weechat.look.prefix_{action|error|join|network|quit} from `${xxx}` to `${color:xxx}`
* core: add secured data (encryption of passwords or private data): add new command /secure and new file sec.conf (task #7395)
* core: rename binary and man page from "weechat-curses" to "weechat" (task #11027)
* core: disable build of doc by default, add cmake option ENABLE_MAN to compile man page (off by default)
* core: add option "-o" in command /color
* core: add CA_FILE option in cmake and configure to setup default value of option weechat.network.gnutls_ca_file (default is "/etc/ssl/certs/ca-certificates.crt") (task #12725)
* core: add option "scroll_beyond_end" for command /window (task #6745)
* core: add options weechat.look.hotlist_prefix and weechat.look.hotlist_suffix (task #12730)
* core: add option weechat.look.key_bind_safe
* core: update man page and add translations (in French, German, Italian, and Japanese)
* core: add option weechat.network.proxy_curl (task #12651)
* core: add "proxy" infolist and hdata
* core: add infolist "layout" and hdata "layout", "layout_buffer" and "layout_window"
* api: return hashtable item pointer in functions hashtable_set() and hashtable_set_with_size()
* api: add "callback_free_key" in hashtable
* api: add support of colors with format `${color:xxx}` in function string_eval_expression() and command /eval
* api: add argument "options" in function string_eval_expression(), add option "-c" in command /eval (to evaluate a condition)
* api: add new function strlen_screen()
* aspell: rename option aspell.look.color to aspell.color.misspelled, add option aspell.color.suggestions
* aspell: add support of enchant library (patch #6858)
* irc: add option irc.look.notice_welcome_redirect to automatically redirect channel welcome notices to the channel buffer
* irc: add support of wildcards in commands (de)op/halfop/voice, split IRC message sent if number of nicks is greater than server MODES (from message 005) (task #9221)
* irc: add option irc.look.pv_tags
* irc: add support of special variables $nick/$channel/$server in commands /allchan and /allserv
* irc: add option irc.look.nick_color_hash: hash algorithm to find nick color (patch #8062)
* logger: add option "flush" in command /logger
* plugins: remove the demo plugin
* relay: add command "ping" in weechat protocol (task #12689)
* rmodifier: add option "missing" in command /rmodifier
* script: add info about things defined by script (like commands, options, ...) in the detailed view of script (/script show)
* scripts: add hdata with script callback
* xfer: add option xfer.look.pv_tags
Bugs fixed::
* core: clear whole line before displaying content instead of clearing after the end of content (bug #40115)
* core: fix time displayed in status bar (it was one second late) (bug #40097)
* core: fix memory leak on unhook of a print hook (if using tags)
* core: fix computation of columns in output of /help (take care about size of time/buffer/prefix)
* core: fix random crash on "/buffer close" with a buffer number (or a range of buffers)
* core: optimize the removal of lines in buffers (a lot faster to clear/close buffers with lot of lines)
* core: fix priority of logical operators in evaluation of expression (AND takes precedence over the OR) and first evaluate sub-expressions between parentheses
* core: remove gap after read marker line when there is no bar on the right (bug #39548)
* core: use "/dev/null" for stdin in hook_process() instead of closing stdin (bug #39538)
* core: fix char displayed at the intersection of three windows (bug #39331)
* core: fix crash in evaluation of expression when reading a string in hdata with a NULL value (bug #39419)
* core: fix display bugs with some UTF-8 chars that truncates messages displayed (for example U+26C4) (bug #39201)
* core: remove extra space after empty prefix (when prefix for action, error, join, network or quit is set to empty string) (bug #39218)
* core: fix random crash on mouse actions (bug #39094)
* core: set options weechat.look.color_inactive_{buffer|window} to "on" by default
* core: fix line alignment when option weechat.look.buffer_time_format is set to empty string
* api: change type of hashtable key hash to unsigned long
* api: use pointer for infolist "hook" to return only one hook
* aspell: fix detection of word start/end when there are apostrophes or minus chars before/after word
* irc: fix reconnection to server using IPv6 (bug #38819, bug #40166)
* irc: replace default prefix modes "qaohvu" by the standard ones "ov" when PREFIX is not sent by server (bug #39802)
* irc: use 6697 as default port for SSL servers created with URL "ircs://" (bug #39621)
* irc: display number of ops/halfops/voices on channel join only for supported modes on server (bug #39582)
* irc: fix self nick color in server messages after nick is changed with /nick (bug #39415)
* irc: fix error message on /invite without arguments (bug #39272)
* irc: fix multiple nicks in command /query (separated by commas): open one buffer per nick
* lua: fix interpreter used in API functions (bug #39470)
* relay: fix decoding of websocket frames when there are multiple frames in a single message received (only the first one was decoded)
* relay: fix binding to an IP address (bug #39119)
* xfer: fix compilation on OpenBSD (bug #39071)
[[v0.4.1]]
== Version 0.4.1 (2013-05-20)
New features::
* core: make nick prefix/suffix dynamic (not stored in the line): move options irc.look.nick_{prefix|suffix} to weechat.look.nick_{prefix|suffix} and options irc.color.nick_{prefix|suffix} to weechat.color.chat_nick_{prefix|suffix}, add new options weechat.look.prefix_align_more_after, weechat.look.prefix_buffer_align_more_after, logger.file.nick_{prefix|suffix} (bug #37531)
* core: add support of multiple layouts (task #11274)
* core: add signals nicklist_{group|nick}_removing and hsignals nicklist_{group|nick}_{added|removing|changed}
* core: add count for groups, nicks, and total in nicklist
* core: allow read of array in hdata without using index
* core: add option "dirs" in command /debug
* core: add signal "window_opened" (task #12464)
* api: add new function hdata_search()
* api: add property "completion_freeze" for function buffer_set(): do not stop completion when command line is updated
* aspell: add completion "aspell_dicts" (list of aspell installed dictionaries)
* aspell: add info "aspell_dict" (dictionaries used on a buffer)
* aspell: optimization on spellers to improve speed (save state by buffer)
* irc: add support of "dh-aes" SASL mechanism (patch #8020)
* irc: add support of UHNAMES (capability "userhost-in-names") (task #9353)
* irc: add tag "irc_nick_back" for messages displayed in private buffer when a nick is back on server (task #12576)
* irc: add option irc.look.display_join_message (task #10895)
* irc: add option irc.look.pv_buffer: automatically merge private buffers (optionally by server) (task #11924)
* irc: rename option irc.network.lag_disconnect to irc.network.lag_reconnect, value is now a number of seconds
* irc: hide passwords in commands or messages sent to nickserv (/msg nickserv) with new modifiers "irc_command_auth" and "irc_message_auth", remove option irc.look.hide_nickserv_pwd, add option irc.look.nicks_hide_password (bug #38346)
* irc: unmask smart filtered join if nick speaks in channel some minutes after the join, new option irc.look.smart_filter_join_unmask (task #12405)
* relay: add message "_nicklist_diff" (differences between old and current nicklist)
* relay: add support of multiple servers on same port for irc protocol (the client must send the server in the "PASS" command)
* relay: add WebSocket server support (RFC 6455) for irc and weechat protocols, new option relay.network.websocket_allowed_origins
* relay: add options "buffers" and "upgrade" in commands sync/desync (weechat protocol)
* rmodifier: rename default rmodifier "nickserv" to "command_auth" (with new modifier "irc_command_auth"), add default rmodifier "message_auth" (modifier "irc_message_auth")
* script: add option script.scripts.autoload, add options "autoload", "noautoload" and "toggleautoload" for command /script, add action "A" (kbd:[Alt+a]) on script buffer (toggle autoload) (task #12393)
* xfer: add option xfer.file.auto_accept_nicks (patch #7962)
Bugs fixed::
* core: fix display of long lines without time (message beginning with two tabs)
* core: reset scroll in window before zooming on a merged buffer (bug #38207)
* core: install icon file (patch #7972)
* core: fix refresh of item "completion": clear it after any action that is changing content of command line and after switch of buffer (bug #38214)
* core: fix detection of iconv with cmake on OS X (bug #38321)
* core: fix structures before buffer data when a buffer is closed
* core: fix refresh of line after changes with hdata_update() (update flag "displayed" according to filters)
* core: fix detection of Python on Ubuntu Raring
* core: fix hidden lines for messages without date when option weechat.history.max_buffer_lines_minutes is set (bug #38197)
* core: use default hash/comparison callback for keys of type integer/pointer/time in hashtable
* api: do not display a warning by default when loading a script with a license different from GPL
* api: fix connection to servers with hook_connect() on OS X (bug #38496)
* api: fix bug in function string_match() when mask begins and ends with "*"
* api: allow hashtable with keys that are not strings in function hashtable_add_to_infolist()
* api: fix function string_mask_to_regex(): escape all special chars used in regex (bug #38398)
* guile: fix crash in function hdata_move()
* guile: fix arguments given to callbacks (separate arguments instead of one list with arguments inside), Guile >= 2.0 is now required (bug #38350)
* guile: fix crash on calls to callbacks during load of script (bug #38343)
* guile: fix compilation with Guile 2.0
* irc: fix name of server buffer after /server rename (set name "server.name" instead of "name")
* irc: fix uncontrolled format string when sending unknown irc commands (if option irc.network.send_unknown_commands is on)
* irc: fix uncontrolled format string when sending ison command (for nicks monitored by /notify)
* irc: fix refresh of nick in input bar when joining a new channel with op status (bug #38969)
* irc: fix display of CTCP messages that contain bold attribute (bug #38895)
* irc: fix duplicate nick completion when someone rejoins the channel with same nick but a different case (bug #38841)
* irc: fix crash on command "/allchan /close"
* irc: fix default completion (like nicks) in commands /msg, /notice, /query and /topic
* irc: fix prefix color for nick when the prefix is not in irc.color.nick_prefixes: use default color (key "*")
* irc: fix display of malformed CTCP (without closing char) (bug #38347)
* irc: fix memory leak in purge of hashtables with joins (it was done only for the first server in the list)
* irc: add color in output of /names when result is on server buffer (channel not joined) (bug #38070)
* lua: remove use of functions for API constants
* lua: fix crash on stack overflow: call lua_pop() for values returned by lua functions (bug #38510)
* perl: simplify code to load scripts
* python: fix crash when loading scripts with Python 3.x (patch #8044)
* relay: fix uncontrolled format string in redirection of irc commands
* relay: rename compression "gzip" to "zlib" (compression is zlib, not gzip)
* relay: fix commands sync/desync in weechat protocol (bug #38215)
* ruby: fix crash in function hdata_move()
* ruby: fix crash with Ruby 2.0: use one array for the last 6 arguments of function config_new_option() (bug #31050)
* script: fix compilation on GNU/Hurd (patch #7977)
* script: create "script" directory on each action, just in case it has been removed (bug #38472)
* scripts: create directories (language and language/autoload) on each action (install/remove/autoload), just in case they have been removed (bug #38473)
* scripts: do not allow empty script name in function register()
* xfer: fix freeze of DCC file received: use non-blocking socket after connection to sender and ensure the ACK is properly sent (bug #38340)
[[v0.4.0]]
== Version 0.4.0 (2013-01-20)
New features::
* core: add buffer pointer in arguments for signals "input_search", "input_text_changed" and "input_text_cursor_moved"
* core: add option "diff" in command /set (list options with changed value)
* core: add git version in build, display it in "weechat-curses --help" and /version
* core: add color support in options weechat.look.prefix_{action|error|join|network|quit} (task #9555)
* core: display default values for changed config options in output of /set
* core: add command /eval, use expression in conditions for bars
* core: add option "-quit" in command /upgrade (save session and quit without restarting WeeChat, for delayed restoration)
* api: allow return code WEECHAT_RC_OK_EAT in callbacks of hook_signal() and hook_hsignal() (stop sending the signal immediately)
* api: allow creation of structure with hdata_update() (allowed for hdata "history")
* api: use hashtable "options" for command arguments in function hook_process_hashtable() (optional, default is a split of string with command)
* api: add new function string_eval_expression()
* api: connect with IPv6 by default in hook_connect() (with fallback to IPv4), shuffle list of hosts for a same address, add argument "retry" for hook_connect(), move "sock" from hook_connect() arguments to callback of hook_connect() (task #11205)
* aspell: add signal "aspell_suggest" (sent when new suggestions are displayed)
* aspell: add bar items "aspell_dict" (dictionary used on current buffer) and "aspell_suggest" (suggestions for misspelled word at cursor), add option aspell.check.suggestions (task #12061)
* irc: add tags "irc_nick1_xxx" and "irc_nick2_yyy" in message displayed for command "NICK"
* irc: return git version in CTCP VERSION and FINGER by default, add "$git" and "$versiongit" in format of CTCP replies
* irc: read local variable "autorejoin" in buffer to override server option "autorejoin" (task #12256)
* irc: add option "-auto" in command /connect (task #9340)
* irc: add support of "server-time" capability (task #12255)
* irc: add support of tags in messages
* irc: add command /quiet, fix display of messages 728/729 (quiet list, end of quiet list) (task #12278)
* irc: add option irc.network.alternate_nick to disable dynamic nick generation when all nicks are already in use on server (task #12281)
* irc: add option irc.network.whois_double_nick to double nick in command /whois
* irc: add option "-noswitch" in command /join (task #12275)
* perl: display script filename in error messages
* relay: add backlog and server capability "server-time" for irc protocol, add new options relay.irc.backlog_max_minutes, relay.irc.backlog_max_number, relay.irc.backlog_since_last_disconnect, relay.irc.backlog_tags, relay.irc.backlog_time_format (task #12076)
* relay: add support of IPv6, new option relay.network.ipv6, add support of "ipv4." and/or "ipv6." before protocol name, to force IPv4/IPv6 (task #12270)
* xfer: display remote IP address for DCC chat/file (task #12289)
Bugs fixed::
* core: fix infinite loop when a regex gives an empty match (bug #38112)
* core: fix detection of Guile in configure
* core: fix click in item "buffer_nicklist" when nicklist is a root bar (bug #38080)
* core: fix line returned when clicking on a bar (according to position and filling) (bug #38069)
* core: fix refresh of bars when applying layout (bug #37944, bug #37952)
* core: fix scroll to bottom of window (default key: kbd:[Alt+End]) when line displayed is bigger than chat area
* core: fix scroll in buffer after enabling/disabling some filters (if scroll is on a hidden line) (bug #37885)
* core: fix memory leak in case of error when building content of bar item for display
* core: fix detection of command in input: a single command char is considered as a command (API function string_input_for_buffer())
* core: search for a fallback template when a no template is matching command arguments
* core: fix refresh of windows after split (fix bug with horizontal separator between windows) (bug #37874)
* core: fix stuck mouse (bug #36533)
* core: fix default mouse buttons actions for script buffer (focus the window before executing action)
* core: fix scroll of one page down when weechat.look.scroll_page_percent is less than 100 (bug #37875)
* core: disable paste detection and confirmation if bar item "input_paste" is not used in a visible bar (task #12327)
* core: use high priority (50000) for commands /command and /input so that an alias will not take precedence over these commands (bug #36353)
* core: execute command with higher priority when many commands with same name are found with different priorities
* core: fix display of combining chars (bug #37775)
* core: stop cmake if gcrypt lib is not found (bug #37671)
* core: add incomplete mouse events "event-down" and "event-drag" (task #11840)
* core: fix display of zoomed/merged buffer (with number >= 2) after switching to it (bug #37593)
* core: fix display problem when option weechat.look.prefix_same_nick is set (problem with nick displayed in first line of screen) (bug #37556)
* core: fix wrapping of words with wide chars (the break was made before the correct position)
* api: do not call shell to execute command in hook_process() (fix security problem when a plugin/script gives untrusted command) (bug #37764)
* alias: give higher priority to aliases (2000) so that they take precedence over an existing command
* aspell: ignore self and remote nicks in private buffers
* aspell: fix creation of spellers when number of dictionaries is different between two buffers
* guile: fix bad conversion of shared strings (replace calls to scm_i_string_chars() by scm_to_locale_string()) (bug #38067)
* irc: fix display of actions (/me) when they are received from a relay client (in channel and private buffers) (bug #38027)
* irc: fix memory leak when updating modes of channel
* irc: fix crash on /upgrade (free channels before server data when a server is destroyed) (bug #37736)
* irc: fix crash when decoding IRC colors in strings (bug #37704)
* irc: fix refresh of bar item "away" after command /away or /disconnect
* irc: send whois on self nick when /whois is done without argument on a channel (task #12273)
* irc: remove local variable "away" in server/channels buffers after server disconnection (bug #37582)
* irc: fix crash when message 352 has too few arguments (bug #37513)
* irc: remove unneeded server disconnect when server buffer is closed and server is already disconnected
* perl: fix calls to callbacks during load of script when multiplicity is disabled (bug #38044)
* relay: fix duplicated messages sent to irc clients (when messages are redirected) (bug #37870)
* relay: fix memory leak when adding hdata to a message (weechat protocol)
* relay: fix crash after /upgrade when a client is connected
* relay: add missing "ssl." in output of /relay listrelay
* script: fix scroll with mouse when window with script buffer is not the current window (do not force a switch to script buffer in current window)
* script: fix compilation on OS X
* xfer: fix memory leak when refreshing xfer buffer
* xfer: add missing tags in DCC chat messages: nick_xxx, prefix_nick_ccc, logN
* xfer: limit bytes received to file size (for DCC file received), fix crash when displaying a xfer file with pos greater than size
[[v0.3.9.2]]
== Version 0.3.9.2 (2012-11-18)
Bugs fixed::
* core: do not call shell to execute command in hook_process() (fix security problem when a plugin/script gives untrusted command) (bug #37764)
[[v0.3.9.1]]
== Version 0.3.9.1 (2012-11-09)
Bugs fixed::
* irc: fix crash when decoding IRC colors in strings (bug #37704)
[[v0.3.9]]
== Version 0.3.9 (2012-09-29)
New features::
* core: add signals for plugins loaded/unloaded
* core: add default key kbd:[Alt+x] (zoom on merged buffer) (task #11029)
* core: add mouse bindings kbd:[Ctrl] + wheel up/down to scroll horizontally buffers with free content
* core: add option weechat.startup.sys_rlimit to set system resource limits for WeeChat process
* core: add option "swap" in command /buffer (task #11373)
* core: add hdata "hotlist"
* core: add support of arrays in hdata variables
* core: add command line option "-r" (or "--run-command") to run command(s) after startup of WeeChat
* core: add function hook_set() in plugin API, add "subplugin" in hooks (set by script plugins), display subplugin in /help on commands (task #12049)
* core: add option weechat.look.jump_smart_back_to_buffer (jump back to initial buffer after reaching end of hotlist, on by default, which is old behavior)
* core: add default key kbd:[Alt+s] (toggle aspell)
* core: add cmake option "MANDIR" (bug #36776)
* core: add callback "nickcmp" in buffers
* core: add horizontal separator between windows, new options weechat.look.window_separator_{horizontal|vertical}
* core: add options weechat.look.color_nick_offline and weechat.color.chat_nick_offline{_highlight|_highlight_bg} to use different color for offline nicks in prefix (task #11109)
* doc: add Japanese user's guide (patch #7827), scripting guide and tester's guide
* api: allow update for some variables of hdata, add new functions hdata_update() and hdata_set()
* api: add info "locale" for info_get() (locale used to translate messages)
* api: add new function util_version_number()
* aspell: add option aspell.check.enabled, add options enable/disable/toggle for command /aspell (rename options enable/disable/dictlist to setdict/deldict/listdict), display aspell status with /aspell (task #11988)
* irc: generate alternate nicks dynamically when all nicks are already in use (task #12209)
* irc: move options from core to irc plugin: weechat.look.nickmode to irc.look.nick_mode (new type: integer with values: none/prefix/action/both) and weechat.look.nickmode_empty to irc.look.nick_mode_empty
* irc: add bar item "buffer_modes", remove option irc.look.item_channel_modes (task #12022)
* irc: add option irc.look.ctcp_time_format to customize reply to CTCP TIME (task #12150)
* logger: add tags in backlog lines displayed when opening buffer
* logger: add messages "Day changed to" in backlog (task #12187)
* lua: add support of Lua 5.2
* relay: add support of SSL (for irc and weechat protocols), new option relay.network.ssl_cert_key (task #12044)
* relay: add option relay.color.client
* relay: add object type "arr" (array) in WeeChat protocol
* ruby: add detection of Ruby 1.9.3
* script: new plugin "script" (scripts manager, replacing scripts weeget.py and script.pl)
* scripts: add signals for scripts loaded/unloaded/installed/removed
* scripts: add hdata with list of scripts for each language
Bugs fixed::
* core: move the set of cmake policy CMP0003 in directory src (so it applies to all plugins) (bug #37311)
* core: fix display bug when end of a line is displayed on top of chat (last line truncated and MORE(0) in status bar) (bug #37203)
* core: fix IP address returned by hook_connect() (return IP really used, not first IP for hostname)
* core: display spaces at the end of messages in chat area (bug #37024)
* core: fix infinite loop in display when chat area has width of 1 with a bar displayed on the right (nicklist by default) (bug #37089)
* core: fix display of "bar more down" char when text is truncated by size_max in bars with vertical filling (bug #37054)
* core: fix color of long lines (displayed on more than one line on screen) under FreeBSD (bug #36999)
* core: return error string to callback of hook_connect() if getaddrinfo fails in child process
* core: fix names of cache variables in configure.in (bug #36971)
* core: scroll to bottom of window after reaching first or last highlight with keys kbd:[Alt+p] / kbd:[Alt+n]
* core: fix refresh of bar items when switching window
* core: fix refresh of bar items "buffer_filter" and "scroll" in root bars (bug #36816)
* core: allow again names beginning with "#" for bars, proxies and filters
* core: escape special chars (`#[\`) in configuration files for name of options (bug #36584)
* aspell: add missing dictionaries (ast/grc/hus/kn/ky)
* charset: do not allow "UTF-8" in charset decoding options (useless because UTF-8 is the internal WeeChat charset)
* fifo: ignore read failing with error EAGAIN (bug #37019)
* guile: fix crash when unloading a script without pointer to interpreter
* guile: fix path of Guile include dirs in cmake build (patch #7790)
* irc: fix rejoin of channels with a key, ignore value "*" sent by server for key (bug #24131)
* irc: fix SASL mechanism "external" (bug #37274)
* irc: fix parsing of message 346 when no nick/time are given (bug #37266)
* irc: switch to next address after a timeout when connecting to server (bug #37216)
* irc: fix bug when changing server option "addresses" with less addresses (bug #37215)
* irc: add network prefix in irc (dis)connection messages
* irc: fix split of received IRC message: keep spaces at the end of message
* irc: fix bug with prefix chars which are in chanmodes with a type different from "B" (bug #36996)
* irc: fix format of message "USER" (according to RFC 2812) (bug #36825)
* irc: fix parsing of user modes (ignore everything after first space) (bug #36756, bug #31572)
* irc: fix freeze when reading on socket with SSL enabled (use non-blocking sockets) (bug #35097)
* irc: allow again names beginning with "#" for servers
* lua: fix crash when unloading a script without pointer to interpreter
* python: fix detection of Python (first try "python2.x" and then "python") (bug #36835)
* python: fix crash when unloading a script without pointer to interpreter
* relay: fix freeze when writing on relay socket (use non-blocking sockets in relay for irc and weechat protocols) (bug #36655)
* scripts: fix deletion of configuration files when script is unloaded (bug #36977)
* scripts: fix function unhook_all(): delete only callbacks of hooks and add missing call to unhook()
* scripts: ignore call to register() (with a warning) if script is already registered
* xfer: fix DCC transfer error (bug #37432)
[[v0.3.8]]
== Version 0.3.8 (2012-06-03)
New features::
* core: support lines of 16 Kb long in configuration files (instead of 1 Kb)
* core: convert options weechat.look.prefix_align_more and weechat.look.prefix_buffer_align_more from boolean to string (task #11197)
* core: add option weechat.look.prefix_same_nick (hide or change prefix on messages whose nick is the same as previous message) (task #11965)
* core: convert tabs to spaces in text pasted (bug #25028)
* core: add a connection timeout for child process in hook_connect() (bug #35966)
* core: follow symbolic links when writing configuration files (.conf) (task #11779)
* core: add support of terminal "bracketed paste mode", new options weechat.look.paste_bracketed and weechat.look.paste_bracketed_timer_delay (task #11316)
* doc: add Japanese FAQ (patch #7781)
* api: add list "gui_buffer_last_displayed" in hdata "buffer"
* irc: add option "fakerecv" in command /server to simulate a received IRC message (not documented, for debug only)
* irc: add option "-pending" in command /disconnect (cancel auto-reconnection on servers currently reconnecting) (task #11985)
* irc: allow more than one nick in command /invite
* irc: add signals and tags in messages for irc notify (task #11887)
* irc: add support of "external" SASL mechanism (task #11864)
* logger: add colors for backlog lines and end of backlog, new options: logger.color.backlog_line and logger.color.backlog_end (task #11966)
* relay: add signals "upgrade" and "upgrade_ended" in WeeChat protocol
* relay: add "date_printed" and "highlight" in signal "_buffer_line_added" (WeeChat protocol)
* rmodifier: add default rmodifier "quote_pass" to hide password in command "/quote pass" (bug #36250)
* rmodifier: add default rmodifier "server" to hide passwords in commands /server and /connect (task #11993)
* rmodifier: add option "release" in default rmodifier "nickserv" (used to hide passwords in command "/msg nickserv") (bug #35705)
Bugs fixed::
* core: fix crash in focus hook for nicklist (bug #36271)
* core: fix truncated configuration files (zero-length) after system crash (bug #36383)
* core: fix display bugs and crashes with small windows (bug #36107)
* core: fix display bug with prefix when length is greater than max and prefix is ending with a wide char (bug #36032)
* core: fix lost scroll when switching to a buffer with a pending search
* core: fix display of wide chars on last column of chat area (patch #7733)
* api: display warning in scripts when invalid pointers (malformed strings) are given to plugin API functions (warning displayed if debug for plugin is >= 1)
* scripts: fix type of argument "rc" in callback of hook_process() (from string to integer)
* guile: fix crash on ARM when loading guile plugin (bug #36479)
* guile: add missing function hook_process_hashtable() in API
* irc: update channel modes by using chanmodes from message 005 (do not send extra command "MODE" to server), fix parsing of modes (bug #36215)
* irc: hide everything after "identify" or "register" in messages to nickserv when option irc.look.hide_nickserv_pwd is on (bug #36362)
* irc: set user modes only if target nick is self nick in message 221 (patch #7754)
* irc: force the clear of nicklist when joining a channel (nicklist was not sync after znc reconnection) (bug #36008)
* irc: do not send command "MODE #channel" on manual /names (do it only when names are received on join of channel) (bug #35930)
* irc: do not allow the creation of two servers with same name but different case (fix error when writing file irc.conf) (bug #35840)
* irc: update away flag for nicks on manual /who
* irc: display privmsg messages to "@#channel" and "+#channel" in channel buffer (bug #35331)
* irc: fix redirection of message when message is queued for sending on server
* irc: check notify immediately when adding a nick to notify list, improve first notify message for a nick (bug #35731)
* irc: fix display of color in hostname (join/part/quit messages)
* irc: compute hash to find nick color for nick in server message when nick is not in nicklist
* irc: close server buffer when server is deleted
* irc: add search for lower case nicks in option irc.look.nick_color_force
* logger: fix charset of lines displayed in backlog when terminal charset is different from UTF-8 (bug #36379)
* perl: fix compilation on OS X (bug #30701)
* perl: fix crash on quit on OS X
* relay: keep spaces in beginning of "input" received from client (WeeChat protocol)
* relay: fix crash on /upgrade when client is connected using WeeChat protocol
* relay: redirect some irc messages from clients to hide output (messages: mode, ison, list, names, topic, who, whois, whowas, time, userhost) (bug #33516)
* tcl: add missing function hdata_char() in API
* tcl: fix pointer sent to function hook_signal_send() when type of data is a pointer
[[v0.3.7]]
== Version 0.3.7 (2012-02-26)
New features::
* core: add Japanese translations
* core: add support of flags in regular expressions and highlight options
* core: use extended regex in filters (task #9497, patch #7616)
* core: add type "hashtable" for hdata
* core: add signals "buffer_line_added" and "window_switch"
* core: add default keys kbd:[Ctrl+Left] / kbd:[Ctrl+Right] (`meta2-1;5D` / `meta2-1;5C`) for gnome-terminal
* core: add option "hooks" in command /debug
* core: add option weechat.look.scroll_bottom_after_switch (if enabled, restore old behavior before fix of bug #25555 in version 0.3.5)
* core: add new option weechat.completion.base_word_until_cursor: allow completion in middle of words (enabled by default) (task #9771)
* core: add option "jump_last_buffer_displayed" in command /input (key: kbd:[Alt+/]) (task #11553)
* core: add developer's guide (task #5416)
* core: add option weechat.history.max_buffer_lines_minutes: maximum number of minutes in history per buffer (task #10900), rename option weechat.history.max_lines to weechat.history.max_buffer_lines_number
* core: add WEECHAT_HOME option in cmake and configure to setup default WeeChat home (default is "~/.weechat") (task #11266)
* core: add optional arguments for command /plugin load/reload/autoload
* api: add modifier "input_text_for_buffer" (bug #35317)
* api: add support of URL in hook_process() / hook_process_hashtable() (task #10247)
* api: add new functions strcasecmp_range(), strncasecmp_range(), string_regex_flags(), string_regcomp(), hashtable_map_string(), hook_process_hashtable(), hdata_check_pointer(), hdata_char(), hdata_hashtable() and nicklist_get_next_item()
* alias: add default alias /umode => /mode $nick
* irc: add option "capabilities" in servers to enable client capabilities on connection
* irc: add signal "irc_server_opened"
* irc: add signal "xxx,irc_out1_yyy" and modifier "irc_out1_xxx" (outgoing message before automatic split to fit in 512 bytes)
* irc: add alias "ctcp" for target buffer of CTCP messages
* irc: add options irc.look.highlight_{server|channel|pv} to customize or disable default nick highlight (task #11128)
* irc: use extended regex in commands /ignore and /list
* irc: use redirection to get channel modes after update of modes on channel, display output of /mode #channel, allow /mode without argument (display modes of current channel or user modes on server buffer)
* irc: add optional server in info "irc_is_channel" (before channel name) (bug #35124), add optional server in info_hashtable "irc_message_parse"
* irc: add case insensitive string comparison based on casemapping of server (rfc1459, strict-rfc1459, ascii) (bug #34239)
* irc: add option irc.color.mirc_remap to remap mirc colors in messages to WeeChat colors
* irc: allow URL "irc://" in command /connect
* guile: new script plugin for scheme (task #7289)
* python: add support of Python 3.x (task #11704)
* relay: add WeeChat protocol for remote GUI
* xfer: display origin of xfer in core and xfer buffers (task #10956)
Bugs fixed::
* core: fix expand of path `~` to home of user in function string_expand_home() (`~/xxx` was OK, but not `~`)
* core: fix memory leak when closing buffer
* core: fix memory leak in function util_search_full_lib_name()
* core: automatically add newline char after last pasted line (when pasting many lines with confirmation) (task #10703)
* core: fix bug with layout: assign layout number in buffers when doing /layout save
* core: do not auto add space after nick completer if option weechat.completion.nick_add_space is off
* core: fix signal "buffer_switch": send it only once when switching buffer (bug #31158)
* core: move option "scroll_unread" from command /input to /window
* core: add library "pthread" in cmake file for link on OpenBSD
* core: save current mouse state in option weechat.look.mouse (set option when mouse state is changed with command /mouse)
* core: apply filters after full reload of configuration files (with /reload) (bug #31182)
* core: allow list for option weechat.plugin.extension (makes weechat.conf portable across Un*x and Windows) (task #11479)
* core: fix compilation under OpenBSD 5.0 (lib utf8 not needed any more) (bug #34727)
* core: display error in command /buffer if arguments are wrong (bug #34180)
* core: fix help on plugin option when config_set_desc_plugin() is called to set help on newly created option
* core: fix compilation error with "pid_t" on Mac OS X (bug #34639)
* core: enable background process under Cygwin to connect to servers, fix reconnection problem (bug #34626)
* aspell: fix URL detection (do not check spelling of URLs) (bug #34040)
* irc: fix memory leak in SASL/blowfish authentication
* irc: fix memory leak when a server is deleted
* irc: fix self-highlight when using /me with an IRC bouncer like znc (bug #35123)
* irc: use low priority for MODE sent automatically by WeeChat (when joining channel)
* irc: do not use option irc.look.nick_color_stop_chars for forced nick colors (bug #33480)
* irc: reset read marker of current buffer on manual /join
* irc: fix crash when signon time in message 317 (whois, idle) is invalid (too large) (bug #34905)
* irc: do not delete servers added in irc.conf on /reload (bug #34872)
* irc: remove autorejoin on channels when disconnected from server (bug #32207)
* irc: display messages kick/kill/mode/topic even if nick is ignored (bug #34853)
* irc: display channel voice notices received in channel buffer (bug #34762), display channel/op notices sent in channel buffer
* irc: auto-connect to servers created with "irc://" on command line but not other servers if "-a" ("--no-connect") is given
* perl: increment count of hash returned by API (fix crash when script tries to read hash without making a copy)
* relay: do not create relay if there is a problem with socket creation (bug #35345)
* ruby: fix crash when reloading ruby plugin (bug #34474)
[[v0.3.6]]
== Version 0.3.6 (2011-10-22)
New features::
* core: add color attribute "|" (keep attributes) and value "resetcolor" for function color() in plugin API (used by irc plugin to keep bold/reverse/underlined in message when changing color) (bug #34550)
* core: add new option weechat.look.color_basic_force_bold, off by default: bold is used only if terminal has less than 16 colors (patch #7621)
* core: add default key kbd:[F5] (`meta2-[E`) for Linux console
* core: add "inactive" colors for inactive windows and lines in merged buffers, new options: weechat.look.color_inactive_window, weechat.look.color_inactive_buffer, weechat.look.color_inactive_message, weechat.look.color_inactive_prefix, weechat.look.color_inactive_prefix_buffer, weechat.look.color_inactive_time, weechat.color.chat_inactive_line, weechat.color.chat_inactive_window, weechat.color.chat_prefix_buffer_inactive_line
* core: do automatic zoom on current window when terminal becomes too small for windows
* core: add new options weechat.look.bar_more_left/right/up/down
* core: add new option weechat.look.item_buffer_filter
* core: allow name of buffer for command /buffer clear (task #11269)
* core: add new command /repeat (execute a command several times)
* core: save and restore layout for buffers and windows on /upgrade
* core: add option "-all" in command /buffer unmerge
* core: add number in windows (add optional argument "-window" so some actions for command /window)
* core: allow buffer name in /buffer close
* core: add support of mouse: new command /mouse, new key context "mouse", new options weechat.look.mouse and weechat.look.mouse_timer_delay (task #5435)
* core: add command /cursor (free movement of cursor on screen), with key context "cursor"
* core: automatic scroll direction in /bar scroll (x/y is now optional)
* core: add optional delay for key grab (commands /input grab_key and /input grab_key_command, default is 500 milliseconds)
* core: allow plugin name in command /buffer name
* core: add context "search" for keys (to define keys used during search in buffer with kbd:[Ctrl+r])
* core: add new option weechat.look.separator_vertical, rename option weechat.look.hline_char to weechat.look.separator_horizontal
* core: add local variable "highlight_regex" in buffers
* core: add "hdata" (direct access to WeeChat/plugin data)
* core: add option weechat.look.eat_newline_glitch (do not add new line at end of each line displayed)
* core: add options "infolists", "hdata" and "tags" for command /debug
* core: add horizontal scrolling for buffers with free content (command /window scroll_horiz) (task #11112)
* api: add info "cursor_mode"
* api: add new functions key_bind(), key_unbind(), hook_focus(), hdata_new(), hdata_new_var(), hdata_new_list(), hdata_get(), hdata_get_var_offset(), hdata_get_var_type(), hdata_get_var_type_string(), hdata_get_var_hdata(), hdata_get_var(), hdata_get_var_at_offset(), hdata_get_list(), hdata_move(), hdata_integer(), hdata_string(), hdata_pointer(), hdata_time(), hdata_get_string()
* irc: allow reason for command /disconnect
* irc: allow server name for commands /die and /restart
* irc: add new info_hashtable "irc_message_split"
* irc: improve split of privmsg message (keep ctcp), add split of ison, join, notice, wallops, 005, 353 (bug #29879, bug #33448, bug #33592)
* irc: add prefix "#" for all channels on join (if no prefix given)
* logger: add option logger.file.flush_delay (task #11118)
Bugs fixed::
* core: fix freeze when calling function util_file_get_content() with a directory instead of a filename
* core: fix compilation error (INSTALLPREFIX undeclared) on OS X and when compiling with included gettext (bug #26690)
* core: display timeout for hook_process() command only if debug for core is enabled (task #11401)
* core: bufferize lines displayed before core buffer is created, to display them in buffer when it is created
* core: fix display of background color in chat area after line feed
* core: fix paste detection (problem with end of lines)
* core: fix display of paste multi-line prompt with a root input bar (bug #34305)
* core: change default value of option weechat.network.gnutls_ca_file to "/etc/ssl/certs/ca-certificates.crt"
* core: replace deprecated GnuTLS function gnutls_certificate_client_set_retrieve_function() by new function gnutls_certificate_set_retrieve_function() (GnuTLS >= 2.11.0)
* core: use dynamic buffer size for calls to vsnprintf()
* core: fix memory leak in unhook of hook_connect()
* core: fix memory leak in display of empty bar items
* core: fix input of wide UTF-8 chars under Cygwin (bug #34061)
* core: fix bugs with automatic layout (bug #26110), add support of merged buffers in layout (task #10893)
* core: fix crash when invalid UTF-8 chars are inserted in command line (bug #33471)
* core: stop horizontal bar scroll at the end of content (for bars with horizontal filling) (bug #27908)
* core: fix crash when building hashtable string with keys and values
* core: replace buffer name by window number in /bar scroll
* core: fix bugs with key "^" (bug #32072, bug #21381)
* core: fix bugs with bar windows: do not create bar windows for hidden bars
* core: fix completion bug when two words for completion are equal but with different case
* core: fix completion for command arguments when same command exists in many plugins (bug #33753)
* core: fix freeze when hook_fd() is called with a bad file/socket (bug #33619)
* core: fix bug with option weechat.look.hotlist_count_max (value+1 was used)
* api: use arguments for infolist "window" to return only one window by number
* api: fix bug with function config_set_desc_plugin() (use immediately description for option when function is called)
* scripts: fix crash with scripts not auto-loaded having a buffer opened after /upgrade (input/close callbacks for buffer not set properly)
* irc: fix display of items "away" and "lag" in root bars, refresh all irc bar items on signal "buffer_switch" (bug #34466)
* irc: fix crash on malformed irc notice received (without message after target)
* irc: add missing messages for whois: 223, 264, 343
* irc: use high priority queue for sending modes and wallchops messages
* irc: rename info_hashtable "irc_parse_message" to "irc_message_parse"
* irc: use color "default" for any invalid color in option weechat.color.chat_nick_colors
* irc: send WHO command to check away nicks only if channel was not parted
* irc: fix crash when malformed IRC message 352 (WHO) is received (bug #33790)
* irc: fix crash when command "/buffer close" is used in a server command to close server buffer during connection (bug #33763)
* irc: fix crash when /join command is executed on a non-irc buffer (bug #33742)
* irc: fix bug with comma in irc color code: do not strip comma if it is not followed by a digit (bug #33662)
* irc: switch to buffer on /join #channel if channel buffer already exists
* irc: set host for nick on each channel message and nick change (if not already set)
* irc: update host of nicks on manual /who
* irc: fix memory leak on plugin unload (free ignores)
* irc: fix memory leak in message parser (when called from other plugins like relay) (bug #33387)
* relay: fix bug with self nick when someone changes its nick on channel (bug #33739)
* relay: fix memory leak (free some parsed messages) (bug #33387)
* relay: fix memory leak on plugin load (free raw messages)
* perl: replace calls to SvPV() by SvPV_nolen() (patch #7436)
[[v0.3.5]]
== Version 0.3.5 (2011-05-15)
New features::
* core: add buffer to hotlist if away is set on buffer (even if buffer is displayed), new option weechat.look.hotlist_add_buffer_if_away (task #10948)
* core: add option "balance" in command /window (key: kbd:[Alt+w], kbd:[Alt+b])
* core: add option "swap" in command /window (key: kbd:[Alt+w], kbd:[Alt+s]) (task #11001)
* core: add option weechat.look.hotlist_buffer_separator
* core: add messages counts in hotlist for each buffer, new options: weechat.look.hotlist_count_max, weechat.look.hotlist_count_min_msg and weechat.color.status_count_{msg|private|highlight|other}
* core: add tag "notify_none" (line with this tag will not update hotlist)
* core: add optional bar name in command /bar default
* core: add new option weechat.look.highlight_tags (force highlight on tags)
* core: allow list of buffers in command /filter (exclusion with prefix "!") (task #10880)
* core: remember scroll position for all buffers in windows (bug #25555)
* core: allow relative size for command /window resize
* core: add some default keys for gnome-terminal (kbd:[Home] / kbd:[End], kbd:[Ctrl+Up] / kbd:[Ctrl+Down], kbd:[Alt+PgUp] / kbd:[Alt+PgDn])
* core: add option "memory" in command /debug
* core: add option weechat.look.read_marker_string
* core: improve display of commands lists in /help (add arguments -list and -listfull) (task #10299)
* core: improve arguments displayed in /help of commands
* core: add some chars after cursor when scrolling input line: new option weechat.look.input_cursor_scroll (bug #21391)
* core: add color "gray"
* core: add attributes for colors ("*": bold, "!": reverse, "_": underline)
* core: dynamically allocate color pairs (extended colors can be used without being added with command "/color"), auto reset of color pairs with option weechat.look.color_pairs_auto_reset
* core: allow background for nick colors (using ":")
* api: add new function config_set_desc_plugin() (task #10925)
* api: add new functions buffer_match_list() and window_search_with_buffer()
* aspell: add section "option" in aspell.conf for speller options (task #11083)
* irc: add new options irc.color.topic_old and irc.color.topic_new
* irc: add option "ssl_priorities" in servers (task #10106, debian #624055)
* irc: add modifier "irc_in2_xxx" (called after charset decoding)
* irc: replace options irc.color.nick_prefix_{op|halfop|voice|user} by a single option irc.color.nick_prefixes (task #10888)
* irc: add new options irc.look.buffer_switch_autojoin and irc.look.buffer_switch_join (task #8542, task #10506)
* irc: add new option irc.look.smart_filter_nick
* irc: add new options irc.look.color_nicks_in_nicklist and irc.look.color_nicks_in_names
Bugs fixed::
* core: fix scroll in windows with /window scroll (skip lines "Day changed to")
* core: recalculate buffer_max_length when buffer short name is changed (patch #7441)
* core: do not update hotlist during upgrade
* core: apply new value of option weechat.look.buffer_notify_default to all opened buffers
* core: prohibit names beginning with "#" for bars, proxies, filters and IRC servers (bug #33020)
* core: create default bars only if no bar is defined in configuration file
* core: fix bug with repeat of last completion ("%*"), which failed when many templates are used in completion
* core: reload file with certificate authorities when option weechat.network.gnutls_ca_file is changed
* core: rebuild bar content when items are changed in an hidden bar
* core: fix verification of SSL certificates by calling GnuTLS verify callback (patch #7459)
* core: fix crash when using column filling in bars with some empty items (bug #32565)
* core: fix terminal title when $TERM starts with "screen"
* plugins: fix memory leaks when setting buffer callbacks after /upgrade (plugins: irc, relay, xfer, scripts)
* aspell: fix spellers used after switch of window (bug #32811)
* irc: fix parsing of message 332 when no topic neither colon are found (bug with bip proxy)
* irc: fix nick color in private when option irc.look.nick_color_force is changed
* irc: fix tags for messages sent with /msg command (bug #33169)
* irc: fix memory leak when copying or renaming server
* irc: do not rejoin channels where /part has been issued before reconnection to server (bug #33029)
* irc: use nick color for users outside the channel
* irc: update short name of server buffer when server is renamed
* irc: fix local variable "away" on server buffer (set/delete it each time away is set or removed on server)
* irc: ignore join if nick is not self nick and if channel buffer does not exist (bug #32667)
* irc: fix crash when setting wrong value in option irc.server.xxx.sasl_mechanism (bug #32670)
* irc: fix crash when completing /part command on a non-irc buffer (bug #32402)
* irc: add many missing commands for target buffer (options irc.msgbuffer.xxx) (bug #32216)
* lua: fix crash when many scripts are executing callbacks at same time
* perl: fix memory leak when calling Perl functions (bug #32895)
* relay: fix crash on /upgrade when nick in irc client is not yet set
* relay: allow colon in server password received from client
* relay: do not send join for private buffers to client
* rmodifier: fix reload of file rmodifier.conf
* rmodifier: fix crash when adding rmodifier with invalid regex
* tcl: fix Tcl detection on some 64-bits systems (bug #32915)
* xfer: do not close chat buffers when removing xfer from list (bug #32271)
[[v0.3.4]]
== Version 0.3.4 (2011-01-16)
New features::
* core: add 256 colors support, new command /color, new section "palette" in weechat.conf (task #6834)
* core: add info "weechat_upgrading", signal "upgrade_ended", display duration of upgrade
* core: replace the 10 nick color options and number of nick colors by a single option weechat.color.chat_nick_colors (comma separated list of colors)
* core: add color support in option weechat.look.buffer_time_format
* core: add new option weechat.look.highlight_regex and function string_has_highlight_regex() in plugin API (task #10321)
* core: add new option weechat.look.hotlist_unique_numbers (task #10691)
* core: add property "hotlist_max_level_nicks" in buffers to set max hotlist level for some nicks in buffer
* core: add new options weechat.look.input_share and weechat.look.input_share_overwrite (task #9228)
* core: add new option weechat.look.prefix_align_min (task #10650)
* api: add priority for hooks (task #10550)
* api: add new functions: list_search_pos(), list_casesearch_pos(), hashtable_get_string(), hashtable_set_pointer(), hook_info_hashtable(), info_get_hashtable(), hook_hsignal(), hook_hsignal_send(), hook_completion_get_string(), nicklist_group_get_integer(), nicklist_group_get_string(), nicklist_group_get_pointer(), nicklist_group_set(), nicklist_nick_get_integer(), nicklist_nick_get_string(), nicklist_nick_get_pointer(), nicklist_nick_set()
* irc: add option "-server" in command /join (task #10837)
* irc: add option "-switch" in commands /connect and /reconnect
* irc: add command /notify, new options irc.look.notify_tags_ison, irc.look.notify_tags_whois, irc.network.notify_check_ison, irc.network.notify_check_whois, new option "notify" in servers, new infolist "irc_notify" (task #5441)
* irc: add new option irc.look.nick_color_force (task #7374)
* irc: add command redirection with hsignals irc_redirect_pattern and irc_redirect_command (task #6703)
* irc: add new options irc.color.nick_prefix and irc.color.nick_suffix
* irc: add new option irc.look.item_away_message
* irc: add tag "nick_xxx" in user messages
* irc: move options from network section to server section: connection_timeout, anti_flood_prio_high, anti_flood_prio_low, away_check, away_check_max_nicks, default_msg_part, default_msg_quit (task #10664, task #10668)
* irc: rename options irc.look.open_channel_near_server and irc.look.open_pv_near_server to irc.look.new_channel_position and irc.look.new_pv_position with new values (none, next or near_server)
* irc: display old channel topic when topic is unset (task #9780)
* irc: add new info_hashtable "irc_parse_message"
* irc: add signal "irc_input_send"
* rmodifier: new plugin "rmodifier": alter modifier strings with regular expressions (bug #26964)
* relay: beta version of IRC proxy, now relay plugin is compiled by default
* python: add info "python2_bin" (path to Python 2.x interpreter)
Bugs fixed::
* core: fix scroll problem on buffers with free content and non-allocated lines (bug #32039)
* core: add support of Python 2.7 in cmake and configure (debian #606989)
* core: call to function hook_config() when config option is created
* core: fix infinite loop on GnuTLS handshake when connecting with SSL to server on wrong port or server with SSL problems (bug #27487)
* core: fix data sent to callback of hook_process() (some data was sometimes missing), use a 64KB buffer for child output and send data to callback only when buffer is full
* core: fix crash when displaying groups in buffer nicklist
* core: fix bug with message "day changed to", sometimes displayed several times wrongly
* core: fix default value of bar items options (bug #31422)
* core: fix bug with buffer name in "/bar scroll" command
* core: optimize incremental search in buffer: do not search any more when chars are added to a text not found (bug #31167)
* core: fix memory leaks when removing item in hashtable and when setting highlight words in buffer
* core: use similar behavior for keys bound to local or global history (bug #30759)
* alias: complete with alias value for second argument of command /alias
* irc: differentiate notices from messages in private buffer (bug #31980)
* irc: update nick modes with message 221 (bug #32038)
* irc: fix bug with charset decoding on private buffers (decoding was made for local nick instead of remote nick) (bug #31890)
* irc: allow command /reconnect on servers that are not currently connected (bug #30726)
* irc: fix topic completion in command /topic when channel topic starts with channel name
* irc: improve nick prefixes, all modes (even unknown) are used with PREFIX value from message 005
* irc: fix crash/bug when option "addresses" for a server is unset or changed when WeeChat is connected to this server (bug #31268)
* irc: switch to next server address when IRC error is received after TCP connection but before message 001 (bug #30884)
* irc: fix bug with hostmasks in command /ignore (bug #30716)
* relay: split of messages sent to clients of irc proxy
* scripts: add missing function infolist_reset_item_cursor() in API (bug #31057)
* lua: fix crash when unloading script
* ruby: fix compilation with Ruby 1.9.2 (patch #7316)
* xfer: fix dcc chat buffer name (use irc server in name) (bug #29925)
* xfer: fix dcc file transfer for large files (more than 4 GB) on 32-bit systems (bug #31531)
* xfer: fix bug at end of file sent, sometimes transfer is still active although file was successfully sent
[[v0.3.3]]
== Version 0.3.3 (2010-08-07)
New features::
* core: use "!" to reverse a regex in a filter (to keep lines matching regex and hide other lines) (task #10032)
* core: add keys for undo/redo changes on command line (default: kbd:[Ctrl+pass:none[_]] and kbd:[Alt+pass:none[_]]) (task #9483)
* core: add new option weechat.look.align_end_of_lines
* core: add new option weechat.look.confirm_quit
* core: add new option weechat.color.status_name_ssl (task #10339)
* core: add hashtables with new functions in plugin API
* api: add function string_expand_home(), fix bug with replacement of home in paths
* irc: add new option irc.look.nick_color_stop_chars
* irc: improve lag indicator: two colors (counting and finished), update item even when pong has not been received, lag_min_show is now in milliseconds
* irc: add new options irc.look.display_host_join/join_local/quit and irc.color.reason_quit
* irc: move options weechat.color.nicklist_prefix to irc plugin
* irc: add command /wallchops, fix bug with display of notice for ops (task #10021, bug #29932)
* irc: add isupport value in servers (content of IRC message 005), with new infos: irc_server_isupport and irc_server_isupport_value
* irc: add message in private buffer when nick is back on server after a /quit
* irc: add new options irc.network.autoreconnect_delay_growing and irc.network.autoreconnect_delay_max (task #10338)
* irc: add missing commands 346, 347 (channel invite list)
* logger: use tag "no_log" to prevent a line from being written in log file
Bugs fixed::
* core: fix bug with scroll_unread: do not scroll to a filtered line (bug #29991)
* core: fix crash with hook_process() (when timer is called on a deleted hook process)
* core: fix display bug with special chars (ascii value below 32) (bug #30602)
* core: fix display bug with attributes like underlined in bars (bug #29889)
* api: fix bug with replacement char in function string_remove_color() (bug #30296)
* irc: fix bug in parser when no argument is received after command, no callback was called, and message was silently ignored (bug #30640)
* irc: fix import of certificates created by OpenSSL >= 1.0.0 (bug #30316)
* irc: fix display of local SSL certificate when it is sent to server (patch #7218)
* irc: use empty real name by default in config, instead of reading real name in /etc/passwd (bug #30111)
* irc: fix bug with command-line option "irc://" (bug #29990), new format for port and channels
* irc: fix display of messages 330 and 333 on some servers
* irc: fix bug with nick prefix "*" (chan founder) on some IRC servers (bug #29890)
* irc: fix bug with option irc.network.lag_check when value is 0 (zero)
* irc: try other nick when connecting to server and receiving message 437 (nick unavailable)
* irc: set buffer local variable "away" when opening new channel (bug #29618)
* fifo: fix bug with fifo pipe when setting fifo option to "on"
* xfer: fix bug with double quotes in DCC filenames (bug #30471)
[[v0.3.2]]
== Version 0.3.2 (2010-04-18)
New features::
* core: add new options for command /key: listdefault, listdiff and reset
* core: add new command /mute
* core: add command line option "-s" (or "--no-script") to start WeeChat without loading any script
* core: improve plugins autoload (option weechat.plugin.autoload): allow to use "*" as wildcard and "!" to prevent a plugin from being autoloaded (task #6361)
* core: add option "switch_active_buffer_previous" in command /input (task #10141)
* core: add new option weechat.look.time_format to customize default format for date/time displayed (localized date by default), add function util_get_time_string() in plugin API (patch #6914)
* core: add new option weechat.look.command_chars, add functions string_is_command_char() and string_input_for_buffer() in plugin and script API
* core: add new option weechat.look.read_marker_always_show
* api: add "version_number" for function info_get() to get WeeChat version as number
* api: add "irc_is_nick" for function info_get() to check if a string is a valid IRC nick name (patch #7133)
* api: add functions string_encode_base64() and string_decode_base64(), fix bug with base64 encoding
* api: add functions string_match(), string_has_highlight() and string_mask_to_regex() in script plugin API
* api: add description of arguments for functions hook_info() and hook_infolist()
* api: add signals "day_changed", "nicklist_group_added/removed", "nicklist_nick_added/removed"
* alias: add custom completion for aliases (task #9479)
* scripts: allow script commands to reload only one script
* irc: add new option irc.look.part_closes_buffer to close buffer when /part is issued on channel (task #10295)
* irc: add option "-open" in command /connect
* irc: add option irc.network.connection_timeout (timeout between TCP connection to server and reception of message 001)
* irc: add options irc.look.smart_filter_join and irc.look.smart_filter_quit
* irc: add option irc.look.item_channel_modes_hide_key to hide channel key in channel modes (bug #23961)
* irc: add option irc.look.item_nick_prefix
* irc: add command /map
* irc: add missing commands 276, 343
* logger: allow date format in logger options path and mask (task #9430)
* xfer: add signal "xfer_ended" (patch #7081)
Bugs fixed::
* core: remove unneeded space after time on each line if option weechat.look.buffer_time_format is set to empty value (bug #28751)
* core: use arguments for infolist "nicklist" to return only one nick or group
* core: fix bug with writing of configuration files when disk is full (bug #29331)
* core: fix infinite loop with /layout apply and bug when applying layout, sometimes many /layout apply were needed (bug #26110)
* gui: refresh screen when exiting WeeChat (to display messages printed after /quit)
* gui: fix bug with global history, reset pointer to last entry after each user input (bug #28754)
* gui: fix bug with bar background after text with background color (bug #28157)
* gui: fix bug with cursor when position is last char of terminal
* api: add missing infos in functions buffer_get_{integer|string}() and in buffer infolist
* api: fix function color() in Lua script API
* api: fix "inactivity" value when no key has been pressed since WeeChat started (bug #28930)
* api: return absolute path for info_get() of "weechat_dir" (bug #27936)
* scripts: fix bug with callbacks when loading a script already loaded
* perl: fix crash when multiplicity is disabled
* perl: fix crash when callbacks are called during script initialization (bug #29018)
* perl: fix crash on /quit or unload of plugin under FreeBSD and Cygwin (bug #29467)
* perl: fix bug with script filename when multiplicity is disabled (bug #29530)
* irc: add SASL authentication, with PLAIN and DH-BLOWFISH mechanisms (task #8829)
* irc: fix crash with SSL connection if option ssl_cert is set (bug #28752)
* irc: fix bug with SSL connection (fails sometimes when ssl_verify is on) (bug #28741)
* irc: fix bug with nicks on reconnection: try all nicks in list, even if nick used was not the first in list of nicks
* irc: fix command /list: send channel and server name given as argument, and use separate option "-re" to allow a regex
* irc: fix PART message received on Undernet server (bug #28825)
* irc: fix bug with /away -all: set or unset future away for disconnected servers (bug #29022)
* irc: fix bug with prefix "!" for mode "a" (channel admin) (bug #29109)
* irc: do not send signals "irc_in" and "irc_in2" when messages are ignored, add new signals "irc_raw_in" and "irc_raw_in2"
* irc: apply smart filter only on channels, not private buffers (bug #28841)
* irc: fix compilation with old GnuTLS versions (bug #28723)
* xfer: fix crash when purging old xfer chats (bug #28764)
[[v0.3.1.1]]
== Version 0.3.1.1 (2010-01-31)
Bugs fixed::
* irc: fix crash with SSL connection if option ssl_cert is set (bug #28752)
* irc: fix bug with SSL connection (fails sometimes when ssl_verify is on) (bug #28741)
* irc: fix compilation with old GnuTLS versions (bug #28723)
* xfer: fix crash when purging old xfer chats (bug #28764)
[[v0.3.1]]
== Version 0.3.1 (2010-01-23)
New features::
* core: add option "grab_key_command" in command /input (bound by default to kbd:[Alt+k])
* alias: new expansions for alias arguments ($n, $-m, $n-, $n-m, $*, $~) (patch #6917)
* alias: allow use of wildcards for /alias list (patch #6925)
* alias: allow /unalias to remove multiple aliases (patch #6926)
* irc: add new commands /allchan and /allserv with excluding option, commands /ame and /amsg are now aliases, new aliases /aaway and /anick
* irc: add options to customize target buffer for messages (task #7381)
* irc: add new output queue for messages with low priority (like automatic CTCP replies), high priority is given to user messages or commands
* irc: use self-signed certificate to auto identify on IRC server (CertFP) (task #7492, debian #453348)
* irc: check SSL certificates (task #7492)
* irc: add option "autorejoin_delay" for servers (task #8771)
* irc: add option to use same nick color in channel and private (task #9870)
* irc: add missing command 275 (patch #6952)
* irc: add commands /sajoin, /samode, /sanick, /sapart, /saquit (task #9770)
* irc: add options for CTCP, to block/customize CTCP reply (task #9693)
* irc: add missing CTCP: clientinfo, finger, source, time, userinfo (task #7270)
* irc: add all server options for commands /server and /connect
* irc: add arguments for command /rehash
* ruby: support of Ruby >= 1.9.1 (patch #6989)
* xfer: add color for nicks in chat
* xfer: add missing command /me (bug #28658)
* gui: add color "darkgray", add support for background with light color
Bugs fixed::
* core: fix bug with script installation on BSD/OSX (patch #6980)
* core: fix compilation under Cygwin (patch #6916)
* core: fix cmake directories: let user customize lib, share, locale and include directories (patch #6922)
* core: fix plural form in translation files (bug #27430)
* core: fix terminal title bug: do not reset it when option weechat.look.set_title is off (bug #27399)
* core: fix buffer used by some input functions called via plugin API with buffer pointer (bug #28152)
* alias: fix bug with buffer for execution of alias, when called from plugin API with function command() (bug #27697)
* alias: fix bug with arguments (bug #27440)
* irc: improve error management on socket error (recv/send)
* irc: improve mask used by command /kickban
* irc: fix nick color for nicks with wide chars (bug #28547)
* irc: fix autorejoin on channels with key
* irc: fix command /connect (options -ssl, -ipv6 and -port) (bug #27486)
* xfer: add missing charset decoding/encoding for IRC DCC chat (bug #27482)
* fifo: remove old pipes before creating new pipe
* gui: fix color "black" (bug #23882, debian #512957)
* gui: fix message "Day changed to", sometimes displayed at wrong time (bug #26959)
* gui: fix bug with URL selection in some terminals (caused by horizontal lines) (bug #27700)
* gui: use default auto completion for arguments of unknown commands
* gui: fix alignment problem for buffer name when a merged buffer is closed (bug #27617)
* gui: update hotlist when a buffer is closed (bug #27470), remove buffer from hotlist when buffer is cleared (bug #27530)
* gui: fix /input history_global_next: reset input content when last command in history is reached
* api: fix function bar_set() for python/lua/ruby (patch #6912)
[[v0.3.0]]
== Version 0.3.0 (2009-09-06)
New features::
* core: add group support in nicklist
* core: improve main loop: higher timeout in select(), less CPU usage
* core: add /reload command to reload WeeChat and plugins config files (signal SIGHUP is caught to reload config files)
* core: add new /layout command and save_layout_on_exit config option, to save/restore windows and buffers order (task #5453)
* core: add new options for completion, optional stop instead of cycling with words found (task #5909)
* core: new name for configuration files (*.conf instead of *.rc)
* core: improve /set command, new command /unset (task #6085)
* core: add new input action "set_unread_current_buffer" to set unread marker for current buffer only (task #7286)
* core: add Polish translations
* core: remove key functions, replaced by /input command
* core: add argument with buffer number/range for command "/buffer close" (task #9390, task #7239)
* core: add new command /wait (schedule a command execution in future)
* gui: new display engine, with prefix and message for each line
* gui: add new type of buffer, with free content
* gui: add tags for lines and custom filtering by tags or regex (task #7674)
* gui: add buffer merging (task #7404)
* gui: add custom bars, with custom items
* gui: add key to zoom a window (task #7470)
* gui: add keys to move into last visited buffers: kbd:[Alt+<] and kbd:[Alt+>]
* gui: come back to last visited buffer when closing a buffer
* gui: add new option scroll_page_percent to choose percent of height to scroll with kbd:[PgUp] and kbd:[PgDn] keys (task #8702)
* gui: add number of lines remaining after last line displayed in "-MORE-" indicator (task #6702)
* network: add support for more than one proxy, with proxy selection for each IRC server (task #6859)
* aspell: improve plugin: use of many dictionaries, global dictionary, real time checking (optional), fix bugs with utf-8
* irc: add irc plugin (replaces old IRC code in core) (task #6217)
* irc: add smart join/part/quit message filter (task #8503)
* irc: use of many addresses for servers (auto-switch when a connection fails), nicks are now set with one option "nicks" (task #6088)
* irc: add some colors in messages from server (for text and nicks) (task #8926)
* irc: add color decoding in title for IRC channels (task #6030)
* irc: add missing commands (328, 369)
* logger: add logger plugin with new features: backlog, level for messages to log (task #8592), level by buffer (task #6687), filename mask by buffer, option "name_lower_case" (bug #19522)
* relay: add relay plugin (network communication between WeeChat and remote application)
* xfer: add speed limit for DCC files sending (task #6178)
* xfer: add new option xfer.file.use_nick_in_filename for Xfer files (task #7140)
* plugins: add some other plugins: alias, demo, fifo, tcl, xfer
* scripts: new scripts: weeget.py (scripts manager), jabber.py (jabber/XMPP protocol), go.py (quick jump to buffers), buffers.pl (sidebar with list of buffers), iset.pl (set options interactively), weetris.pl (tetris-like game), mastermind.pl, ...
* api: add hooks: command, timer, file descriptor, process, connection, print, signal, config, completion, modifier, info, infolist
* api: new plugin API with many new functions: hooks, buffer management and nicklist, bars, configuration files, network, infos/infolists, lists, upgrade
Bugs fixed::
* core: fix nick completion bug (missing space after nick)
* gui: fix completion with non-latin nicks (bug #18993)
* gui: fix display bug with some weird UTF-8 chars (bug #19687)
* gui: fix bug with wide chars in input (bug #16356)
* gui: fix bug when switching window, scrollback is now preserved (task #7680)
* network: fix network connection for hostnames resolving to several IPs: try all IPs in list until one succeeds (bug #21473, debian #498610)
* alias: fix bug with alias, use current buffer to run commands (bug #22876)
* irc: fix lock with SSL servers when connection fails, and when disconnecting during connection problem (bug #17584)
* irc: command /whois is now authorized in private without argument (task #7482)
* irc: fix private buffer name with Irssi proxy (bug #26589)
* irc: remove kernel info in CTCP VERSION reply (task #7494)
* irc: fix mode parsing when receiving modes with arguments (bug #26793)
* scripts: do not auto-load hidden files (bug #21390)
[[v0.2.6.3]]
== Version 0.2.6.3 (2009-06-13)
Bugs fixed::
* fix GnuTLS detection (use pkg-config instead of libgnutls-config) (bug #26790)
[[v0.2.6.2]]
== Version 0.2.6.2 (2009-04-18)
Bugs fixed::
* fix bug with charset decoding (for example with iso2022jp) (bug #26228)
[[v0.2.6.1]]
== Version 0.2.6.1 (2009-03-14)
Bugs fixed::
* fix crash with some special chars in IRC messages (bug #25862)
[[v0.2.6]]
== Version 0.2.6 (2007-09-06)
New features::
* add new option "deloutq" to /server command to delete all servers messages out queues (task #7221)
* add string length limit for setup file options
* add option to align text of messages (except first lines) (task #7246)
* add paste detection, new options look_paste_max_lines and col_input_actions (task #5442)
* add Swedish quickstart guide
* add support of channel mode +u (channel user) (bug #20717)
* improve /connect command to connect to a host by creating a temporary server, add option to /server to create temporary server (task #7095)
* add "copy", "rename" and "keep" options to /server command
* allow clear of multiple selected buffers with /clear (patch #6112)
* add key for setting unread marker on all buffers (default: kbd:[Ctrl+s], kbd:[Ctrl+u]) (task #7180)
* improve command /server ant its output
* add 3 default new keys: kbd:[Ctrl+b] (left), kbd:[Ctrl+f] (right), kbd:[Ctrl+d] (delete)
* add "buffer_move" event handler to plugins API (task #6708)
* add key function "jump_previous_buffer" to jump to buffer previously displayed (new key: kbd:[Alt+j], kbd:[Alt+p]) (task #7085)
* add "%*" to completion template, to repeat last completion
* add "-nojoin" option for /connect and /reconnect commands (task #7074)
* add "scroll" option to /buffer command
* down key now saves input to history and clears input line (task #7049)
* command /away allowed when not connected to server (internally stored and AWAY command is sent when connecting to server) (task #7003)
* add argument for /upgrade command (path to binary)
* add hotlist sort with new option "look_hotlist_sort" (task #5870)
Bugs fixed::
* fix bug with log of plugin messages (option log_plugin_msg)
* fix display bug with some special chars in messages (some words were truncated on screen) (bug #20944)
* fix UTF-8 bug with color encoding/decoding
* fix crash when searching text in buffer with kbd:[Ctrl+r] (bug #20938)
* fix bug with flock() when home is on NFS filesystem (bug #20913)
* fix user modes in nicklist when ban and nick mode are received in the same MODE message (bug #20870)
* fix IRC message 333: silently ignore message if error when parsing it
* fix server option "command_delay": does not freeze WeeChat any more
* fix bug with highlight and UTF-8 chars around word (bug #20753)
* fix nick prefix display on servers that doesn't support all prefixes (bug #20025)
* fix terminal encoding detection when NLS is disabled (bug #20646)
* fix crash when sending data to channel or pv on disconnected server (bug #20524)
* fix bugs with IRC color in messages, now color codes are inserted in command line with kbd:[Ctrl+c], kbd:[Ctrl+b].. instead of %C,%B,.. (bug #20222, task #7060)
* fix bug with smart nick completion (last speakers first) when a nick is changed
* fix charset bug with channel names in status bar (bug #20400)
* fix log file when channel name contains "/" (bug #20072)
* fix bug with /topic when channel not open and topic not defined (bug #20141)
[[v0.2.5]]
== Version 0.2.5 (2007-06-07)
New features::
* add missing IRC commands (327, 378, 379) (bug #20091)
* add "%M" for completion with nicks of current server (nicks on open channels) (task #6931)
* improve key bindings: now possible to bind a key on many commands, separated by semicolon (task #5444)
* improve IRC long message split: use word boundary (task #6685)
* add cmake for weechat compile (patch #5943)
* add protocol priority for GnuTLS (patch #5915)
* add channel admin mode "!" for some IRC servers
* add /reconnect command (task #5448)
* add "-all" option for /connect and /disconnect commands (task #6232)
* improve nick completion: completion with last speakers first and self nick at the end; add option look_nick_completion_smart, enabled by default (task #5896)
* add color for input text not found in buffer history
Bugs fixed::
* fix QUOTE command: now allowed when socket is OK (even if IRC connection to server is not OK) (bug #20113)
* fix hotlist when exiting search mode: current buffer is removed from hotlist
* remove ":" for unknown IRC commands before arguments (bug #19929)
* fix "%C" completion: now completes with all channels of all servers
* fix bug with "/buffer query_name", add server and channel completion for /buffer command (bug #19928)
* fix IRC mode parsing when receiving modes with arguments (bug #19902)
* fix crash with IRC JOIN malformed message (bug #19891)
* fix bug with nick prefixes on some IRC servers (bug #19854)
* improve setup file save: now writes temporary file, then rename it (task #6847)
* fix bug with $nick/$channel/$server variables in commands
* forget current nick when user manually disconnects from server
* fix nick display in input window
* fix bug with erroneous nickname when connecting to server (bug #19812)
* fix display bugs in IRC error messages
* fix bug with iso2022jp locale (bug #18719)
* fix string format bug when displaying string through plugin script API
* fix nick completion in command arguments (bug #19590)
* fix possible crash with nick completion when a nick leaves channel (bug #19589)
* fix USER message when connecting to IRC server (patch #5835)
[[v0.2.4]]
== Version 0.2.4 (2007-03-29)
New features::
* rename log file for DCC chat (now <server>.dcc.<nick>.weechatlog)
* add current buffer in hotlist when scrolling up in buffer (task #6664)
* improve password hiding, code cleanup (bug #19229)
* add new return code in plugin API to force highlight (for message handlers only)
* add "call" option to /key command, add new key function "insert" to insert text on command line (task #6468)
* add event handler to plugin API
* add Scots quickstart guide
* add numeric argument for /clear command (buffer number) (patch #5372)
Bugs fixed::
* fix color bug with IRC messages displayed by plugins (bug #19442)
* fix topic charset, now using channel charset if defined (bug #19386)
* fix crash when closing a pv if a DCC chat is open on same nick (bug #19147)
* fix bug with channel topic after reconnection (not erased) (bug #19384)
* fix bug with explode_string / free_exploded_string when max_items > 0
* add new key (kbd:[Ctrl+r]) for interactive and incremental search in buffer history (task #6628)
* fix /topic completion when no topic set on current channel (bug #19322)
* fix bug with server buffer when "look_one_server_buffer" is ON and server buffer is moved to any number > 1 (bug #19219)
* fix /help command: displays plugin help for redefined commands (bug #19166)
* prefix "/" disabled in commands (patch #5769)
* fix completion of redefined commands removed by plugins (bug #19176)
* fix memory leaks in perl and python plugins (bug #19163)
* fix permissions on "dcc" and "logs" directories (bug #18978)
* fix crash when /away command is issued with no server connection (bug #18839)
* fix crash when closing a buffer opened on many windows
* fix freeze with SSL server when disconnecting after connection loss (bug #18735)
[[v0.2.3]]
== Version 0.2.3 (2007-01-10)
Bugs fixed::
* fix display bugs with nicklist at top/bottom when look_nicklist_separator is OFF (bug #18737)
* fix iconv problem, causing truncated words when using iso locale
* fix topic scroll when topic has multi-bytes chars
* fix compilation problem with iconv under FreeBSD
* fix bugs with charset: now decodes/encodes nicks and channels in IRC messages (bug #18716)
[[v0.2.2]]
== Version 0.2.2 (2007-01-06)
New features::
* add anti-flood option (irc_anti_flood) (task #5442)
* plugins: "add_message_handler" now accepts "*" for all IRC messages
* add keys (kbd:[F9] / kbd:[F10]) to scroll topic (task #6030)
* add auto completion with channels and filenames (task #5423)
* add option "look_nicklist_separator" (task #5437)
* add "irc_send_unknown_commands" option to send unknown commands to IRC server (OFF by default) (task #5947)
* /charset command and charset conversions now made by "charset" plugin
* add filename completion (task #5425)
* add "modifier" in plugins API
* improve /plugin command
* add date in plugin function get_buffer_data()
* add more values for config boolean values: y/true/t/1 and n/false/f/0
Bugs fixed::
* fix bug with status bar (missing refresh) when closing a buffer
* fix bug with use of first buffer for a channel if not connected to server (now allowed only for a server buffer)
* fix refresh bug with private buffer title
* fix bug with nick completion in command arguments (now uses option look_nick_completion_ignore)
* fix display bug with color for first line on screen (bug #17719)
* fix bug with set_config() function in plugins API (bug #18448)
* fix memory leak in keyboard input
* fix refresh bug when changing config options if window is split
* add space between chat and nicklist when position is "right" (bug #17852)
* fix bug with DCC SEND when filename begins with "~"
* fix display bug in status bar, wrong length when using UTF-8
* fix bug with ignore: now any IRC command is allowed
* fix crash with kbd:[Ctrl+t] (transpose) and one char on line (bug #18153)
* fix bug on ignore with "mode" IRC command (bug #18058)
* fix crash when loading ruby script if file does not exist, with Ruby >= 1.9 only (bug #18064)
* fix some portability bugs (patch #5271)
* fix iconv detection for BSD (patch #5456)
* fix typo in configure.in (bash specific test) (patch #5450)
* mode changes with /op, /deop, /voice, /devoice, /halfop, /dehalfop are now sent in one mode command to server (task #5968)
* fix bug with /alias and arguments (like $1), now text after argument(s) is used (bug #17944)
* fix minor display bug with special chars on some arch like PPC
[[v0.2.1]]
== Version 0.2.1 (2006-10-01)
New features::
* command "/away -all" now allowed when not connected to current server
* new signals handled: SIGTERM and SIGHUP (received when terminal is closed): clean WeeChat quit (send quit to irc servers then quit WeeChat)
* add some new default key bindings for existing keys (for some OS)
* command /key now OK with one argument (key name): display key if found
* add current channel completion for /ctcp command
* values yes/no accepted (as on/off) for config boolean values (task #5454)
* add server default notify level (set by /buffer notify on server buffer) (task #5634)
* add special vars $nick/$channel/$server for server_command, alias and plugin command handlers
* add arguments $1,$2,..,$9 and $* for alias (task #5831)
* add hotlist in session file when using /upgrade command (task #5449)
Bugs fixed::
* fix crash for DCC receiver when resuming a file (bug #17885)
* fix DCC error for sender when receiver cancels DCC (bug #17838)
* fix random crash with /upgrade command (error when loading buffers)
* fix buffer search by server/channel: now if only channel is specified, a channel of another server can be found
* fix highlight for DCC, invite and notice: when a window is displaying buffer, there's no highlight
* fix bug with CTCP VERSION sent on channels (bug #17547)
* fix bugs in get_buffer_data() which breaks the retrieval of buffer content (perl, lua)
* fix nicklist display bug when top/bottom (not enough lines) (bug #17537)
* fix bug with auto-rejoin of keyed channels (bug #17534)
* add default nick completion when line starts with "//" (bug #17535)
* fix crashes with /buffer and /charset commands when not connected to any server (bug #17525)
* fix nick refresh problem with unrealircd specific modes: chan owner (~) and chan admin (&) (bug #17340)
[[v0.2.0]]
== Version 0.2.0 (2006-08-19)
New features::
* add "C"lear option on IRC raw buffer
* IRC raw buffer now uses join/part prefix with color to display messages
* add send of "quit" message to server when using /disconnect
* add "%m" for completion with self nick (on current server)
* add missing IRC commands (310, 326, 329, 338)
* improve DCC speed (up to x5 on LAN) by forking for DCC files and a new option "dcc_fast_send" (does not wait for ACK) (task #5758)
* add "look_save_on_exit" option (patch from Emanuele Giaquinta)
* add configure option for doc XSL prefix (bug #16991)
* add new functions in plugin/script API: get window info, get buffer info, get buffer content
* add Polish, Russian and Czech quickstart guide
* add color encoding for some commands like /me
* add aspell plugin
Bugs fixed::
* fix "wallops" command when received, now displayed by WeeChat (bug #17441)
* fix /wallops command (now many words are correctly sent)
* fix command 348 (channel exception list, received by /mode #chan e)
* add missing modes (channel & user), now all modes are allowed (bug #16606)
* fix DCC restore after /upgrade (order is now correctly saved)
* fix away after server disconnection (now away is set again when reconnecting) (bug #16359)
* fix DCC file connection problem (connection from receiver to sender)
* fix crash when purging DCC with high number of DCC (> window size)
* fix completion for command handlers (now empty completion_template means nick completion, "-" string means no completion at all)
* fix nick alignment problem when look_nickmode is off
* add generic function for incoming numeric IRC commands (bug #16611)
* fix crash when doing "/part something" on a server buffer (bug #17201)
* charsets are now checked when set by /charset command
* fix crash on DCC buffer under Darwin 8 (bug #17115)
* fix bug with spaces in script names (bug #16957)
* fix random crash when "MODE #chan -l" is received
* fix bug in IRC parser (random crash with malformed IRC messages)
* fix refresh bugs when terminal is resized: too many refreshs, display bug with split windows
* case ignored for channel names in charset options (bug #16858)
* fix crash when setting look_one_server_buffer to ON (bug #16932)
* fix display bug with special char (bug #16732)
* rename plugins names (remove "lib" prefix in name)
* fix crash when closing DCC/raw buffer if 2 are open (bug #16808)
* fix crashes with DCC chat remove/purge on DCC view (bug #16775)
* fix bug with connection to bnc (bug #16760)
* command /save now writes plugins options (~/.weechat/plugins.rc)
* fix crash with register() function in plugin scripts (bug #16701)
* fix random crash at exit (/quit or /upgrade) with split windows
[[v0.1.9]]
== Version 0.1.9 (2006-05-25)
New features::
* add backtrace when WeeChat crashes, log file automatically renamed
* add new key to find previous completion (kbd:[Shift+Tab] by default)
* add Russian translations (thanks to Pavel Shevchuk)
* add German doc (thanks to Frank Zacharias)
* add missing IRC commands (006, 007, 290, 292, 310, 379, 437, 974)
* add new option to customize input prompt
* add nick modes
* add hostnames associated to nicks (available for /ban completion)
* add "+p" mode for channels, fix mode display in status bar
* add nick alignment options
* add keyboard handler to plugin API
* improve script plugin loader
* add hostname/IP option for connection to server
* add /setp command (set plugin options)
* aliases are executed before WeeChat/IRC commands, add /builtin command
* add /cycle command, /part command does close buffer any more
Bugs fixed::
* fix /squery command (message sent to server, now OK with more than two arguments)
* fix /alias command (with an alias name, display content)
* improve Lua detection (bug #16574)
* add lock for log file (~/.weechat/weechat.log), only one WeeChat process can use this file (bug #16382)
* fix crash with malformed UTF-8 strings
* fix crash with ncurses color when too many colors defined in ncurses (bug #16556)
* fix bug with long outgoing IRC messages (> 512 bytes) (bug #16358)
* fix Ruby crash when handler does not return OK or KO (bug #16552)
* fix UTF-8 display bug with chars using more than one cell on screen (bug #16356)
* fix display bug with DCC file size when > 1 GB
* fix refresh bug (deadlock in curses) when terminal is resized (bug #16542)
* fix nicklist sort bug
* fix crash when multiple pv have same name: now it's forbidden and pv buffer is not renamed (when a nick changes) if another exists with same name (bug #16369)
* command /clear [-all] now clears hotlist
* fix crash after /upgrade if a line in history is empty (bug #16379)
* fix many crashes with DCC chat (bug #16416)
* fix commands 332, 333 (/topic now OK when channel is not opened)
* remove color encoding and charset conversion for commands (only allowed in text sent to channel/private)
* fix /names command: now displays result when not on a channel
* fix refresh bug (too many refresh) when terminal is resized
* fix nicklist display bugs when on top or bottom of chat window
* fix --disable-plugins option in configure script
* fix high CPU usage when running under a Screen that has been killed
[[v0.1.8]]
== Version 0.1.8 (2006-03-18)
New features::
* improve alias completion (now uses target command for completion)
* add missing IRC command (487)
* add inactivity time, available for plugins via get_info("inactivity")
* add keys kbd:[Alt+Home] / kbd:[Alt+End] to scroll top/bottom, kbd:[Alt+F11] / kbd:[Alt+F12] to scroll nicklist top/bottom
* add special names for plugin message handlers: weechat_pv, weechat_highlight, weechat_ctcp, weechat_dcc
* add IRC raw data buffer (new key: kbd:[Alt+j], kbd:[Alt+r])
* add new plugins functions: add_timer_handler(), remove_timer_handler(), remove_infobar()
* plugin messages handlers now called when message is ignored (by /ignore)
* new behavior for messages ignored by a message handler: now WeeChat executes standard handler, treating message as "ignored"
* many commands allowed for aliases
* many commands allowed when connecting to server
* add Lua script plugin
* add functions in plugins API: get_server_info(), free_server_info(), get_channel_info(), free_channel_info(), get_nick_info(), free_nick_info()
* add option "look_nick_complete_first" (patch from Gwenn)
* add option "look_open_near_server" (patch from Gwenn)
* add new scroll keys for a few lines up/down (default: kbd:[Alt+PgUp] / kbd:[Alt+PgDn]) (patch from Pistos)
* add new option "irc_away_check_max_nicks" to disable away check on channels with high number of nicks (patch from Gwenn)
* add new command line argument for setting WeeChat home dir (-d or --dir) (patch from Gwenn)
* add option "irc_show_away_once", to show away message only once in pv
* add partial Hungarian translations
Bugs fixed::
* improve Ruby plugin
* fix /set command when internal server name contains one or many dots
* fix get_info plugin API function when no server at all is opened
* fix display bug when top of buffer is displayed and first line is removed (according to "history_max_lines" setting)
* fix /mode command output
* fix completion problem in private with nicks
* script plugins now load scripts in WeeChat system share directory
* /msg command does not open any buffer any more
* fix crash when using global history (when older entry is removed)
* fix display bug with /kill command
* fix bug with /upgrade and servers buffer
* fix bug with get_dcc_info() plugin interface function
* fix bug with charset in infobar highlights
* fix bug with buffer detection in plugins/scripts commands
* fix bug with /history command
[[v0.1.7]]
== Version 0.1.7 (2006-01-14)
New features::
* remove "irc_default_msg_away" setting, for RFC 2812 conformity (/away command without argument only removes away status), new values for "irc_display_away" (off, local, channel)
* replace Texinfo doc by XML Docbook
* add color for window separators (when split)
* add completion system for plugins/scripts commands
* add charset by server and channel, new command: /charset
* add Ruby script plugin
* add /upgrade command
* add ETA (Estimated Time of Arrival) for DCC files
* /nick command is now allowed when not connected to server
* add server/channel argument to /buffer command for jumping to buffer
* add new keys for switching to other windows: kbd:[Alt+w], kbd:[Alt+Arrow]
* add new keys for scrolling to previous/next highlight: kbd:[Alt+p] / kbd:[Alt+n]
* add "read marker": an indicator for first unread line in a server or channel buffer (new key kbd:[Alt+u] to scroll to marker)
* new window management: custom size for windows, auto resize when terminal is resized
* add /history command
Bugs fixed::
* fix msg command (now allowed in private buffer with "*" as target)
* fix refresh bug with Solaris when term size is changed
* fix plugins autoload
* fix display bug in chat window when a message length equals to window width
* fix infinite loop when resizing term to small size
[[v0.1.6]]
== Version 0.1.6 (2005-11-11)
New features::
* new color management system, IRC colors are now correctly displayed and can be removed by new options irc_colors_receive and irc_colors_send
* add setting for having one server buffer for all servers (look_one_server_buffer)
* add setting for ignoring some chars when completing nicks
* signal SIGPIPE is now ignored
* add partial match for highlights
* add dcc_own_ip and dcc_port_range settings
* full UTF-8 support, auto-detection of UTF-8 usage (locale)
* add "Day changed to [date]" message when day changes
* new plugin interface, rewritten from scratch: now loads dynamic C library, and perl/python are script plugins
* log options (for server/channel/private) can now be set while WeeChat is running
* add channel modes +e and +f
* add some missing IRC commands, fix command 367
* add colors for input buffer and current channel of status bar
* add online help for config options (with /set full_option_name)
* enhanced "smart" hotlist, with names (new options: look_hotlist_names_{count|level|length})
Bugs fixed::
* fix scroll problem when one line is bigger than screen size
* fix IRC message parser bug
[[v0.1.5]]
== Version 0.1.5 (2005-09-24)
New features::
* add /ame command (send CTCP action to all channels of all connected servers)
* add setting "irc_notice_as_pv" to see notices as pv
* add nicks colors in setup file
* add some missing IRC commands
* add /ignore and /unignore commands
* signal SIGQUIT is now ignored
* jump to next server now saves current channel buffer for each server
* add keys kbd:[Ctrl+Up] / kbd:[Ctrl+Down] to call previous/next command in global history (common to all buffers)
Bugs fixed::
* fix DCC bug: delete failed file only if really empty (on disk)
* fix IRC message parser bug
* fix scroll problem (screen moving when scrolling and new line displayed)
* fix infinite loop when scrolling back and displaying long lines
* fix crash when closing a buffer used by more than one window
* fix DCC display bug (now decodes string according to charset)
* fix bug with strings comparison (str[n]casecmp) and some locales (like Turkish), now using ASCII comparison (thanks to roktas)
* fix refresh bug when one line is bigger than screen size
* fix look_nicklist_min_size and look_nicklist_max_size options
* fix refresh bug when changing channel modes
[[v0.1.4]]
== Version 0.1.4 (2005-07-30)
New features::
* join and part/quit prefixes (arrows) now displayed with different colors
* add "irc_highlight" setting, to get highlight with any word
* add /amsg command (send text to all channels of all connected servers)
* add color for private in hotlist (different than color for highlight)
* add DCC resume and timeout
* add function for Perl/Python to get DCC list
* new keyboard management: keys are setup in config file, add new command /key, add some new default keys, kbd:[Alt+k] is used to grab key (useful for /key command)
* add seconds in infobar time (optional thanks to new setting)
* add auto-prefix with "#" for channels (if no prefix found), with /join command
Bugs fixed::
* fix auto-rejoin for channels with key
* fix /ctcp command (now any command/data allowed)
* fix SIGSEGV handler (now write a core file by aborting program)
* fix statusbar & infobar background refresh problem with some systems
* fix FIFO pipe (command now authorized on a buffer not connected to an IRC server)
* topic completion now decodes UTF-8 string
* fix bug with IRC URL on command line (irc://)
* fix some curses refreshs
[[v0.1.3]]
== Version 0.1.3 (2005-07-02)
New features::
* proxy support (http, socks4, socks5) with authentication (http, socks5) and ipv6 support (client to proxy)
* add completion for config option (with /set command)
* commands from users outside channel now authorized (if special user or channel without "n" flag)
* add IPv6 support
* kill command now received and displayed
* add SSL support
* channel notify levels are saved in config file (new option "server_notify_levels" for server sections)
* part message now accepts %v (replaced by WeeChat version), like quit message
Bugs fixed::
* errors while loading perl scripts are now displayed in server buffer (instead of current buffer)
* in python scripts, all messages written in stdin and stderr are redirected in server buffer
* fix a filename error while loading a python script manually
* fix plugins print() and prnt() functions: now OK for writing on server buffers
* fix color problem with new libcurses version
* fix crash when using kbd:[Alt+s] or kbd:[Alt+x] on DCC buffer (kbd:[Alt+d])
* fix startup crash when config file (~/.weechat/weechat.rc) is not found
* improve Perl/Python libs detection for ./configure script
[[v0.1.2]]
== Version 0.1.2 (2005-05-21)
New features::
* add Python plugin support, improve Perl interface (and now Perl/Python libraries are checked by configure script)
* add nicklist scroll keys (kbd:[Alt+Home] / kbd:[Alt+End] / kbd:[Alt+PgUp] / kbd:[Alt+PgDn] or kbd:[F11] / kbd:[F12])
* add transfer rate for DCC files
* add "-all" option for /nick command
* buffers timestamp can now be changed (new option in config file)
* WeeChat now OK under *BSD and Mac OS X
* add missing IRC commands (307, 341, 485, 671)
Bugs fixed::
* fix nicklist sort
* fix crash when purging old DCC
* fix crash with 64-bits arch (like AMD64) when converting UTF-8
[[v0.1.1]]
== Version 0.1.1 (2005-03-20)
New features::
* add nicks count for channel buffers
* add FIFO pipe for remote control
* add crash dump when WeeChat receives SIGSEGV (Segmentation fault)
* add new display engine: doesn't cut words at end of lines
* add DCC send and DCC chat
* add /halfop & /dehalfop commands, fix halfop display bug in nicklist
* add /ban, /unban and /kickban commands
* add Spanish translations
* add --irc-commands and --weechat-commands command line options
* connection to IRC server is now made by child process (non blocking)
* add support for UnrealIrcd ("~" for chan owner, "&" for chan admin)
* new key for window switch (now: kbd:[F5] / kbd:[F6] = switch buffer, kbd:[F7] / kbd:[F8] = switch window)
* on server buffer, only server messages are logged
* improve /help command output
* plugins messages are logged with new config option (log_plugin_msg)
Bugs fixed::
* fix /kick command
* fix /invite command (and now invite requests are displayed)
* fix /buffer close command (now OK when disconnected from server)
* fix display bugs when many windows are opened
[[v0.1.0]]
== Version 0.1.0 (2005-02-12)
New features::
* improve /window command: now split and merge are OK
* away nicks are now displayed with another color (new option: "irc_away_check")
* add away indicator in status bar
* add lag indicator (and auto-disconnect after a delay if important lag)
* improve completion: now completes commands arguments (IRC and internal), when only one completion matches, completion mechanism is stopped (to complete command argument for example)
* improve /set command: empty strings are allowed, new colors, server options can be changed while WeeChat is running
* add default away/part/quit messages in config file
* new [irc] section in config file, move option "look_display_away" to "irc_display_away"
* server messages & errors are all prefixed (by 3 chars, like "-@-")
* add new options for charset (UTF-8 support): look_charset_decode, look_charset_encode and look_charset_internal
Bugs fixed::
* fix many memory leaks
* fix colors bug: remove "gray" color (replaced by "default"), colors are OK when terminal has white (or light) background
* fix crash when resizing terminal to small size
* fix crash when multiple servers and big messages received from server
* fix crash when closing some private buffers
* fix crash when unknown section with option(s) in config file
* fix /op, /deop, /voice, /devoice (now OK with many nicks)
* fix /me command (now OK without parameter)
* fix /away command (now OK if not away)
* logs are now disabled by default (server/channel/private)
[[v0.0.9]]
== Version 0.0.9 (2005-01-01)
New features::
* auto-reconnection to server (new options: server_autoreconnect (on/off), server_autoreconnect_delay (in seconds))
* new command "/buffer close" (close any server/channel/private buffer)
* new keys: kbd:[Ctrl+a] (home), kbd:[Ctrl+e] (end), kbd:[Ctrl+w] (same as kbd:[Ctrl+Backspace]), kbd:[Alt+s] (switch to server buffer), kbd:[Alt+x] (switch to first channel of next server)
* add new config option: "server_command_delay" (delay in seconds after startup command for each server)
Bugs fixed::
* fix major bug when socket is closed by server (100% CPU usage), and disconnections are now OK (all channels are "closed", history is still visible, and buffer will be used again if reconnection to server)
* option "look_remove_colors_from_msgs" is now working
* fix display of nick mode changes
* fix /notice command (and display when received from server)
[[v0.0.8]]
== Version 0.0.8 (2004-10-30)
New features::
* nickserv passwords hidden (new config option: log_hide_nickserv_pwd on/off)
* auto-rejoin channels when kicked (new config option: server_autorejoin on/off)
* add IRC::command function for Perl scripts
* /buffer command developed (buffers list, move and notify)
* logging buffers to disk (server/channel/private according to user preferences)
* add config option "look_display_away" to announce away in channels
* DCC file receive OK (kbd:[Alt+d] for DCC view)
* add key for redrawing terminal (kbd:[Ctrl+l])
* add key for clearing hotlist (kbd:[Alt+r])
Bugs fixed::
* fix /kick command: now OK with many words as reason
* fix bug when adding alias with same name as other
* fix crash when resizing terminal to very small size
* "-MORE-" message is now erased when switching to another buffer
* /query command now reopens private buffer if already opened
[[v0.0.7]]
== Version 0.0.7 (2004-08-08)
New features::
* new "col_status_delimiters" config option
* add command /buffer , buffers ordered by number, auto-jump to active buffers (kbd:[Alt+a]), jump to buffers by number (kbd:[Alt+0...9])
* add command /window, split terminal horizontally/vertically
* unique color for each nick (based on nickname)
* add history limit (text buffer and commands)
Bugs fixed::
* action messages are now considered as messages, not crappy joins/parts
* fix display bug when nicklist is displayed at bottom of screen
* replace --enable-debug with --with-debug option for ./configure
[[v0.0.6]]
== Version 0.0.6 (2004-06-05)
New features::
* improve channel highlight (priority to message vs join/part)
* add command /query (starts private conversation)
* add IRC messages 476, 477
Bugs fixed::
* fix bug when opened private win and remote user changes his nick
* /mode command is now OK and channel flags are displayed in status bar
* fix display bug (text was blinking when scrolling)
* CTCP Version reply is now in English only and doesn't show host (security reason)
[[v0.0.5]]
== Version 0.0.5 (2004-02-07)
New features::
* /set command to modify config options when WeeChat is running
* URL command line parameter to connect to server(s)
* new Perl script function to display message in info bar ("IRC::print_infobar")
* info bar highlight notifications
* add info bar timestamp in config ("look_infobar_timestamp")
* add info bar (optional, "look_infobar" to enable it, "on" by default)
* add -c (or --config) command line parameter to see config file options
Bugs fixed::
* fix look_nicklist config option, now enables/disables nicklist
* secure code to prevent buffer overflows and memory leaks
* fix QUIT IRC command: now sent to all connected servers (not only current)
* fix crash with /oper command
* for default config file, nick is now based on un*x username
* fix crash when config file cannot be written
* add highlight on action messages
[[v0.0.4]]
== Version 0.0.4 (2004-01-01)
New features::
* add Perl plugin
* debug messages can be enabled via ./configure --enable-debug option
Bugs fixed::
* fix switch to private buffer
* add highlight when our nick is written in a channel/private window
* catch kbd:[Ctrl+c] (ignored)
[[v0.0.3]]
== Version 0.0.3 (2003-11-03)
New features::
* add ./configure script to build WeeChat
* add French translations
* add new IRC commands: stats, service, squit, motd, lusers, links, time, trace, admin, info, servlist, squery, who, whowas, die, summon, users, wallops, userhost, ison, ctcp ping
Bugs fixed::
* for sort of nicks (op, halfop, voice, other)
* fix problem with "353" IRC message (nicklist)
* fix problem when nick is truncated by server
* fix crash when entering text without any server connection
* fix crash when /set command is executed
* fix display bug (text was blinking when scrolling)
* code cleanup
[[v0.0.2]]
== Version 0.0.2 (2003-10-05)
New features::
* add commands /rehash and /restart
* and command and auto-join channels when connected to server
* new commands for alias: /alias, /unalias (new section in config file)
* config is now saved automatically when quitting WeeChat, add /save command
* new commands for servers: /server, /connect, /disconnect
* add autoconnect flag for each server in config file
* add "look_set_title" option in config file
* term window title is modified with WeeChat name and version
* CTCP version returns more info (about OS)
Bugs fixed::
* fix nicklist display bug
* fix crash when sending command which can only be received
[[v0.0.1]]
== Version 0.0.1 (2003-09-27)
New features::
* ncurses GUI with color output
* multi-servers
* channel windows, with nicklist (position: top, bottom, left or right)
* private windows
* IRC commands: away, ctcp, deop, devoice, invite, join, kick, kill, list, me, mode, msg, names, nick, notice, op, oper, part, ping, pong, quit, quote, topic, version, voice, whois
* WeeChat commands: clear, help, set (partial)
* many config options
* log file (~/.weechat/weechat.log)
* nicklist can be moved on top, bottom, left or right of window
|