Statistics
| Revision:

root / trunk / ChangeLog @ 1847

History | View | Annotate | Download (62 KB)

1
==================
2
NNTPGrab ChangeLog
3
==================
4

                
5
+-----------------+
6
| NNTPGrab 0.6.92 |
7
+-----------------+
8

                
9
Released at XXX July XX 2011
10

                
11
General changes:
12
- Implemented a new option: Send GROUP command before downloading
13
  Some buggy usenet servers seem to require such a feature (such as Ziggo)
14
- Updated the Online Search code to be much more efficient then before. From now on
15
  information about files which are in a collection will only be retrieved on demand
16
- Improved the testsuite by porting all testcases to the GTester framework and
17
  adding various new testcases
18
- Various bugfixes and optimalisations in the download queue logic
19
- Always print debugging messages when we're using Win32/Win64 or Mac OS X. On all other platforms, check
20
  whether the environment variable NNTPGRAB_DEBUG is set before enabling debugging messages in the console
21

                
22
Changes in the NNTPGrab Core:
23
- Downloading using SSL wasn't working anymore when using GNUTLS 2.8.0 or higher due to API changes. Bug #64
24
- Added a small optimalization to the nntpconnection_read_msg function by
25
  dropping some duplicate code
26
- The download queue could get stuck in the suspended state when all login attempts failed. Fixed
27
- As of GLib 2.27.1, the behaviour of g_get_user_data_dir() was changed to return
28
  a different value. Provide an upgrade path for Win32/Win64 users so that their
29
  configuration won't get lost due to this change. Bug #66
30
- When making changes to the download queue, write back those changes to a tempory file
31
  first before replacing the original file. This prevents the possibility of the download
32
  queue becoming corrupt when the disk is full
33
- Added support for multiple connection backends
34
- Added a new connection backend called 'gio' which is based on GLib-GIO and
35
  can optionally use glib-networking for SSL/TLS support
36
- Optimzed the retrieval of tasks from the download queue by caching the last known task per server.
37
  This eliminates the need to navigate through the entire download queue for every time that a new
38
  task is requested by the download thread
39

                
40
Changes in the Glue layer:
41
- Processing signals while being connected to a NNTPGrab Server was broken as of GLib 2.27.4. Fixed
42

                
43
Changes in the Online Search:
44
- Fixed an issue in the Online Search where files with a size between 2GB and 4GB weren't displayed correctly
45

                
46
Changes in the Qt frontend:
47
- When moving files/collections in the download queue to the top or up which are
48
  already at the top a 'beginMoveRows failed' message could get shown. Fixed
49
  The same also applies to files/collections which are already at the bottom
50
- Allow the Qt frontend to build when Qt 4.5.0 or older is installed
51
- Added support for 'shadow builds' in the Qt frontend
52
- Use a bundled copy of the QtLockedFile and QtSingleApplication classes which will
53
  be used by the Qt frontend when no system-wide installed version can be found
54
- Prevent the user being spammed with 'buffer too small' messages. Patch by swsnyder
55
- Improved selecting files to be used during a NZB import. Bug #62. Patch by slayeriq
56
- Save and restory geometry of the program window. Feature #65. Patch by tg1311
57
- Show the correct timestamp for collections in the download queue
58
- Convert all strings coming from the NNTPGrab Core to the QString native
59
  character encoding (which isn't UTF-8 on Windows). This fixes an issue
60
  where names of collections and files could get malformed if they contain
61
  non-UTF8 characters. Bug #72
62
- Fixed a possible assertion error on Win32/Win64. Bug #75
63
- The configuration settings of the Qt frontend were saved in the wrong location on Win32/Win64. Fixed
64
- Fixed an issue where the window could disappear on Win32/Win64 when the tray icon is disabled
65

                
66
Changes in the GTK frontend:
67
- Added support for GTK 3.x
68
- Showing the debug window in standalone mode was broken. Fixed
69
- If auto-import gets triggered when the GTK frontend is running, a harmless error
70
  could get shown indicating that the import failed (even though it succeeded). Fixed
71

                
72
Changes in the JSON-RPC plugin:
73
- When importing files with special characters, some invalid JSON-RPC messages
74
  could get sent to external frontends. Fixed
75
- Add a Content-Length header to HTTP requests. Patch by chrashoverraid. Bug #74
76
- When connecting to a NNTPGrab Server using the 32bit Windows
77
  frontend, the server could crash. Fixed. Bug #70
78
- Don't crash when in invalid jsonrpc request is being parsed. Bug #79
79

                
80
+-----------------+
81
| NNTPGrab 0.6.91 |
82
+-----------------+
83

                
84
Released at Monday December 20 2010
85

                
86
General changes:
87
- Made the Qt frontend the default frontend for Win32, Win64 and OSX environments
88
- Added a new ./configure option: --disable-par2cmdline-check
89
- Only show the filename without the complete path in the GUI
90
  while repairing and unpacking files
91
- Added support for GNUTLS instead of OpenSSL
92
- Made the various libraries compatible with recent versions of gobject-introspection
93
- Added support to shut down the system when using KDE
94
- Reduced some overhead between the glue layer and the frontends
95
- Allow frontends to indicate whether they want to receive log messages or
96
  not (disabled by default). This reduces the load in regular environments
97

                
98
Changes in the NNTPGrab Core:
99
- When the user changes the 'Temp directory' in the configuration all
100
  downloads didn't get decoded properly until the program was restarted. Fixed
101
- On some environments the program could give an 'Unable to resolve dependency'
102
  error on startup of the program. Fixed. Bug #49
103
- A harmless error message could get shown on startup on Win32/Win64 due
104
  to an older version of the example plugin being bundled in the
105
  NNTPGrab 0.6.90 setup. Fixed
106
- Automatic shutdown didn't work when the download queue contained 'Skipped' tasks. Fixed
107
- Refuse to accept configuration changes when the download folder, temp
108
  folder or automatic import folder refer to invalid paths
109
- A regression got introduced in NNTPGrab 0.6.2 which caused configuration changes
110
  in the port number of usenet servers to be ignored on Win32/Win64. Fixed
111
- Fixed an compile error which could occur when using the ./configure argument --disable-ssl
112
- Single file archives didn't get deleted automatically after an unpack. Fixed
113
- Added the characters '<' and '>' to the list of forbidden characters in collection names
114
- A regression was introduced in NNTPGrab 0.6.90 which causes the PAR2 repair
115
  to fail when using par2cmdline (instead of par2_tbb). Fixed. Bug #52
116
- Optimized the measuring of the download speed by using atomic operations instead of mutex operations
117
- Fixed a race condition in the core library which could cause some warnings
118
- Fixed an issue which could cause the initialisation of the NNTPGrab Core to
119
  succeed even if there was an error
120
- Fixed a possible schedular deadlock which could be triggered when
121
  an error during the decoding has occured
122
- Don't emit a log message whenever a throttle action occurs
123

                
124
Changes in the JSON-RPC plugin:
125
- Implemented importing NZB files using a HTTP POST request in
126
  the embedded webserver. Feature #10
127
- Added a new JSON-RPC function called 'schedular_foreach_task' which is much
128
  more scalable than the original 'schedular_get_all_tasks' function. Fixes #53
129
- From now on an error message will be returned when a JSON-RPC method
130
  is called which doesn't exist
131
- Marking files optional/non-optional using the JSON-RPC interface was broken. Fixed
132
- Increased the recv buffer for requests in the JSON-RPC plugin from 64K to 512K.
133
  Should reduce the chance that clients get disconnected with a 'Too long request received' error
134

                
135
Changes in the Qt frontend:
136
- Added support to connect to a NNTPGrab Server
137
- Implemented the traffic monitor in the Qt frontend
138
- Made the "Don't show this dialog again" checkbox in the connect screen operational
139
- Added support for the Online Search
140
- Implemented the Automatic PAR2 and Unpack tab
141
- Implemented everything in the Configuration tab
142
- Completed the implementation of the 'Manage Plugins' window
143
- Automatically load all 'auto-load' plugins on startup
144
- Added the --debug command line parameter
145
- Implemented the tray icon
146
- Implemented automatic import
147
- Give the window a nice icon
148
- Hide the configuration parts for the JSON-RPC and Logger plugins when they aren't loaded
149
- Automatically save the download queue after a successfull NZB import
150
- Renamed the toolbar button 'Enable automatic shutdown' to
151
  'Automatic shutdown' to save some space
152
- Implemented the 'Automatic Shutdown' feature
153
- Automatically close the debug window (if it's visible) when the main window is closed
154
- Implemented showing/hiding columns in the download queue
155
- Implemented the 'hide inactive connections' configuration option
156
- Only allow the Qt frontend to be running once at the same time
157
- If another instance of the Qt frontend is detected, automatically give it focus
158
- Implemented opening NZB files from the command line
159
- Enabled showing the estimated time remaining and time to finish
160
  for all individual files in the download queue
161
- Show the download queue using a QTreeView instead of a QTreeWidget for bettter performance
162
- Fixed a bug where the calculation of the estimated time required
163
  didn't work correctly when having multiple collections
164
- A crash could occur in the Qt frontend when disabling one of the
165
  configured servers while a download is still active. Fixed
166
- Sanitize the collection name before importing files
167
- When marking a file which is currently being downloaded as 'skipped', the
168
  file size remaining wouldn't get reset. Fixed
169
- The 'Enable intelligent PAR2 downloader' configuration option was broken. Fixed
170

                
171
Changes in the GTK frontend:
172
- Re-added support to kill the NNTPGrab Server from a connected frontend
173
- Add support for libnotify 0.7
174
- Hide the configuration parts for the JSON-RPC and Logger plugins when they aren't loaded
175
- Fixed a deadlock which occured in the GTK GUI when the NNTPGrab Server
176
  disappears or when a protocol error occured
177
- When marking a file which is currently being downloaded as 'skipped', the
178
  file size remaining wouldn't get reset. Fixed
179
- When the connection to a NNTPGrab Server is lost, the program would
180
  disappear immediately. Changed this behaviour by showing an error dialog
181
  and waiting for the user to close it before closing the entire program
182
- Fixed some Gtk-Critical warnings in the GTK GUI which could occur
183
  on configuration changes
184
- Notifications were broken. Fixed
185
- Fixed a possible segfault while starting the GTK frontend
186
- When the configuration option 'hide inactive connections' is set in the
187
  GTK GUI then some invalid data could get shown in the connections
188
  overview (like messages belonging to another connection). Fixed
189

                
190
+-----------------+
191
| NNTPGrab 0.6.90 |
192
+-----------------+
193

                
194
Released at Sunday August 22 2010
195

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

                
241
+----------------+
242
| NNTPGrab 0.6.2 |
243
+----------------+
244

                
245
Released at Saturday June 5 2010
246

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

                
274
+----------------+
275
| NNTPGrab 0.6.1 |
276
+----------------+
277

                
278
Released at Friday March 26 2010
279

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

                
301
+----------------+
302
| NNTPGrab 0.6.0 |
303
+----------------+
304

                
305
Released at Sunday March 7 2010
306

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

                
331
+-----------------+
332
| NNTPGrab 0.5.91 |
333
+-----------------+
334

                
335
Released at Friday February 19 2010
336

                
337
== This is an unstable release! ==
338

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

                
374
+-----------------+
375
| NNTPGrab 0.5.90 |
376
+-----------------+
377

                
378
Released at Saturday December 26 2009
379

                
380
== This is an unstable release! ==
381

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

                
419
+----------------+
420
| NNTPGrab 0.5.1 |
421
+----------------+
422

                
423
Released at Sunday July 19 2009
424

                
425
- In some rare situations, the schedular could get paused. This should be resolved now
426
- Fixed a possible crash in the unpack plugin
427
- When performing a PAR2 verify, an assertion error could appear. Fixed
428
- The progress bar in the PAR2 tab could get stuck when an unexpected error occurs
429
  while performing a PAR2 recovery
430
- Don't freeze anymore while manipulating the download queue or configuration
431
  when a connection error has just occured
432
- Prevent some memory corruption
433
- Prevent an invalid free
434

                
435
+----------------+
436
| NNTPGrab 0.5.0 |
437
+----------------+
438

                
439
Released at Monday June 29 2009
440

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

                
468
+-----------------+
469
| NNTPGrab 0.4.91 |
470
+-----------------+
471

                
472
Released at Tuesday May 5 2009
473

                
474
== This is an unstable release! ==
475

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

                
520
+-----------------+
521
| NNTPGrab 0.4.90 |
522
+-----------------+
523

                
524
Released at Sunday March 15 2009
525

                
526
== This is an unstable release! ==
527

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

                
587
+----------------+
588
| NNTPGrab 0.4.2 |
589
+----------------+
590

                
591
Released at Saturday January 10 2009
592

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

                
616
+----------------+
617
| NNTPGrab 0.4.1 |
618
+----------------+
619

                
620
Released at Monday December 29 2008
621

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

                
638
+----------------+
639
| NNTPGrab 0.4.0 |
640
+----------------+
641

                
642
Released at Sunday November 23 2008
643

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

                
677
+-----------------+
678
| NNTPGrab 0.3.93 |
679
+-----------------+
680

                
681
Released at Friday October 10 2008
682

                
683
== This is an unstable release! ==
684

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

                
703
+-----------------+
704
| NNTPGrab 0.3.92 |
705
+-----------------+
706

                
707
Released at Friday October 3 2008
708

                
709
== This is an unstable release! ==
710

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

                
728
+-----------------+
729
| NNTPGrab 0.3.91 |
730
+-----------------+
731

                
732
Released at Saturday September 13 2008
733

                
734
== This is an unstable release! ==
735

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

                
769
+-----------------+
770
| NNTPGrab 0.3.90 |
771
+-----------------+
772

                
773
Released at Friday August 22 2008
774

                
775
== This is an unstable release! ==
776

                
777
- Added support for automatic NZB import. A folder can be monitored by the
778
  program and if an .nzb file is placed in this folder, the file will
779
  automatically be read and added to the download queue. Folders can be
780
  monitored on both the local computer and on the NNTPGrab Server. This feature
781
  requires GLib 2.16.0 or higher, but is unsupported on Mac OS X for the moment
782
- Added support for the NZBCreator service. This is a usenet search service
783
  which is fully integrated in the program. It is possible to search for
784
  files on the usenet using several filters and to import search results
785
  directly into the NNTPGrab download queue
786
- Added support for automatic PAR2 repair. After a collection is fully
787
  downloaded all the available PAR2 sets in the collection are verified
788
  using the external program 'par2cmdline'. Support for this feature is
789
  very basic at the moment due to various reasons, but will be improved
790
  in later versions of NNTPGrab
791
- Several new functions added to the PHP module:
792
  nntpgrab_connections_get_speed_history
793
  nntpgrab_utils_strip_subject
794
  nntpgrab_utils_calculate_file_size
795
  nntpgrab_utils_calculate_estimated_time_remaining
796
  nntpgrab_utils_get_readable_time_remaining
797
  nntpgrab_utils_get_readable_finished_time
798
- Added a GUI for the NNTPGrab Server (won't be used when ./configure --disable-gui
799
  is used or no graphical environment is running)
800
- In the NNTPGrab Server, when the program could not listen on port 5423, an
801
  popup dialog is now shown (when the GUI is enabled)
802
- Lowered total memory usage by using GSLice instead of malloc
803
- Reorganised the code infrastructure of the project in preparation for future features
804
- Use GIO functions to read NZB files on environments with GLib 2.16.0 or higher
805
  as this is more efficient
806

                
807
Contributions by Icheb and FrodoBaggins:
808
- Started work on a traffic monitor in the webinterface. This isn't
809
  visible yet in the webinterface
810

                
811

                
812
+----------------+
813
| NNTPGrab 0.3.3 |
814
+----------------+
815

                
816
Released at Saturday August 9 2008
817

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

                
836
+----------------+
837
| NNTPGrab 0.3.2 |
838
+----------------+
839

                
840
Released at Saturday July 19 2008
841

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

                
871
+----------------+
872
| NNTPGrab 0.3.1 |
873
+----------------+
874

                
875
Released at Wednesday June 11 2008
876

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

                
906
+----------------+
907
| NNTPGrab 0.3.0 |
908
+----------------+
909

                
910
Released at Saturday June 1 2008
911

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

                
927
+-----------------+
928
| NNTPGrab 0.2.91 |
929
+-----------------+
930

                
931
Released at Monday May 26 2008
932

                
933
== This is an unstable release! ==
934

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

                
961
+-----------------+
962
| NNTPGrab 0.2.90 |
963
+-----------------+
964

                
965
Released at Saturday May 17 2008
966

                
967
== This is an unstable release! ==
968

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

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

                
1018
+----------------+
1019
| NNTPGrab 0.2.5 |
1020
+----------------+
1021

                
1022
Released at Tuesday April 29 2008
1023

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

                
1030
+----------------+
1031
| NNTPGrab 0.2.4 |
1032
+----------------+
1033

                
1034
Released at Saturday March 1 2008
1035

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

                
1045
+----------------+
1046
| NNTPGrab 0.2.3 |
1047
+----------------+
1048

                
1049
Released at Saturday February 2 2008
1050

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

                
1060
+----------------+
1061
| NNTPGrab 0.2.2 |
1062
+----------------+
1063

                
1064
Released at Sunday Januari 27 2008
1065

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

                
1087
+----------------+
1088
| NNTPGrab 0.2.1 |
1089
+----------------+
1090

                
1091
Released at Wednesday December 26 2007
1092

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

                
1097
+--------------+
1098
| NNTPGrab 0.2 |
1099
+--------------+
1100

                
1101
Released at Tuesday December 25 2007
1102

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

                
1141
+--------------+
1142
| NNTPGrab 0.1 |
1143
+--------------+
1144

                
1145
Released at Thursday November 29 2007
1146

                
1147
- First release
1148