==================
NNTPGrab ChangeLog
==================

+----------------+
| NNTPGrab 0.3.1 |
+----------------+

Released at Wednesday June 11 2008

- On Windows, the program remained visible on the taskbar when using the tray
  icon functionality. Fixed, http://bugzilla.gnome.org/show_bug.cgi?id=537183
- When NNTPGrab 0.3.0 is run for the second time, all the download columns in
  the download queue could be hidden. Fixed
- The estimated time remaining and estimated time to finish of entire collections
  became invalid on large collections (4GB+) or large download queues. Fixed
- There was a possible race condition where multiple NNTPConnection objects
  could get initialized at the same time, resulting in strange error messages
  like "GLib-GObject-ERROR **: g_type_plugin_*() invalidly modified type
  'NNTPConnection'". This race condition is now fixed
- Small optimalisation in the generation of the download folder listing
- Don't build the list of available download folders everytime the program
  starts, only do this when the user actives this configuration - download folders tab.
- Show a small popup dialog while the list of download folders is being built
  (on Mac OS X this can take up to 10 seconds due to automount). Bugzilla #158
- When opening .nzb files, add them to the 'recently used files' list in the
  filechooser and the desktop environment (the latter for Linux only)
- Produce more sane error messages on Windows when a connect timeout occurs
  (fixes the 'No error' message)
- Fixed a small memory leak in the NNTP plugin
- Connections could keep hanging in the 'Idle' state. Fixed
- The 'connection_disconnect' signals wasn't emitted on all connection errors. Fixed
- On Windows, several error messages could get lost (or be 'No error'). Fixed
- Lowered the read timeout to 10 seconds. This should tackle usenet servers
  which take a very long time to respond on authentication failures, like Eweka
- The behaviour of the setsockopt function (to set timeouts) is different on Windows.. Fixed
- On startup, several 'There is no disk in the drive' dialogs could pop up on Windows. Fixed
- On uninstall of the Win32 version some files remained installed. Fixed

+----------------+
| NNTPGrab 0.3.0 |
+----------------+

Released at Saturday June 1 2008

- On connection failures, stop trying after 5 seconds. This change
  also causes the schedular to pause more quickly and the server
  configuration to process changes faster
- Added a filter to the NZB import filechooser component, so that by default
  only .nzb files are shown. An option to show all the files is also added
- On fresh installations, the download and temp directory weren't set
  up correctly. Fixed
- On fresh installations, no columns/contents were shown in the download
  queue. Fixed
- In the download and temp folder chooser component, perform a scroll and
  expand only if it was triggered by another frontend
- Opening .nzb files on Mac OS X while NNTPGrab wasn't running
  yet caused to NZB Import dialog to be blank. Fixed
- Small memory leaks fixed

+-----------------+
| NNTPGrab 0.2.91 |
+-----------------+

Released at Monday May 26 2008

== This is an unstable release! ==

- Added support for marking usenet servers as enabled/disabled
- Improved the installation directory discovery for Win32 environments
- The .nzb file associaton was broken for Win32. Fixed
- Several Visual Studio fixes
- The configuration of the download and temp folders should now work fine on Windows
- Disable drag&drop in the download queue as it is broken
- Added some hacks to get the PHP module to compile on OSX
- In some webserver environments, the webinterface could show some PHP code
  to the client. Fixed
- Search for the NNTPGrab plugins in the right folder (fixes 64bit
  /usr/lib64 compatibility)
- Use sane default values when the subject of a file could not be parsed
  successfully during the NZB import
- Prevent the user from running both the NNTPGrab Server and the Standalone
  GUI at the same time
- Create crash reports on Win32 when the NNTPGrab Server crashes
- On Win32, if the error WSAETIMEDOUT is triggered, keep trying again until
  a real timeout has occured
- Moved the Winsock initialisation to the main.c of the GUI and the NNTPGrab Server
- The NZB Import dialog could cause an (GTK internal) assertion error. Fixed
- Destroy the tray icon on shutdown of the GUI
- Removed a lot of unused code
- Lowered the memory usage by using fixed-size structures for all the signal processing
- Check for program updates from a seperate thread. Bugzilla #158
- Only show the notification-bubbles configuration when it is supported

+-----------------+
| NNTPGrab 0.2.90 |
+-----------------+

Released at Saturday May 17 2008

== This is an unstable release! ==

- Added support for downloading from multiple servers with multiple threads
- Each server can be assigned a priority (high, normal, low), so that parts
  are downloaded first from servers with a high priority before servers with
  a lower priority are tried
- Priority of items in the download queue can be changed
- Addition of network glue layer so frontend and backend can be seperated
  Due to this layer it is now possible to perform the downloads on another
  computer than the computer where the GUI is running
- Added the NNTPGrab Server. This program runs in the background and
  executes commands from the Networked GUI and the webinterface
- Added a Networked GUI, which is the same as the normal GUI, but can
  be used to control a NNTPGrab Server (running on a different computer)
- Added a PHP module with which the NNTPGrab server can be controlled
- Added a (basic) webinterface which uses the PHP module to communicate
  with the NNTPGrab Server
- Added support for a tray icon
- File association with .nzb files
- The file size remaining, estimated time remaining and estimated time to
  finish are now shown in the GUI
- The columns shown in the download queue can now be turned on and off
- Added support to drag-drop the columns in the download queue
- Improved Mac OS X integration
- New ./configure option added: --disable-gui. With this option set, the GUI
  won't be build and the GUI-specific configure tests will be skipped
- The plugins are now installed in $prefix/lib/nntpgrab instead of $prefix/lib
- The configuration tab of the GUI is fully redesigned
- Small optimalisation in the speed monitor, only redraw the graph when the
  GUI is shown. Ignore speed monitor updates when the GUI is hidden/minimized
- Added Visual Studio 2008 project files
- When importing NZB files, select all the files by default
- Detect if the NNTPGrab GUI is already running and if so, give focus
  to this already running instance
- If a file is being decoded and the resulting filename already exists, then
  the resulting file will be renamed so it contains a suffix and the original
  file remains intact
- Provide more user-friendly error messages on possible initialisation errors
- Validate the input in the server configuration dialog before saving it
- Don't use recv() calls with the MSG_PEEK flag anymore as this was causing
  problems (like kernel warnings about race conditions). Instead, use a buffer
  for all the received data and only read new data when necessary
- Don't keep the traffic monitor lock longer than necessary. Should better
  stabilize the traffic monitor while decoding files

Thanks to the following contributors:
- slazh, creating the webinterface
- Icheb, adding ajax support to the webinterface
- PascalW, providing code for .nzb file association under OSX
- Dr3am3r, bugreports, testing of the PHP module and NZB import for the webinterface

+----------------+
| NNTPGrab 0.2.5 |
+----------------+

Released at Tuesday April 29 2008

- The program could crash while decoding files. Fixed
- The total size of collections didn't got updated when a task was removed. Fixed
- The program could crash when there was no free disk space anymore to
  save downloaded parts. Fixed
- Fixed a small compiler warning

+----------------+
| NNTPGrab 0.2.4 |
+----------------+

Released at Saturday March 1 2008

- The program would always crash when using GTK 2.12.7 or higher. Fixed
- Fix a off-by-one error which could cause the program to crash while downloading
- Fix possible deadlock
- Don't send 'traffic_monitor_update' signals when there hasn't been any
  traffic for the last 10 seconds. Lowers the CPU usage when there aren't
  any downloads active
- During the program update check, the program will now check if there are
  new unstable versions available and notify the user about this

+----------------+
| NNTPGrab 0.2.3 |
+----------------+

Released at Saturday February 2 2008

- In some situations, the decoder component could crash. Fixed
- Only send a 'part_progress_update' every 1/10th second instead of for
  every 10KB of data received to lower the CPU usage
- Only write every 128KB of received data to the disk instead of for every
  chunk of data received
- Catch possible errors which can occur while saving the downloaded parts
- Several small memory leaks solved
- On Windows Vista the decoding would always fail with the message 'Invalid argument'. Fixed

+----------------+
| NNTPGrab 0.2.2 |
+----------------+

Released at Sunday Januari 27 2008

- In the Windows installation script, check if NNTPGrab is still
  running when the (un)installation program is started
- Drastically lower the memory usage in the NNTP code by using mmap'ed files
- Possible race condition during the initialisation of the program solved
- When the decoding is finished, try to rename (move) the decoded file first instead of copying
- Menu items didn't get translated when using GTK 2.12.0 or higher. Fixed
- The program would crash when the servername of an already existing server was changed. Fixed
- Possible endless loop fixed in the NNTP download code
- Strip any newline characters from messages which need to be pushed to the frontends
- Errors during the downloading of the parts could get lost by some compilers. Fixed
- Prevent a double free and a small memory leak
- Possible crash while changing the configuration fixed
- Another endless loop in the NNTP plugin should be solved. This should solve
  the 100% CPU usage and the freezes when trying to shutdown NNTPGrab
- Incorporated fixes and optimalisations from the PAN project to the uulib decoder component
- Possible crash which could occur on decoding errors fixed
- When there are decode errors and the users wants to remove the file
  which triggered the decode error, a deadlock would occur. Fixed
- Under Linux environments, the File Chooser component in the configuration
  part of the program could show wrong data. Hopefully fixed (might be a GTK bug)

+----------------+
| NNTPGrab 0.2.1 |
+----------------+

Released at Wednesday December 26 2007

- Possible crash in the NNTP plugin solved
- On Windows, NNTP connections were often reset while no errors had occured. Fixed
- Small bug in the update notification component fixed

+--------------+
| NNTPGrab 0.2 |
+--------------+

Released at Tuesday December 25 2007

- Quick NZB Import button added
- Context menu added to the download queue with the options 'Remove item(s)
  from download queue', 'Restart selected item(s)', 'Open download folder' and
  'Execute selected file'
- CPU usage lowered by using a hash table in the list with active connections
  (Bugzilla #145)
- Traffic monitor implemented. This traffic monitor shows the traffic of the
  last 10 seconds and the average speed of the last 3 seconds
- Donate button added
- NNTP-over-SSL implemented
- When importing a NZB file, you can now select to which collection the
  NZB should be added
- Connection-timeout-detection added
- Assertion error in the function 'part_download_start' solved
- Assertion error in the function 'connection_disconnect' solved
- Connection-reset-detection added. This fixes the behaviour where all the
  tasks in the download queue could be marked as 'done', while these aren't
  downloaded yet
- On decoding errors, a popup message is shown mentioning what went wrong
- Possible crashes during initialization of the program fixed
- Possible crash in the configuration object solved
- Program/start-menu icon added. Created by ArmiDuctor
- Some interface improvements in the NZB Import window
- Default position of all the windows changed to 'center on parent'
- Error messages occuring on read and write errors could get lost. Fixed
- When importing a NZB file for a second time without closing the window, all
  the previous NZB data would remain visible. Fixed
- When NNTPGrab was shut down while a decode still needed to take place, the
  decode would not occur the next time NNTPGrab was started. Fixed
- Don't remove the part-files on decode errors
- Added a seperate configure-check for the program 'msgfmt' to work around
  a bug in intltool 0.36.2 (or lower) which could cause compile problems
- Some 64bit platform fixes
- Possible deadlock while trying to remove items from the queue fixed. Bugzilla #152
- The program wasn't able to connect to some usenet servers like 'usenetserver'. Fixed
- When importing NZB files, the .nzb extension is stripped from the filename
  and this name is used (by default) for the collection name.

+--------------+
| NNTPGrab 0.1 |
+--------------+

Released at Thursday November 29 2007

- First release

