Version history

The latest stable version of NNTPGrab is version 0.7.2

Version 0.7.2

Release notes: English Dutch
  • Allow the user to kill the NNTPGrab Server using the Qt frontend
  • Allow frontends to shutdown the Qt-based NNTPGrab Server
  • The move to top/up/down/bottom buttons in the download queue context menu in the Qt frontend were broken. Fixed. Bug #90
  • Translated the Linux desktop files
  • Make sure all messages are translated in the Qt frontend on Mac OS X
  • Saving the download queue on win32 and win64 could result in a 'Permission denied' error. Fixed. Resolves the issue mentioned at http://nntpgrab.nl/boards/2/topics/369
  • When importing a collection using the Qt frontend from the Online Search the collection name would get stripped unnecessary. Resolves the issue mentioned at http://nntpgrab.nl/boards/1/topics/446
  • The automatic shutdown button wasn't visible in the Gtk frontend any more as of version 0.7.0. Fixed. Resolves the issue mentioned at http://nntpgrab.nl/boards/1/topics/371
  • Connecting to a NNTPGrab Server in the Gtk3 frontend could result in an assertion failure. Fixed. Resolves the issue mentioned at http://nntpgrab.nl/boards/1/topics/434
  • Fixed a small rendering issue in the Gtk3 frontend when using Gtk 3.4.0 or higher
  • Fixed a crash in the Qt frontend which could occur when a plugin event was triggered without any parameters
  • Automatic PAR2 repair and automatic unpack wasn't working in the Gtk frontend on Mac OS X. Fixed
  • Fixed a possible crash in the NetworkManager plugin
  • Fix compile failure in the Qt frontend when Subversion 1.7 is installed
  • Fix compile failure in the Gtk frontend when using Gtk3 on win32 and win64 environments
  • Fix compile failure in the PHP module when using PHP 5.4

Version 0.7.1

Release notes: English Dutch
  • Added Turkish translation
  • Updated the French translation
  • Various messages coming from the NNTPGrab Core didn't get translated in the Qt frontend. Fixed
  • When an error occurs while a NZB file is imported an incomplete message would get shown in the Qt frontend. Fixed
  • Added support to check the maintenance status of the Online Search service so that user-friendly messages can be shown when the Online Search service is down for maintenance
  • When trying to unpack an password-protected archive let the user know that they have to manually unpack the archive as NNTPGrab doesn't support unpacking password-protected archives yet
  • The NNTPGrab Qt Server could crash when a file changed state. Fixed. Bug #87
  • Clicking on the 'Connect' button in the startup dialog could cause an assertion error when using GTK3. Fixed

Version 0.7.0

Release notes: English Dutch
  • Some files could get stuck in the download queue when a connection with a server was interrupted unexpectedly. Fixed
  • Collections with a total size of 4GB or more were shown incorrectly in the Online Search tab. Fixed
  • Require Online Search queries to be at least 4 characters long
  • Made the columns in the Online Search tab resizable
  • On the first time startup, always save a default configuration file to disk instead of waiting for the first change or proper shutdown as was mentioned at http://www.nntpgrab.nl/boards/2/topics/257
  • The text "Now verifying files" wasn't translated in the Qt frontend. Fixed
  • GNUTLS support should work again on Mac OS X. Bug #67
  • Fixed an issue in the GTK frontend where moving the last file or collection in the download queue down would result in an assertion error. Bug #83
  • The Qt frontend didn't remember the last used host/port which was used to connect to a NNTPGrab Server. Thanks to chrashoverraid for implementing this! Bug #84
  • When switching to the configuration tab in the Qt frontend, no selection was initially shown in the list of configuration categories. Fixed
  • Event handling was broken on RHEL5/CentOS5 (as mentioned at http://www.nntpgrab.nl/boards/2/topics/279). Fixed
  • Don't show the automatic unpack options in the configuration tab on RHEL5/CentOS5 as these features aren't available on those environments
  • Importing NZB files (regular import, not the quick import) was broken on RHEL5/CentOS5. Fixed
  • Resolved various harmless glade warnings on environments where GtkBuilder isn't available
  • When adding files the download progress percentage could be shown incorrect when the collection contains .par2 files. Fixed
  • The intelligent PAR2 downloader, automatic PAR2 repair and automatic unpack wouldn't get triggered on collections which contain one or more files which are fully unavailable on all the usenet servers. Fixed
  • Check if there are any files which are ready to be decoded every time the download queue is restarted. Previously, this only happened once when the download queue was started for the first time. Bug #85
  • When the schedular is stopped due to an error, it wasn't possible to restart the schedular anymore in the Qt frontend. Fixed

Version 0.6.92 (0.7 Beta 3)

General changes:
  • Implemented a new option: Automatically remove collections from the download queue once the download has completed. Feature #37
  • Implemented a new option: Send GROUP command before downloading. Some buggy usenet servers seem to require such a feature (such as Ziggo)
  • Updated the Online Search code to be much more efficient then before. From now on information about files which are in a collection will only be retrieved on demand
  • Improved the testsuite by porting all testcases to the GTester framework and adding various new testcases
  • Various bugfixes and optimalisations in the download queue logic
  • Always print debugging messages when we're using Win32/Win64 or Mac OS X. On all other platforms, check whether the environment variable NNTPGRAB_DEBUG is set before enabling debugging messages in the console
  • Don't try to import old .nzb files on Mac OS X when a new .nzb file is detected in the auto import folder
Changes in the NNTPGrab Core:
  • Downloading using SSL wasn't working anymore when using GNUTLS 2.8.0 or higher due to API changes. Bug #64
  • Added a small optimalization to the nntpconnection_read_msg function by dropping some duplicate code
  • The download queue could get stuck in the suspended state when all login attempts failed. Fixed
  • As of GLib 2.27.1, the behaviour of g_get_user_data_dir() was changed to return a different value. Provide an upgrade path for Win32/Win64 users so that their configuration won't get lost due to this change. Bug #66
  • When making changes to the download queue, write back those changes to a tempory file first before replacing the original file. This prevents the possibility of the download queue becoming corrupt when the disk is full
  • Added support for multiple connection backends
  • Added a new connection backend called 'gio' which is based on GLib-GIO and can optionally use glib-networking for SSL/TLS support
  • Optimzed the retrieval of tasks from the download queue by caching the last known task per server. This eliminates the need to navigate through the entire download queue for every time that a new task is requested by the download thread
Changes in the Glue layer:
  • Processing signals while being connected to a NNTPGrab Server was broken as of GLib 2.27.4. Fixed
Changes in the Online Search:
  • Fixed an issue in the Online Search where files with a size between 2GB and 4GB weren't displayed correctly
Changes in the Qt frontend:
  • When moving files/collections in the download queue to the top or up which are already at the top a 'beginMoveRows failed' message could get shown. Fixed. The same also applies to files/collections which are already at the bottom
  • Allow the Qt frontend to build when Qt 4.5.0 or older is installed
  • Added support for 'shadow builds' in the Qt frontend
  • Use a bundled copy of the QtLockedFile and QtSingleApplication classes which will be used by the Qt frontend when no system-wide installed version can be found
  • Prevent the user being spammed with 'buffer too small' messages. Patch by swsnyder
  • Improved selecting files to be used during a NZB import. Bug #62. Patch by slayeriq
  • Save and restory geometry of the program window. Feature #65. Patch by tg1311
  • Show the correct timestamp for collections in the download queue
  • Convert all strings coming from the NNTPGrab Core to the QString native character encoding (which isn't UTF-8 on Windows). This fixes an issue where names of collections and files could get malformed if they contain non-UTF8 characters. Bug #72
  • Fixed a possible assertion error on Win32/Win64. Bug #75
  • The configuration settings of the Qt frontend were saved in the wrong location on Win32/Win64. Fixed
  • Fixed an issue where the window could disappear on Win32/Win64 when the tray icon is disabled
Changes in the GTK frontend:
  • Added support for GTK 3.x
  • Showing the debug window in standalone mode was broken. Fixed
  • If auto-import gets triggered when the GTK frontend is running, a harmless error could get shown indicating that the import failed (even though it succeeded). Fixed
Changes in the JSON-RPC plugin:
  • When importing files with special characters, some invalid JSON-RPC messages could get sent to external frontends. Fixed
  • Add a Content-Length header to HTTP requests. Patch by chrashoverraid. Bug #74
  • When connecting to a NNTPGrab Server using the 32bit Windows frontend, the server could crash. Fixed. Bug #70
  • Don't crash when in invalid jsonrpc request is being parsed. Bug #79

Version 0.6.91 (0.7 Beta 2)

General changes:
  • Made the Qt frontend the default frontend for Win32, Win64 and OSX environments
  • Added a new ./configure option: --disable-par2cmdline-check
  • Only show the filename without the complete path in the GUI while repairing and unpacking files
  • Added support for GNUTLS instead of OpenSSL
  • Made the various libraries compatible with recent versions of gobject-introspection
  • Added support to shut down the system when using KDE
  • Reduced some overhead between the glue layer and the frontends
  • Allow frontends to indicate whether they want to receive log messages or not (disabled by default). This reduces the load in regular environments
Changes in the NNTPGrab Core:
  • When the user changes the 'Temp directory' in the configuration all downloads didn't get decoded properly until the program was restarted. Fixed
  • On some environments the program could give an 'Unable to resolve dependency' error on startup of the program. Fixed. Bug #49
  • A harmless error message could get shown on startup on Win32/Win64 due to an older version of the example plugin being bundled in the NNTPGrab 0.6.90 setup. Fixed
  • Automatic shutdown didn't work when the download queue contained 'Skipped' tasks. Fixed
  • Refuse to accept configuration changes when the download folder, temp folder or automatic import folder refer to invalid paths
  • A regression got introduced in NNTPGrab 0.6.2 which caused configuration changes in the port number of usenet servers to be ignored on Win32/Win64. Fixed
  • Fixed an compile error which could occur when using the ./configure argument --disable-ssl
  • Single file archives didn't get deleted automatically after an unpack. Fixed
  • Added the characters '<' and '>' to the list of forbidden characters in collection names
  • A regression was introduced in NNTPGrab 0.6.90 which causes the PAR2 repair to fail when using par2cmdline (instead of par2_tbb). Fixed. Bug #52
  • Optimized the measuring of the download speed by using atomic operations instead of mutex operations
  • Fixed a race condition in the core library which could cause some warnings
  • Fixed an issue which could cause the initialisation of the NNTPGrab Core to succeed even if there was an error
  • Fixed a possible schedular deadlock which could be triggered when an error during the decoding has occured
  • Don't emit a log message whenever a throttle action occurs
Changes in the JSON-RPC plugin:
  • Implemented importing NZB files using a HTTP POST request in the embedded webserver. Feature #10
  • Added a new JSON-RPC function called 'schedular_foreach_task' which is much more scalable than the original 'schedular_get_all_tasks' function. Fixes #53
  • From now on an error message will be returned when a JSON-RPC method is called which doesn't exist
  • Marking files optional/non-optional using the JSON-RPC interface was broken. Fixed
  • Increased the recv buffer for requests in the JSON-RPC plugin from 64K to 512K. Should reduce the chance that clients get disconnected with a 'Too long request received' error
Changes in the Qt frontend:
  • Added support to connect to a NNTPGrab Server
  • Implemented the traffic monitor in the Qt frontend
  • Made the "Don't show this dialog again" checkbox in the connect screen operational
  • Added support for the Online Search
  • Implemented the Automatic PAR2 and Unpack tab
  • Implemented everything in the Configuration tab
  • Completed the implementation of the 'Manage Plugins' window
  • Automatically load all 'auto-load' plugins on startup
  • Added the --debug command line parameter
  • Implemented the tray icon
  • Implemented automatic import
  • Give the window a nice icon
  • Hide the configuration parts for the JSON-RPC and Logger plugins when they aren't loaded
  • Automatically save the download queue after a successfull NZB import
  • Renamed the toolbar button 'Enable automatic shutdown' to 'Automatic shutdown' to save some space
  • Implemented the 'Automatic Shutdown' feature
  • Automatically close the debug window (if it's visible) when the main window is closed
  • Implemented showing/hiding columns in the download queue
  • Implemented the 'hide inactive connections' configuration option
  • Only allow the Qt frontend to be running once at the same time
  • If another instance of the Qt frontend is detected, automatically give it focus
  • Implemented opening NZB files from the command line
  • Enabled showing the estimated time remaining and time to finish for all individual files in the download queue
  • Show the download queue using a QTreeView instead of a QTreeWidget for bettter performance
  • Fixed a bug where the calculation of the estimated time required didn't work correctly when having multiple collections
  • A crash could occur in the Qt frontend when disabling one of the configured servers while a download is still active. Fixed
  • Sanitize the collection name before importing files
  • When marking a file which is currently being downloaded as 'skipped', the file size remaining wouldn't get reset. Fixed
  • The 'Enable intelligent PAR2 downloader' configuration option was broken. Fixed
Changes in the GTK frontend:
  • Re-added support to kill the NNTPGrab Server from a connected frontend
  • Added support for libnotify 0.7
  • Hide the configuration parts for the JSON-RPC and Logger plugins when they aren't loaded
  • Fixed a deadlock which occured in the GTK GUI when the NNTPGrab Server disappears or when a protocol error occured
  • When marking a file which is currently being downloaded as 'skipped', the file size remaining wouldn't get reset. Fixed
  • When the connection to a NNTPGrab Server is lost, the program would disappear immediately. Changed this behaviour by showing an error dialog and waiting for the user to close it before closing the entire program
  • Fixed some Gtk-Critical warnings in the GTK GUI which could occur on configuration changes
  • Notifications were broken. Fixed
  • Fixed a possible segfault while starting the GTK frontend
  • When the configuration option 'hide inactive connections' is set in the GTK GUI then some invalid data could get shown in the connections overview (like messages belonging to another connection). Fixed

Version 0.6.90 (0.7 Beta 1)

  • Added a new feature: Only download PAR2 files when needed. People upgrading from older versions of NNTPGrab may need to enable this feature in the configuration first. Feature #1
  • Files can be marked optional/non-optional in the GUI by right-clicking on them and selecting the appropriate option
  • Improved the performance of download queue manipulations by replacing the SQLite-based download queue with a custom file format. Download queues created with older versions of NNTPGrab won't get converted so make sure to complete your download queue before upgrading to this version. Feature #3
  • Added a preview of a new NNTPGrab frontend written in Qt. This will replace the original GTK frontend on Win32/Win64 and Mac OS X environments as it provides a more native look and feel for those platforms. Thanks go out to chrashoverraid and tg1311 for helping out with this frontend! Feature #2
  • The integrated search engine is operational again
  • Added 'Select all' / 'Select none' buttons to the integrated search engine
  • Show all possible connections in the connections overview instead of only the active ones (a configuration option has been added to restore the old behaviour)
  • Dropped the GtkHTML dependency by rewriting the update check in the GTK GUI. Feature #19
  • Added support for GTK 3 (and prefer it over GTK 2 when both are available)
  • Added GObject-Introspection support which makes it easier to control NNTPGrab using different programming languages (like Javascript and Python). See http://live.gnome.org/GObjectIntrospection for more details
  • Improved developer documentation by using gtk-doc. This can be found at http://www.nntpgrab.nl/embedded/nntpgrab/docs/index.html
  • Dropped (optional) libgnome dependency
  • Improved the handling of startup failures
  • Added two new environment variables which can be used to influence some default settings: NNTPGRAB_CONFIG_DIR and NNTPGRAB_DEFAULT_DL_DIR. These environment variables are needed for environments like the Fonera. Feature #4
  • Allow features to be disable in the ./configure script. Feature #30
  • Fixed a compile error when using ./configure --disable-ssl
  • Dropped the libxml2 dependency from the NNTPGrab Core to avoid bloat for embedded environments. Feature #30
  • Before decoding files, make sure that the filename is in the UTF-8 charset. If this isn't the case try to convert the filename from Windows-1252 to UTF-8 first. Fixes #34
  • Ensure that the output of par2cmdline is UTF-8 before processing it. Should fix 'unknown state for PAR2 message' notification which could occur on files which are in the Windows-1252 character encoding
  • Read data from SSL connections in 16KB blocks. Should stabilize the connection a bit
  • In some situations connections could hang at 99%. Fixed
  • When disk space is low, the message 'nntpconnection.c:995 Unable to write article data to file: Success' could get shown. Fixed
  • Fixed various memory leaks in the NNTPGrab Core which occured while importing files
  • Fixed a possible race condition when using libproxy for the first time
  • Added a workaround for a Win32-specific bug in par2cmdline which could cause the PAR2 repair progress bar to keep moving infinitely
  • When par2cmdline exited unexpectedly, the progressbar in the GUI could keep going on. Fixed
  • Don't automatically remove the PAR2 files when par2cmdline was aborted unexpectedly
  • The program could crash on Linux environments when the user closes the program while a PAR2 repair is still active. Fixed
  • The unrar program could hang infinitely when an error occured while unpacking. Fixed
  • Only show messages in the terminal when the command line argument --debug is used or the environment variable NNTPGRAB_DEBUG is set

Version 0.6.2

  • Added support for Windows x64
  • When connecting to servers, keep the results of all DNS lookups in a cache so reconnecting can be done faster. This should also lower the possibility of the error message 'No hostname could be found for servername x' from occuring
  • Automatically retry connecting to usenet servers when a connection error has occured. This should fix a bug where the download queue could hang when the network connection is unstable
  • Very small files could get stuck in the download queue. Fixed
  • In a rare situation, the program could deadlock while trying to remove a file from the download queue. Fixed
  • Really disable activating the automatic import on Mac OS X
  • Don't use g_module_close() on Win32/Win64 as it causes a crash when the program is shut down
  • When a network disconnect is discovered by the NetworkManager plugin, the download queue would always get stopped, even when the download queue was inactive. Improved the handling of this situation
  • Don't wait for active decode actions to be completed before applying configuration changes. This fixes a temporary hang or a deadlock which could occur when changing something in the configuration while a file is being decoded
  • The download queue could get in an undefined state when applying multiple configuration changes very quick after each other. Fixed
  • When using collection names > 128 characters some error messages could pop up while adding files or performing a PAR2 repair or an unpack. Fixed
  • Renamed the configuration option 'Estimated end time' to 'Estimated time remaining' to avoid confusion. Fixes #31
  • Added some more logging to improve the diagnosing of incomplete downloads
  • When a collection name contains the text '.par2', all files get marked as par2 recovery files by par2cmdline. This resulted in the automatic remove function to remove all files in the collection. Added a workaround for this bug
  • Compile fix for environments without GTK 2.12.0 or higher
  • NZBCreator: Automatically deselect the checkbox of a collection when there are no items selected in it
  • NZBCreator: Don't show expanders for collections with only one file
  • NZBCreator: Show the poster for each collection if all the files in a collection were done by the same poster
  • NZBCreator: When importing files using the NZBCreator, use a more generic collection name instead of the name of the first file
  • NZBCreator: Perform the importing of files in a seperate thread to avoid that the GUI gets frozen for a few seconds
  • NZBCreator: Fixed a memory leak which occured while importing files

Version 0.6.1

  • Prevent a crash on startup which several Mac OS X users were having
  • An error message could get shown when trying to remove both an collection and a file within that specific collection at the same time. Fixed
  • Files which are downloaded, but not yet decoded could remain stuck in the 'Waiting for decoding' state. Fixed
  • When adding files using the NNTPGrab Server which are smaller than 1024 bytes, an error message could get shown in the frontend. Fixed
  • The download queue could get suspended when having multiple servers and all the items in the download queue aren't available on one of those servers. Fixed
  • When an connection error occurs while downloading, the download queue could end up in an undefined state. Fixed
  • When a collection doesn't contain any PAR2 files, no automatic unpack would happen. Fixed
  • Also try to unpack .001 files when these are RAR archives
  • Fixed a possible crash or strange behaviour when trying to remove files from the download queue while other files are being downloaded
  • When a read timeout occurs on all active connections at the same time, the download queue could get suspended even when there still are tasks remaining. Fixed
  • Disabled the automatic import options in the GUI for Mac OS X as this feature isn't implemented yet for Mac OS X environments
  • Fixed various small memory leaks

Version 0.6.0

  • Added support to automatically remove PAR2 files after a successfull recovery
  • Added a preview of the integrated webinterface created by Flex1986. This can be reached on the address http://localhost:5423 after the JSON-RPC plugin has been loaded and the 'Enable embedded webserver' option has been enabled in the configuration. If you're asked for a username and password, use admin/admin
  • When trying to download files on Mac OS X the program could crash. Fixed
  • Added support for downloading using a proxy server on Win32 environments
  • Suspend the download thread and abort all open connections immediately when there's nothing to download
  • Don't try to auto-load plugins which are already loaded. This resolves error messages which could be shown when connecting to an NNTPGrab Server
  • Don't build the auto_import plugin when GLib 2.16.0 or higher isn't available
  • Don't build the PHP module by default anymore as it's obsoleted by the embedded webserver
  • When adding files using the JSON-RPC plugin/NNTPGrab Server, the message-id's got malformed. Fixed
  • The JSON-RPC event 'connection_disconnect' didn't send a correct 'reason' field. Fixed
  • Fixed a reference count issue which could cause a segfault when executing the JSON-RPC method 'system.events'
  • Fixed an invalid free in the JSON-RPC method 'system.events'
  • The JSON-RPC event 'traffic_monitor_update' was broken on non-English locales. Fixed
  • When removing all items from a collection but not the collection itself could result in the error message 'cannot commit - no transaction is active'. Fixed
  • Fixed a possible deadlock while removing items from the download queue
  • Small optimalisation while removing items from the download queue
  • Improved the resize behaviour of the 'Manage plugins' window

Version 0.5.91 (0.6 Beta 2)

  • Added a Qt version of the NNTPGrab Server. This makes to program look more native on Win32 and Mac OS X environments
  • Added a new feature: Automatically remove files after unpack (disabled by default)
  • Implemented JSON-RPC over TCP
  • Implemented the remaining JSON-RPC methods
  • Ported the NNTPGrab Server and the Glue layer to use JSON-RPC over TCP
  • Start the NNTPGrab Server (console) in the foreground by default
  • Added the -h / --help arguments to the NNTPGrab Server (console)
  • Listen on both IPv4 and IPv6 for the embedded webserver/JSON-RPC server
  • Added a new plugin (created by crashoverraid) which prevents Win32 environments from going to sleep while the program is running
  • Fixed a bug in the JSON-RPC parser which could lead to 100% CPU usage
  • Fixed a possible crash in the JSON parser which could occur when trying to parse invalid data
  • Fixed a warning in the NNTPGrab Server about the 'par2_repair_message' signal being unknown
  • Always start the embedded webserver when using the NNTPGrab Server (even if it's disabled in the configuration)
  • Automatically escape the characters " and \ in JSON requests
  • Only load plugins which are really required by default
  • Show a notification in the GUI when a NZB file is imported by the NNTPGrab Server
  • Automatically save any configuration changes which were done using the JSON-RPC plugin
  • Downloading using a proxy server wasn't working correctly. Fixed
  • Added support to download using a proxy server on Mac OS X environments
  • If a log message with log_level NG_LOG_LEVEL_WARNING occurs then show a popup in the GTK GUI
  • While decoding files an error message could be overwritten by another one resulting in an invalid error message. Fixed
  • If files from a NZB containing invalid data is being decoded an invalid error message could occur. Fixed
  • Fixed a bug where downloading could stop after one part
  • Fixed a possible bug where the download queue wouldn't revive anymore when suspended
  • Enable the tray icon by default on new installations (except on OSX)
  • Fixed a small GTK warning in the GUI which could occur when viewing the list of available auto-import folders
  • Only try to unpack files when a collection has been completely verified using PAR2

Version 0.5.90 (0.6 Beta 1)

  • Improved the overall performance of the program by reducing the number of threads involved while downloading files
  • Configuration changes are applied much faster than before
  • The decoder has been rewritten for improved performance
  • Saving of downloaded files is now more efficient because the need for a temporary dump file has been eliminated
  • Don't bother checking the download queue when no servers are enabled
  • The download thread will now automatically suspend itself when no new queued items have been found in the last 30 seconds. As soon as some activity happens in the download queue (adding or restarting tasks) the download thread will automatically be resurrected
  • Several other optimalisations have been applied in the schedular, the download thread and the GTK GUI
  • Make downloading using SSL more reliable
  • Bandwidth limiting has been implemented
  • The reliability of the speed monitor has been improved
  • Support for downloading using proxy servers has been implemented
  • Use GNOME's proxy settings for the update check and NZBCreator when they're available (Linux only)
  • A plugin architecture has been implemented which makes it much easier to add new functionality to the program
  • Automatically pause/resume the download queue when a network connection has been disconnected/resumed (Linux only)
  • Added a plugin which automatically logs all debug messages to disk
  • Added a plugin which allows NNTPGrab to be controlled using JSON-RPC
  • The program can now also run on Fonera environments
  • Added French translation
  • Optimized the NNTPGrab Server by eliminating several regular expressions
  • Fixed a possible deadlock caused by the PAR2 code
  • Added a new ./configure option: --disable-ssl
  • Don't search for libcurl when running ./configure --disable-gui
  • Added a workaround for a bug in par2cmdline (the index file MUST have the extension .par or .par2)
  • Added some code to prevent the database being opened by multiple threads at the same time as this can cause 'Database is locked' errors on Win32
  • Moving items in the download queue to the bottom was broken with GTK 2.18.0 or higher. Fixed

Version 0.5.1

  • Readded PPC support for the Mac OS X version
  • In some rare situations, the schedular could get paused. This should be resolved now
  • Fixed a possible crash in the unpack plugin
  • When performing a PAR2 verify, an assertion error could appear. Fixed
  • The progress bar in the PAR2 tab could get stuck when an unexpected error occurs while performing a PAR2 recovery
  • Don't freeze anymore while manipulating the download queue or configuration when a connection error has just occured
  • Prevent some memory corruption
  • Prevent an invalid free

Version 0.5.0

  • Improved the automatic unpack GUI by showing the files which are currently being extracted
  • Improved error handling in the automatic unpack
  • Rewritten several parts of the Automatic Unpack plugin which are needed to prevent a console window being shown while unpacking on Win32 environments
  • When a collection contains multiple PAR2 sets, the GUI could show a lot of assertion errors. Fixed
  • When checking PAR2 files which belong to another PAR2 set, the progressbar in the GUI could get stuck. Fixed
  • Don't bail out when decoding invalid yEnc messages. Solves the 'Unknown decode error occured, No error (0)' messages
  • Reduce the required disk space on Win32 environments by using a small wrapper program for the executable nntpgrab_gui_debug.exe
  • Dropped the cURL dependency for environments where libsoup 2.4 (or higher) is installed. This reduces the size of the installer on Win32 and Mac OS X environments
  • The performance of decoding files should be slightly improved
  • The NNTPGrab Server could freeze on old Linux environments when run in the background. Fixed
  • Made the columns in the Repair and Unpack tab resizeable and repositionable
  • Renamed the toolbar button 'Enable automatic shutdown' to 'Automatic shutdown' to prevent wrapping
  • Automatic shutdown wasn't working on Mac OS X environments. Fixed
  • Introduced an automatic snapshot generator which builds Mac OS X installers after each change done in the Subversion repository. These snapshots are published at http://www.nntpgrab.nl/snapshots
  • Rewritten the speed monitor in the GUI to be more efficient
  • The program could crash when performing a NZBCreator search with the minimum or maximum file size options set. Fixed
  • Rewritten the processing of signals in the glue layer to be more efficient
  • Made the download queue manipulation code more thread safe
  • Several changes required for Win64 support
  • Several memory leaks fixed

Version 0.4.91 (0.5 Beta 2)

  • Removing collections was broken. Fixed
  • Don't allow the PAR2 repair and the automatic unpack to happen at the same time as both processes cause high I/O load
  • Implemented the GUI for the PAR2 repair and automatic unpack
  • Added an extra checkbox to the connect dialog in which the user can indicate whether they want to see the connect dialog the next time they run the program. This option can be reset from the configuration tab if wanted
  • Allow the automatic unpack to be configurable from the GUI
  • Added some optimalisations in the code responsible for moving files and collections
  • The NNTPGrab Server can now be run in the background
  • Added a new option to the main menu: Kill the NNTPGrab Server. This option can only be activated when connected to a NNTPGrab Server
  • The thread which is responsible for unpacking files could deadlock when corrupt files were being unpacked. This also caused the side-effect of the automatic shutdown not being triggered anymore
  • Translations weren't working on Mac OS X. Fixed
  • Opening .nzb files while the program wasn't running was broken on Mac OS X. Fixed
  • Fixed a possible crash when pausing the download queue while one or more files are waiting to be decoded
  • When the program was started, all files with the status 'Waiting to be decoded' would remain on that state forever. Fixed
  • Simplified the installation of the PHP module on Win32 environments by eliminating all the external .DLL dependendencies
  • In some situations, the program could crash on startup because of a race-condition in the libxml2 initialisation. Fixed
  • Fixed a small resource leak
  • Compile fix for Linux environments where DBus isn't installed
  • Compile warning in base/utils.c fixed
  • The program didn't start when having a version of GTK+ older than 2.12.0. Fixed
  • When starting the Standalone version of NNTPGrab on Linux, load the file libnntpgrab.so.0 instead of libnntpgrab.so
  • The position of collections and files in the database could become inconsistent. Fixed
  • When decoding, some filenames could get mangled. From now on, only really forbidden characters may get mangled in the filename
  • When all the configured usenet servers are marked 'disabled', all remaining downloads would get changed to the status 'Not available'. Fixed
  • Files in the download queue which are no longer on the usenet server anymore were always retried on startup on NNTPGrab while that shouldn't be happening. Fixed
  • Added code to prevent the warning "passing a child setup function to the g_spawn functions is pointless on Windows and it is ignored"
  • The files nntpgrab_gui.exe and nntpgrab_gui_debug.exe on Win32 were missing a icon and version information. This is now added. Should also solve the 'missing hicolor icon theme' message

Version 0.4.90 (0.5 Beta 1)

  • Implemented automatic unpack which is performed after a collection is completely downloaded (and after the PAR2 verification/repair if there are PAR2 files in the collection)
  • Added support to shut down the computer after all files are downloaded. For Linux, this requires a recent Linux distribution (less than one year old) containing support for PolicyKit
  • Merged the Networked GUI and the Standalone GUI in one program
  • Improved the processing of output from the PAR2 process. For this version, this isn't visible yet in the NNTPGrab GUI, but this will be done in the next version of NNTPGrab
  • Changed the name of the 'PAR2 Repair' tab to 'Repair and Unpack'
  • Reduced the CPU usage when using large download queues
  • When using large download queues, the memory usage could get very high. This was caused by in-efficient behaviour of libxml2. From now on the download queue will be maintained in a SQLite database. Download queues created using NNTPGrab 0.4.2 or below can't be used with this version anymore, so please complete your downloads with the old version of NNTPGrab before updating to this version
  • Reduced the disk space required to install NNTPGrab on Win32 environments by stripping out unnecessary dependencies and unnecessary debug information. This process isn't completed yet, so the required disk space will even be more reduced in later versions
  • If a collection only contains files from the same poster, show this poster in the collection row in the download queue
  • Servers can now be quickly enabled/disabled by clicking on the 'Enabled' checkbox in the Configuration tab without opening the 'Edit Server' window
  • When double clicking on an already existing server in the Configuration tab the 'Edit Server' window will automatically be shown
  • From now on there are two different NNTPGrab Server applications: The application 'nntpgrab_server' is always a console application (no GUI stuff involved) while the application 'nntpgrab_server_gui' is an GUI application (which won't be build when the ./configure --disable-gui option is given)
  • Made it easier for application developers to create NNTPGrab frontends by removing the dependency on GLib in the public headers and libraries
  • Improved the documentation in the public headers
  • Show the download queue context menu when the right mouse button or the combination CTRL + left mouse button is used (Mac OS X only). Bugzilla #174
  • Added the character ':' to the list of forbidden characters for collection names
  • When performing an auto-import, also filter any forbidden characters in the collection name
  • Small fix in the Win32 installer: the file libgmodule-2.0-0.dll is also required for the webinterface to work on Win32 environments
  • When the system is under high load, the message 'Code should not be reached' could still popup when trying to import NZB files. This is caused by http://bugzilla.gnome.org/show_bug.cgi?id=538458 To work around this, the timeout is increased from 3 seconds to 10 seconds
  • Strip out any non-UTF8 characters coming from par2cmdline before presenting it to the frontends
  • The program would keep on retrying downloading parts which contain no data instead of ignoring these empty parts. Fixed
  • Merged the 'NZB Import' and 'Quick NZB Import' toolbar buttons in one with a drop-down list
  • All the download queue manipulation is now done using a 'reference count' system. This makes it possible to reduce the number of locks which should improve the responsiveness of download queue manipulations
  • Added support for compiling the program with GCC 4.4
  • Added support for cross-compiling the program
  • Introduced an automatic snapshot generator which builds Win32 installers after each change done in the Subversion repository. These snapshots are published at http://www.nntpgrab.nl/snapshots
  • When using snapshots/subversion builds, the Subversion revision and build number are now shown in the Information tab

Version 0.4.2

  • The most annoying bug of NNTPGrab up-to-date is the bug where importing a second NZB or importing a NZB from an external source (like a webbrowser) frequently fails with the message 'This code should not be reached'. This is caused by two bugs in GTK: http://bugzilla.gnome.org/show_bug.cgi?id=538458 and http://bugzilla.gnome.org/show_bug.cgi?id=355623 These bugs aren't fixed yet in GTK, but a proper workaround has been found which shouldn't have any side effects
  • Improve the reliability of the automatic NZB import by queueing up events triggered by the directory monitor and only process these events when they haven't changed in the last 3 seconds
  • Disabling/enabling the automatic NZB import could cause a crash on Win32. Fixed
  • While decoding, don't reopen the resulting file again for each part. This should improve compatibility with several virus scanners on Win32 environments
  • The schedular could get automatically stopped with the message 'No such file or directory' when the decoder tried to decode a file which lacks the '=yend' tag. Fixed
  • The download queue context menu items 'open download folder' and 'execute downloaded file' were broken on Mac OS X. Fixed
  • The NZB import screen was showing a raw unix timestamp and the file size in bytes. This has been changed to a human-readable timestamp and a better readable filesize
  • Some texts didn't got translated. Fixed
  • Don't link against NSS when NSS is found, but nss_compat_ossl isn't found
  • Fixed a memory leak in the NZB loading code

Version 0.4.1

  • The automatic PAR2 wouldn't start when the subject of the file is malformed. This is fixed by checking the file extension after each decode instead of relying only on the subject for the filename
  • Before starting to decode files, test if the resulting directory can be opened. If this isn't possible, return an error message and pause the download queue to avoid files from getting lost
  • As of NNTPGrab 0.3.0, connecting to IPv6 servers triggered a 'stack smashing attack' after which the program was automatically killed. Fixed
  • The decoder could generate several empty files when there's no diskspace available. Fixed
  • Improve error handling when saving files on async NFS shares
  • Fixed a crash which occured when more than 10 servers are added in the configuration
  • Raised the maximum number of servers from 10 to 25 servers
  • Fixed a possible compile failure
  • Fixed a possible crash in the webinterface and the networked GUI

Version 0.4.0

  • Added a new option to the configuration tab: enable PAR2 repair
  • Only try to auto-import files with the .nzb extension
  • When files were moved, they weren't detected by the auto-import. Fixed
  • The program would crash while decoding multipart uu-encoded files. From now on, all multipart uu-encoded files will always be incomplete (only the first part gets decoded). This is due to limitations in yydecode where a proper fix requires more time
  • When the schedular was paused, active files could get stuck in the 'now downloading' state. Fixed
  • Renamed the file plugins/par2/plugin_par2.cpp to plugins/par2/plugin_par2.c as it was causing compile problems on pardus linux
  • Visual Studio compile fix
  • Use a custom variant of the popen function on Win32 environments. This should hide the par2repair command line window during repair
  • Several memory leaks in the NZBCreator have been fixed upstream in libsoup, so remove the unnecessary free's from the NZBCreator code to prevent warnings like GLib-CRITICAL: g_hash_table_unref: assertion `hash_table->ref_count > 0' failed
  • The 'estimated time remaining' and 'estimed time to finish' could be shown for collections which were already fully downloaded. Fixed
  • The generation of .rpt files containing crash reports on Windows was broken as of NNTPGrab 0.3.0. Fixed
  • When the decoding of a file is done, notify the frontend about the resulting filename. Fixes bugzilla #166
  • After each decode, change the current directory to the download folder itself (instead of the folder in which all the decoded files were placed) in order to prevent the NNTPGrab process from keeping the directory with the decoded files 'occupied' on Windows environments.
  • On Windows environments, the decoding would always fail when the collection name contained special characters. Fixed
  • If errors occur during the decode (due to corrupt or incomplete data), ignore these
  • Small fix in the Linux shortcuts in order to conform better to the 'Freedesktop Desktop Entry Specification'

Version 0.3.93 (0.4 Beta 4)

  • The program now shows whether downloaded files are fully complete, incomplete or not available at all
  • Add the characters '(' and ')' to the list of forbidden characters in collection names due to a bug in par2cmdline
  • Prevent the decoder from replacing any spaces with '_'
  • Improved error processing in the decoder
  • Prevent some false errors during the decode process
  • The par2 repair wasn't started automatically anymore. Fixed
  • Don't close the 'Adjust search parameters' section in the NZBCreator when no results are found during the search
  • Fix an innocent warning which occured on GTK 2.14.0+ environments
  • The decoder could mark the decoding as succeeded even when there was no disk space available. This problem happened on (async) NFS environments. Fixed
  • The temporary files were deleted even if the decoding failed. This resulted in files having the 'Done' state. Fixed
  • On decode errors, the error message 'Unknown decode error occured' was shown. This is now replaced with a more verbose message

Version 0.3.92 (0.4 Beta 3)

  • Rewritten the decoder by using yydeview instead of uulib. This fixes the bug where small files weren't decoded right
  • If the decoder detects an incomplete files, the extension '.broken' is added to the filename
  • On some Windows environments, the downloaded files would always be corrupt. Fixed
  • Set the read timeout for NNTP connections to 30 seconds instead of 10 seconds. This should fix some unexpected disconnects on slow responding servers
  • If a connection could not be made to the usenet server, reset the status of the file first before sleeping for 30 seconds so other download threads can retry downloading the file
  • Compile fix for environments without GTK 2.10.0 or higher
  • Don't verify the certificate in NNTP-over-SSL connections as several usenet providers (like Eweka) use self-signed certificates which breaks the verification
  • Use the GTK function gtk_show_uri() to open the download folder and to execute downloaded files on environments with GTK 2.14.0 or higher
  • Integrated the use_nss_compat_ossl patch in the regular build
  • The Windows setup.exe was missing some files required for the webinterface. Fixed

Version 0.3.91 (0.4 Beta 2)

  • Delete the selected files from the download queue when the <DEL> button is pressed
  • When importing NZB files, remember the directory from which a NZB file was imported and automatically go to this directory the next time the user wants to import a NZB file
  • Don't hide the window when the tray icon isn't shown
  • On connection errors, sleep the download thread for 30 seconds and push the part back in the queue
  • Don't mark parts as being downloaded on connection errors
  • The decoder couldn't decode some files on Win32 environments (this resulted in 'No such file or directory' error message). Fixed
  • Prevent the user from using illegal characters like *, !, " and ' for collection names as they cause issues when used as a path name
  • Reverted commits 948 and 952 as they caused a regression with importing .nzb files from external sources (like a webbrowser) while using GTK 2.13.6 or higher
  • The GUI of the NNTPGrab Server could freeze due to the use of some GTK functions in a different thread. Fixed
  • Hide the NNTPGrab Server GUI on startup problems (unable to bind to port). Previously the GUI would stay in a frozen state for a few seconds
  • Start the 'par2.exe' command from the same directory as the nntpgrab executable on Win32. This should fix the problem where sometimes the 'par2.exe' command could not be found
  • Catch any error messages (stderr) from the 'par2' process and show them in the frontend
  • Fixed a possible compilation failure which occured when libsoup isn't detected
  • Fixed a possible crash when pressing the 'Cancel' button in the NZB Import dialog
  • If the operating system supports both IPv4 and IPv6, listen on both in the NNTPGrab Server
  • Initialisation errors in the NNTPGrab Server GUI could get lost. Fixed
  • On Fedora and Win32, the NSS library is now used instead of OpenSSL for communication with usenet servers over SSL
  • Collections containing non-UTF8 characters weren't repaired on Win32. Fixed
  • Opening the download folder of collections and executing downloaded files containing non-UTF8 characters wasn't working on Win32. Fixed
  • The menu items and the download queue context menu needed 2 clicks before they were shown on Win32. Fixed

Version 0.3.90 (0.4 Beta 1)

  • Added support for automatic NZB import. A folder can be monitored by the program and if an .nzb file is placed in this folder, the file will automatically be read and added to the download queue. Folders can be monitored on both the local computer and on the NNTPGrab Server. This feature requires GLib 2.16.0 or higher, but is unsupported on Mac OS X for the moment
  • Added support for the NZBCreator service. This is a usenet search service which is fully integrated in the program. It is possible to search for files on the usenet using several filters and to import search results directly into the NNTPGrab download queue
  • Added support for automatic PAR2 repair. After a collection is fully downloaded all the available PAR2 sets in the collection are verified using the external program 'par2cmdline'. Support for this feature is very basic at the moment due to various reasons, but will be improved in later versions of NNTPGrab
  • Several new functions added to the PHP module
  • Added a GUI for the NNTPGrab Server (won't be used when ./configure --disable-gui is used or no graphical environment is running)
  • In the NNTPGrab Server, when the program could not listen on port 5423, an popup dialog is now shown (when the GUI is enabled)
  • Lowered total memory usage by using GSLice instead of malloc
  • Reorganised the code infrastructure of the project in preparation for future features
  • Use GIO functions to read NZB files on environments with GLib 2.16.0 or higher as this is more efficient
Contributions by Icheb and FrodoBaggins:
  • Started work on a traffic monitor in the webinterface. This isn't visible yet in the webinterface

Version 0.3.3

  • The list of available download folders wasn't generated when the 'config_changed' signal was already emitted. Fixed
  • When generating the list of available download folder, the 'please wait' dialog could be blank. Fixed
  • Fix a small memory leak
  • Fix a possible deadlock which could occur when the schedular was paused and more than one file were waiting to be decoded
  • When decoded files can't be saved, always stop the schedular
  • When the state of the schedular changes (with an error message), show a notification balloon
  • When the program is minimized and a NZB file is opened from an external program, deiconify the program first before handling the NZB file. This might fix the error message 'file nzb.c: line 644 (on_filechooserNZB_file_set): should not be reached'
  • The message 'The list of available download folders is now being updated. Please wait a few seconds' could remain visible after changing the download or the temp folder. Fixed
  • Show a popup message when the user tries to add a server with a servername which is already used
  • Disable 'type-ahead-find' in the configuration tab as it could cause an assertion failure
  • NZB files opened from external sources sometimes didn't get shown. Added an ugly workaround for it

Version 0.3.2

  • Created an (experimental) version of NNTPGrab for Windows x64
  • The NNTPGrab Server would always give an error message indicating the function 'freeaddrinfo' could not be found on Windows 2000 environments. Fixed
  • When closing the 'Connect to NNTPGrab Server' dialog from the Networked GUI, the program would keep running. Fixed
  • On connection errors in the Networked GUI, shut down the program properly instead of triggering the 'error reporting' facility
  • The opening of .nzb files sometimes fails. On Mac OS X the program could even crash when opening an .nzb file (using the Finder) while the program isn't running yet. NNTPGrab Bugzilla #161
  • Replaced the use of GStaticRWLock in the schedular by GStaticMutex. This should solve some locking problems
  • Added a start menu shortcut for the NNTPGrab Server (Linux only)
  • Several compilation fixes which are required to run NNTPGrab on older Linux environments
  • The program wouldn't compile using Visual Studio without running the ./configure script. Fixed
  • The calculation of the total_file_size and total_file_size_remaining in the webinterface was sometimes miscalculated. Reported by Chrashoverraid. Fixed
  • When adding new files using the Networked GUI or the Webinterface, a crash could occur. Fixed
  • The traffic monitor didn't work in the networked GUI and the webinterface on environments where GLib 2.14.0 or higher isn't installed. Fixed
  • Add support for using NNTP-over-SSL with Astraweb
  • NNTP-over-SSL connection problems were handled incorrectly. Fixed
  • When decoding files, convert the filename to the utf-8 character encoding before saving it. This prevents the NNTPGrab download queue from getting corrupt. Bugzilla #163
  • Updated the Configuration GUI so that everything in the interface is more consistent
  • If a collection name contains invalid UTF-8 data, replace it with a space
  • NZB files containing special characters couldn't get imported on Windows. Fixed
  • Improved translations
  • Some texts didn't got translated, Fixed

Version 0.3.1

  • 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

Version 0.3.0

  • 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

Version 0.2.91 (0.3 Beta 2)

  • 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

Version 0.2.90 (0.3 Beta 1)

  • 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

Version 0.2.5

  • 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 any more to save downloaded parts. Fixed
  • Fixed a small compiler warning

Version 0.2.4

  • 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
  • When the program crashes under Windows, a backtrace is automatically created and saved as the filename 'nntpgrab_gui.rpt'

Version 0.2.3

  • 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

Version 0.2.2

  • 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)

Version 0.2.1

  • 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

Version 0.2

  • 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.

Version 0.1

  • First release

Also available in: HTML TXT