Statistics
| Revision:

root / trunk / ChangeLog @ 1862

History | View | Annotate | Download (62.2 KB)

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

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

                
9
Released at Wednesday July 20 2011
10

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

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

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

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

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

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

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

                
84
+-----------------+
85
| NNTPGrab 0.6.91 |
86
+-----------------+
87

                
88
Released at Monday December 20 2010
89

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

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

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

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

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

                
194
+-----------------+
195
| NNTPGrab 0.6.90 |
196
+-----------------+
197

                
198
Released at Sunday August 22 2010
199

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

                
245
+----------------+
246
| NNTPGrab 0.6.2 |
247
+----------------+
248

                
249
Released at Saturday June 5 2010
250

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

                
278
+----------------+
279
| NNTPGrab 0.6.1 |
280
+----------------+
281

                
282
Released at Friday March 26 2010
283

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

                
305
+----------------+
306
| NNTPGrab 0.6.0 |
307
+----------------+
308

                
309
Released at Sunday March 7 2010
310

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

                
335
+-----------------+
336
| NNTPGrab 0.5.91 |
337
+-----------------+
338

                
339
Released at Friday February 19 2010
340

                
341
== This is an unstable release! ==
342

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

                
378
+-----------------+
379
| NNTPGrab 0.5.90 |
380
+-----------------+
381

                
382
Released at Saturday December 26 2009
383

                
384
== This is an unstable release! ==
385

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

                
423
+----------------+
424
| NNTPGrab 0.5.1 |
425
+----------------+
426

                
427
Released at Sunday July 19 2009
428

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

                
439
+----------------+
440
| NNTPGrab 0.5.0 |
441
+----------------+
442

                
443
Released at Monday June 29 2009
444

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

                
472
+-----------------+
473
| NNTPGrab 0.4.91 |
474
+-----------------+
475

                
476
Released at Tuesday May 5 2009
477

                
478
== This is an unstable release! ==
479

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

                
524
+-----------------+
525
| NNTPGrab 0.4.90 |
526
+-----------------+
527

                
528
Released at Sunday March 15 2009
529

                
530
== This is an unstable release! ==
531

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

                
591
+----------------+
592
| NNTPGrab 0.4.2 |
593
+----------------+
594

                
595
Released at Saturday January 10 2009
596

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

                
620
+----------------+
621
| NNTPGrab 0.4.1 |
622
+----------------+
623

                
624
Released at Monday December 29 2008
625

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

                
642
+----------------+
643
| NNTPGrab 0.4.0 |
644
+----------------+
645

                
646
Released at Sunday November 23 2008
647

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

                
681
+-----------------+
682
| NNTPGrab 0.3.93 |
683
+-----------------+
684

                
685
Released at Friday October 10 2008
686

                
687
== This is an unstable release! ==
688

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

                
707
+-----------------+
708
| NNTPGrab 0.3.92 |
709
+-----------------+
710

                
711
Released at Friday October 3 2008
712

                
713
== This is an unstable release! ==
714

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

                
732
+-----------------+
733
| NNTPGrab 0.3.91 |
734
+-----------------+
735

                
736
Released at Saturday September 13 2008
737

                
738
== This is an unstable release! ==
739

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

                
773
+-----------------+
774
| NNTPGrab 0.3.90 |
775
+-----------------+
776

                
777
Released at Friday August 22 2008
778

                
779
== This is an unstable release! ==
780

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

                
811
Contributions by Icheb and FrodoBaggins:
812
- Started work on a traffic monitor in the webinterface. This isn't
813
  visible yet in the webinterface
814

                
815

                
816
+----------------+
817
| NNTPGrab 0.3.3 |
818
+----------------+
819

                
820
Released at Saturday August 9 2008
821

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

                
840
+----------------+
841
| NNTPGrab 0.3.2 |
842
+----------------+
843

                
844
Released at Saturday July 19 2008
845

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

                
875
+----------------+
876
| NNTPGrab 0.3.1 |
877
+----------------+
878

                
879
Released at Wednesday June 11 2008
880

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

                
910
+----------------+
911
| NNTPGrab 0.3.0 |
912
+----------------+
913

                
914
Released at Saturday June 1 2008
915

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

                
931
+-----------------+
932
| NNTPGrab 0.2.91 |
933
+-----------------+
934

                
935
Released at Monday May 26 2008
936

                
937
== This is an unstable release! ==
938

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

                
965
+-----------------+
966
| NNTPGrab 0.2.90 |
967
+-----------------+
968

                
969
Released at Saturday May 17 2008
970

                
971
== This is an unstable release! ==
972

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

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

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

                
1026
Released at Tuesday April 29 2008
1027

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

                
1034
+----------------+
1035
| NNTPGrab 0.2.4 |
1036
+----------------+
1037

                
1038
Released at Saturday March 1 2008
1039

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

                
1049
+----------------+
1050
| NNTPGrab 0.2.3 |
1051
+----------------+
1052

                
1053
Released at Saturday February 2 2008
1054

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

                
1064
+----------------+
1065
| NNTPGrab 0.2.2 |
1066
+----------------+
1067

                
1068
Released at Sunday Januari 27 2008
1069

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

                
1091
+----------------+
1092
| NNTPGrab 0.2.1 |
1093
+----------------+
1094

                
1095
Released at Wednesday December 26 2007
1096

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

                
1101
+--------------+
1102
| NNTPGrab 0.2 |
1103
+--------------+
1104

                
1105
Released at Tuesday December 25 2007
1106

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

                
1145
+--------------+
1146
| NNTPGrab 0.1 |
1147
+--------------+
1148

                
1149
Released at Thursday November 29 2007
1150

                
1151
- First release
1152