Statistics
| Revision:

root / trunk / ChangeLog @ 1790

History | View | Annotate | Download (57.7 KB)

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

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

                
9
Released at Saturday December 18 2010
10

                
11
General changes:
12
- Made the Qt frontend the default frontend for Win32, Win64 and OSX environments
13
- Added a new ./configure option: --disable-par2cmdline-check
14
- Only show the filename without the complete path in the GUI
15
  while repairing and unpacking files
16
- Added support for GNUTLS instead of OpenSSL
17
- Made the various libraries compatible with recent versions of gobject-introspection
18
- Added support to shut down the system when using KDE
19
- Reduced some overhead between the glue layer and the frontends
20
- Allow frontends to indicate whether they want to receive log messages or
21
  not (disabled by default). This reduces the load in regular environments
22

                
23
Changes in the NNTPGrab Core:
24
- When the user changes the 'Temp directory' in the configuration all
25
  downloads didn't get decoded properly until the program was restarted. Fixed
26
- On some environments the program could give an 'Unable to resolve dependency'
27
  error on startup of the program. Fixed. Bug #49
28
- A harmless error message could get shown on startup on Win32/Win64 due
29
  to an older version of the example plugin being bundled in the
30
  NNTPGrab 0.6.90 setup. Fixed
31
- Automatic shutdown didn't work when the download queue contained 'Skipped' tasks. Fixed
32
- Refuse to accept configuration changes when the download folder, temp
33
  folder or automatic import folder refer to invalid paths
34
- A regression got introduced in NNTPGrab 0.6.2 which caused configuration changes
35
  in the port number of usenet servers to be ignored on Win32/Win64. Fixed
36
- Fixed an compile error which could occur when using the ./configure argument --disable-ssl
37
- Single file archives didn't get deleted automatically after an unpack. Fixed
38
- Added the characters '<' and '>' to the list of forbidden characters in collection names
39
- A regression was introduced in NNTPGrab 0.6.90 which causes the PAR2 repair
40
  to fail when using par2cmdline (instead of par2_tbb). Fixed. Bug #52
41
- Optimized the measuring of the download speed by using atomic operations instead of mutex operations
42
- Fixed a race condition in the core library which could cause some warnings
43
- Fixed an issue which could cause the initialisation of the NNTPGrab Core to
44
  succeed even if there was an error
45
- Fixed a possible schedular deadlock which could be triggered when
46
  an error during the decoding has occured
47
- Don't emit a log message whenever a throttle action occurs
48

                
49
Changes in the JSON-RPC plugin:
50
- Implemented importing NZB files using a HTTP POST request in
51
  the embedded webserver. Feature #10
52
- Added a new JSON-RPC function called 'schedular_foreach_task' which is much
53
  more scalable than the original 'schedular_get_all_tasks' function. Fixes #53
54
- From now on an error message will be returned when a JSON-RPC method
55
  is called which doesn't exist
56
- Marking files optional/non-optional using the JSON-RPC interface was broken. Fixed
57
- Increased the recv buffer for requests in the JSON-RPC plugin from 64K to 512K.
58
  Should reduce the chance that clients get disconnected with a 'Too long request received' error
59

                
60
Changes in the Qt frontend:
61
- Added support to connect to a NNTPGrab Server
62
- Implemented the traffic monitor in the Qt frontend
63
- Made the "Don't show this dialog again" checkbox in the connect screen operational
64
- Added support for the Online Search
65
- Implemented the Automatic PAR2 and Unpack tab
66
- Implemented everything in the Configuration tab
67
- Completed the implementation of the 'Manage Plugins' window
68
- Automatically load all 'auto-load' plugins on startup
69
- Added the --debug command line parameter
70
- Implemented the tray icon
71
- Implemented automatic import
72
- Give the window a nice icon
73
- Hide the configuration parts for the JSON-RPC and Logger plugins when they aren't loaded
74
- Automatically save the download queue after a successfull NZB import
75
- Renamed the toolbar button 'Enable automatic shutdown' to
76
  'Automatic shutdown' to save some space
77
- Implemented the 'Automatic Shutdown' feature
78
- Automatically close the debug window (if it's visible) when the main window is closed
79
- Implemented showing/hiding columns in the download queue
80
- Implemented the 'hide inactive connections' configuration option
81
- Only allow the Qt frontend to be running once at the same time
82
- If another instance of the Qt frontend is detected, automatically give it focus
83
- Implemented opening NZB files from the command line
84
- Enabled showing the estimated time remaining and time to finish
85
  for all individual files in the download queue
86
- Show the download queue using a QTreeView instead of a QTreeWidget for bettter performance
87
- Fixed a bug where the calculation of the estimated time required
88
  didn't work correctly when having multiple collections
89
- A crash could occur in the Qt frontend when disabling one of the
90
  configured servers while a download is still active. Fixed
91
- Sanitize the collection name before importing files
92
- When marking a file which is currently being downloaded as 'skipped', the
93
  file size remaining wouldn't get reset. Fixed
94
- The 'Enable intelligent PAR2 downloader' configuration option was broken. Fixed
95

                
96
Changes in the GTK frontend:
97
- Re-added support to kill the NNTPGrab Server from a connected frontend
98
- Add support for libnotify 0.7
99
- Hide the configuration parts for the JSON-RPC and Logger plugins when they aren't loaded
100
- Fixed a deadlock which occured in the GTK GUI when the NNTPGrab Server
101
  disappears or when a protocol error occured
102
- When marking a file which is currently being downloaded as 'skipped', the
103
  file size remaining wouldn't get reset. Fixed
104
- When the connection to a NNTPGrab Server is lost, the program would
105
  disappear immediately. Changed this behaviour by showing an error dialog
106
  and waiting for the user to close it before closing the entire program
107
- Fixed some Gtk-Critical warnings in the GTK GUI which could occur
108
  on configuration changes
109
- Notifications were broken. Fixed
110
- Fixed a possible segfault while starting the GTK frontend
111
- When the configuration option 'hide inactive connections' is set in the
112
  GTK GUI then some invalid data could get shown in the connections
113
  overview (like messages belonging to another connection). Fixed
114

                
115
+-----------------+
116
| NNTPGrab 0.6.90 |
117
+-----------------+
118

                
119
Released at Sunday August 22 2010
120

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

                
166
+----------------+
167
| NNTPGrab 0.6.2 |
168
+----------------+
169

                
170
Released at Saturday June 5 2010
171

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

                
199
+----------------+
200
| NNTPGrab 0.6.1 |
201
+----------------+
202

                
203
Released at Friday March 26 2010
204

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

                
226
+----------------+
227
| NNTPGrab 0.6.0 |
228
+----------------+
229

                
230
Released at Sunday March 7 2010
231

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

                
256
+-----------------+
257
| NNTPGrab 0.5.91 |
258
+-----------------+
259

                
260
Released at Friday February 19 2010
261

                
262
== This is an unstable release! ==
263

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

                
299
+-----------------+
300
| NNTPGrab 0.5.90 |
301
+-----------------+
302

                
303
Released at Saturday December 26 2009
304

                
305
== This is an unstable release! ==
306

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

                
344
+----------------+
345
| NNTPGrab 0.5.1 |
346
+----------------+
347

                
348
Released at Sunday July 19 2009
349

                
350
- In some rare situations, the schedular could get paused. This should be resolved now
351
- Fixed a possible crash in the unpack plugin
352
- When performing a PAR2 verify, an assertion error could appear. Fixed
353
- The progress bar in the PAR2 tab could get stuck when an unexpected error occurs
354
  while performing a PAR2 recovery
355
- Don't freeze anymore while manipulating the download queue or configuration
356
  when a connection error has just occured
357
- Prevent some memory corruption
358
- Prevent an invalid free
359

                
360
+----------------+
361
| NNTPGrab 0.5.0 |
362
+----------------+
363

                
364
Released at Monday June 29 2009
365

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

                
393
+-----------------+
394
| NNTPGrab 0.4.91 |
395
+-----------------+
396

                
397
Released at Tuesday May 5 2009
398

                
399
== This is an unstable release! ==
400

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

                
445
+-----------------+
446
| NNTPGrab 0.4.90 |
447
+-----------------+
448

                
449
Released at Sunday March 15 2009
450

                
451
== This is an unstable release! ==
452

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

                
512
+----------------+
513
| NNTPGrab 0.4.2 |
514
+----------------+
515

                
516
Released at Saturday January 10 2009
517

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

                
541
+----------------+
542
| NNTPGrab 0.4.1 |
543
+----------------+
544

                
545
Released at Monday December 29 2008
546

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

                
563
+----------------+
564
| NNTPGrab 0.4.0 |
565
+----------------+
566

                
567
Released at Sunday November 23 2008
568

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

                
602
+-----------------+
603
| NNTPGrab 0.3.93 |
604
+-----------------+
605

                
606
Released at Friday October 10 2008
607

                
608
== This is an unstable release! ==
609

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

                
628
+-----------------+
629
| NNTPGrab 0.3.92 |
630
+-----------------+
631

                
632
Released at Friday October 3 2008
633

                
634
== This is an unstable release! ==
635

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

                
653
+-----------------+
654
| NNTPGrab 0.3.91 |
655
+-----------------+
656

                
657
Released at Saturday September 13 2008
658

                
659
== This is an unstable release! ==
660

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

                
694
+-----------------+
695
| NNTPGrab 0.3.90 |
696
+-----------------+
697

                
698
Released at Friday August 22 2008
699

                
700
== This is an unstable release! ==
701

                
702
- Added support for automatic NZB import. A folder can be monitored by the
703
  program and if an .nzb file is placed in this folder, the file will
704
  automatically be read and added to the download queue. Folders can be
705
  monitored on both the local computer and on the NNTPGrab Server. This feature
706
  requires GLib 2.16.0 or higher, but is unsupported on Mac OS X for the moment
707
- Added support for the NZBCreator service. This is a usenet search service
708
  which is fully integrated in the program. It is possible to search for
709
  files on the usenet using several filters and to import search results
710
  directly into the NNTPGrab download queue
711
- Added support for automatic PAR2 repair. After a collection is fully
712
  downloaded all the available PAR2 sets in the collection are verified
713
  using the external program 'par2cmdline'. Support for this feature is
714
  very basic at the moment due to various reasons, but will be improved
715
  in later versions of NNTPGrab
716
- Several new functions added to the PHP module:
717
  nntpgrab_connections_get_speed_history
718
  nntpgrab_utils_strip_subject
719
  nntpgrab_utils_calculate_file_size
720
  nntpgrab_utils_calculate_estimated_time_remaining
721
  nntpgrab_utils_get_readable_time_remaining
722
  nntpgrab_utils_get_readable_finished_time
723
- Added a GUI for the NNTPGrab Server (won't be used when ./configure --disable-gui
724
  is used or no graphical environment is running)
725
- In the NNTPGrab Server, when the program could not listen on port 5423, an
726
  popup dialog is now shown (when the GUI is enabled)
727
- Lowered total memory usage by using GSLice instead of malloc
728
- Reorganised the code infrastructure of the project in preparation for future features
729
- Use GIO functions to read NZB files on environments with GLib 2.16.0 or higher
730
  as this is more efficient
731

                
732
Contributions by Icheb and FrodoBaggins:
733
- Started work on a traffic monitor in the webinterface. This isn't
734
  visible yet in the webinterface
735

                
736

                
737
+----------------+
738
| NNTPGrab 0.3.3 |
739
+----------------+
740

                
741
Released at Saturday August 9 2008
742

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

                
761
+----------------+
762
| NNTPGrab 0.3.2 |
763
+----------------+
764

                
765
Released at Saturday July 19 2008
766

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

                
796
+----------------+
797
| NNTPGrab 0.3.1 |
798
+----------------+
799

                
800
Released at Wednesday June 11 2008
801

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

                
831
+----------------+
832
| NNTPGrab 0.3.0 |
833
+----------------+
834

                
835
Released at Saturday June 1 2008
836

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

                
852
+-----------------+
853
| NNTPGrab 0.2.91 |
854
+-----------------+
855

                
856
Released at Monday May 26 2008
857

                
858
== This is an unstable release! ==
859

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

                
886
+-----------------+
887
| NNTPGrab 0.2.90 |
888
+-----------------+
889

                
890
Released at Saturday May 17 2008
891

                
892
== This is an unstable release! ==
893

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

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

                
943
+----------------+
944
| NNTPGrab 0.2.5 |
945
+----------------+
946

                
947
Released at Tuesday April 29 2008
948

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

                
955
+----------------+
956
| NNTPGrab 0.2.4 |
957
+----------------+
958

                
959
Released at Saturday March 1 2008
960

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

                
970
+----------------+
971
| NNTPGrab 0.2.3 |
972
+----------------+
973

                
974
Released at Saturday February 2 2008
975

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

                
985
+----------------+
986
| NNTPGrab 0.2.2 |
987
+----------------+
988

                
989
Released at Sunday Januari 27 2008
990

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

                
1012
+----------------+
1013
| NNTPGrab 0.2.1 |
1014
+----------------+
1015

                
1016
Released at Wednesday December 26 2007
1017

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

                
1022
+--------------+
1023
| NNTPGrab 0.2 |
1024
+--------------+
1025

                
1026
Released at Tuesday December 25 2007
1027

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

                
1066
+--------------+
1067
| NNTPGrab 0.1 |
1068
+--------------+
1069

                
1070
Released at Thursday November 29 2007
1071

                
1072
- First release
1073