--- 2.4.2 2021-02-03 ---
*** common changes ***
* Added support of build using musl instead of glibc.
* Add support of build in Cygwin environment.
* Added configuration option LUA_VERSION (unset by default) for choosing
  specific version of Lua library in the systems if necessary.
*** libeiskaltdcpp ***
* Fix search on ADC hubs. (It was accidentally broken in 2.4.1 release.)

--- 2.4.1 2021-01-24 ---
*** common changes ***
* Added configuration option COMPRESS_MANPAGES (default is ON) for unix-like
  systems.
*** libeiskaltdcpp ***
* Fixed sending of hub commands containing %[mySID] parameter.
* Decreased diff with DC++ 0.868 core.
*** eiskaltdcpp-qt ***
* Improved Magnet link viewer dialog: added buttons for copying magnet link and
  search link into clipboard.
* Improved dialog for calculating TTH of arbitrary file from file system.
* Fixed size of choosing files and directories buttons in all dialog windows.
* Added search panel into Cmd Debug widget.
* Ignore TTH search in Search Spy widget by default.
* Removed option of changing font for whole application from settings. System
  fonts for menus, text labels, progress bars and other indicators are always
  used now. Fonts for chat messages are still configurable.
* Fixed IP filter work.
* Changed reaction to Ctrl+F shortcut in chats: now it works as in web browsers.
* Stopped usage of HTML formated text in tooltip for system tray icon in
  GNU/Linux and FreeBSD systems: its displaying was broken in KDE Plasma 5.
  Plain text tooltip is used everywhere now.
* Added new widget "Secretary" for searching magnet links and keywords in
  public chats and private messages. So you do not need to read all chats
  anymore to find of messages in your area of interest: "secretary" will
  do it for you.
* Fixed context menu for messages in private chats.

--- 2.4.0 2020-12-03 ---
*** common changes ***
* Added support of OpenSSL >= 1.1. OpenSSL 1.0.2 is still supported too.
* Huge amount of improvements for macOS.
* Huge amount of improvements for Haiku.
* Added official support of Debian GNU/Hurd.
* Rewritten build scripts for MS Windows. Among other changes:
  - cross-compilation using MXE project (https://mxe.cc/) is used now for
    preparing of official builds
  - official Web UI for eiskaltdcpp-daemon and some MS Windows specific
    documentation are included into installers and portable builds
* Updated list of hub list servers (with most popular public hubs).
* Removed Coral CDN support since it's stopped running.
* Enable DHT by default. (Affects only new users.) In case you need you may
  change this option at any time in Preferences dialog:
  Connection --> Advanced --> Enable DHT.
* Added dht.fly-server.ru server to list of servers for bootstrapping of
  initial list of available DHT nodes.
* Deleted configuration option DO_NOT_USE_MUTEX: this workaround is not required
  anymore with modern versions of compilers for MS Windows and Haiku. But part
  of this code is still used for macOS.
* Deleted configuration option LOCAL_MINIUPNP.
* Deleted embedded copy of miniupnpc library: it was extremely outdated and in
  any case system library is used now in builds for all supported systems.
* Stopped support of miniupnpc versions older than 1.7.
* Deletef update_geoip script: it does not work anymore.
* Serious code refactoring:
  — improved program stability and performance
  — stopped usage of Boost libraries: all code is rewritten to C++14
  — used new C++14 features where it is possible
  — fixed notes from static code analyzers (cppcheck, clang)
*** libeiskaltdcpp ***
* Partially sync with DC++ 0.868 core in non-critical sections. The diff is
  still huge, but it was noticeably reduced.
* Added support of protocol negotiation via ALPN.
  https://forum.dcbase.org/viewtopic.php?f=55&p=4021
*** eiskaltdcpp-qt ***
* Significant improvement of Qt 5.x support. Qt 4.x is still support too.
* Added configuration option USE_PROGRESS_BARS which allow to use usual text
  labels instead of progressbars. This option is especially important for macOS
  where progressbars are unable to show any text, so a lot of information was
  hidden from users in the past.
* Added support relative paths for resources on Linux. This is necessary for
  correct work of program packaged in snap, flatpak, AppImage, etc..
* Updated list of fake client tags in Favorite Hub settings.
* Improved support of nmdcs:// hubs.
* Improved setting dialog.
* Fixed reaction to left click on special search magnet links in chat.
* Added support of BitTorrent magnet links in chats. (Only correct displaying of
  links, but not support of BitTorrent protocol.)
* Added pretty icon theme "haiku". [Thanks to Gerasim Troeglazov]
*** eiskaltdcpp-gtk ***
* Fixed few minor bugs.
* Fixed build with Pango >= 1.44.
* Improved support of nmdcs:// hubs.
* Added support of BitTorrent magnet links in chats. (Only correct displaying of
  links, but not support of BitTorrent protocol.)
* This is the last release with support of GTK+ UI. It will be removed in one of
  the next versions of program. Consider switching to Qt UI now.
*** eiskaltdcpp-daemon ***
* "search.getresults" method now returns filtered results for last "search.send"
  request while all search results are stored by program. Use "search.clear" to
  free the memory from unnecessary data.
* Support of XML-RPC will be removed in one of the next releases. Consider
  switching exterior clients to JSON-RPC.

--- 2.3.0 2018-xx-xx ---
* This release was skipped due to problems with versions scheme.

--- 2.2.10 2015-04-20 ---
* This is not a real release but just git tag.
*** common changes ***
* GCC < 4.6 and Clang < 3.1 are not supported anymore.
* Added option (ShareSkipZeroByte) for skipping zero sized files from share.
* Thanks to Anh Phan the Vietnamese translation is now available.
* Thanks to Marko Trifunović the Serbian (Cyrillic) translation is now
  available.
* Thanks to Egoitz Rodriguez the Basque translation is now available.
* Fixed finding of Lua 5.2.x during configuration.
* The local copy of miniupnpc is updated to version 1.8. Build with old
  miniupnpc versions (1.5.x, 1.6.x and 1.7.x) is still supported.
* Prevent crashes when receiving malicious search requests on NMDC hubs.
  [Thanks to Pavel Pimenov]
* Added options: LogFileSpy, LogFormatSpy (issue 1403)
* [NMDC] Prevent crashes when receiving malicious search requests
  https://sourceforge.net/p/dcplusplus/code/ci/1d751b24/
  [Thanks to Pavel Pimenov]
* Add parse tags TS and HIT in filelists
* [NMDC] Add support CTM2HUB
* [NMDC] Fix parse search requests
* [ADC] Set correct p2p error msg for adc
* Optimize all png images in repo (pull-request 292)
  [Thanks to Nikoli]
* Fix high cpu load on ssl connections after disconnect remote client on begin
  send file [Thanks to loooser]
*** eiskaltdcpp-qt ***
* Added some options in settings dialog: SHARE_SKIP_ZERO_BYTE, LOG_FILE_SPY,
  LOG_FORMAT_SPY, APP_UNIT_BASE, MIME_HANDLER
* Emit signal about each new message in chat (issue 1369)
* Add workaround for loading icons in Mac OS X 10.9 (issue 1442)
* Fixed build in Mac OS X 10.9 using clang
* Add support build with Qt5
* Add very simple Cmd Debug Frame
* Fix crash in settings dialog (issue 1498)
* F3, Shitf+F3, Find All button in PMWindow now work
* Fix unable selection text in chat after find don't exist substring in HubFrame
  and PMWindow
* Add /rebuild and /refresh chat commands (Github issue 288)
* Rework find user for Context Menu in Hub Chat (use QTextBlockUserData instead
  QRegExp)
*** eiskaltdcpp-gtk ***
* Added some options in settings dialog: SHARE_SKIP_ZERO_BYTE
*** eiskaltdcpp-daemon ***
* Updated embedded mongoose library to version 5.6.
* Updated embedded jsoncpp library to current state in SVN trunk.
* Added cmake option LOCAL_JSONCPP. Now it is possible to build program with
  system version of library jsoncpp. But have in mind, if this library do not
  have our patch, it will causes segmentation faults in eiskaltdcpp-daemon.
* Add reload config by SIGHUP
*** eiskaltdcpp-cli ***

--- 2.2.9 2013-08-29 ---
*** common changes ***
* Fixed build with GCC < 4.6 and Clang < 3.1. This is the last release with
  support of old compilers.
* Fixed cmake rules for building with sr@latin localization.
* Small code refactoring and optimisation.
*** eiskaltdcpp-qt ***
* Improvements in search widget: now progress bar works as expected.
* Fixed segmentation fault on right click at some nicknames in public chats.
* Fixed SIGABRT during closing Tic-Tac-Toe QML widget.
* Fixed SIGABRT on program exit when QtScript "LogManager View" is active.
* A number of improvements for Mac OS X:
  — disabled system tray functionality (it never worked there as expected)
  — added special program menu to the dock icon
  — now program is hided into dock instead of exiting by the click on window
    close button
  — added platform-specific code to handle left click on program icon in dock
    (now it works as in native Mac OS X programs)
  — added dock icon jumping when there are new unread personal messages
  — added support for Retina displays (fonts are rendered in high resolution
    when program built with Qt 4.8.x)
  [Thanks to Dmitry Arkhipov who showed developers how Mac OS X looks like]
* Some platform-specific improvements in settings dialog: hided options which
  do not work in Mac OS X, MS Windows or Haiku.
*** eiskaltdcpp-gtk ***
* Improvements in search widget: now progress bar works as expected.
* Fixed SIGABRT when gdk_display_get_default() returns NULL.
*** eiskaltdcpp-daemon ***
* Fixed check of log file existence in daemon mode (see --syslog and --log
  command-line options).
*** eiskaltdcpp-cli ***
* Fixed work with libjson-rpc-perl >= 1.00 (module JSON::RPC::Client was moved
  to JSON::RPC::Legacy::Client there). [Thanks to Damyan Ivanov]

--- 2.2.8 2013-06-23 ---
*** common changes ***
* Fix build with Boost >= 1.50. Dropped support for Boost < 1.39.
* Added support of Lua 5.1.x (used by default) and Lua 5.2.x.
* The local copy of miniupnpc is updated to version 1.7. Build with old
  miniupnpc versions (1.5.x and 1.6.x) is still supported.
* Fix connection problem when hub domain name has IPv6 address. While we do not
  have IPv6 support yet, hints.ai_family = AF_UNSPEC was causing the connection
  problem. [Thanks to Jan Vidar Krey]
* Changed logic of search intervals: now minimum search interval can be equal
  to zero. [Thanks to Dmitry Arkhipov]
* Fixed file names for cache of public hub lists: now these files are saved and
  loaded properly.
* Now mutexes from C++11 standard are used in *nix systems. While MinGW does
  not support this feature, mutexes from Boost are used in MS Windows.
  Added cmake option DO_NOT_USE_MUTEX (default: OFF), which switches on the
  old algorithm: Haiku and WINE do not support mutexes yet, so this option
  is necessary for them. Also this option is used for build in Mac OS X.
* Added option for keeping unfinished downloads of file-lists in queue between
  program restart. (Disabled by default, because it is not very useful: user
  may leave hub or change CID and such file-list will be in download queue
  until you manually delete it.)
* Added option for choosing MIME handler (i.e. kfmclient, gnome-open). Use
  MimeHandler field in DCPlusPlus.xml to set it manually.
* Fixed buffer overflow error on exit. Problem was caused by attempt to read
  data from closed UDP socket.
* Thanks to Helder Cesar the Portuguese translation is now available.
* Some improvements for build in Haiku.
* Small code refactoring.
*** eiskaltdcpp-qt ***
* Fixed opening of public hub lists from cache.
* Added progress bar into search widget.
* Added menu item "Match all listings".
* Added button "Match queue" into the share browser widget.
* More consistent handling of magnet links from command line arguments.
  [Thanks to Dorian Scholz]
* Small improvement in download queue widget: use current filename in save
  dialog.
* Added new qtscript for tools panel: NowPlaying QMMP Script.
  [Thanks to Gustavo Alvarez]
* Fixed context menu in transfer view widget. (Copying information for
  selected items worked wrong.)
* Updated list of fake client versions in Favorite Hub settings.
* Added menu for quick connection to favorites hubs. (See related action on
  the tools panel.)
* Fixed emoticons processing in chats.
* Fixed detection of users on hubs. (Sometimes program took user description
  from another hub.)
* Lot of fixes for user commands.
*** eiskaltdcpp-gtk ***
* Fixed opening of public hub lists from cache.
* Added progress bar into search widget.
* Added menu item "Match all listings".
* Fixed a number of warnings about using deprecated functions in latest
  versions of Gtk+ and GLib libraries.
* In the file list widget parsing of file lists was detached into separate
  thread, which solved the problem with a short GUI frieze during opening of
  large file lists.
* Added menu items for opening partial file lists.
* Added possibility of configuring the file exceptions in settings dialog.
  (In previous versions of program it was possible to configure this by
  manually editing of DCPlusPlus.xml.)
* Improved look and fill of settings dialog.
* Added option to show user list on the left side of hub widget.
* Improved transfers widget: now all information is in separate columns, so
  some of them can be hided if necessary.
*** eiskaltdcpp-daemon ***
* Added JSON-RPC methods: hub.getuserinfo, hub.getusers, hub.listfulldesc,
  queue.matchlists.
* Updated JSON-RPC methods: hub.pm, show.ratio.
* Synced available XML-RPC and JSON-RPC methods.
* Fixed possible program crashes in magnet.add method.
* Fixed program hang-up on exit when active hubs are not in connected state.
* Added command line options: --syslog, --log=<file>.
* Updated embedded mongoose library.
* Updated embedded jsonrpc-cpp library.
* Additional fix in jsonrpc-cpp:
  fixed segmentation fault during stopping of mongoose when it was not started.
* Additional fixes in jsoncpp:
  — all source files were combined into three files (.cpp and .h)
  — added conversion from string to int/uint/int64/uint64/float/double
* Now eiskaltdcpp-daemon is ready for daily use via JSON-RPC.
* XML-RPC is not recommended, but it is still supported.
*** eiskaltdcpp-cli ***
* Added new JSON-RPC methods: hash.pause, hash.status, hub.getuserinfo,
  hub.getusers, hub.listfulldesc, methods.list, queue.getsources,
  queue.matchlists.
* Now eiskaltdcpp-cli-jsonrpc is ready for daily use.
* eiskaltdcpp-cli-xmlrpc is not supported.

--- 2.2.7 2012-05-29 ---
*** common changes ***
* Updated embedded copy of jsonrpc-cpp library.
* Added automatic pause for items from download queue when target directory or
  temporary target directory is not available in file system [unmounted for
  example]. (Option CheckTargetsPathsOnStart in config)
* Added INSTALL_RUNTIME_PATH option for cmake.
  (Disabled by default, see file INSTALL)
* Refactoring of source code.
*** eiskaltdcpp-qt ***
* Support of Qt < 4.6.0 was dropped.
* Correctly save state of headers in tables.
* Fixed blur of program's icon in D-Bus notifications in Ubuntu Unity.
* Added some options in settings dialog:
  ALLOW_UPLOAD_MULTI_HUB, USE_ADL_ONLY_OWN_LIST.
* Fixed problems which were added in version 2.2.5:
  — Fixed build with GCC >= 4.7.
  — Fixed program crash at launch time (problem was only in builds with
    GCC >= 4.7). [Thanks to Pino Toscano]
  — Fixed build with disabled aspell support.
  — Fixed actions for main menu items "Hide last status message" and
    "Hide users statistics".
  — Fixed system tray icon indication about new unread messages.
  — Fixed crash on exit.
*** eiskaltdcpp-gtk ***
* Always open search for alternates in new widget.
* Added some options in settings dialog:
  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
* Added saving of last search type in search widget.
* Added catching of signals SIGSEGV, SIGABRT, SIGBUS and SIGTERM.
* Added chat command and toggle button for disabling chat in hub widget.
* Added some options in favorite hub settings dialog: disable chat and
  external IP.
* Changed algorithm of actions for left click on system tray icon. The same
  behavior as in Qt UI is used now.
* In the file list widget parsing of file lists was detached into separate
  thread, which solved the problem with a short GUI frieze during opening of
  large file lists.
*** eiskaltdcpp-daemon ***
* Synced available XML-RPC and JSON-RPC methods.
* Updated JSON-RPC methods: methods.list, show.ratio
* Fixed command line options "-c" and "-l": they did not work when argument
  is not finished by path separator.
* JSON-RPC now works using embedded mongoose library.
  (https://code.google.com/archive/p/mongoose/)

--- 2.2.6 2012-02-20 ---
*** common changes ***
* Thanks to Konstantinos Georgokitsos the Greek translation is now available.
* Thanks to Stefano Simoncelli the Italian translation is now available.
* Fixed rewriting external IP when DHT is used.
* Added support for reading and writing full TTH tree in the file attribute.
  The implementation is compatible with FlylinkDC++. Not all file systems allow
  to store data required size. If program can not record the attributes,
  it processes the files as before.
*** eiskaltdcpp-qt ***
* Refactoring of source code. Fixed regressions that have been added in
  version 2.2.5.
* Fixed program crash on closing hub tabs when there are open tabs with private
  chat rooms. (Bug was added in version 2.2.5)
* Show count of selected items in the file list widget.
* Small improvements in the panel of active transfers.
* Item for fast setting of rate limiting was added in the context menu on
  tray icon.
* Used catching of signals SIGSEGV, SIGABRT, SIGBUS and SIGTERM to release
  the shared memory before exiting the program.
  (Not actual in MS Windows)
* Added possibility to open downloaded file on double clicking it in the widget
  of finished transfers. [Thanks to Viranch Mehta]
* Fixed adding items to the list of search results when using the sort by the
  number of sources.
* Added option to select the action when changes in active scripts (QtScript):
  do nothing, ask the user or restart scripts.
* Fixed loading of large file lists when the restriction on the maximum file
  size is enabled: now such file lists are ignored.
*** eiskaltdcpp-gtk ***
* Improved support of Gtk3.
* Added language switcher in settings dialog.
* Fixed bug with duplication of entries in GtkComboBoxText elements.
* Added support of libcanberra for sound notification (option -DUSE_LIBCANBERRA
  for cmake).
* Fixed program crash in "Indexing progress" dialog window.
*** eiskaltdcpp-daemon ***
* Added command line option: --debug
* Added new JSON-RPC methods: methods.list, hash.pause, hash.status,
  queue.getsources
*** eiskaltdcpp-cli ***
* Added new JSON-RPC methods: queue.list, queue.listtargets, search.clear

--- 2.2.5 2011-12-25 ---
*** common changes ***
* Reorganized the source tree.
* Added ZLIF support into core.
* Added core settings: UseADLOnlyOnOwnList, AllowUploadOverMultiHubs,
  AllowSimUploads.
* Added ability to build the program with miniupnpc version 1.6. Support
  for version 1.5 saved. The local copy of miniupnpc is updated to version 1.6.
* Fixed program crash when using of changed value of IpTOSValue (default -1)
  without root privileges.
* Added recognition of additional fields from file lists of FlylinkDC++:
  bitrate audio, video and resolution.
* Cleanup of code, small optimizations.
* Small improvements for Lua scripts support in MS Windows.
* Fixed build with Boost >= 1.48.
* Transifex web service is used for translators now:
  https://github.com/eiskaltdcpp/eiskaltdcpp/wiki/Translations
  https://www.transifex.com/tehnick/eiskaltdcpp/
*** eiskaltdcpp-qt ***
* Refactoring of source code. Regressions are possible.
* Now GCC >= 4.5.0 is required for build. (Features from C++11 are used)
* Fixed build in Haiku. System algorithm to test run only one instance
  of the program is used now.
* A lot of new methods are now available using QtScript. See:
  https://github.com/eiskaltdcpp/eiskaltdcpp/wiki/Scripting
  https://github.com/eiskaltdcpp/eiskaltdcpp/wiki/Scripting_QtScript_Example_Scripts
  https://github.com/eiskaltdcpp/eiskaltdcpp/wiki/Scripting_Working_With_QtScript
  [Thanks to OmegaPhil for an updated documentation]
* Hot reloading of scripts (QtScript) when they have been changed.
* Dialog of scripting (QtScript) is appreciably improved.
* Improved method of sorting in Search Spy widget.
  [Thanks to Mikhail Krasikau]
* Added recognition of additional fields from file lists of FlylinkDC++:
  bitrate audio, video and resolution. The information is displayed in a tooltip
  for a file.
* Added ability to clear search history and download directories history on exit
  or manualy.
* Added some options in settings dialog: ALLOW_SIM_UPLOADS (allow simultaneous
  uploads by user from different hubs), search-history-items-number,
  download-directory-history-items-number, memorize-tth-search-phrases
* Added buttons for navigation in the file list widget: back, forward, up.
* Shared memory is freed when program in falling down by the signal SIGSEGV.
  Without this program is run only the second time. Actual for unix-like
  systems only, in MS Windows bug was absent.
* Fixed a simultaneous operation of the program for multiple users.
  The environment variable LOGNAME is used to identify the current user
  in unix-like systems and GetUserNameA is used in MS Windows.
* Fixed search of alternatives for uploads.
* Fixed context menu in chats on ADC hubs.
*** eiskaltdcpp-gtk ***
* Support of builds with Gtk < 2.24 was discontinued.
* Added ability to build with Gtk3 (option -DUSE_GTK3 for cmake).
  This is an experimental mode. Various shortcomings are possible.
* Added recognition of additional fields from file lists of FlylinkDC++:
  bitrate audio, video and resolution. The information is displayed
  in additional columns.
* Fixed chat command /ws.
* Search widget is appreciably redesigned.
* Free space indicator was added into main window.
* Added options: use-native-back-color-for-text, show-transfers.
*** eiskaltdcpp-daemon ***
* Added command line options: --verbose, --ip, --port, --rpclog, --uripath
* Added JSON-RPC interface. More detail:
  https://github.com/eiskaltdcpp/eiskaltdcpp/wiki/JSONRPC
*** eiskaltdcpp-cli ***
* Added a simple console interface to control the daemon via JSON-RPC.

--- 2.2.4 2011-10-02 ---
*** common changes ***
* Partial synchronization with DC++ kernel (0.785).
* Now GCC >= 4.4.0 is required for build.
* Added support of http://strongdc.sourceforge.net/download/StrongDC_DHT.pdf
  This option is disabled in the settings by default. It is possible to
  completely remove support for DHT during configuration (option -DWITH_DHT
  for cmake). DHT requires white external IPv4 for a work. See also:
  https://en.wikipedia.org/wiki/Distributed_hash_table
* Fixed build in Mac OS X.
*** eiskaltdcpp-qt ***
* Added some options in settings dialog: DHT, DHT_PORT
* Fixed wrong logging of private chats.
* Added Stop button in the search widget, which only stops adding new elements
  to the frame. Responses to the search query will still come from other
  clients, but will be ignored. This is caused by peculiarities
  of the protocol...
* Improvement in the search widget: pressing Return key in size entry field
  starts searching.
* Added possibility to connect to hubs on encoded URLs, for example:
  dchub://%D1%85%D0%B0%D0%B1.%D1%81%D0%BC%D0%BE%D0%BB%D0%BD%D0%B5%D1%82.%D1%80%D1%84
* Implemented delayed filling model in the file list widget, which significantly
  reduces memory consumption and does not create a short GUI frieze. Especially
  noticeable when opening large file lists.
* Fixed definition of user availability status in the favorite users widget.
* Fixed display the progress of over 100% in downloads progress indicator
  in the active transfers widget.
* Changed algorithm to test run only one instance of the program.
  Now QSharedMemory is used.
*** eiskaltdcpp-gtk ***
* Migrating from Libglade to GtkBuilder. Compatibility with the code base of
  LinuxDC++ and FreeDC++ was partially lost.
* Transition to Gtk+ version 2.24 was made: there are no deprecated elements
  in code now. Support of older versions (only Gtk >= 2.18) is temporarily
  retained by using the insertions in code and additional patches.
* Added some options in settings dialog: DHT, DHT_PORT, DYNDNS_ENABLE,
  DYNDNS_SERVER
* Some improvements in settings dialog.
* Improvement in the search widget: pressing Return key in size entry field
  starts searching.
*** eiskaltdcpp-daemon ***
* Added new XML-RPC methods: search.send, search.getresults, show.version,
  show.ratio (details: https://github.com/eiskaltdcpp/eiskaltdcpp/wiki/XMLRPC)
*** eiskaltdcpp-cli ***
* Added a simple console interface to control the daemon via XML-RPC.

--- 2.2.3 2011-06-25 ---
*** common changes ***
* Different search intervals for favorite hubs (default value: 60 s).
* Fixed bug with connecting to ADC hubs on armel architechture.
* Thanks to Chris Leick the German translation is now available.
* Common code for updating IP from DynDNS (moved from Qt GUI).
* Summary statistics (downloaded/uploaded) moved into the core (current values
  ​​in the Qt GUI will be dropped).
* Fixed problem with hashing files, which contain in their names characters
  missing in the standard 8-bytes locales, but present in Unicode locales.
  (Affects only MS Windows)
* Updated app icons in faenza theme.
* Fixed build in Mac OS X.
* A lot of fixes and cleanup of code (fixed some compiler warnings and etc).
*** eiskaltdcpp-qt ***
* Added new chat command: /dcpps (for changing settings of DC++ core)
* Added some options in favorite hub settings dialog: MINIMUM_SEARCH_INTERVAL
* Async loading of history from databases was implemented in widget of finished
  transfers.
* Added temporary limitation to the number of items loaded from the databases
  on program startup (only 500 elements from the history of finished transfers).
  It will be simple history navigation in this widget later.
* Added the possibility of searching using patterns in the file list widget.
* Fixed bug with incorrect menu item 'About program' in Mac OS X.
* Fixed chat context menu on ADC hubs.
* Added new theme with monochrome app icons.
*** eiskaltdcpp-gtk ***
* Added saving of information about the general traffic (downloaded/uploaded)
  between sessions.
* Added new chat commands: /ip (IPFilter rules), /ratio, /version
* Added some options in favorite hub settings dialog: Mode (connection type),
  MINIMUM_SEARCH_INTERVAL
*** eiskaltdcpp-daemon ***
* New XML-RPC methods.
* Full list of currently available methods: magnet.add, daemon.stop, hub.del,
  hub.say, hub.pm, hub.list, hub.retchat, share.add, share.rename, share.del,
  share.list, share.refresh
* There is no web-ui for daemon control yet.

--- 2.2.2 2011-04-24 ---
*** common changes ***
* Partial synchronization with DC++ kernel (0.785).
* Align ip-address in a chat (only for monospaced fonts).
* Added configuration options: ENABLE_STACKTRACE, WITH_DEV_FILES and
  EISKALTDCPP_INCLUDE_DIR.
* Resolving Internationalized Domain Names (libidn is used) [rfc3490].
  (Enabled by default, see file INSTALL)
* Possible fix to fix migrating from older releases (<2.1.0) without rehashing.
* Added option of hashing delay on programs startup (60 seconds by default).
  If the delay is equal -1, hashing process will not be resumed.
  This option is very useful to accelerate GUI launching, because
  it is not waiting DC++ kernel.
* Added separate file for logging completely finished downloads.
* Ability to bind to a network interface.
* Fixes to improve Lua-scripts.
* Bugfixes.
*** eiskaltdcpp-qt ***
* Added ability to build program on Haiku (see file INSTALL).
* Fixed loading of emoticons from emoticon packs. It was support files only
  in PNG format, but now it can load images in any standart format.
* Improvements in the dialog with black list of search results.
* Fixed highlighting of status messages in a chat: the color is now applied to
  full message.
* Improvement in the search widget: tooltip shows where is the file located
  if it exists in the share.
* Ability to specify TLS_PORT equal TCP_PORT was eliminated in the settings
  dialog. (This was frequent users mistake)
* Added some options in settings dialog: BIND_IFACE (bind to a network
  interface), HASHING_START_DELAY (hashing delay on startup),
  LOG_FILE_FINISHED_DOWNLOAD (separate file for logging completely finished
  downloads).
* Added tooltip for already shared files in file list viewing widget (now it is
  available for other's lists of files too).
* Fixed option of filtering completely finished downloads in transfers widget
  (it didn't work with localization).
* Personal chat widget now uses the limitation of the maximum number
  of messages. Some users had a significant increase of memory usage when
  receiving many messages from bots.
* Added ability to open an incompletely downloaded files from the list
  of downloads.
* In chat menu was added the item for searching selected text.
* Added additional widget for viewing Queued Users.
* Allowed searching alternates for uploads.
* Fixed small memory leaks and produced code cleanup.
* Added MimeType section in .desktop file.
* Now EiskaltDC++ Qt is available as a plugin for the LeechCraft
  (https://github.com/0xd34df00d/leechcraft) project.
*** eiskaltdcpp-gtk ***
* Fixed initialization of the toolbar.
* "Emoticons not loaded" messages is now disabled, when emoticons is
  switched off.
* Added some options in settings dialog: "sound-command", "minimize-tray"
  (minimize to tray on startup)
* Ability to specify TLS_PORT equal TCP_PORT was eliminated in the settings
  dialog. (This was frequent users mistake)
* Added MimeType section in .desktop file.
*** eiskaltdcpp-daemon ***
* Added ability to build program on Haiku (see file INSTALL).
* Added command line options: --pidfile, --confdir, --localdir
* Added example script for launching daemon on system startup in Debian-based
  systems.
* Disabled the forced change of access rights to the created files (644).
* New XML-RPC methods.

--- 2.2.1 2011-03-08 ---
*** common changes ***
* Fixed build under MS Windows.
* Partial synchronization with DC++ kernel (0.785).
* Fixed support for Lua-scripts. (It was broken in version 2.2.0 when was
  sync with DC++ kernel)
* Fixed bug with "empty share" at startup. Now after updating the list of files
  will be done back up, which is used when the program starts. Note: an empty
  list of files is not an empty share! (Many people were wrong in this regard)
* Fixed the answering function for search queries on the ADC-hubs.
  (Bug was added in version 2.2.0 when was sync with DC++ kernel)
* Added ability to disable segmenting and to change segment size (in MiB).
*** eiskaltdcpp-qt ***
* Fixed a crash program when using the filter in the search results when
  new query results come.
* Algorithm for adding separator (horizontal line) for unread messages
  in the chat was updated. Now it works fine.
* Added item view 'properties of magnet links' to all related menu.
* Added support for search links (magnets with kt-keyword).
  (See also: https://bugs.launchpad.net/dcplusplus/+bug/674545)
* Fixed keyboard shortcut Ctrl+C in a personal chat.
  (Bug was added in version 2.2.0)
* Added option to show only completely finished transfers in finished transfers
  widget. A simple filter is used: incomplete downloads can hide and show again.
* Code of work with database (SQLite is used) found to be stable. Some columns
  have been added to finished transfers tables, it is recommended to delete
  old files to avoid possible problems: ~/.config/eiskaltdc++/*.sqlite
* Some fixes for user commands.
* Added ability to highlight user-defined keywords in chat.
* Added ability to customize the color of download/upload progressbars.
* Added option to play sound when personal chat is active.
* Improvements in the scrolling algorithm of history of sent messages.
* Fixed crash when deleting the active (editable) elements from the black list
  of search results. Added ability to sort the list.
* Now user commands menu are not shown if commands list on hub is empty.
* Added option to hide icons in menus. (Useful for Mac OS X users)
* Changed the response for blank nick when the program starts: now a dialog
  to enter a nickname is opened instead of the general preferences dialog.
* Added ability to use aspell in the assembly under MS Windows.
* Added ability to specify BIND_ADDRESS in the preferences dialog.
*** eiskaltdcpp-gtk ***
* Improvements in the search widget.
* Fixed saving of number of upload slots in the preferences dialog.
  (Bug was added in version 2.2.0)
* Added option to display only the transmission is completed in the widget
  programs. A hard algorithm is used: incomplete downloads are removed from
  the list and will not be added to it.
* Hotkeys were synchronized with EiskaltDC++ Qt.
* Fixed builds with libnotify >= 0.7.0.
* Changed the parser of magnet-links.
* Fixed issue with loading emoticons. (In the xml-files emoticon packs it was
  pointed standalone = "no" instead of "yes")
* Added the ability to play audio notifications without using libgnome.
*** eiskaltdcpp-daemon ***
* Fixed sending a password when connecting to hubs with registration.
* Rewrote the code that is responsible for using of threads. Now program
  can be builded in MS Windows. Note: This binary can't be run as a service
  of Windows, because the process must be run on behalf of an existing user
  (for access to the settings).
* XML-RPC access to the program is now in active development but not yet ready.

--- 2.2.0 2011-01-16 ---
*** common changes ***
* Completed the transition to the 0.770 kernel. Version 0.770 is conditional,
  since it's used the patches from more recent revisions. However, full
  synchronization with lastest DC++ kernel is not planned because of some
  of its shortcomings. For example: 1) a deeper connection to libboost;
  2) using of the code, which requires -std=c++0x and gcc >= 4.5.x;
  3) using settings of the graphical window in the kernel config.
* Broken support for Lua-scripts. Build the program with -DLUA_SCRIPT=OFF.
* Thanks to Uhlik the Czech translation is now available.
* Now limit on share size doesn't apply to favorite users and users with
  granted slots.
* Added partial file sharing extension (PFSR). It allow you to download files
  that clients have not completely downloaded or was previously downloaded but
  not shared immediately. (PFSR is taken from the StrongDC++ project)
  [see https://adc.sourceforge.io/ADC-EXT.html#_pfsr_partial_file_sharing]
* Fixed incorrect use of speed limits: if this value is greater than zero, then
  the restriction applies even if it was disabled in settings.
  (Bug was added in version 2.1.0)
* Fixed deadlock when downloading files with extremely long names. Type of file
  system is now irrelevant.
* Added ToS (Type-of-Service) socket option.
*** eiskaltdcpp-qt ***
* Fixed parsing of emoticons in new messages. Now more fast and correct.
* Improvements in the search widget.
* Highlight duplicates in share.
* Implemented blacklist for search results.
* Added separator (horizontal line) for unread messages in the chat.
  (Default is switched off) (This is experimental option)
* Added an option of the connection type in the favorite hubs settings.
* Added a speed limit button to the tools panel.
* Added ability of redirecting new personal messages to the main chat.
* Now you can set share restrictions in the share browser widget.
  Just open own file list and use the menu.
* Disabled colorize of progress-bar in transfers widget.
* Added open directory item to the context menu for own file list.
* Added item to copy web-magnets in all related menu.
* Added search frame for a personal chat.
* Fixed possible deadlock when connecting to DynDNS.
* Print backtrace in console when receiving the signal SIGSEGV
  (segmentation fault).
* Fixed mistake of selecting another user in context menu of the chat.
  (Bug was added in version 2.1.0)
* Fixed bug of displaying search results when searching directories.
  It was shown only one result before applying sorting.
* Fixed bug of displaying file names in UTF-8 in the file list widget
  in MS Windows.
* Fixed opening shared directory with non ASCII symbols in the file list widget
  in MS Windows.
* Reworked dialog of sending hub commands.
* Fixed bug with sending away messages to the bots on NMDC hubs.
* Fixed restoring wide-open window mode at startup.
* Fixed problem with inability to set a hotkey Esc in the settings.
* Support for BBСode tags [s][/s], [code][/code], [url][/url] and
  [color][/color] in the chat.
* Support for nested BBСode tags.
* Fixed tray icon action on left mouse click in MS Windows.
* Fixed blurred program icon on the taskbar in MS Windows 7.
* Open magnet link item was added into main menu.
* Improvement in the magnet-link properties dialog: rapid selection of
  previously used directories for downloading.
* Removed unnecessary dependencies during linking on Mac OS X.
* Fixed small bug AntiSpam module for the main chat.
  (It was added in version 2.1.0)
* Fixed a false light files as duplicates in the results of ADL-search.
* Fixed using %[userNI] in the logs of the chat.
  (Bug was added in version 2.1.0)
* Added a column with information about using of encryption in the transfers
  list.
* Fixed a program crash when getting in the search results entries with
  a blank file name.
* When window is activate input field will receive focus again.
  (The problem was added in version 2.1.0)
* Changed algorithm to test run only one instance of the program.
  Now QtSingleApplication is used.
* Added support of SQLite database. Now it is used for saving finished
  transfers list. (Disabled by default, see file INSTALL)
  (This is experimental option)
* Correction of the notification system with an active personal correspondence.
* Double click on the free space indicator now opens the download directory.
* Removed support for *bold* and _underlined_ text like in Psi.
* Improved hot change the interface language without restarting the program.
* Added the ability to scale the preferences dialog to a smaller size.
  The window size is remembered.
* Extended settings dialog.
*** eiskaltdcpp-gtk ***
* Improvements in the search widget.
* Fixed path to lock file of launched program (it was ~/.dc++/). Now it
  launches only one instance of the DC-client and magnet-links are correctly
  intercepted by it.
* Added hot keys Left/Right to expand the directory tree in the widget view
  a list of files.
* Extended settings dialog.
*** eiskaltdcpp-daemon ***
* Development has begun. Attention: the program is not yet ready to use!
* At the moment it is uncontrollable demon. You can only run it and kill.
* Launched process (see man-page) picks up the settings from configuration files
  that are created manually or by using graphical interface on Qt or Gtk.
  The result: initiated downloads is continuing, users can access to your share
  and so on.

--- 2.1.1 2010-11-21 ---
*** common changes ***
* Fixed TigerHash for ARM architecture.
* -DUSE_MINIUPNP is set to OFF by default.
* Fixed issue with blocking ports on restarting the program.
* Added ability to use pcre library for regex in perl style (see option
  PERL_REGEX in file INSTALL). Currently it uses only in ADL Search.
*** eiskaltdcpp-qt ***
* Fixed crash when deleting last characters in the input field of the chat
  by using the Backspace. (The problem manifested only with Qt 4.7.1)
* Optimized link parser. Very long new chat messages are displayed much faster.
* Fixed opening torrent's magnet links from chat.
* Added ability to forced change the background color in the chat.
* Fixed wrong icon path for App Bundle in Mac OS X.
  (The problem was added in 2.1.0)
* BBСode support in the chat ([b][/b], [u][/u], [i][/i]).
* Support for *bold* and _underlined_ text like in Psi.
*** eiskaltdcpp-gtk ***
* Improvements in the main menu.
* Improvements in the toolbar.
* BBСode support in the chat ([b][/b], [u][/u], [i][/i]).

--- 2.1.0 2010-11-07 ---
*** common changes ***
* libeiskaltdcpp library was separated from the basic binary file for unix-like
  systems.
* Added localization of kernel messages. Gettext used.
* Added ability to use Lua-scripts (see the file INSTALL).
* Added ability to use miniUPnP for connection (see file INSTALL).
* Added set of sound files from the FlylinkDC++ project.
* Kernel (dcpp) was partially updated to version 0.777.
* Added NATT. See: https://adc.sourceforge.io/ADC-EXT.html#_natt_nat_traversal
* Made the possibility of using a case-sensitive file-list
  (CaseSensitiveFilelist option in SettingManager). If you have directories in
  which located are files of file.txt, FILE.txt and/or File.txt, now it will not
  cause problems with the permanent updating of the share and all these files
  will be simultaneously available to other users for downloading. By default
  this option is disabled, because it can cause a violation of compatibility
  with other DC-clients.
  (see discussion: https://bugs.launchpad.net/linuxdcpp/bug/311818)
* Note: when upgrading to this version of program, after restarts, it will be
  forced once fully rehashing your files. This is due to the fact that now file
  hashes are stored in case-sensitive form. The way a file-list will be formed
  from these hashes depends on the option described above. By default, the file
  names in file-list are stored in lowercase, in accordance with
  the specification.
*** eiskaltdcpp-qt ***
* Now when you hide main menu (Ctrl+M), the corresponding button will be added
  to the toolbar.
* Added ability to customize the list of actions on toolbar.
  (Right click on toolbar --> Customize)
* Added option to display the ip-addresses of users in the chat. (Depending on
  hub configuration: information about them is usually available only to
  operators)
* Fixed a problem with minimum width of main window in Mac OS X.
* Multi-line widgets panel (tabs).
* Added ability to hide close buttons from tabs (see context menu on the panel).
* Thanks to Gustavo Alvarez the Spanish translation is now available.
* Thanks to Rusi Dimitrov the Bulgarian translation is now available.
* Thanks to Martin Durisin the Slovak translation is now available.
* Added ability to build program without libupnp and QtDBus (see file INSTALL).
* Added ability to build program on MS Windows (see file win32/READ_ME.txt).
* Added a hash progress indicator in the status line. Combined menu
  'Refresh share' and 'Hash progress'.
* Extended settings dialog.
* Removed extra code (option -DFREE_SPACE_BAR for cmake). Assemblies with
  -DFREE_SPACE_BAR_C=ON work stably on all supported platforms.
* Added ability to configure connection via UPnP (used miniupnp).
* Removed the possibility to build with libupnp 1.6 .* (USE_LIBUPNP option).
* Added /luafile and /lua chat commands (see man-page or /help in chat).
* Added widget for ADL-search configuration.
* Auto-away interval (watching for user activity).
* Changed functions working with smilies. It is now possible to use the original
  emoticon packs from other customers at no additional modifications.
  Smiley-packs which supplied with the program are common for Qt and
  Gtk interfaces.
* Added ability to use Qt regular expressions in userlist filter
  (enter ##<regexp> in filter)
* Added logging anti-spam bot (antispam.log file in ~/.config/eiskaltdc++/
  or in a different directory, depending on build options).
* Added shortcut manager.
* Added support of Qt Declarative UI (work only with Qt >= 4.7.0).
* Added emoticons panel (see suitable option in Settings-->GUI-->Chat)
* Added dialog for calculating TTH of any file.
*** eiskaltdcpp-gtk ***
* Added Gtk interface based on code of FreeDC++ and LinuxDC++.
* The interface is localized using gettext.
* Default icons for Gtk interface synchronized with default icons from
  Qt interface.
* Added widget for ADL-search configuration.
* Added ability to configure connection via UPnP (used miniupnp).
* Added /sh and /alias chat commands (see man-page or /help in chat).
* Added /luafile and /lua chat commands (see man-page or /help in chat).
* Added dialog for calculating TTH of any file.
* Displaying images in the chat ([img]magnet[/img]).

--- 2.0.3 2010-06-08 ---
* Fixed display of unread messages using the tray icon.
* Fixed potential problems with search using locales other than UTF-8. (Now
  kernel takes default encoding specified in the preferences rather than
  local ones, as it was before)
* Added graphical configuration of user commands in the Settings dialog.
  (In previous versions it was necessary to edit xml-config manually)
* Thanks to Dmytro Demenko the Ukrainian translation is now available.
* Thanks to Miroslav Petrovic the Serbian (Latin) translation is now available.
* Preferences moved to $XDG_CONFIG_HOME/eiskaltdc++/ directory (environment
  variable $XDG_CONFIG_HOME mostly often defined as ~/.config/). Preferences
  directory will be automatically moved at first start after the upgrade.
  Using $XDG_CONFIG_HOME can be disabled during the configuration,
  see file INSTALL.
* Added ability to place templates with predefined program settings to
  /usr/share/eiskaltdcpp/config/ directory (depends on cmake options,
  see file INSTALL). This templates (instead of default settings) will be copied
  to personal user preferences directory when you first start program.
* Added drag'n'drop of files to messages input field. If file is shared, magnet
  link will be placed to input field instead of file path.
* Chat command /sh now supports macro
  <magnet show=alternative filename>path to file</magnet>.
  You can find how to use it in 'examples' directory.
* Improved anti-spam module, all the previously planned functionality is now
  available.
* Added option to change the representation of size
  (kibibyte (KiB) <=> kilobyte (KB), etc.), see man-page.
* Added QtScript basic support (disabled by default, see file INSTALL).
* Added support for system icon theme (disabled by default, see file INSTALL).
* Added some JS-script examples (LogViewer, Amarok: Now Playing, Konsole),
  improved interaction with DC++ core and client.
* Auto-resizing input widget in chats. (Use Shift+Enter for carriage return)
* Bugfixes.

--- 2.0.2 2010-05-04 ---
* Thanks to Alexandre Wallimann the French translation is now available.
* Thanks to Arahael the Polish translation is now available.
* Added ability to use the side dock with list of widgets instead of a one-line
  panel with tabs.
* Added ability to build with Qt >= 4.4.0. Previously required Qt >= 4.5.0.
* Added filter in search widget.
* Improvements in notifications about new messages in chat (different icons).
* Fixed bug with fall of program when using search. Bug present in all previous
  revisions.
* Changed default logs format.
* Improvements in text boxes.
* Added submenu in user list to copy bits of users info.

--- 2.0.1 2010-04-18 ---
* Added widget with public hubs.
* Filtering support in basic widgets (Ctrl+F hotkey).
* Away mode support.
* The File menu was splitted into several thematic menus.
* Added custom scripts examples.
* Added status line with the last message on hub.
* Added fast search panel.
* Added ability to run several instances of client by different system users.
  Different local ports have to be specified in the settings.
* Thanks to Akos Berki the Hungarian translation is now available.
* Added ability to disable chat during automatic connecting to favorite hub.
* Added option in preference dialog to limit hashing speed.
* Added ability to pause hashing process.
* Added ability to limit upload to users according their own share size.
* Fixed problems during restoring program from system tray in Gnome
  and in Mac OS X.
* Added history of sent messages, their number can be configured.
* Added search history, their number can be configured.
* Improved configuration of file exceptions from share.
* Significantly expanded the settings dialog.
* Lots of bug fixes, etc.

--- 2.0 2010-03-22 ---
* Migration to the dc++ core (v0.75) and respectively support ADC.
* Full-featured chat (parsing magnets, links, emoticons, search in the chat,
  filtering in users list, chat commands).
* Full-featured search engine and file-browser (lights already shared files,
  etc.).
* Group transfers in connection manager.
* Separate download manager.
* Download and upload lists.
* Favourite users (autoslots and etc.); favourite hubs.
* Text (using default Qt tray messages or using standart D-Bus system manager
  notices) and sound notifications.
* Support of themes, icons and emoticon-packs.
* The ability to not share files by mask.
* UPnP Support.
* Substitution tag in favourite hubs.
* Compulsory indication of external IP-address in favourite hubs.
* Auto-update external IP through DynDNS in favourite hubs.
* Search spy.
* IP-filter.
* Spell-checking using Aspell.
