forked from eiskaltdcpp/eiskaltdcpp
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ChangeLog_ru.txt
783 lines (768 loc) · 68.3 KB
/
ChangeLog_ru.txt
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
--- 2.3.0 2013-09-xx ---
*** common changes ***
*** eiskaltdcpp-qt ***
*** eiskaltdcpp-gtk ***
*** eiskaltdcpp-daemon ***
*** eiskaltdcpp-cli ***
--- 2.2.8 2013-06-23 ---
*** common changes ***
* Исправлена сборка с Boost >= 1.50. Прекращена поддержка Boost < 1.39.
* Добавлена поддержка Lua 5.1.x (используется по умолчанию) и Lua 5.2.x.
* Локальная копия miniupnpc обновлена до версии 1.7. Сборка со старыми
версиями miniupnpc (1.5.x и 1.6.x) все еще поддерживается.
* Исправлена проблема подключения к хабу, в доменном имени которого есть IPv6
адрес. Пока у нас нет поддержки IPv6, hints.ai_family = AF_UNSPEC приводит
к проблемам с подключением. [Спасибо Jan Vidar Krey]
* Изменена логика поисковых интервалов: теперь минимальный поисковый интервал
может быть равен нулю. [Спасибо Dmitry Arkhipov]
* Исправлены имена файлов для кэша списков публичных хабов: теперь эти файлы
сохраняются и загружаются корректно.
* Теперь мьютексы из стандарта C++11 используются в *nix системах. Пока MinGW
не поддерживает этот код, в сборке для MS Windows используются мьютексы из
Boost. Добавлена опция DO_NOT_USE_MUTEX для cmake (по умолчанию отключена),
которая включает старый алгоритм: в Haiku и WINE еще не реализованы мьютексы,
поэтому данная опция необходима для них. Также эта опция используется для
сборки в Mac OS X.
* Добавлена опция для сохранения в очереди незавершенных загрузок файл-листов
при перезапуске программы. (По умолчанию отключено, т.к. это не очень
полезно: пользователь может уйти с хаба или изменить CID и тогда файл-лист
будет в очереди загрузок до ручного удаления.)
* Добавлена опция для выбора обработчика MIME типов. Используйте поле
MimeHandler в файле DCPlusPlus.xml, чтобы задать его вручную.
* Исправлена ошибка переполнения буфера при выходе из программы. Проблема
возникала из-за попытки чтения данных из закрытого UDP сокета.
* Благодаря Helder Cesar доступен португальский перевод.
* Некоторые улучшения в сборке под Haiku.
* Небольшой рефакторинг кода.
*** eiskaltdcpp-qt ***
* Исправлено открытие списков публичных хабов из кэша.
* Добавлен индикатор прогресса в виджет поиска.
* Добавлен пункт меню "Сравнить все списки".
* Добавлена кнопка "Сравнить очереди" в виджет просмотра шары.
* Улучшена обработка магнет-ссылок из аргументов командной строки.
[Спасибо Dorian Scholz]
* Небольшое улучшение в виджете загрузок: в диалоге сохранения по умолчанию
предлагается текущее имя файла.
* Добавлен новый QtScript для панели инструментов: NowPlaying Qmmp Script.
[Спасибо Gustavo Alvarez]
* Исправлено контекстное меню в виджете передач. (Копирование информации для
выбранные элементов работало неправильно.)
* Обновлен список поддельных версий клиента в настройках избранных хабов.
* Добавлено меню для быстрого подключения к избранным хабам. (См.
соответствующую кнопку на панели инструментов.)
* Исправлена обработка смайликов в чатах.
* Исправлено определение пользователей на хабах. (Иногда программа брала
описание пользователя с другого хаба.)
* Множество исправлений для пользовательских команд.
*** eiskaltdcpp-gtk ***
* Исправлено открытие списков публичных хабов из кэша.
* Добавлен индикатор прогресса в виджет поиска.
* Добавлен пункт меню "Сравнить все списки".
* Исправлен ряд предупреждений об использовании устаревших функций с последними
версиями библиотек Gtk+ и GLib.
* В виджете просмотра списка файлов парсинг файл-листов вынесен в отдельный
поток, что решило проблему с кратковременным фризом интерфейса при открытии
больших файл-листов.
* Добавлены пункты меню для открытия частичных списков файлов.
* Добавлена возможность настройки исключений файлов в диалоге настроек.
(В предыдущих версиях программы это можно было настроить только ручным
редактированием DCPlusPlus.xml.)
* Улучшен внешний вид диалога настроек.
* Добавлена опция для отображения списка пользователей на виджете хаба слева.
* Улучшен виджет передач: теперь вся информация находится в отдельных столбцах,
так что некоторые из них могут быть скрыты при необходимости.
*** eiskaltdcpp-daemon ***
* Добавлены методы JSON-RPC: hub.getuserinfo, hub.getusers, hub.listfulldesc,
queue.matchlists.
* Обновлены методы JSON-RPC: hub.pm, show.ratio.
* Синхронизированы доступные методы XML-RPC и JSON-RPC.
* Исправлены возможные падения программы в методе magnet.add.
* Исправлены зависания программы при выходе, когда активные хабы находятся в
отключенном состоянии.
* Добавлены опции командной строки: --syslog, --log=<file>.
* Обновлена встроенная библиотека mongoose.
* Обновлена встроенная библиотека jsonrpc-cpp.
* Дополнительные исправления в jsonrpc-cpp:
исправлена ошибка сегментации при остановке mongoose, если он не был
запущен.
* Дополнительные исправления в jsoncpp:
- все исходные файлы объединены в три файла (.cpp и .h)
- добавлена конвертация из string в int/uint/int64/uint64/float/double
* Теперь eiskaltdcpp-daemon готов для ежедневного использования через JSON-RPC.
* XML-RPC не рекомендуется, но все еще поддерживается.
*** eiskaltdcpp-cli ***
* Добавлены новые методы JSON-RPC: hash.pause, hash.status, hub.getuserinfo,
hub.getusers, hub.listfulldesc, methods.list, queue.getsources,
queue.matchlists.
* Теперь eiskaltdcpp-cli-jsonrpc готов для ежедневного использования.
* eiskaltdcpp-cli-xmlrpc не поддерживается.
--- 2.2.7 2012-05-29 ---
*** common changes ***
* Обновлена встроенная копия библиотеки jsonrpc-cpp.
* Добавлена автоматическая пауза для элементов очереди загрузок в случае, когда
целевой каталог или временный целевой каталог недоступен [например, каталог
отмонтирован]. (Опция CheckTargetsPathsOnStart в конфиге)
* Добавлена опция INSTALL_RUNTIME_PATH для cmake.
(По умолчанию отключено, см. файл INSTALL)
* Рефакторинг исходного кода.
*** eiskaltdcpp-qt ***
* Прекращена поддержка Qt < 4.6.0.
* Корректное сохранение состояний заголовков таблиц.
* Исправлено размытие иконки программы в D-Bus уведомлениях в Ubuntu Unity.
* Добавлены некоторые опции в диалог настроек:
ALLOW_UPLOAD_MULTI_HUB, USE_ADL_ONLY_OWN_LIST.
* Исправлены проблемы, добавленные в версии 2.2.5:
- Исправлена сборка с GCC >= 4.7.
- Исправлено падение программы при запуске (проблема присутствовала только в
сборках с GCC >= 4.7). [Спасибо Pino Toscano]
- Исправлена сборка с отключенной поддержкой aspell.
- Исправлены действия пунктов главного меню "Скрыть последнее статусное
сообщение" и "Скрыть статистику пользователей".
- Исправлена индикация иконкой в трее о новых непрочитанных сообщениях.
- Исправлено падение при выходе.
*** eiskaltdcpp-gtk ***
* Поиск альтернатив всегда запускается в новом виджете.
* Добавлены некоторые опции в диалог настроек:
ALLOW_UPLOAD_MULTI_HUB, ALLOW_SIM_UPLOADS, LOG_FILE_MAIN_CHAT,
LOG_FILE_PRIVATE_CHAT, LOG_FILE_DOWNLOAD, LOG_FILE_UPLOAD,
LOG_FORMAT_POST_FINISHED_DOWNLOAD, LOG_FILE_FINISHED_DOWNLOAD,
REPORT_ALTERNATES, USE_ADL_ONLY_OWN_LIST
* Добавлено сохранение последнего типа поиска в поисковом виджете.
* Добавлен перехват сигналов SIGSEGV, SIGABRT, SIGBUS и SIGTERM.
* Добавлены команда чата и отжимаемая кнопка для отключения чата в виджете хаба.
* Добавлены некоторые опции в диалог настроек избранного хаба: отключение чата и
внешний IP.
* Изменен алгоритм действий по левому клику мыши на значке в системном трее.
Теперь используется такое же поведение как и в Qt интерфейсе.
* В виджете просмотра списка файлов парсинг файл-листов вынесен в отдельный
поток, что решило проблему с кратковременным фризом интерфейса при открытии
больших файл-листов.
*** eiskaltdcpp-daemon ***
* Синхронизированы доступные методы XML-RPC и JSON-RPC.
* Обновлены методы JSON-RPC: methods.list, show.ratio
* Исправлены опции командной строки "-c" и "-l": они не работали когда
аргумент завершался не разделителем.
* JSON-RPC теперь работает используя встроенную библиотеку mongoose.
(https://code.google.com/p/mongoose/)
--- 2.2.6 2012-02-20 ---
*** common changes ***
* Благодаря Konstantinos Georgokitsos доступен греческий перевод.
* Благодаря Stefano Simoncelli доступен итальянский перевод.
* Запрещена перезапись внешнего IP при включенном DHT.
* Добавлена поддержка чтения и записи полного дерева TTH в атрибуте файла.
Реализация совместима с FlylinkDC++. Не все файловые системы позволяют хранить
данные необходимого размера. При невозможности записи атрибутов программа
обрабатывает файлы как и прежде.
*** eiskaltdcpp-qt ***
* Рефакторинг исходного кода. Исправлены регрессии, добавленные в версии 2.2.5.
* Исправлено падение программы при закрытии вкладки хаба, когда есть открытые
вкладки приватных чатов. (Проблема была добавлена в версии 2.2.5)
* Отображение количества выделенных элементов в виджете просмотра списка файлов.
* Небольшие улучшения в панели активных передач.
* В контекстное меню на иконке в трее добавлен пункт быстрой настройки
ограничений скорости передач.
* Используется перехват сигналов SIGSEGV, SIGABRT, SIGBUS и SIGTERM для
освобождения разделяемой памяти перед выходом из программы.
(Не актуально в MS Windows)
* Добавлена возможность открытия скачанного файла двойным щелчком в виджете
завершенных передач. [Спасибо Viranch Мехта]
* Исправлено добавление элементов в список результатов поиска, когда
используется сортировка по количеству источников.
* Добавлена опция выбора действия при изменении активных скриптов (QtScript):
не делать ничего, спросить пользователя или перезагрузить скрипты.
* Исправлена загрузка больших файл-листов при включенном ограничении на
максимальный размер файла: теперь такие файл-листы игнорируются.
*** eiskaltdcpp-gtk ***
* Улучшена поддержка Gtk3.
* Добавлен переключатель языка в диалоге настроек.
* Исправлена ошибка с дублированием записей в элементах GtkComboBoxText.
* Добавлена поддержка libcanberra для звукового оповещения (опция
-DUSE_LIBCANBERRA для cmake).
* Исправлено падение программы в диалоговом окне прогресса хэширования.
*** eiskaltdcpp-daemon ***
* Добавлена опция командной строки: --debug
* Добавлены новые методы JSON-RPC: methods.list, hash.pause, hash.status,
queue.getsources
*** eiskaltdcpp-cli ***
* Добавлены новые методы JSON-RPC: queue.list, queue.listtargets, search.clear
--- 2.2.5 2011-12-25 ---
*** common changes ***
* Реорганизовано дерево исходников.
* В ядро добавлена поддержка ZLIF.
* Добавлены опции ядра: UseADLOnlyOnOwnList, AllowUploadOverMultiHubs,
AllowSimUploads.
* Добавлена возможность сборки с miniupnpc версии 1.6. Поддержка версии 1.5
сохранена. Локальная копия miniupnpc обновлена до версии 1.6.
* Исправлено падение программы при использовании измененного значения
IpTOSValue (по умолчанию -1) без прав суперпользователя.
* Добавлено распознавание дополнительных полей из файл-листов FlylinkDC++:
битрейты аудио, видео и разрешение.
* Чистка кода, мелкие оптимизации.
* Небольшие улучшения поддержки Lua-скриптов в MS Windows.
* Исправлена сборка с Boost >= 1.48.
* Для работы переводчиков теперь используется веб-сервис Transifex:
https://code.google.com/p/eiskaltdc/wiki/MakingTranslations
https://www.transifex.net/projects/p/eiskaltdcpp/
*** eiskaltdcpp-qt ***
* Рефакторинг исходного кода. Возможны регрессии.
* Теперь для сборки требуется GCC >= 4.5.0. (Используются возможности C++11)
* Исправлена сборка в Haiku OS. Задействован системный алгоритм проверки запуска
лишь одного экземпляра программы.
* Множество новых методов теперь доступно через QtScript. См.:
https://code.google.com/p/eiskaltdc/wiki/Scripting
https://code.google.com/p/eiskaltdc/wiki/Scripting_QtScript_Example_Scripts
https://code.google.com/p/eiskaltdc/wiki/Scripting_Working_With_QtScript
[Спасибо OmegaPhil за обновленную документацию]
* Горячая перезагрузка скриптов (QtScript), когда они изменяются.
* Диалог работы со скриптами (QtScript) существенно улучшен.
* Улучшен способ сортировки в виджете поискового шпиона.
[Спасибо Mikhail Krasikau]
* Добавлено распознавание дополнительных полей из файл-листов FlylinkDC++:
битрейты аудио, видео и разрешение. Информация отображается в тултипе
для файла.
* Добавлена возможность очистки поисковой истории и истории каталогов загрузки
при выходе или вручную.
* Добавлены некоторые опции в диалог настроек: ALLOW_SIM_UPLOADS (разрешить
одновременную загрузку пользователем с разных хабов),
search-history-items-number, download-directory-history-items-number,
memorize-tth-search-phrases
* Добавлены кнопки для навигации в виджете просмотра списка файлов:
назад, вперед, вверх.
* Освобождение разделяемой памяти при падении программы по сигналу SIGSEGV. Без
этого программа запускалась лишь со второго раза. Актуально для unix-подобных
систем, в MS Windows баг отсутствовал.
* Исправлена одновременная работа программы от нескольких пользователей. В
unix-подобных системах используется переменная окружения LOGNAME для
идентификации текущего пользователя, в MS Windows используется GetUserNameA.
* Исправлен поиск альтернатив для раздач.
* Исправлено контекстное меню в чатах на ADC хабах.
*** eiskaltdcpp-gtk ***
* Поддержка сборки с Gtk < 2.24 прекращена.
* Добавлена возможность сборки с Gtk3 (опция -DUSE_GTK3 для cmake). Это
экспериментальный режим. Возможны различные недоработки.
* Добавлено распознавание дополнительных полей из файл-листов FlylinkDC++:
битрейты аудио, видео и разрешение. Информация отображается в дополнительных
столбцах.
* Исправлена команда чата /ws.
* Существенно переработан виджет поиска.
* В главное окно добавлен индикатор свободного места.
* Добавлены опции: use-native-back-color-for-text, show-transfers.
*** eiskaltdcpp-daemon ***
* Добавлены опции командной строки: --verbose, --ip, --port, --rpclog, --uripath
* Добавлен JSON-RPC интерфейс. Подробнее:
https://code.google.com/p/eiskaltdc/wiki/JSONRPC
*** eiskaltdcpp-cli ***
* Добавлен простой консольный интерфейс для управления демоном через JSON-RPC.
--- 2.2.4 2011-10-02 ---
*** common changes ***
* Частичная синхронизация с ядром DC++ (0.785).
* Теперь для сборки требуется GCC >= 4.4.0.
* Добавлена поддержка DHT (https://www.adcportal.com/wiki/StrongDC++_DHT).
Опция в настройках по умолчанию отключена. Есть возможность полностью убрать
поддержку DHT на этапе конфигурирования (опция -DWITH_DHT для cmake).
Для работы DHT необходим белый внешний IPv4.
См. так же: https://ru.wikipedia.org/wiki/DHT
* Исправлена сборка программы в Mac OS X.
*** eiskaltdcpp-qt ***
* Добавлены некоторые опции в диалог настроек: DHT, DHT_PORT
* Исправлено неправильное логирование личных чатов.
* Добавлена кнопка Stop в поисковом виджете, которая только прекращает
добавление новых элементов в фрейм. Ответы на поисковый запрос будут
по-прежнему приходить от других клиентов, но будут проигнорированы.
Это обусловлено особенностями протокола...
* Улучшение поискового виджета: нажатие клавиши Return в поле ввода размера
запускает поиск.
* Добавлена возможность подключаться к хабам по кодированному URL, например:
dchub:https://%D1%85%D0%B0%D0%B1.%D1%81%D0%BC%D0%BE%D0%BB%D0%BD%D0%B5%D1%82.%D1%80%D1%84
* Реализовано отложенное заполнение модели в виджете просмотра списка файлов,
что значительно снижает потребление памяти и не создает кратковременный фриз
интерфейса. Особенно заметно при открытии огромных файл-листов.
* Исправлено определение статуса доступности пользователя в виджете избранных
пользователей.
* Исправлена ошибка отображения прогресса более 100% в индикаторе загрузок
в виджете активных передач.
* Изменен алгоритм проверки запуска лишь одного экземпляра программы. Теперь
используется QSharedMemory.
*** eiskaltdcpp-gtk ***
* Переход с Libglade на GtkBuilder. Частично утрачена совместимость с кодовой
базой LinuxDC++ и FreeDC++.
* Переход на Gtk+ версии 2.24: в коде больше не используются элементы,
объявленные устаревшими. Временно сохранена поддержка старых версий
(только Gtk >= 2.18) с помощью вставок в коде и дополнительных патчей.
* Добавлены некоторые опции в диалог настроек: DHT, DHT_PORT, DYNDNS_ENABLE,
DYNDNS_SERVER
* Некоторые улучшения в диалоге настроек.
* Улучшение поискового виджета: нажатие клавиши Return в поле ввода размера
запускает поиск.
*** eiskaltdcpp-daemon ***
* Добавлены новые методы XML-RPC: search.send, search.getresults, show.version,
show.ratio (подробнее: https://code.google.com/p/eiskaltdc/wiki/XMLRPC)
*** eiskaltdcpp-cli ***
* Добавлен простой консольный интерфейс для управления демоном через XML-RPC.
--- 2.2.3 2011-06-25 ---
*** common changes ***
* Разные поисковые интервалы для избранных хабов (по умолчанию: 60 с).
* Исправлен баг с подключением к ADC хабам на архитектуре armel.
* Благодаря Chris Leick доступен немецкий перевод.
* Общий код для обновления IP из DynDNS (перенесено из Qt GUI).
* Суммарная статистика (загружено/отдано) перемещена в ядро (текущие значения
в Qt GUI будут сброшены).
* Исправлена проблема с хэшированием файлов, которые содержат в названии
символы, отсутствующие в стандартной восьмибайтной локали, но присутствующие
в юникод локалях. (Влияет только на MS Windows)
* Обновлены иконки программы в теме faenza.
* Исправлена сборка программы в Mac OS X.
* Множество исправлений и чистка кода (исправлены некоторые предупреждения
компилятора и т.п.).
*** eiskaltdcpp-qt ***
* Добавлена новая команда чата: /dcpps (для изменения настроек ядра DC++)
* Добавлены некоторые опции в диалог настроек избранного хаба:
MINIMUM_SEARCH_INTERVAL
* Реализована асинхронная загрузка истории из баз данных в виджете завершенных
передач.
* Добавлено временное ограничение на количество элементов, загружаемых
из баз данных при запуске программы (только 500 элементов из истории
завершенных передач). Позднее в этом виджете будет реализована простая
навигация по истории.
* Добавлена возможность поиска по шаблону в виджете просмотра списка файлов.
* Исправлен баг с некорректным элементом меню 'О программе' в Mac OS X.
* Исправлено контекстное меню на ADC хабах.
* Добавлена новая тема с монохромными иконками программы.
*** eiskaltdcpp-gtk ***
* Добавлено сохранение информации об общем трафике (загружено/передано) между
сессиями.
* Добавлены новые команды чата: /ip (правила IPFilter), /ratio, /version
* Добавлены некоторые опции в диалог настроек избранного хаба: Mode (тип
подключения), MINIMUM_SEARCH_INTERVAL
*** eiskaltdcpp-daemon ***
* Новые методы XML-RPC.
* Полный список доступных сейчас методов: magnet.add, daemon.stop, hub.del,
hub.say, hub.pm, hub.list, hub.retchat, share.add, share.rename, share.del,
share.list, share.refresh
* Веб-интерфейса для управления демоном все еще нет.
--- 2.2.2 2011-04-24 ---
*** common changes ***
* Частичная синхронизация с ядром DC++ (0.785).
* Выравнивание ip-адресов в чате (только для моноширинных шрифтов).
* Добавлены опции конфигурации: ENABLE_STACKTRACE, WITH_DEV_FILES и
EISKALTDCPP_INCLUDE_DIR.
* Распознавание национальных доменных имен (используется libidn) [rfc3490].
(По умолчанию включено, см. файл INSTALL)
* Возможный фикс для исправления мигрирования со старых релизов (<2.1.0) без
перехэширования.
* Добавлена опция задержки хэширования при старте программы (60 секунд
по умолчанию). Если задержка равна -1, процесс хэширования не будет
возобновлен. Эта опция очень полезна для ускорения запуска GUI, потому что он
не ждет ядро DC++.
* Добавлен отдельный файл для ведения лога полностью завершенных загрузок.
* Возможность привязки к сетевому интерфейсу.
* Исправления для улучшения работы Lua-скриптов.
* Багфиксы.
*** eiskaltdcpp-qt ***
* Добавлена возможность сборки под Haiku (см. файл INSTALL).
* Исправлена загрузка смайлов из смайл-паков. Теперь можно использовать любой
стандартный формат для изображений, а не только PNG формат.
* Улучшения в диалоге с черным списком результатов поиска.
* Исправлена подсветка статусных сообщений в чате: цвет теперь применяется
ко всему сообщению.
* Улучшение в виджете поиска: всплывающая подсказка показывает где находится
файл, если он есть в шаре.
* В диалоге настроек устранена возможность указания TLS_PORT равного TCP_PORT.
(Частая ошибка пользователей)
* Добавлены некоторые опции в диалог настроек: BIND_IFACE (привязка к сетевому
интерфейсу), HASHING_START_DELAY (задержка хэширования при старте),
LOG_FILE_FINISHED_DOWNLOAD (отдельный файл для ведения лога полностью
завершенных загрузок)
* Добавлена всплывающая подсказка для уже расшаренных файлов в виджете просмотра
списка файлов (теперь и для чужих списков файлов тоже).
* Исправлена опция фильтрации полностью завершенных загрузок в виджете списка
передач (не работала при использованиии локализации).
* Виджет личного чата теперь использует ограничение на максимальное количество
сообщений. У некоторых пользователей было существенное увеличение потребления
памяти при получении большого количества сообщений от ботов.
* Добавлена возможность открытия не полностью загруженных файлов из списка
загрузок.
* В меню чата добавлен пункт для поиска выделенного фрагмента текста.
* Добавлен дополнительный виджет для просмотра очереди пользователей.
* Разрешен поиск альтернатив для раздач.
* Исправлены небольшие утечки памяти и произведена чистка кода.
* Добавлена секция MimeType в .desktop файл.
* Теперь EiskaltDC++ Qt доступен в виде плагина для проекта LeechCraft (https://github.com/0xd34df00d/leechcraft)
*** eiskaltdcpp-gtk ***
* Исправлена инициализация панели инструментов.
* Отключены сообщения "Смайлики не загрузились", когда смайлы не используются.
* Добавлены некоторые опции в диалог настроек: "sound-command", "minimize-tray"
(свернуть в трей при запуске)
* В диалоге настроек устранена возможность указания TLS_PORT равного TCP_PORT.
(Частая ошибка пользователей)
* Добавлена секция MimeType в .desktop файл.
*** eiskaltdcpp-daemon ***
* Добавлена возможность сборки под Haiku (см. файл INSTALL).
* Добавлены опции командной строки: --pidfile, --confdir, --localdir
* Добавлен пример скрипта для запуска демона при загрузке системы в основанных
на Debian системах.
* Отключено принудительное изменение прав доступа к создаваемым файлам (644).
* Новые методы XML-RPC.
--- 2.2.1 2011-03-08 ---
*** common changes ***
* Исправлена сборка под MS Windows.
* Частичная синхронизация с ядром DC++ (0.785).
* Исправлена поддержка Lua-скриптов. (Была сломана в версии 2.2.0 при
синхронизации с ядром DC++)
* Исправлен баг с "пустой шарой" при запуске. Теперь при обновлении списка
файлов делается бэкап, который используется при запуске программы. Заметка:
пустой список файлов --- это не пустая шара! (Многие пользователи заблуждались
на этот счет)
* Исправлена функция ответа на поисковые запросы на ADC-хабах.
(Баг был добавлен в версии 2.2.0 при синхронизации с ядром DC++)
* Добавлена возможность отключения сегментирования и изменения размера сегмента
(в МиБ).
*** eiskaltdcpp-qt ***
* Исправлено падение программы при использовании фильтра в результатах поиска,
когда приходят новые результаты поискового запроса.
* Алгоритм для добавления разделителя (горизонтальной линии) для непрочитанных
сообщений в чате обновлен. Теперь он работает прекрасно.
* Добавлен пункт просмотра свойств магнет-ссылок во все связанные меню.
* Добавлена поддержка поисковых ссылок (магнеты с ключом kt).
(См. также: https://bugs.launchpad.net/dcplusplus/+bug/674545)
* Исправлено использование комбинации клавиш Ctrl+C в личном чате.
(Баг был добавлен в версии 2.2.0)
* Добавлена опция отображения только завершенных передач в виджете передач.
Используется простой фильтр: незавершенные загрузки можно скрыть и снова
показать.
* Код для работы в базой данных (используется SQLite) признан стабильным.
В таблицы завершенных передач были добавлены столбцы, и во избежание возможных
проблем рекомендуется удалить старые файлы: ~/.config/eiskaltdc++/*.sqlite
* Некоторые исправления для пользовательских команд.
* Добавлена возможность подсветки ключевых слов в чате.
* Добавлена возможность настройки цветных прогрессбаров загрузки/отдачи.
* Добавлена опция воспроизведения звука при активном окне личного чата.
* Улучшения в алгоритме прокрутки истории отправленных сообщений.
* Исправлено падение программы при удалении активных (редактируемых) элементов
из черного списка результатов поиска. Добавлена возможность сортировки списка.
* Теперь меню команд пользователя не отображается, если список команд хаба пуст.
* Добавлена опция скрытия иконок в меню. (Полезно для пользователей Mac OS X)
* Изменена реакция на пустой ник пользователя при запуске программы: теперь
открывается диалог для ввода ника вместо общего диалога настроек.
* Добавлена возможность использования aspell в сборке под MS Windows.
* Добавлена возможность указать BIND_ADDRESS в диалоге настроек.
*** eiskaltdcpp-gtk ***
* Улучшения в виджете поиска.
* Исправлено сохранение числа слотов отдачи в диалоге настроек.
(Баг был добавлен в версии 2.2.0)
* Добавлена опция отображения только завершенных передач в виджете передач.
Используется жесткий алгоритм: незавершенные загрузки удаляются из списка и
больше не добавляются в него.
* Горячие клавиши были синхронизированы с EiskaltDC++ Qt.
* Изменен парсер магнет-ссылок.
* Исправлена сборка с libnotify >= 0.7.0.
* Исправлена проблема с загрузкой смайлов. (В xml-файлах смайл-паков было
указано standalone = "no" вместо "yes")
* Добавлена возможность воспроизведения звуковых уведомлений без использования
libgnome.
*** eiskaltdcpp-daemon ***
* Исправлена отправка пароля при подключение к хабам с регистрацией.
* Переписана часть кода, ответственная за использование потоков. Теперь возможна
сборка в MS Windows. Заметка: данный бинарник не может быть запущен как служба
Windows, поскольку процесс должен запускаться от имени существующего
пользователя (для доступа к настройкам).
* XML-RPC доступ к программе сейчас находится в активной разработке,
но еще не готов.
--- 2.2.0 2011-01-16 ---
*** common changes ***
* Закончен переход на ядро 0.770. Цифра 0.770 является условной, т.к.
используются патчи и из более поздних ревизий. Но полная синхронизация
с последним ядром DC++ не планируется из-за некоторых его недостатков.
Например: 1) более глубокая привязка к libboost; 2) использование кода,
требующего -std=c++0x и gcc >= 4.5.x; 3) использование настроек графического
окна в конфиге ядра.
* Сломана поддержка Lua-скриптов. Собирайте программу с -DLUA_SCRIPT=OFF.
* Благодаря Uhlik доступен чешский перевод.
* Теперь ограничения на размер шары не применяются к избранным пользователям и
пользователям, которым выдан слот.
* Добавлено расширение PFSR (partial file sharing). Это позволит вам загружать
файлы, которые еще не полностью загружены DC-клиентами или уже были загружены
целиком, но еще не расшарены. (PFSR взят из проекта StrongDC++)
[см. также https://www.adcportal.com/wiki/PFSR_-_Partial_file_sharing]
* Исправлено некорректное использование ограничения скорости: если указанное
значение больше нуля, то ограничение применялось даже если оно было отключено
в настройках. (Проблема была добавлена в версии 2.1.0)
* Исправлен тупик при загрузке файлов с очень длинными именами. Тип файловой
системы теперь не имеет значения.
* Добавлена опция сокета ToS (Type-of-Service).
*** eiskaltdcpp-qt ***
* Исправлена обработка смайлов в новых сообщениях. Теперь быстрее и корректнее.
* Улучшения в виджете поиска.
* Подсветка дубликатов в шаре.
* Реализован черный список результатов поиска.
* Добавлен разделитель (горизонтальная линия) для непрочитанных сообщений
в чате. (По умолчанию отключено) (Это экспериментальная опция)
* Добавлена опция типа подключения в настройках избранных хабов.
* На панель инструментов добавлена кнопка включения ограничения скорости.
* Добавлена возможность перенаправления новых личных сообщений в общий чат.
* Установка ограничений на шару теперь производится из виджета просмотра шары.
Просто откройте свой список файлов и воспользуйтесь меню.
* Отключена раскраска прогрессбаров в списке передач.
* Добавлен пункт открытия каталога в контекстном меню для собственного списка
файлов.
* Добавлен пункт копирования веб-магнетов во все связанные меню.
* Добавлен поисковый фрейм для личного чата.
* Исправлено возможное зависание при подключении к DynDNS.
* Распечатка бектрейса в консоль при получении сигнала SIGSEGV
(ошибка сегментации).
* Исправлена ошибка, когда в контекстном меню чата выбирался другой
пользователь. (Баг был добавлен в версии 2.1.0)
* Исправлен баг отображения результатов поиска при поиске директорий.
Отображался только один результат до применения сортировки.
* Исправлен баг отображения имен файлов в UTF-8 в виджете списка файлов
под MS Windows.
* Исправлено открытие расшаренных каталогов с не ASCII символами в виджете
списка файлов под MS Windows.
* Переработан диалог отправки команд хаба.
* Исправлен баг с отправкой сообщения об отсутствии ботам на NMDC хабах.
* Исправлено восстановление распахнутого режима окна при запуске программы.
* Исправлена проблема с невозможностью задания горячей клавиши Esc в настройках.
* Поддержка bbCode тегов [s][/s], [code][/code], [url][/url] и [color][/color]
в чате.
* Поддержка вложенных bbCode тегов.
* Исправлена реакция на левый клик по иконке в трее под MS Windows.
* Исправлено размытое отображение иконки программы на панели задач
в MS Windows 7.
* В главное меню добавлен пункт отрытия magnet-ссылки.
* Улучшение в диалоге свойств magnet-ссылки: быстрый выбор ранее используемого
каталога для загрузки.
* Удалены лишние зависимости при линковке в Mac OS X.
* Исправлен небольшой баг в модуле антиспама для главного чата.
(Он был добавлен в версии 2.1.0)
* Исправлена ложная подсветка файлов как дубликатов в результатах ADL-поиска.
* Иправлено использование %[userNI] в логах чата.
(Баг был добавлен в версии 2.1.0)
* Добавлен столбец с информацией об использовании шифрования в списке передач.
* Исправлено падение программы при получении в результатах поиска записи
с пустым именем файла.
* При активации окна фокус снова переводится на поле ввода.
(Проблема была добавлена в версии 2.1.0)
* Изменен алгоритм проверки запуска лишь одного экземпляра программы.
Теперь используется QtSingleApplication.
* Добавлена поддержка базы данных SQLite. Сейчас она используется для
сохранения списка завершенных передач. (По умолчанию отключено,
см. файл INSTALL) (Это экспериментальная опция)
* Исправление в системе уведомлений при активной личной переписке.
* Двойной клик на индикаторе свободного места теперь открывает каталог загрузки.
* Удалена поддержка *полужирного* и _подчеркнутого_ текста в стиле Psi.
* Улучшена "горячая" смена языка интерфейса, без перезапуска программы.
* Добавлена возможность масштабировать диалог настроек до меньших размеров.
Размер окна запоминается.
* Расширен диалог настроек.
*** eiskaltdcpp-gtk ***
* Улучшения в виджете поиска.
* Исправлен путь к файлу блокировки повторного запуска программы
(он был в ~/.dc++/). Теперь запускается лишь один экземпляр DC-клиента
и правильно перехватываются magnet-ссылки.
* Добавлены горячие клавиши Влево/Вправо для разворачивания дерева каталогов
в виджете просмотра списка файлов.
* Расширен диалог настроек.
*** eiskaltdcpp-daemon ***
* Начата разработка. Внимание: программа еще не готова для использования!
* На данный момент это неуправляемый демон. Вы можете только запускать его
и убивать.
* Запущенный процесс (см. man-страницу) подхватывает настройки из файлов
конфигурации, созданные вручную или с помощью графических интерфейсов
на Qt или Gtk. В результате: продолжаются начатые загрузки, пользователям
доступны ваша шара и т.п..
--- 2.1.1 2010-11-21 ---
*** общие изменения ***
* Исправлен TigerHash для ARM архитектуры.
* -DUSE_MINIUPNP установлен в OFF по умолчанию.
* Устранена проблема с блокированием используемых портов при перезапуске
программы.
* Добавлена возможность использования библиотеки pcre для применения регекспов
в стиле perl (см. опцию PERL_REGEX в файле INSTALL). Сейчас используется
только в ADL поиске.
*** eiskaltdcpp-qt ***
* Исправлено падение программы при удалении последних символов из поля ввода
в чате, используя клавишу Backspace. (Проблема проявлялась только с Qt 4.7.1)
* Оптимизирован парсер ссылок. Очень длинные новые сообщения в чате
отображаются заметно быстрее.
* Исправлено открытие magnet-ссылок для торрентов из чата.
* Добавлена возможность принудительного изменения цвета фона в чате.
* Исправлен неправильный путь к иконке для App Bundle в Mac OS X.
(Проблема была добавлена в 2.1.0)
* Поддержка bbCode в чате ([b][/b], [u][/u], [i][/i]).
* Поддержка *полужирного* и _подчеркнутого_ текста в стиле Psi.
*** eiskaltdcpp-gtk ***
* Улучшения в главном меню.
* Улучшения в панели инструментов.
* Поддержка bbCode в чате ([b][/b], [u][/u], [i][/i]).
--- 2.1.0 2010-11-07 ---
*** общие изменения ***
* От основного бинарника отделена библиотека libeiskaltdcpp для unix-подобных
систем.
* Добавлена локализация сообщений ядра. Используется gettext.
* Добавлена возможность использования Lua-скриптов (см. файл INSTALL).
* Добавлена возможность использования miniUPnP для подключения
(см. файл INSTALL).
* Добавлен комплект звуковых файлов из проекта FlylinkDC++.
* Ядро (dcpp) частично обновлено до версии 0.777.
* Добавлен NATT. См.:
https://www.adcportal.com/wiki/index.php/NATT_-_NAT_traversal
* Сделана возможность использования регистро-зависимого файл-листа (опция
CaseSensitiveFilelist в SettingManager). Если у вас есть каталоги, в которых
одновременно находятся файлы вида file.txt, FILE.txt и/или File.txt, то теперь
это не будет вызывать проблем с постоянным обновлением шары и все эти файлы
будут одновременно доступны другим пользователям для загрузки. По умолчанию
данная опция отключена, т.к. она может стать причиной нарушения совместимости
с другими DC-клиентами.
(см. обсуждение: https://bugs.launchpad.net/linuxdcpp/+bug/311818)
* Внимание: при обновлении программы до этой версии, после перезапуска она будет
вынуждена один раз полностью перехэшировать ваши файлы. Это связано с тем, что
теперь файловые хэши хранятся в регистрозависимом виде. Как будет из этих
хэшей формироваться файл-лист, зависит от опции, описанной выше. По умолчанию,
в файл-листе имена файлов хранятся в нижнем регистре, в соответствии
со спецификацией.
*** eiskaltdcpp-qt ***
* Теперь при скрытии меню (Ctrl+M) добавляется соответствующая кнопка на панель
инструментов.
* Добавлена возможность настройки списка действий на панели инструментов.
(Правый клик на панели --> Настроить)
* Добавлена опция отображения ip-адресов пользователей в чате. (Зависит
от настроек хаба: информация о них обычно доступна только для операторов)
* Исправлена проблема с минимальной шириной главного окна в Mac OS X.
* Многострочная панель виджетов (табов).
* Добавлена возможность скрыть кнопки закрытия вкладок (см. контекстное меню
на панели).
* Благодаря Gustavo Alvarez доступен испанский перевод.
* Благодаря Rusi Dimitrov доступен болгарский перевод.
* Благодаря Martin Durisin доступен словацкий перевод.
* Добавлена возможность сборки без libupnp и QtDBus (см. файл INSTALL).
* Добавлена возможность сборки под MS Windows (см. файл win32/READ_ME.txt).
* Добавлен индикатор прогресса хэширования в статусную строку. Объединены пункты
меню 'Обновить шару' и 'Прогресс хэширования'.
* Расширен диалог настроек.
* Удален лишний код (опция -DFREE_SPACE_BAR для cmake). Сборки
с -DFREE_SPACE_BAR_C=ON работают стабильно на всех поддерживаемых платформах.
* Добавлена возможность настройки подключения через UPnP
(используется miniupnp).
* Удалена возможноть сборки с libupnp 1.6.* (опция USE_LIBUPNP).
* Добавлены команды чата /luafile и /lua (см. man-страницу или /help в чате).
* Добавлен виджет для настройки ADL-поиска.
* Интервал обнаружения отсутствия (проверка активности пользователя).
* Изменены функции работы со смайлами. Теперь возможно использовать оригинальные
смайл-паки от других клиентов без дополнительной модификации. Поставляемые
в комплекте с программой смайл-паки, являются общими для интерфейсов
на Qt и Gtk.
* Добавлена возможность использовать регулярные выражения Qt в фильтре списка
пользователей (используйте ##<regexp> в фильтре).
* Добавлено ведение лога антиспам-бота (файл antispam.log
в ~/.config/eiskaltdc++/ или другом каталоге, в зависимости от опций сборки).
* Добавлен менеджер комбинаций клавиш.
* Добавлена поддержка Qt Declarative UI (работает только в Qt >= 4.7.0).
* Добавлена панель смайлов (см. соответствующую опцию
в Настройки-->Интерфейс-->Чат)
* Добавлен диалог для вычисления TTH произвольного файла.
*** eiskaltdcpp-gtk ***
* Добавлен Gtk интерфейс, основанный на коде FreeDC++ и LinuxDC++.
* Интерфейс локализирован с использованием gettext.
* Дефолтные иконки для Gtk интерфейса синхронизированы с дефолтными иконками
из Qt интерфейса.
* Добавлен виджет для настройки ADL-поиска.
* Добавлена возможность настройки подключения через UPnP
(используется miniupnp).
* Добавлены команды чата /sh и /alias (см. man-страницу или /help в чате).
* Добавлены команды чата /luafile и /lua (см. man-страницу или /help в чате).
* Добавлен диалог для вычисления TTH произвольного файла.
* Отображение картинок в чате ([img]magnet[/img]).
--- 2.0.3 2010-06-08 ---
* Исправлена индикация непрочитанных сообщений с помощью иконки в трее.
* Исправлены возможные проблемы с поиском при использовании локали, отличной
от UTF-8. (Теперь ядро берет не локальную, а дефолтную кодировку, указанную
в настройках)
* Добавлена графическая настройка пользовательских команд в диалоге настроек.
(В предыдущих версиях нужно было править xml-конфиг вручную)
* Благодаря Dmytro Demenko доступен украинский перевод.
* Благодаря Miroslav Petrovic доступен сербский перевод.
* Настройки программы перенесены в каталог $XDG_CONFIG_HOME/eiskaltdc++/
(переменная окружения $XDG_CONFIG_HOME чаще всего определена как ~/.config/).
Каталог с настройками будет перемещен автоматически при первом запуске
программы после обновления. Использование $XDG_CONFIG_HOME в программе можно
отключить на этапе конфигурации, см. файл INSTALL.
* Добавлена возможность размещения шаблонов с предопределенными настройками
программы в каталоге /usr/share/eiskaltdcpp/config/ (зависит от опций cmake,
см. файл INSTALL). При первом запуске программы вместо дефолтных настроек
будут скопированы эти шаблоны в личные настройки пользователя.
* Добавлен drag'n'drop файлов в поле ввода сообщений. Если файл есть в шаре,
то вместо него подставляется сразу магнет-ссылка.
* В команду чата /sh добавлен макрос
<magnet show=альтернативное имя файла>путь к файлу</magnet>.
Примеры его использования вы можете найти к каталоге 'examples'.
* Доработан модуль антиспама, теперь доступен весь ранее запланированный
функционал.
* Добавлена опция изменения способа представления размеров
(кибибайт (КиБ) <=> килобайт (КБ) и т.п.), см. man-страницу.
* Добавлена базовая поддержка QtScript (по умолчанию отключено,
см. файл INSTALL).
* Добавлена возможность использования системных иконок (по умолчанию отключено,
см. файл INSTALL).
* Добавлены примеры по использованию яваскрипт-сценариев. Улучшено
взаимодействие скриптов с ядром DC++ и клиентской частью.
* Автоматическое изменение размера строки ввода в чатах.
(Используйте Shift+Enter для переноса строки)
* Багфиксы.
--- 2.0.2 2010-05-04 ---
* Благодаря Alexandre Wallimann доступен французский перевод.
* Благодаря Arahael доступен польский перевод.
* Добавлена возможность использования бокового дока со списком виджетов вместо
однострочной панели с табами.
* Добавлена возможность сборки с Qt >= 4.4.0. Ранее требовалось Qt >= 4.5.0.
* Добавлен фильтр в поисковый виджет.
* Улучшения в индикации новых сообщений в чате (разные иконки).
* Исправлен баг с падением программы при использовании поиска. Баг присутствовал
во всех ранних ревизиях.
* Изменены дефолтные форматы логов.
* Улучшения в текстовых полях ввода.
* Добавлено подменю в списке пользователей для копирования требуемой информации
о них.
--- 2.0.1 2010-04-18 ---
* Добавлен виджет с публичными хабами.
* Добавлена возможность фильтрации в основных виджетах (Ctrl+F).
* Поддержка режима отсутствия.
* Меню Файл разбито на несколько тематических меню.
* Добавлены примеры пользовательских скриптов.
* Добавлена строка с последним статусным собщением на хабе.
* Добавлена панель быстрого поиска.
* Добавлена возможность запуска нескольких копий клиента от разных
пользователей системы. Проверьте, чтобы в настройках у них были указаны
разные локальные порты.
* Благодаря Akos Berki доступен венгерский перевод.
* Добавлена возможность отключения чата на хабах при автоподключении.
* Добавлена графическая настройка для ограничения скорости хэширования.
* Добавлена возможность приоставновки процесса хэширования.
* Добавлена возможность ограничения отдачи пользователям по размеру их шары.
* Исправлены проблемы с разворачиванием программы из трея в Gnome и Mac OS X.
* Добавлена история отправленных сообщений, количество их регулируется
в настройках.
* Добавлена история поисковых запросов, количество их регулируется в настройках.
* Улучшена настройка исключений файлов из шары.
* Существенно расширен диалог настроек.
* Множество багфиксов и т.д..
--- 2.0 2010-03-22 ---
* Миграция на ядро dc++ (v0.75) и, соответственно, поддержка протокола ADC.
* Полнофункциональный чат (парсинг магнетов, ссылок, смайлы, поиск в чате,
фильтрация в списке пользователей, команды чата).
* Полнофункциональный поисковик, файл-браузер (подсветка уже расшаренных файлов
и т.д.).
* Группировка передач в менеджере соединений.
* Отдельный менеджер закачек.
* Списки отданного/скачанного.
* Избранные пользователи (автослот и т.д); избранные хабы.
* Текстовые (как средствами Qt так и через установленный по-умолчанию системный
менеджер уведомлений) и звуковые уведомления.
* Поддержка тем приложения, иконок и смайл-паки.
* Возможность не расшаривать файлы по маске.
* Поддержка UPnP.
* Подмена тега для избранных хабов.
* Принудительное указание внешнего IP для избранных хабов.
* Автообновление внешнего IP через DynDNS для избранных хабов.
* Поисковой шпион.
* IP-фильтр.
* Проверка орфографии с помощью Aspell.