Fritz!Box call monitor for KDE 'kfritz' Revision History
--------------------------------------------------------

2008-12-21: Initial program

- First KDE based approach of a callmonitor for Fritz!Boxes
- Bases on libfritz++, part of vdr-fritz Plugin for the VideoDiscRecorder VDR.

2010-02-11: Version 0.0.1

- Updates in libfritz++
  * Made CallList a singleton.
  * Renamed various methods in fonbook classes from *Fonbuch* to *Fonbook*.
  * Implemented in-library msn filtering and reverse-lookups.
  * Renamed various methods in FonbookManager from *Fonbuch* to *Fonbook*.
  * Introduced callType::ALL to get one complete call list (containing missed, 
    incoming and outgoing)
  * Moved callType to CallEntry
  * A call to Config::SetupFonbookIDs now deletes a previously instantiated 
    FonbookManager to allow multiple calls to SetupFonbookIDs in case of 
    configuration changes.
  * Introduced new method CallList::DeleteCallList() to explicitly delete the 
    singleton instance.                                                                      
  * Made Listener a singleton. A call to Listener::CreateListener() is used to 
    activate this feature.                                                                  
  * Introduced new method CallList::CreateCallList() to explicitly pre-fetch 
    the call list before calling CallList::getCallList().
  * Moved Config::SetupFonbookIDs to FonbookManager::CreateFonbookManager().
  * Renamed Tools::GetPhoneSettings() to Tools::GetLocationSettings().
  * Added resolving of SIP[0-9] to real provider names.
  * Added sort routines to libfritz++
  * Fixed a possible segfault when sorting calllists and fonbooks
  * Added Config::SetupPorts() to provide non-standard ports
  * Removed useless check in CallList::RetrieveEntry()                                    
  * Fixed some warnings about ununsed parameters in base-classes and empty 
    implementations
- Added "-fPIC" to Makefiles.
- Added sort routines to KCalllistModel and KFonbookModel
- Fixed some warnings about unused parameters
- Added debug mode to cmake file                     
- Now logging to both UI and stdout
- Introduced tabs for fonbook, calllist and log
- Implemented configuration dialog. 
  Hostname, area code and country code are now configurable
- Using KNotify for notification only, now
- Refactored KFonbookModel and KCalllistModel using a generic base class 
  KFritzModel
- Moved all libfritz initialization to a threaded class LibFritzInit, 
  speeding up application start
- Modified LogStream to support logging from libfritz++ and main program.
  Introduced logging macros DBG, INF, ERR
- Added support for password saving using KWallet
- Added a ':' in logging messages for better readability
- Added support for libindicate-qt in CMakeLists.txt, introduced define 
  INDICATEQT_FOUND
- Added "outgoingCall", "callConnected" and "callDisconnected" to KNotify
- Integrated KEventHandler into KFritzBoxWindow
- Implemented support for libindicate-qt, "missed calls" are notified via 
  that way
- Added .desktop file
- Added application specific icons "incoming-call", "outgoing-call", 
  "missed-call" and "new-call" 
- Renamed relevant occurences of kfritzbox to kfritz
- Some improvements to debian subdir
- Added configuration page "Phone books"
- Added configuration tab "MSN filter" on page "Fritz!Box"
- Added configuration option "Show log"
- First steps to integrate i18n support
- Fixed crash when reloading call history and phone book after configuration 
  changes
- Replace the term "calllist" with "call history" on user interface
- Translated UI texts to german
- Closing kfritz main window now minimizes to systray 
- Passing window id to KWallet to remove warning
- Translated texts coming from libfritz++ to german
- Added message to status bar while reading data from Fritz!Box
- Moved log to a separate dialog, moved menu entry to help menu
- Fixed formatting of time at disconnect-notification
- Added call to libfritz to set up config dir (in most cases 
  ~/.kde/share/apps/kfritz)

2010-02-16: Version 0.0.2

- Fixed translation of "Missed calls" wrt. desktop indicator
- Fixed translation of "POTS" and "ISDN", which are strings sent from the FB
- Added german translation to kfritz.notifyrc
- Fixed a compiler failure on systems without libindicate-qt-dev and 
  detection of ssl-package in cmake (reported by Richard Bos)
- Added german translation to kfritz.desktop file.
- Set default build type in cmake, cleaned up makefiles of static libs
- Added missing KDE4_ENABLE_EXCEPTIONS to CXX_FLAGS
- Adapted to new logging system of libfritz++
- Added missing COPYING and AUTHORS file (reported by Christian Mangold)

2010-02-16: Version 0.0.3

- Adapted to changes in libfritz++
  * Removed dependency to OpenSSL due to licensing issues, 
    using copy of MD5 implementation from GNU coreutils 5.93
- Dropped linking to libssl

2010-02-20: Version 0.0.4

- Changes in libfritz++
  * Removed md5.[h,c] in favor of libgcrypt, libfritz++ now needs libgcrypt's 
    development header "gcrypt.h" to compile
- Fixed "missed calls" indicator. Missed calls during runtime were not 
  indicated. (reported by Christian Mangold)
- Fixed clicking on "missed calls" indicator. A click now shows KFritz's call 
  history.
- Added a missing ';' to kfritz.desktop
- Call history no longer shows a length (0:00) for missed calls.
- Added dutch translations (provided by Richard Bos)
- Added CMAKE_SKIP_RPATH to avoid setting a rpath in kfritz binary
- Added CMakeModules/FindGCrypt.cmake from 
  http://marc.info/?l=gcrypt-devel&m=126252802612599&w=2 for cmake support of 
  libgcrypt
- Now linking to libgcrypt
- Fixed dutch translation string "Incoming call from <b>%1</b><br/>using %2"
  (reported by Richard Bos)
- Fixed installation location of kfritz.desktop in CMakeLists.txt
  (patch provided by Sebastian Trueg)
- Added "Dial number" action, which dials the current selection in a phone 
  book or the call history (suggested by Richard Bos)

2010-12-24: Version 0.0.5

- Changes in libfritz++
  * Implemented functions to retrieve current IP and trigger a reconnect
  * phone book entries now have the addtional fields "quickdial", "vanity", 
    "priority", "important"
  * Fixed decoding of entities in xml phone book parser   
  * Modified FonbookEntry class: one FonbookEntry now holds all numbers of a 
  person 
  * phone book entries now have the additional fields "quickdial", "vanity", 
    "priority", "important"
  * now parsing the Fritz Box's phone book via xml export file (if available)
  * adapted local phonebook to use the same xml format, new FB versions use.
    Existing csv phone books are converted to xml automagically, entries 
    with TYPE_NONE are converted to TYPE_HOME
  * Updated OertlichesFonbook to website changes
  * Fixed parsing SIP provider names
  * Sensitive Information like passwords, phone numbers, etc. are no longer 
    logged by default.
  -> The new command line option --log-personal-info re-enables logging all 
    information
- Important changes in libtcpclient++
  * Fixed a possible issue with "thread-safety" of TcpClient, a TcpClient 
    object can now be deleted out of another thread while running
  -> This prevents possible crashes when closing KFritz
- Added menu entries for getting IP and reconnecting to ISP
- Added new columns to Fritz Box's phone book view 
- Moved ${GCRYPT_LIBRARIES} in CMakeLists.txt to support linking with 
  --as-needed (suggested by Richard Bos)
- Added README with installing instructions
- Makefile: Moved install target to kde-install and created install target 
  using sudo instead of kdesudo.
- Implemented "Copy number to clipboard", added entry to context menu
  (suggested by Richard Bos)
- Fixed project's home URL in KAboutData (reported by Richard Bos)
- Updated dutch translations (thanks to Richard Bos)
- Updated README with contribution instructions
- Modified displaying of phone books accordingly
- Reworked displaying of phone books
  * All numbers of a contact are shown in one line
  * Default numbers are shown in bold face
- Enabled editing of existing entries of writable phonebooks.
  Writeable phone books are the local phone book and the Fritz!Box phone book.
  The Fritz!Box phone book can only edited with recent firmware versions, that
  provide an export button on the webinterface.
- Added tel.local.ch phonebook
  (suggested by Urs Aregger)
- Changed color of incoming call icon to blue, to improve readability
  (suggested by Mark Peter Wege and Markus Haitzer)
- Set larger default size for log dialog
- Dial arbitrary numbers
  (suggested by Richard Bos and Christoph Rauch)
- Moved partially from libtcpclient++ to socket support of libccgnu2/libccext2.
- Moved from libpthread++ to thread support of libccgnu2.
  To compile kfritz, development header files of the gnu common c++ library 
  are needed!
- Fixed german translation of "Call connected."
- Added option to reload phone books and call list manually
  (suggested by Michael Speier)
- Added "copy number to clipboard" option to menu bar
- Added italian translations 
  (provided by Fabio Pirrello)

2011-01-16: Version 0.0.6
- Changes in libfritz++
  * Fixed resolving numbers with "Das Oertliche" phone book
    (patch provided by Kurt Wanner)
  * Improve checks when parsing result list in OertlichesFonbook
    Check that at most one result is returned
    (reported by Honky)
  * Improve OertlichesFonbook parser
    Looking for the onclick=... as a last attribute does not always work
  * Add missing include to XmlFonbook
    (reported by Richard Bos)
  * Add Config::Shutdown() to gracefully shutdown the library
  * Keep current call list as long as possible on reload
    Current call list is now cleared after the new call list
    has been parsed
  * Fix XmlFonbook parser
    XmlFonbook Parser was not aware of empty <number /> tags
    (reported by Richard Bos and Achim Bohnet)
  * Fix retry delay calculation in Listener
- Add missing include to KCalllistModel
  (reported by Richard Bos)
- Simpler message "Reconnect initiated", changed message 
  "Current IP adress is..."
  (suggested by Richard Bos)
- Updated NL translation
  (provided by Richard Bos)
- Adapt to new library function Config::Shutdown()   
  This fixes changing the configuration at runtime. The library is now
  shutdown before the configuration is changed and setup again afterwards
- Remove X-Ubuntu-Gettext-Domain
  (patch provided by Christian Mangold, reported by Felix Geyer)
- Remove handbook menu entry
  (patch provided by Felix Geyer)
- Fix include commoncpp libraries in CMakeLists
  (reported by Felix Geyer)

2011-02-13: Version 0.0.7
- Important changes in libfritz++
  * Fix FonbookManager if no phone book is configured at all
  * Add methods for adding and deleting fonbook entries
  * Only write phone books back if changes are pending
  * Extend Fonbook::AddFonbookEntry() to allow arbitrary position for new entry
- Fix init if FRITZ phone book is not configured
- Fix crash if no phone book is configured at all
- Enable filtering in call list
- Speed up shutdown of kfritz
- Fixed some compiler warnings
- Removed libtcpclient, which is obsolete after complete migration to libcommoncpp2
- Handle umlauts in phone book editing correctly
  (reported by Achim Bohnet)
- Add and delete phone book entries
- Add copy, paste and cut actions
- Add "Resolve number" action in call list
- Copy elements from call list and non-writeable phone books
- New setup option "Start minimized"

2011-10-30: Version 0.0.8
- Important changes in libfritz++
  * Added parsing of SIP MSNs
  * Fix logging into Fritz!Box without password
  * Fix compile error with libcommoncpp2 / IPv6
  * Initialization speedup
  * Adapt to more flexible Fritz!Box phone books
  * Fix resolve in OertlichesFonbook
- Adapted to KDE's translation process
- Updated contributed translations from KDE SVN
- Fix sorting in call list. Sorting by date was wrong after the introduction of 
  KCalllistProxyModel
  (reported by Richard Bos)
- Only active "Resolve number" context menu entry where it makes sense.
  Entries with already resolved numbers or unknown caller are excluded.
  (suggested by Richard Bos)
- Renamed context menu entry of resolveNumber action
  (suggested by Richard Bos)
- Fixed possible crash caused by number() and name() in KCalllistModel
- Add provider selection in dial dialog
  (closes #267338 in KDE bugtracker)
- Fix logging into Fritz!Box without password
  (closes #267478 in KDE bugtracker)
- Code cleanup
- Fix missing translation of 'unknown'
- Changed default value of 'Start minimized'
  Default behaviour before introduction of this parameter
  was to start minimized
  (closes #267820 in KDE bugtracker)
- Fix 'reconnect ISP' and 'Get current IP'
  Both crashed if no connection to the fritz box is available
- Do not save changes on shutdown per default
  Ask on application quit if pending changes should be saved
- Adapt to new Fritzbox features
  * Phone book entries with more then one numbers of the same
    type (home, mobile, ...) are supported now
  * The number columns got more generic names
  * The type of a phone number is shown as tooltip
- Fix possible crash on shutdown of KFritz
- Fix resolving numbers with das-oertliche.de
  (closes #277230 in KDE bugtracker)
- Fix encoding of data received from libfritz++ and shown in kfritz GUI
  (closes #277228 in KDE bugtracker)
- Call list now resolves all occurences of the same number
  (closes #277229 in KDE bugtracker)
- Add possibility to change type of phone numbers

2012-03-11: Version 0.0.9
- Changes in libfritz++
  * Fixed resolving numbers with "Das Oertliche" phone book
    (patch provided by Kurt Wanner)
- Updated various translations

2012-10-14: Version 0.0.10
- Important changes in libfritz++
* Fixes a deadlock when initializating call list and phone books
- Add Save action to save changed phone book explicitly
- Add caching to lookup phone books
- Fix unnecessary clean in Makefile
- Fix compiler warnings -Wsign-compare, -Wunused-parameter
- Refactored build process
- Fix a crash when accessing settings dialog
  (closes #297527 in KDE bugtracker, reported by Alfred Egger)
- Fixed resolv in TelLocalChFonbook 
  (closes #298763 in KDE bugtracker, reported by Luca Giambonini)
- Added DBus interface
  (based on a patch provided by Christian Holzberger)
- New tray icon in black-and-white style
- Updated various translations

2012-12-23: Version 0.0.11
- Support for new FB firmware versions xx.05.50
- Important changes in libfritz++
  * Hide msn in syslog if logPersonalInfo is disabled
  * Adapt to new FW version 05.50
  * Implement new login scheme using login_sid.lua for FB firmware >= xx.05.50
  * Adapt sip settings, location settings, call list and phone book requests
    to new uris and format
    
2012-12-27: Version 0.0.12
- Fixes compatibility issues with older fw-versions
- Important changes in libfritz++
  * Fixes login problems with old fw-versions that return 404 on login_sid.lua
  (reported by sofasurfer)
  * Fix encoding conversion when requesting call list
  
2012-12-28: Version 0.0.12a
- Fixes compatibility issues with older fw-versions
- Important changes in libfritz++
  * Further fixes to allow access to older FB firmwares
  (closes #312204 in KDE bugtracker, reported by sofasurfer)
  
