This is top-level ChangeLog. It mostly describes changes in application,
without delving too much into details at source code level. src/ChangeLog
file is no longer updated. See commit messages for details on changes in
source files.

2016-04-02 Kamil Ignacak
	* preparing files for new release
	* bugfix: fixing small memory leak in file selector that was added
	in this development cycle (thanks valgrind!)

2016-04-01 Kamil Ignacak
	* ISO9660: Adding process window indication when cdw creates list
	of files to be added to ISO9660 image
	For long list of files (e.g. 200 or so) creating the list may take
	few seconds. To indicate that cdw is busy (and not frozen), I have
	added an indication of this in progress window.
	The process window is shown when user creates stand-alone ISO9660
	image, and when user burns files to optical disc (ISO9660 file
	system is created on the optical disc).

2016-03-20 Kamil Ignacak
	* bugfix: fields in "Meta data" tab in ISO9660 Options window
	(when creating ISO image with xorriso) were always initialized
	with empty strings. So if user entered any data in the fields in
	"Meta data" tab, saved the options (with F9/F10 key), returned
	from Options window to Image Wizard, and then opened the Options
	window again, the fields in "Meta data" tab were empty again. This
	has been fixed, and the data in the fields is preserved and the
	fields show saved values.

	* man page: rsync options field in cdw is empty by default. I have
	added a tiny bit of information about rsync options in man page.

2016-02-20 Kamil Ignacak
	* optical file system: adding calls to free() in isosize.c - this
	fixes small memory leaks that may have occurred in some situations.
	* widgets that use list display, have ability to horizontally
	scroll contents of the list left and right. Maximal supported
	scroll/offset has been set to CDW_LIST_DISPLAY_H_OFFSET_LIMIT=128
	columns.

2016-01-25 Kamil Ignacak
	* native file system: until now the file picker used regular
	CDW_INPUT_LINE widget (file picker is/was the last part of cdw
	that still used it). New implementation of file picker uses
	CDW_SAFE_INPUT_LINE widget. CDW_INPUT_LINE widget has been
	completely removed from code base.

2016-01-19 Kamil Ignacak
	* native file system: adding native_file_system/cdw_file_selector
	module. It consists mostly of code from other modules.


2016-01-17 Kamil Ignacak
	* native file system modules: starting review of code in
	native_file_system/*.* files. Small improvements.


2016-01-09 Kamil Ignacak
	* user interface: implementing "Lynx-like motion" feature in
	native file browser windows

	There has been a request to add possibility to navigate native
	file system with Left and Right arrow (like it's done e.g. in
	Midnight Commander).

	This commit implements this feature in cdw_fs_browser and
	underlying cdw_list_display.

	Since Left and Right arrow can be also used to horizontally scroll
	lists in list display, I have added an option in config window to
	control behaviour of the two keys.

	Horizontal scroll is now also possible with '<' and '>' keys.


2014-07-13 Kamil Ignacak
	* user interface: Backspace key is no longer recognized as key
	that allows moving between fields of a form.
	* write wizard: since there is now some amout of support for
	creating UDF image files, but cdw still doesn't support UDF very
	extensively, "verify" checkbox in "write wizard" is only shown
	when image file selected for burning is an ISO9660 image file. cdw
	won't give you a chance to verify burning of anything other than
	ISO9660 image.

2014-04-12 Kamil Ignacak
	* file system: until now if in a given directory there was a
	directory whose name is composed only of underscores ('_'), it
	will be put by scandir() at the beginning of 'eps' list, before
	'..' - this was an incorrect behaviour and it has been fixed today
	in cdw_fs module.
	* review of changes: today I have completed review of changes in
	source code between cdw 0.7.1 and HEAD. Next step in tests will be
	testing cdw with valgrind (again) and then functional tests.

2014-04-06 Kamil Ignacak
	* proceeding with review of changes in source code as part of
	pre-release checks.
	* xorriso and mkisofs code: unconditionally including ISO9660 meta
	information - it is now included when creating stand-alone ISO9660
	image, and when burning disc from files.
	* xorriso regex code: adding code for catching one more error
	message.
	* xorriso: fixing "speed" parameter for "burn from image" and
	"erase" task.

2014-03-22 Kamil Ignacak
	* fixing some problems with memory deallocation discovered by
	using valgrind.

	The fact that I'm using valgrind means that I'm done with features
	and I'm slowly getting closer to a release.

2014-03-15 Kamil Ignacak
	* cdw_erase_t: new data structure declared in cdw_erase_disc.h
	that collects options related in erasing of discs. Used in both
	cdw_task_t and cdw_config_t. Also adding a set of basic functions
	that operate on variables of this type.

2014-03-12 Kamil Ignacak
	* widget drivers: one step closer to removing old code that
	controlled keys presses in widgets. The code handling old-style
	widget drivers has been disabled/removed in cdw_form module, and
	most, if not all, of the old code in widgets themselves has been
	removed as well.

2014-03-10 Kamil Ignacak
	* cdw_write_t: Declaration of 'burn' structure (now cdw_write_t)
	and some constants moved from cdw_task.h to cdw_burn_disc.h. The
	structure has been reorganized a bit, so this will cause some
	changes in other files.

	The change is similar to previous change in 'create image' data
	structure: some bits of data moved to other, more appropriate
	places (cdw_iso9660.h, cdw_udf.h), code handling the data moved to
	appropriate modules. Data structures and code handling them shared
	between 'cdw task' module and 'config variable' module. More of
	reuse of code.

2014-03-02 Kamil Ignacak
	* UDF: Added missing piece of UDF creation procedure: if volume
	size should be equal to size of disc in drive, there should be a
	step that checks the size of disc. This has been added today in
	cdw_create_image_udf().

	Also modified additional delay after completion of "sync"
	command. There is (and was) a constant delay of X seconds, and now
	it's increased by factor proportional to length of number
	describing size of selected (and copied into UDF file system)
	files.

2014-02-28 Kamil Ignacak
	* UI: Displaying additional information about (not) following
	symlinks in volume information area in main window. This
	information indicates whether calculated size of selected files
	includes size of symlinked files or not.

	* config file: Names of some options in configuration file have
	been made more verbose. Changes in functions reading and writing
	the config file reflect this. A certain degree of backwards
	compatibility is maintained. New cdw will be able (for some time
	into future) to read old config files, and will be able (for some
	time into future) to write backwards-compatible config file.

	* config file: general.display_hidden_files option is now saved in
	config file.

	* configuration: Two options: general.selected_follow_symlinks and
	iso9660.follow_symlinks are now completely separate. First one
	only affects calculating size of selected files by cdw, the other
	only affects working of mkisofs or xorriso. User will have to be
	sure that the options are in sync.

	Until now it was easy to use the same variable for "when
	calculating size of selected files follow symlinks" feature and
	mkisofs'/xorriso's "follow symlinks in ISO9660 file system"
	function. But after adding support for UDF file system things got
	more complicated. Files are copied to UDF fs with rsync, and
	rsync's options for handling symbolic links are much more
	complicated than "follow" vs. "don't follow". I can't keep an eye
	on all of rsync's options, so user has to provide an options
	string on his own. And since I can't control how symlinks are
	handled by rsync, I can't make the link between "when calculating
	size of selected files follow symlinks" feature and rsync's
	symlinks handling options. Therefore I decided to break the link
	for ISO9660.

2014-02-24 Kamil Ignacak
	* drives: Made change in cdw_cdio_drives to handle one problematic
	situation, when an ISO image has been mounted by root user.
	libcdio sees the mounted image as a drive, but cannot get its
	capabilities. Until now it caused error, now it is handled
	properly (the "drive" is not shown on list of drives available to
	cdw).

	* native file system: one important change in
	cdw_fs_shorten_fullpath(): a full path to a directory shall not
	end with a slash (a name of directory shall not end with
	slash). This change is made to ensure that lstat() in code
	calculating size of selected files receives
	"/path/to/symlink/to/directory" rather than
	"/path/to/symlink/to/directory/". That way the path is correctly
	recognized as symlink.

2014-02-23 Kamil Ignacak
	* creating UDF image: using cdw_selecte_files_search() to perform
	additional test in validation function: checking if UDF mount
	point is on list of selected files. If it is, an error is
	reported.  The cdw_selecte_files_search() function is very, very
	basic, but this basic test works.
	Checking if rsync options string is empty, and printing warning
	when it is.

2014-02-18 Kamil Ignacak
	* UDF, config: adding writing of UDF options to configuration
	file, and reading the options from the file. It still needs some
	work and fixing, but it should be usable soon.

2014-02-17 Kamil Ignacak
	* ISO9660: Since I've created a separate cdw_iso9660_t type, I can
	now use it in more places. This time in cdw_config_t, where the
	data type replaces a set of separate variables. The code in
	cdw_config.c operating on these separate variables has been
	replaced with calls to functions from cdw_iso9660 module. More of
	code reuse = profit!

2014-02-16 Kamil Ignacak
	* unifying paths to image file that are used in two different
	places: path leading to newly created image file, and path to
	image file intended to be written to optical disc. Now the two
	paths are represented by the same variable, so now it's certain
	that when user in first step creates ISO9660 image file, and then
	intends in second step to burn an image to disc, the default path
	to the file in step two will be exactly the same as in step one.

2014-02-14 Kamil Ignacak
	* UDF: cdw_create_image_udf(): added checking of exit status of a
	child process.  Any error reported by external tool, and not
	caught by regex code, will be handled by cdw by catching exit code
	of child process.

2014-02-12 Kamil Ignacak
	* User interface: added "About" item to main menu. When selecting
	this item, cdw displays dialog window with program's version,
	copyright notice and short license information.

2014-02-09 Kamil Ignacak
	* UDF: one of steps in creating UDF image is copying files to UDF
	file system. cdw performs this step using rsync. Thus cdw
	"recommends" rsync - otherwise creating UDF images won't be
	possible.
	I may decide to also implement copying files with cp, but this is
	still to be decided.

	cdw now contains initial implementation of functions that perform
	all steps of recipe for creating UDF image. Two of the steps are
	"sudo mount" and "sudo umount". Both commands need to be defined
	in sudoers, and both need to be executed without prompting for
	password (since cdw won't ask user for password). This is
	mentioned in help text in Configuration window.

	* symlinks: in the course of adding support for rsync I realized
	that I can't reasonably cover all possible combinations of flags
	for handling symbolic links in rsync. This is why I have added
	"rsync options" field in image wizard options. This will be the
	place where user will decide how and what rsync copies into UDF
	file system.

	This also means that the role of "follow symbolic links" option in
	Configuration window should be limited only to deciding how to
	calculate size of selected files - either naively follow all
	symbolic links, or naively don't follow links. More sophisticated
	control of (not) following symbolic links should be left to
	user. In case of ISO9660/mkisofs this is just a matter of marking
	one checkbox (mkisofs' option -l), but in case of rsync this is
	much, much more complicated.

	If I ever decide to add support for "cp", I will also have to
	create "cp options" field where user will be able to control
	handling of symlinks by cp. I checked this only briefly, but cp
	gives less options than rsync, but certainly more than mkisofs.

	I can't reasonably provide checkboxes and dropdowns for all
	possible scenarios of handling symlinks - this will have to be
	done in "cp/rsync options" text input field.

2014-02-07 Kamil Ignacak
	* UDF: added a new page to Configuration window, with some
	information about what is needed to create UDF image (which tools
	are used).

2014-02-05 Kamil Ignacak
	* task IDs: a generic task ID CDW_TASK_CREATE_IMAGE has been
	replaced with CDW_TASK_CREATE_IMAGE_ISO9660 and
	CDW_TASK_CREATE_IMAGE_UDF. It become necessary to make a
	distinction between those two tasks. In some places there should
	be two separate paths for the two tasks.
	* UDF: I'm continuing with implementation of support for UDF. New
	module: cdw_mkudffs_helpers has been created for tools that are
	used as helpers in process of creating image (truncate,
	mount/umount, etc.).

2014-01-30 Kamil Ignacak
	* UDF: UDF options in image wizard are now read from task variable
	when creating the options pages, and saved to a task variable when
	performing creation of an image.

	For now UDF options are stored only to a master_task variable in
	cdw_task module, they aren't stored to a global configuration
	variable, nor to a disk file.

	The cdw_task module now requires initialization (the master_task
	variable is initialized with default values of mkudffs options).

	* widgets: CDW_CHECKBOX now supports the new style driver function.

	* cdw_form: updated the form code and widget driver functions so
	that they can be used in configuration window as well (may be, but
	aren't used fully yet). Now the special keys in configuration
	window (i.e. F_X keys used for switching between panels) are
	handled correctly.

2014-01-27 Kamil Ignacak
	* widgets: I have shortened list of widgets IDs in cdw_widgets.h,
	updated the names so that they are clearly IDs of widgets, and
	used the changed names in whole source code tree. I just have to
	remove cdw_input_line module from Makefile.am.

2014-01-26 Kamil Ignacak
	* Image wizard: finished changes in main page of image wizard -
	the page is now able to support both ISO9660 and UDF image
	formats. Now I can focus on pages for options, visible after
	pressing "More options".

	Source file for the wizard has been changed from
	cdw_iso9660_wizard to cdw_image_wizard, since the wizard is no
	longer ISO9660-only. The old file (cdw_iso9660_wizard) will be
	kept in repository to preserve changes history.

2014-01-25 Kamil Ignacak
	* widgets: two new modules in src/user_interface/widgets:
	cdw_safe_input_line (derived from cdw_input_line) and
	cdw_dynamic_label. The modules implement new widgets that support
	->driver() function. The widgets and the function are used in
	image wizard window, but introducing them also affected cdw_form
	module. In theory the new widgets should make implementation of
	drivers in other parts of cdw easier.

	The dynamic label module makes it possible to easily implement
	area where error message about insecure characters is displayed.
	Imagine an input field, where user entered some insecure
	character. cdw_input_line widget displayed the error message in
	one-line form field/subwindow below the input line, and the form
	field was an integral part of the cdw_input_line. With the dynamic
	label module, I can display the error message in place of a
	regular label that usually accompanies input field - the label is
	located before or above the input field.

2014-01-22 Kamil Ignacak
	* UDF: updating ISO9660 image wizard with selector of image file
	format. There will be "UDF" item that can be selected from
	dropdown if "external tools" module will detect necessary tools
	installed on user's system.

2014-01-20 Kamil Ignacak
	* Child exit status: initial modifications for improved handling
	of exit status of child processes (this was totally neglected
	until now). The change is a result of talks with user rogerx about
	supporting UFD file format. This would require calling some new
	external tools. In order to limit amount of new code for parsing
	their stdout and stderr (at least initially), I would rather try
	to handle their exit statuses to determine success/failure of
	their actions.

2014-01-19 Kamil Ignacak
	* Updating FSF address in copyright header of *.c files (problem
	reported by Sergio Belkin).
	* Integrating cdw_ld_as_needed.diff patch from Debian.
	* Updating invocation of AM_INIT_AUTOMAKE in configure.ac.
	* Compiler reported clashes between PACKAGE, VERSION and some
	other names from cdw's config.h and libcdio's header files. This
	has been fixed in one of today's commits.

2012-03-28 Kamil Ignacak
	* gettext: updating gettext information and cdw.pot template file;
	one step closer to release;

2012-03-25 Kamil Ignacak
	* xorriso: cdw now can recognize "not a known option" error message
	printed by xorriso to stderr, and inform user about the fact;
	* bugfixing: fixing small bug introduced recently: cdw recognized
	a disc as empty right after burning ISO9660 image to the disc;
	the problem was a result of reusing old cdio data structure after
	reloading a disc tray (the data structure should have been discarded,
	and then created again);
	* ISO9660: fixing usage of meta information fields - they are used
	only when they are accessible during task creation, i.e.
	preparer/publisher/copyright fields are only used during creation
	of standalone ISO9660 file system (because there is this "meta" tab
	in ISO9660 wizard), but not during creation of ISO9660 file system
	on the fly, because the "meta" tab is currently	missing in write
	wizard;

2012-03-06 Kamil Ignacak
	* bugfixing: fixing problem with ejecting drive tray; after a bit
	of googling it turned out that this may be caused by the drive
	being locked; today's change in cdw_drive.c provides a workaround
	for this problem;

2012-02-26 Kamil Ignacak
	* general: program version has been changed from 0.7.0 to 0.7.1;
	this won't be any significant release, just few small changes, so
	such change of version is justified;
	* bugfixing: there has been made small change that should help to
	resolve problems with saving data in configuration window or in
	wizards with F10 key, when user runs cdw in terminal emulators that
	use F10 for their own purposes; see also http://sourceforge.net/tracker/index.php?func=detail&aid=3424993&group_id=124080&atid=698428
	* user interface: there is one small change (disabled for now) in
	signal handler code, that suggests that handling "resize main window"
	requests will be possible in future versions of cdw;
	* signal handling: few more signals are now handled by cdw's
	signal handler (essentially exit() is called, together with all
	the functions registered with atexit()); state of terminal (or
	terminal emulator) should be correct after cdw closes abruptly;
	* removing src/user_interface/widgets/cdw_textarea.[ch] - content
	of the file has been already moved elsewhere;

2012-02-19 Kamil Ignacak
	* general: lots of small changes that are supposed to silence
	compiler warnings;
	* debug: fixing problems with cdw_string_wrap(), only to realize
	that the function and related functions will require redesigning
	and rewriting at some point in the future;
	* signals: code handling signals has been improved: more signals
	are being handled, and code has been modified to make sure that
	final debug message is printed correctly, and that exit() is
	called properly;

2012-02-17 Kamil Ignacak
	* burning files: when burning second or following session to a disc,
	cdw now tries to check which tool has been used to create ISO file
	system already existing on a disc, and select the same tool for
	creating appended file system;
	user is warned if cdw can't recognize a tool used to create ISO file
	system existing on the disc;
	there is now also a second type of check: cdw checks value of ISO
	level of existing ISO file system, and preselects the same level
	for creating appended file system;
	both changes should decrease possibility of problems when burning
	files to a disc;
	see this post for related information:
	http://sourceforge.net/mailarchive/forum.php?thread_name=4EA08379.7090302%40wp.pl&forum_name=cdw-user
	* user interface: dropdowns, button dialogs and few more places,
	like log window, recognize 'q' and 'Q' keys as cancel/escape keys;
	this change has been suggested by RogerX;
	* external tools: solving Sourceforge defect #3487958 (cdw was unable
	to detect installed wodim and genisoimage if they weren't symlinked
	as cdrecord and mkisofs);

2012-02-11 Kamil Ignacak
	* general: this commit should be the last one made because of
	refactoring/review. The refactoring included:
	- moving implementation of some ncurses widgets to separate files
	  in user_interface/widgets/ dir;
	- remodeling optical file system -> cdw cdio disc -> cdw disc stack
	  of files/data abstractions;
	- creating new file: cdw_window.c;

	I'll try to focus now on implementing new features that will be
	more visible to end user than any changes made so far in this
	dev cycle. The next step would be looking for problems with valgrind,
	general testing, and release.

2012-01-04 Kamil Ignacak
	* src/user_interface/widgets/cdw_textarea.c: Moving remaining
	content from the file to cdw_window module. Some of the code from
	cdw_window goes there too.

2011-12-27 Kamil Ignacak
	* src/user_interface/cdw_widgets.c: Content of the file has been
	moved to widgets/*.c files before, now removing the file completely.

2011-12-19 Kamil Ignacak
	* starting new round of development;
	* moving content of src/user_interface/cdw_wizard.[ch] to new
	files, to keep widgets better organized/encapsulated. The new
	files are:
	src/user_interface/widgets/cdw_button.c
	src/user_interface/widgets/cdw_button.h
	src/user_interface/widgets/cdw_checkbox.c
	src/user_interface/widgets/cdw_checkbox.h
	src/user_interface/widgets/cdw_dialog.c
	src/user_interface/widgets/cdw_dialog.h
	src/user_interface/widgets/cdw_dropdown.c
	src/user_interface/widgets/cdw_dropdown.h
	src/user_interface/widgets/cdw_input_line.c
	src/user_interface/widgets/cdw_input_line.h
	src/user_interface/widgets/cdw_textarea.c
	src/user_interface/widgets/cdw_textarea.h

2011-10-14 Kamil Ignacak
	* COPYING: Updating GPL license text, it seems that at some point
	  in time the FSF has changed its address in the US, and that has
	  updated GPL text with this new information. Also the new text
	  uses 'Lesser' instead of 'Library'. This doesn't seem to change
	  the spirit of the license, nor the letter.
	  Current GPL v2 text online: http://www.gnu.org/licenses/gpl-2.0.txt.
	  This change has been spotted by user Sergio. Thanks!

2011-07-09 Kamil Ignacak
	* fixing a small bug in code related to burning image to a disc;
	* updating some meta files (NEWS, README, THANKS), updating
	  documentation; other minor changes

2011-06-27 Kamil Ignacak
	* write wizard: adding "volume ID" input field in write wizard,
	  the field is visible when wizard is used to prepare "burn files"
	  task;

2011-06-19 Kamil Ignacak
	* bugfixes: testing phase is in progress; some minor changes,
	  but some bug fixes as well:
	   - proper initialization of "colors" module (cdw now properly reads
	     colors configuration file from ~/.cdw/cdw.colors);
	   - configuration module now can properly read custom drive path
	     from config file;
	   - improvement of disc size recognition by cdrecord and xorriso;
	   - mkisofs options panel now correctly displays all values of
	     "RR information" dropdown;
	   - code preparing commands for calling xorriso now properly adds
	     "-dummy" option;
	   - writing speeds for CDs are now properly recognized by libburn
	     module;

2011-05-18 Kamil Ignacak
	* configuration: merging cdw_config_ui.* and cdw_config_ui_internals.*
	  into cdw_config_window.*
	* pre-release activities: bumping version to 0.7.0; current source
	  code tree is pretty much how 0.7.0 will look like; all that is left
	  to do is to test new version of cdw and update documentation;

2011-05-08 Kamil Ignacak
	* bugfixing: fixing one bug: not all digest tools existing in
	  user's system were correctly detected/displayed/utilized, this
	  should be now fixed;

	  This commit marks a beginning of final (cursory) code review,
	  which will be followed by testing phase.

2011-04-21 Kamil Ignacak
	* verification, bugfixing: a commit that attempts to finally solve
	  problem described in sourceforge defect #3111089
	  (http://sourceforge.net/tracker/?func=detail&aid=3111089&group_id=47851&atid=451091);

2011-04-10 Kamil Ignacak
	* includes: in response to feature request #3249439 on SourceForge
	  (http://sourceforge.net/tracker/?func=detail&aid=3249439&group_id=47851&atid=451094)
	  I'm changing the way of using ncurses header files; this is only
	  tested on my Debian box, still needs to be tested on Arch Linux;

2011-04-02 Kamil Ignacak
	* xorriso: adding initial code for handling DVD-R and DVD+R discs
	  with xorriso;
	* libburn: added a file with wrapper around libburn calls; this
	  wrapper provides information about disc that could not have been
	  provided by xorriso; for now libburn calls are/will be used only
	  for getting disc meta information, but it's very probable that
	  libburn calls will eventually replace calls to xorriso;

	  This commit adds new dependency: libburn from libburnia project
	  (http://libburnia-project.org)

2011-03-11 Kamil Ignacak
	* xorriso: adding code for burning ISO image to CD-R/RW discs,
	  and for erasing CD-RW discs; support for xorriso is still
	  in early development phase, so code implementing this support
	  is still unreachable;

2011-03-11 Kamil Ignacak
	* xorriso: adding more code for handling CDs with xorriso;
	  handling CDs with xorriso is still disabled;
	* bugfixing: fixing small bugs that were introduced in development
	  code (i.e. post-0.6.0);

2011-03-11 Kamil Ignacak
	* verification: adding support for two more digest tools:
	  sha224sum and sha384sum;
	* xorriso: adding some code for handling CDs with xorriso (currently
	  only reading disc meta info); the functionality is unreachable
	  at the moment;

2011-03-06 Kamil Ignacak
	* verification: cdw now displays progress information during
	  calculating digest of source ISO file;
	* verification: added "verify data" button in main menu, the
	  button invokes wizard that configures new functionality of
	  cdw: calculating digest of arbitrary disc file, or calculating
	  digest of file system on current optical disc, or comparing
	  digests of selected file and file system on optical disc;

2011-03-05 Kamil Ignacak
	* verification: few changes in code that performs verification
	  of burned track against source ISO9660 file - the changes make
	  it possible to use verification module for new purposes, e.g.
	  calculating digest of an arbitrary file selected by user;

2011-03-01 Kamil Ignacak
	* bugfixing: there was a bug in post-0.6.0 code that caused cdw
	  to always perform "dummy" write of ISO image to disc (perhaps
	  of files as well); this has been now fixed;
	* verification/external tools: code supporting digest tools other
	  than md5sum (sha1sum, sha256sum and sha512sum) has been extended,
	  and some very basic tests have been performed - it seems that this
	  may somehow work; some small fixes and changes are still needed;

2011-02-28 Kamil Ignacak
	* external tools: added initial code for supporting checksum tools
	  other than md5sum: sha1sum, sha256sum and sha512sum; the support
	  doesn't work yet, but initial code for full support has been
	  added;
	* user interface: a small defect in cdw form code, introduced in
	  one of recent commits, has been fixed; the defect caused cdw
	  to crash every time some window with cdw form has been closed;

2011-02-27 Kamil Ignacak
	* external tools: "tools" page in Configuration window has been
	  updated: dropdowns for growisofs, dvd+rw-mediainfo and dvd+rw-format
	  have been removed: the tools aren't as "controversial" as
	  cdrecord/wodim and mkisofs/genisoimage are - dropdowns for the two
	  tools have been left intact; new dropdown - "CD handler" has been
	  added; currently the only item is "cdrecord", but in future
	  "xorriso" may be easily added;

2011-02-16 Kamil Ignacak
	* mkisofsrc: adding very basic functionality of reading content
	  of $HOME/.mkisofsrc file into options form, so that user can
	  modify the options;

2011-02-08 Kamil Ignacak
	* configuration: moving configuration file and log file from
	  their original default locations (in $HOME dir) into their
	  new location (in $HOME/.cdw/ dir); this is related to
	  Sourceforge bug #3168259;

2011-02-06 Kamil Ignacak
	* ISO9660: adding new fields to mkisofs and xorriso options, that
	  allow adding Publisher, System ID, Volume Set ID and (in case of
	  mkisofs) Preparer, Copyright and Abstract; currently user has
	  to enter values for these options manually, but in future it
	  will be possible to read them from appropriate config file;

2011-02-04 Kamil Ignacak
	* configuration: removed "ISO9660" and "Writing" pages from
	  Configuration window - settings from the pages are available
	  only in new, separate windows accessed from wizards;
	* TODO: added TODO file

2011-02-03 Kamil Ignacak
	* user interface: more progress on moving configuration of
	  burning/creating ISO9660 file system from Configuration window
	  to more specialized, specially tailored Options windows, accessible
	  from wizards;

2011-01-30 Kamil Ignacak
	* user interface: "eject" checkbox is slowly moved to write/erase
	  wizards;
	* xorriso: improving support for xorriso; currently xorriso is
	  used only as tool that created stand alone ISO9660 files; I will
	  start using other functions of xorriso as soon as creating ISO
	  files becomes stable;

2011-01-25 Kamil Ignacak
	* bugfixing: added missing -lm library in src/Makefile.am

2011-01-25 Kamil Ignacak
	* feature: ISO9660 image file wizard: currently call to the wizard
	  function is disabled; the wizard displays most basic options used
	  when creating ISO9660 image file, and also displays button
	  forwarding to window with more advanced options; the options are
	  either for mkisofs or for xorriso;
	  adding new options or even new pages of options is simple thanks
	  to recent changes in cdw form, tabbed window widgets and code
	  related to config ui;

2011-01-22 Kamil Ignacak
	* xorriso: added first lines of code and files that are foundation
	  for supporting xorriso in cdw;

2011-01-20 Kamil Ignacak
	* feature: added hiding of hidden files in file system browser
	  widget - you can toggle the hiding using '.' (dot) character;

2011-01-09 Kamil Ignacak
	* bugfixing/new feature: adding new command-line argument "escdelay"
	  which allows user to control ESC key delay in cdw; other changes
	  in code set the value to 50ms by default - much less than
	  original 1000ms;

2011-01-08 Kamil Ignacak
	* new features: adding code that reads disc capacity, updating
	  code that reads disc usage - this will allow me to display this
	  information in main window, in "selected files info" area; the
	  code works only for DVDs, and is disabled; unfortunately this
	  doesn't work for DVDs+wodim;
	* new features (2): adding code that reads disc capacity for CD
	  discs as well; enabling displaying disc usage and capacity
	  in main window in volume info area;
	* ui: readjusting main window layout so that there is no external
	  border around 4 main areas anymore; this gives us a bit more
	  space for more important thing and tidies up the main
	  application window;

2011-01-05 Kamil Ignacak
	* widgets: adding new widget: tabbed window (well, the widget
	  already exists, but it's heavily coupled with implementation
	  of configuration window; code in new file is an essence of the
	  widget);

2011-01-04 Kamil Ignacak
	* ISO9660: today's commit changes how RockRidge extensions to
	  IS9660 are configured in cdw: instead of two checkboxes there
	  is now one dropdown;

2011-01-02 Kamil Ignacak
	* disc modes: code generating list of available disc modes
	  (tao/dao/sao) that can be seen in write wizard, has been updated;
	  major change in this update is the fact that when cdrecord is
	  used as a tool, cdw will display only those modes, that are
	  reported by cdrecord as supported by current disc/drive combo;
	  this may mean that the list may be shorter than in previous
	  versions of cdw.
	* other: I've added 'q' key to list of keys that close write wizard
	  and erase wizard without performing writing/erasing; this has been
	  suggested by rogerx as a workaround for long delay between pressing
	  ESC key and a reaction to the key by ncurses; this solution will be
	  implemented in other parts of cdw;

2011-01-01 Kamil Ignacak
	* fixing bugs: fixing sourceforge bug #3149329, reported
	  by rogerx; I've tried to be correct when listing disc types
	  for which "dummy" write is possible; a thorough testing is
	  required to check that the list is correct;

2010-12-28 Kamil Ignacak
	* fixing bugs: fixing small annoyance (pointed to by user
	  rogerx): drive tray was reloaded twice during
	  burning/verification process, the second time was unnecessary;

2010-12-23 Kamil Ignacak
	* fixing bugs: changes in two files should fix sourceforge
	  defect #3111089;
	* features: changes in cdrecord regex code to add detection
	  of track modes supported by a drive - this information may
	  be used later to build write wizard with more relevant
	  options in "track format" dropdown;

2010-10-22 Kamil Ignacak
	* fixing bugs: small improvements (well, almost bugfixes)
	  after doing some final tests; one of changes is larger default
	  padding size for burning with cdrecord - the original one
	  may have been too small for DVDs
	* pre-release activities: small updates in few files;

2010-10-21 Kamil Ignacak
	* fixing bugs: fixing a bug that occurs when there are no
	  drives in user's computer - cdw crashed when user presses
	  'E' key to eject a tray, on other occasions cdw didn't
	  work 100% correctly either;
	* pre-release activities: bumped version to 0.6.0, basically
	  the code in repository is the new version of cdw; updated
	  few files (README, NEWS, po/cdw.pot); release is quite close

2010-10-19 Kamil Ignacak
	* fixing bugs: fixing some memory leaks (thanks valgrind!);
	  silencing some compiler warnings that showed up during
	  tests on my other machine (32 bit Debian);
	* testing: did some basic tests on 32 bit machine: some
	  basic functional tests + make distcheck;

2010-10-16 Kamil Ignacak
	* fixing bugs: fixing problem with ejecting tray after writing
	  to discs (most often DVD-RW discs): cdw attempted to eject a
	  drive tray, but was unable to do so; this may have resulted
	  in incorrect reading of disc meta information and to other
	  problems;
	  fixing one bug in Configuration window -> Tools, the bug
	  resulted in crash whenever there were no programs for DVDs
	  installed, but user wanted to configure them anyway; it seems
	  that it was introduced in cdw 0.5.0, perhaps even earlier;
	  this fix closes sourceforge defect #3088902

	  I'm much closer to finishing testing of cdw, I think that
	  within a week I will be done with the testing, and will
	  start preparing a new release - cdw 0.6.0;

2010-10-03 Kamil Ignacak
	* fixing bugs: fixing one problem that may have occurred when
	  writing data to discs with cdrecord with large speeds (when
	  drive buffer was filled in less than 100%) - as a result
	  process window wasn't refreshed properly;

2010-09-17 Kamil Ignacak
	* fixing bugs: fixing bug that caused cdw to crash when reading
	  meta information from empty CD disc; this bug was introduced in
	  development version of cdw, after releasing version 0.5.0

2010-09-17 Kamil Ignacak
	* new file: utilities/cdw_regex.c: new file with code that handles
	  variables of cdw_regex_t type - this is a type that collects
	  few variables useful in using regular expressions in cdw;

2010-09-12 Kamil Ignacak
	* general: updating structure of source code tree by moving some
	  files to subdirectories; list of changes is following:

	  cdda2wav.[ch]                 ->  tasks/cdw_cdda2wav.[ch]
	  cdw_cdio.[ch]                 ->  disc_and_drive/cdw_cdio.[ch]
	  cdw_cdio_drives.[ch]          ->  disc_and_drive/cdw_cdio_drives.[ch]
	  cdw_drive.[ch]                ->  disc_and_drive/cdw_drive.[ch]
	  cdw_disc.[ch]                 ->  disc_and_drive/cdw_disc.[ch]
	  cdw_config.[ch]               ->  configuration/cdw_config.[ch]
	  cdw_config_ui.[ch]            ->  configuration/cdw_config_ui.[ch]
	  cdw_config_ui_internals.[ch]  ->  configuration/cdw_config_ui_internals.[ch]
	  cdw_file.[ch]                 ->  native_file_system/cdw_file.[ch]
	  cdw_fs.[ch]                   ->  native_file_system/cdw_fs.[ch]
	  cdw_file_manager.[ch]         ->  native_file_system/cdw_file_manager.[ch]
	  cdw_fs_ui.[ch]                ->  native_file_system/cdw_file_picker.[ch]
	  cdw_fs_browser.[ch]           ->  native_file_system/cdw_fs_browser.[ch]
	  cdw_graftpoints.[ch]          ->  optical_file_systems/cdw_graftpoints.[ch]
	  cdw_iso_image.[ch]            ->  optical_file_systems/cdw_iso9660.[ch]
	  iso9660.h                     ->  optical_file_systems/iso9660.h
	  isosize.[ch]                  ->  optical_file_systems/isosize.[ch]
	  cdw_logging.[ch]              ->  utilities/cdw_logging.[ch]
	  gettext.h                     ->  utilities/gettext.h
	  cdw_task.[ch]                 ->  tasks/cdw_task.[ch]
	  help.[ch]                     ->  user_interface/cdw_help.[ch]
	  thread.[ch]                   ->  external_tools/cdw_thread.[ch]

2010-09-07 Kamil Ignacak
	* general: updating structure of source code tree by moving some
	  files to subdirectories; list of changes is following:

	  cdw_cdll.[ch]                     ->  utilities/cdw_cdll.[ch]
	  cdw_dll.[ch]                      ->  utilities/cdw_dll.[ch]
	  cdw_string.[ch]                   ->  utilities/cdw_string.[ch]
	  utils.[ch]                        ->  utilities/cdw_utils.[ch]
	  cdw_debug.h                       ->  utilities/cdw_debug.h
	  external_tools.[ch]               ->  external_tools/cdw_ext_tools.[ch]
	  mkisofs_pipe_regexp.[ch]          ->  external_tools/cdw_mkisofs_regex.[ch]
	  cdrecord_pipe_regexp.[ch]         ->  external_tools/cdw_cdrecord_regex.[ch]
	  dvd_rw_format_pipe_regexp.[ch]    ->  external_tools/cdw_dvd_rw_format_regex.[ch]
	  dvd_rw_mediainfo_pipe_regexp.[ch] ->  external_tools/cdw_dvd_rw_mediainfo_regex.[ch]
	  growisofs_pipe_regexp.[ch]        ->  external_tools/cdw_growisofs_regex.[ch]
	  md5sum_pipe_regexp.[ch]           ->  external_tools/cdw_md5sum_regex.[ch]
	  pipe_regexp.[ch]                  ->  external_tools/cdw_regex_dispatch.[ch]
	  cdw_colors.[ch]                   ->  user_interface/cdw_colors.[ch]
	  cdw_ncurses.[ch]                  ->  user_interface/cdw_ncurses.[ch]
	  cdw_form.[ch]                     ->  user_interface/cdw_form.[ch]
	  cdw_list_display.[ch]             ->  user_interface/cdw_list_display.[ch]
	  cdw_processwin.[ch]               ->  user_interface/cdw_processwin.[ch]
	  cdw_widgets.[ch]                  ->  user_interface/cdw_widgets.[ch]
	  cdw_text_file_viewer.[ch]         ->  user_interface/cdw_text_file_viewer.[ch]
	  write_wizard.[ch]                 ->  user_interface/cdw_write_wizard.[ch]
	  blank_wizard.[ch]                 ->  user_interface/cdw_erase_wizard.[ch]
	  cdw_ui_main.[ch]                  ->  user_interface/cdw_main_window.[ch]

2010-09-04 Kamil Ignacak
	* reading DVDs: I have added calls to code that checks if operating
	  system kernel supports ISO9660 file system; the support should
	  be available on most systems, but there may be those that don't
	  have the support enabled - it is better to check this;

2010-09-04 Kamil Ignacak
	* fixes: fixing one defect introduced in previous commit:
	  cdw was unable to read content of disc, so any attempts to
	  read data disc, or to verify burning an image, failed

2010-09-01 Kamil Ignacak
	* general: some refactoring in cdw_disc.[ch];
	* dependencies: adding libiso9660 as a new dependency for cdw;
	  this library provides functions (among other) for reading
	  information from ISO9660 file systems;
	  the library is part of cdio project, so I think that this new
	  dependency shouldn't be problematic, as libiso9660 should be
	  distributed/packaged together with libcdio;
	* build scripts: "configure" script checks for libraries (as it
	  used to do), and exits if a library is not available (this is
	  the new part);

2010-08-29 Kamil Ignacak
	* fixes: fixing small memory leak in cdrecord_pipe_regexp.c;
	  fixing problem with drives that in fact were symbolic links
	  to device files - using them may have caused problems during
	  burning process (see src/ChangeLog for more information);
	* changes: list of selected files and file selector/picker window
	  recognize 'q' and 'Q' as key that works similarly to Escape,
	  i.e. focus moves back from list of selected files to main menu,
	  and file selector window is closed;
	* new file: src/utilities/cdw_sys.c: new file with functions
	  that interact with some operating system files or handle operating
	  system signals; some functions from this file will be used to
	  detect if operating system supports ISO9660 or UDF file system;

2010-08-24 Kamil Ignacak
	* general: updating structure of source code tree by moving some
	  files to subdirectories; list of changes is following:
	  src/cdw_burn_disc.[ch]              -> src/tasks/cdw_burn_disc.[ch]
	  src/cdw_create_image.[ch]           -> src/tasks/cdw_create_image.[ch]
	  src/cdw_erase_disc.[ch]             -> src/tasks/cdw_erase_disc.[ch]
	  src/cdw_read_disc.[ch]              -> src/tasks/cdw_read_disc.[ch]
	  src/cdrecord_interface.[ch]         -> src/external_tools/cdw_cdrecord.[ch]
	  src/mkisofs_interface.[ch]          -> src/external_tools/cdw_mkisofs.[ch]
	  src/dvd_rw_format_interface.[ch]    -> src/external_tools/cdw_dvd_rw_format.[ch]
	  src/dvd_rw_mediainfo_interface.[ch] -> src/external_tools/cdw_dvd_rw_mediainfo.[ch]
	  src/growisofs_interface.[ch]        -> src/external_tools/cdw_growisofs.[ch]
	  src/md5sum_interface.[ch]           -> src/external_tools/cdw_md5sum.[ch]

	  thanks to adminrepo tool on sourceforge.net history of changes
	  in repository will be (hopefully) preserved;

2010-08-22 Kamil Ignacak
	* boot disc: I have simplified (well, stripped some functionality
	  from) "boot image file" input field - from now user has to manually
	  enter into this field all options related to boot image and boot
	  disc; I have never tested this functionality, so I'm pushing
	  responsibility for proper options to user; this may change in
	  some distant future, but in next release this will feature will
	  be "crippled"

2010-08-22 Kamil Ignacak
	* hardware: cdw now can autodetect optical disc drives available
	  in user's system; capabilities of available drives can't be (yet)
	  evaluated, but at least user doesn't have to enter a path to a
	  device in text input field - in worst case scenario user will
	  have to select one entry from a list (dropdown); there are still
	  some things to be fixed in this new code, but it seems to work;
	* license: I have fixed a bug that prevented cdw from displaying
	  full text of GPL license - the license text is read from text
	  file in some default system path, the path used by cdw was
	  incorrect;

2010-08-15 Kamil Ignacak
	* fixes: one fix of code that updates size of selected files:
	  the size may have been incorrectly calculated when user changed
	  value of "follow symlinks" option;
	* other: fixing few FIXMEs, doing some TODOs, doing some refactoring;

2010-08-14 Kamil Ignacak
	* ISO9660 options: added checkbox for "Long Joliet names" in
	  configuration window - user doesn't have to manually enter
	  "-joliet-long" option in "other mkisofs options" field;
	  added button that activates file selector window for selecting
	  boot image file in configuration window;
	* reading data discs: cdw no longer reads second and following
	  tracks from multi-track data discs; user is clearly informed
	  about this;
	* burning: information about burning speed, if it is printed by
	  cdrecord or growisofs, is displayed in process window during
	  burning;
	* fix: one of latest commits introduced a bug in displaying
	  progress information when reading an audio CD disc; this has
	  been now fixed;

2010-08-11 Kamil Ignacak
	* general: added handling of SIGSEGV signal, when cdw receives
	  the signal, it does proper clean up of resources, including
	  restoring state of a terminal; cdw now can correctly display
	  information about state of DVD+RW and DVD-RW Res discs: if
	  they are empty or not;

2010-08-08 Kamil Ignacak
	* ui, process window: today's changes are mostly related to
	  process window - the small window displayed when user performs
	  some tasks, the window displays current status of a task, and
	  sometimes progress of the task; until now there were some gaps
	  in displaying the window, so sometimes user could get an
	  impression that cdw has frozen, when - in fact - it was busy
	  doing something in the background, or waiting for external tool
	  to complete its task.

	  Now, the process window is displayed almost all the time when
	  there is something going on. User has more feedback from cdw.

	  It is still a bit experimental, there may be problems with
	  refreshing the window, sometimes the window may not display
	  all available information, but problem of gaps in presenting the
	  information to user is solved.

2010-08-01 Kamil Ignacak
	* reading discs: added support for reading DVDs with ISO9660 file
	  system (i.e. for copying content of their first track to file
	  on hard disc);
	* verification: added verification of burning ISO9660 image to DVDs;
	* ui: added "wrapping" in main menu: when focus is on last position
	  of the menu and user presses down arrow, focus is moved to first
	  item; similarly for topmost item;
	* burning: added a warning dialog displayed when user attempts to
	  burn ISO image larger than 4GB with wodim;

2010-07-17 Kamil Ignacak
	* pre-release activities: making last fixes to source code files
	  and other files, adding "compile" file that may be needed on
	  some occasions during compilation;
	* release: today will be the release day of cdw 0.5.0 :)

2010-07-10 Kamil Ignacak
	* fixes: small fix of serious error in configuration window: cdw
	  crashing whenever volume label is longer than 19 chars, which was
	  initial width of input field;
	* updates: updating man page, NEWS and README file

2010-07-09 Kamil Ignacak
	* fixes: small changes after testing cdw on i38g machine; one
	  change in ncurses wrapper fixing bug that potentially may cause
	  crashes, or at least memory leaks; little modification in
	  processwin code, that prevents processwin from closing too fast,
	  without waiting for user's key;

2010-07-07 Kamil Ignacak
	* various: first patch from user :) thanks, rogerx!

2010-07-01 Kamil Ignacak
	* prerelease: various changes in files other than source code files,
	  preparing for upcoming release; officially changing version
	  number to 0.5.0; removing some old or duplicate files;

2010-06-29 Kamil Ignacak
	* testing, prerelease: main part of testing has been finished, I'm
	  moving to next steps before release; today I did some changes
	  related to gettext

2010-06-09 Kamil Ignacak:
	* verifying: there may have been a problem during burning of ISO
	  file to disc and attempt to verify burned image: if the disc
	  was mounted by user's automounter after burning image and before
	  attempting to read it, cdw reported an error and abandoned the
	  process; now user is asked to unmount disc, and then cdw can
	  proceed with verification;
	* burning to disc: default burning mode for burning files to empty
	  disc is now "make single session" instead of "start multisession";
	  this is a result of short discussion with user rogerx on cdw-devel
	  mailing list;

2010-05-28 Kamil Ignacak:
	* build system: there are now two explicit build targets: main and
	  "check" targets for "/src" and "/src/external_tools" modules,
	  each with its own set of preprocessor/compiler/ linker flags;
	  "./configure" now accepts "--enable-debug" flag, which controls
	  whether debug facilities (debug info for gdb, debug messages
	  printed to stderr) are included in the build or not, and whether
	  or not additional set of compiler warnings are enabled - this
	  removes necessity of editing Makefile.cdw.am file to enable or
	  disable debug build; almost all build system files were updated;
	  "./configure" script now does a bit more tests
	* unit tests: several *_tests.* files are removed, and their code
	  is moved to source code files, which functionality is tested;
	  this results in more self-contained modules that implement both
	  functionality and tests of the functionality; this also results
	  in decreased number of files;

2010-05-23 (2) Kamil Ignacak
	* ui: today's commit removes few dialog windows that were available
	  through hotkeys in main window: volume id editor, cdrecord
	  parameters editor and volume size selector; these parameters
	  can be now edited only in main configuration window; this change
	  was made to make editing parameters more consistent: now they
	  aren't scattered in few different windows;
	* testing: I think that I have implemented all changes that I
	  intended for cdw version 0.4.1, so I'm ready to start testing phase;

2010-05-23 Kamil Ignacak
	* config ui: today's commits add new fields in "Log" tab of config
	  window, the fields are used for selecting size of ISO file
	  (volume size); this functionality existed (and still exists) in
	  separate dialog window available through F4 hotkey, but this
	  window will be removed in future;

2010-05-18 Kamil Ignacak
	* build system: "make distcheck" works :) autotools have their
	  advantages ;)

2010-05-16 Kamil Ignacak
	* file picker: recent changes in configuration window code add
	  small buttons next to few input fields in configuration window
	  (the fields are input fields where user can enter path); these
	  buttons invoke file picker widget that allows user to select
	  a file or dir more comfortably than by entering path manually;
	  file picker needs a lot of testing and some more improvements,
	  but calling it in "real world scenarios" will make the testing
	  easier

2010-05-14 Kamil Ignacak:
	* which: adding source code file that implements functionality of
	  "which" utility; the file was created to ensure that on every
	  platform cdw can obtain full list of implementations of specified
	  external tool; in previous versions of cdw it was only possible
	  when native "which" supported "-a" option; sourceforge defect
	  #2996758 proves that not all implementations of "which" support
	  "-a"; this change should close defect 2996758, I will close it
	  after testing phase;
	* build system: I'm adding Makefile.cdw.am: a file with common
	  definitions that should be included by all Makefile.am files;
	  other tweaks in build system files;

2010-05-08 Kamil Ignacak
	* bugfixing: today's changes should fix sourceforge defects
	  2996770 and 2998671; thanks to user robwoj44 for initial bug
	  reports and for providing further information;

2010-05-05 Kamil Ignacak
	* gnulib: I'm adding few files from gnulib, as found in
	  findutils-4.2.31; they are licensed under GPL 2 or later,
	  so no mismatch of licenses; main reason behind including them in
	  cdw is canonicalize_filename_mode() from canonicalize.c, so
	  only few files are copied from gnulib; the files that I have
	  included into cdw are a bit modified to limit number of files
	  copied from gnulib (no xmalloc, no xgetwd, etc.);
	  After including gnulib files I had to update build system files,
	  but I'm afraid that this was more like hacking them rather than
	  making smart, well thought-out updates, so build system may be
	  now unreliable; perhaps I should switch to non-recursive makefile

	  So be warned: build system may not work as expected;

2010-04-18 Kamil Ignacak:
	* user interface: cdw can now handle some file names that
	  previously could not be printed by ncurses interface; e.g.
	  "Schlaflos_in_M�nchen/" previously was not printed at all, leaving
	  only empty row, now it will be printed as "Schlaflos_in_M?nchen/";
	  current state is now not perfect, but surely better;

2010-04-12 Kamil Ignacak
	* fixes: few changes fix small memory leaks that on some occasions
	  may have lead to application crash;
	* file picker: file picker dialog (for selecting single file) is
	  closer to be fully functional; next version of cdw will use it
	  as a main widget for selecting single file or directory, e.g.
	  when specifying target ISO image file; this is not the same as
	  file selector window - the file selector does not allow to enter
	  path to non-existing file;
	* unit tests: unit tests for fs module have been moved from
	  cdw_fs_tests.c to cdw_fs.c; thus cdw_fs_tests.* files are removed;

2010-03-28 Kamil Ignacak
	* misc: this commit (and few previous) adds capturing few error
	  messages printed by external tools (mkisofs, cdrecord etc.) and
	  displaying appropriate dialog messages with information for user;
	* DVD+R DL: I have tested handling of DVD+R DL discs, from now on
	  this type of disc will be handled only by dvd+rw-tools, and only
	  after explicitly enabling such support by command line option;
	  this command line option already existed, but now I intend to
	  document it in man page and put it in help printed when cdw is
	  called with "--help" argument;
	* testing: testing is basically finished; now I have to update
	  documentation and the release will be ready;

2010-03-21 Kamil Ignacak
	* burning with growisofs: I have updated and tested code that makes
	  sure that growisofs uses proper (as in: selected in Configuration->
	  Tools) instance of mkisofs;
	* creating ISO file system: added piece of code that warns user when
	  he attempts to create ISO file system using file larger than 4GB,
	  and iso level is lower than 3;

2010-03-13 Kamil Ignacak
	* bugfixes: I have implemented an input widget that checks entered
	  strings for unsafe chars; the widget will be used in places
	  which didn't check user input yet; "unsafe" input dialog is removed;
	  this should finally resolve sourceforge defect #2965153;
	  testing continues;

2010-03-07 Kamil Ignacak
	* bugfixes: today's commit will fix two defects:
	  - insecure characters in input dialogs (partial fix of sourceforge
	    defect #2965153)
	  - incorrect handling of spaces in path to ISO image files (fix
	    of sourceforge defect #2965149)

	  I have started testing phase before releasing version 0.4.0.

2010-02-25 Kamil Ignacak
	* erasing: yesterday I was too lazy to test my changes in erase
	  wizard, and as a result a bug has slipped into committed code;
	  result of this bug was an application crash when user attempted
	  to erase a disc; today's commit fixes this bug;

2010-02-08 Kamil Ignacak
	* src/ChangeLog: fixing typos
	* src/*.c: various small fixes and improvements, often cosmetic;
	  one or two changes may fix problems introduced in previous commit,
	  one certain problem occurred in file selector window: on some
	  occasions adding files failed, and size of selected files turned
	  into -1, this is now fixed;
	* selecting files: few small changes in filesystem module and file
	  manager module result in more feedback to user when cdw can't scan
	  files selected by user: a dialog message is displayed, informing
	  about problems, and more detailed information is printed to log
	  file; this is far from perfect solution (the perfect solution would
	  be to suggest to user skipping the files in process of creating
	  ISO image or burning the files to optical disc, and happily continue
	  scanning "valid" files), but it is still an improvement; try
	  adding directories without read permissions if you want to test
	  new behavior

2010-01-31 Kamil Ignacak
	* ui: I have added basic code for file picker dialog (similar to
	  file selection dialogs in other applications, where you can see one
	  when e.g. saving file) - it will be used e.g. for selecting ISO
	  image file; right now it is disabled, as it doesn't work correctly
	  yet;
	* burning: simple change in threading code will (probably) fix a
	  defect where growisofs always used mkisofs from /usr/bin, regardless
	  of configuration of the tool in cdw configuration module; this
	  hasn't been tested yet, but it should work :)

2010-01-16 Kamil Ignacak
	* general: small fix in threads code significantly limits CPU usage,
	  which should be noticeable on older machines; added catching some
	  more error messages from external tools
	* burning: added warning when user wants to burn file that is larger
	  than 4GB, as some tools can't handle this well; cdw now can catch
	  message printed by cdrecord when burned files may not fit onto
	  optical disc - appropriate error dialog is displayed

2010-01-10 Kamil Ignacak
	* burning: after finishing tests for cdrecord and DVD-R I have
	  tested burning DVD+R with cdrecord; there was only one defect
	  noticed: wodim doesn't close DVD+R disc when writing in single
	  session mode (no -multi arg); this will be deferred to next
	  version, without workaround but with note in "known bugs" section;

2010-01-07 Kamil Ignacak
	* burning: tested and improved code supporting DVD-R + cdrecord
	  combination (only burning ISO file for now); by cdrecord I mean
	  the original cdrecord and wodim; my wodim version is 1.1.10 and
	  cdrecord is Cdrecord-ProDVD-ProBD-Clone 2.01.01a37, and cdrecord
	  is much better at the job than wodim, but growisofs 7.1 is better
	  than cdrecord

2009-12-21 Kamil Ignacak
	* erasing: I have introduced one small change in code responsible for
	  erasing of DVD+RW discs with dvd+rw-format - if there were some
	  problems with it, they may be fixed with this commit
	* burning: cdw now can recognize when growisofs reports insufficient
	  space on optical disc for burning ISO image (previously this was
	  done only for problems with burning files);
	* other: '+' char is now allowed input char in configuration window
	  fields; I have added "Approximate size of selected files" label in
	  main window to stress that size of files displayed in main window
	  may be imprecise; I'm continuing testing of cdw, so there are some
	  small improvements in supporting cdrecord and dvd+rw-tools

2009-12-06 Kamil Ignacak
	* calculating file size: cdw has problems with correct handling
	  (calculating size) of directories with relative symbolic links if
	  "follow symbolic links" option is enabled in configuration; these
	  links will be recognized as invalid, and thus size of linked files
	  will not be added to total size of all selected files; this defect
	  does not influence how mkisofs calculates size of files before
	  creating ISO image, so the defect is not critical;
	* DVD-ROM: small fixes that allow cdrecord / wodim to recognize
	  DVD-ROM discs and a fix that is a workaround for wodim's problem
	  with checking "empty / appendable" status of DVD-ROM

2009-11-23 Kamil Ignacak
	* burning: slowly starting to test cdw 0.3.95; this commit is a
	  result of few simple testcases of use of cdrecord to burn to DVD+RW;

2009-11-01 Kamil Ignacak
	* build: today's commit will probably fix sourceforge defect 2890402
	* burning: today's commit should fix sourceforge defect 2890403;
	* burning, creating images: today's commit fixes sourceforge
	  defect 2890399;

2009-10-25 Kamil Ignacak
	* general, important!: this problem was discovered and fixed some time
	  ago, but I stumbled upon it today, and I've noticed that I didn't
	  describe it here. The problem is that cdw 0.3.93 displayed
	  "can't get any media information" error message at the beginning
	  of almost every action, and refused to do anything useful; source
	  of the problem was libcdio driver: cdw 0.3.93 (and all previous
	  versions) used one specific driver, and if it failed, cdw refused
	  to work; now cdw can fallback to generic driver, and things work ok
	  again; this problem most probably appeared after updating libcdio
	  version;
	* cdrecord, dvd: added / enabled handling of DVDs by cdrecord;
	  this was fairly easy, because most of code required to do this
	  already existed in cdw 0.3.39, and missing pieces were added in this
	  development cycle; cdrecord (even this original) show some
	  shortcomings: it doesn't provide options for formatting DVD-RW disc,
	  getting detailed ATIP media info from some blank DVD discs takes
	  a lot of time; I suspect that other problems will arise during
	  testing phase; similarly to handling CDs, handling of DVDs can be
	  done with both original cdrecord from Jörg Schilling, and wodim;
	* configuration: changes in Tools page of config window: dropdown
	  "tools for dvd" now can also show "cdrecord" (if available), but
	  the default and recommended tool set for DVD discs is growisofs
	  and friends;

2009-10-24 Kamil Ignacak
	* config: changes in Tools page of config window:
	  - new "manual selection" checkbox that shows or hides items in the
	    panel, switching between manual and automatic selection of tools
	  - new dropdown "tools for dvd" where user can select if (in case of
	    manual tools selection) DVD discs will be handled by growisofs
	    and related tools, or by cdrecord; currently only growisofs is
	    available in the dropdown, but cdrecord will be added in final
	    version; other tools (like xorriso) also can be added; similar
	    dropdown for CD disc is also planned;
	* write wizard: when opening configuration window from write wizard,
	  "Tools" tab is disabled to prevent changing tool sets (cdrecord vs
	   growisofs) in the middle of preparations for writing;

2009-10-10 Kamil Ignacak
	* ui: two main menu items: "Copy data CD" and "Copy audio CD" are
	  now merged into "Copy CD", which works for both data and audio CD;
	  tooltip for the button was updated accordingly;

2009-10-04 Kamil Ignacak:
	* dvd+r dl: today's modifications make support for DVD+R DL turned
	  off by default, the support can be turned on by calling cdw
	  with command line argument; please see utils.c ->
	  process_commandline_args() for name of this option

2009-10-03 Kamil Ignacak
	* general: on some occasions cdw consumed 100% of available
	  CPU time because of idle looping; I have fixed this by
	  slight modification in threads code;
	* dvd+r dl: added pieces of code that enable recognizing DVD+R DL
	  and writing to DVD+R DL using cdrecord; after wasting 20 or so
	  DVD+R DL discs I decided that support for DVD+R DL will be
	  disabled by default, because I can't get correct results
	  neither with growisofs nor cdrecord; a disc is burned, but
	  verification of burned data fails; there are several possible
	  culprits: kernel configuration, drive (used-up burner, old firmware),
	  media (cheap discs), software (insufficient support by burning
	  software); I did tests with Cdrecord-ProDVD-ProBD-Clone 2.01.01a37,
	  growisofs 7.1, xorriso 0.3.4, xfburn 0.4.2 (libburn 0.6.4-1,
	  libisofs 0.6.16-1) and two types of media using DRW-2014L1T burner;
	  I can't provide official support for DVD+R DL until I can do fully
	  correct, verifiable burning; in this commit the feature will be
	  still enabled, next commit will include code which enables
	  the feature only after specifying command line argument for cdw
	* cdrecord: if cdrecord complained about incorrect driver option
	  "burnproof", it shouldn't do this anymore, since the option
	  is now corrected as "burnfree"

2009-09-23 Kamil Ignacak
	* dvd+r dl: this commit contains few changes that are basis for
	  supporting DVD+R DL disc; the support is very, very basic:
	  only writing files as first session to empty DVD+R DL disc;
	  this is barely tested, so don't depend on this feature;

2009-08-30 Kamil Ignacak
	* tests: added more unit tests for functions from cdw_file.c;
	  I will be moving all unit test code to the same source code files
	  in which tested functions are defined, and away from *_tests.c
	  files - this is to reduce number of source files, solve problem of
	  "unit test files in separate dir" vs. "unit test files always with
	  their respective files", and ensure that unit testing code always
	  has access to all functions in given c file, without using
	  declarations of all functions in h file (which was "dirty" way to
	  do things); first example of this approach is cdw_file.c: first
	  come definitions of cdw_file*() functions, and then there is
	  part of file with unit tests

2009-08-09 Kamil Ignacak
	* general: it turned out that there are still some changes to do
	  in source code files; also updated Makefile.am file, cdw.pot
	  and some documentation; now I'm even closer to release

2009-08-02 Kamil Ignacak
	* general: I'm done with testing, new cdw.pot file is generated,
	  program version is updated, debug messages are disabled - source
	  files are is ready, just need to update man page and README;

2009-06-27 Kamil Ignacak
	* ui, external tools: today's commit (and some previous as well)
	  adds capturing and handling of some errors reported by external
	  tools (like mkisfos and cdrecord); most often "handling" is
	  nothing more than a message dialog stating that tool X reported
	  problem Y, and in few cases some form of solution is suggested

2009-05-23 Kamil Ignacak
	* configuration: added direct support for padsize option of cdrecord,
	  user can now enter value in appropriate field in config window;
	  he is informed that it is recommended to use pad ('-pad') and
	  padsize ('padsize') options of cdrecord, in the second case suggested
	  value of the parameter (63) is specified in config window;
	  see http://www.troubleshooters.com/linux/coasterless.htm for details
	  on usage of padsize option;

2009-05-15 Kamil Ignacak
	* ui: now user can shift content of file listings (in file selector
	  and in list of selected files) to view long file or dir names
	  that may be truncated in not-too-wide windows;

2009-05-14 Kamil Ignacak
	* filesystem module: on some systems cdw might have not recognized
	  correctly when disc was mounted, because device path provided in
	  configuration can be in reality a link to device file; today's
	  commit fixes this (cdw_fs.c)

2009-04-09 Kamil Ignacak
	* cdw testing facility: cdw_tests now recognizes '-i' command line
	  option, which enables interactive tests: right now only testing of
	  drive tray is implemented
	* writing image: writing image as initial session of multisession
	  CD disc is now disabled, because I have some problems with discs
	  written this way (can't read them properly)

2009-03-22 Kamil Ignacak
	* configuration: adding "Follow symbolic links" option that
	  influences what is included in generated ISO image and how size
	  of selected files is counted;

2009-03-15 Kamil Ignacak
	* compile-time: build tool no longer checks for external tools
	  (cdrecord, mkisofs, etc.) at run-time, now application searches
	  the tools at run time; this means that packager doesn't have to
	  have the tools installed when he prepares deb or rpm package;
	  this also means these tools can be installed on user's system
	  after he compiles cdw;
	* write wizard: now write wizard doesn't display "verify" checkbox
	  if there is no "md5sum" tool installed on user's system;
	* configuration: configuring paths to external tools (i.e. selecting
	  desired version of tool if there are two or more various
	  available on user's system) now (kinda) works: it hasn't been
	  tested extensively, but it seems to work;

2009-03-08 Kamil Ignacak
	* configuration: moving towards discovering of paths to external
	  tools (cdrecord, mkisofs, growisofs, dvd+rw-mediainfo,
	  dvd+rw-format) at runtime; this is not yet 100% ready, but the
	  basics are already there ("which" code, external_tools.c)

2009-03-07 Kamil Ignacak
	* iso file: user is presented with dialog window that allows
	  him to enter path to iso file when he wants to create new
	  iso image file or when he wants to write iso image file to disc;
	  thanks to this user is not surprised or confused what or where
	  sth is written / burned;

2009-03-02 Kamil Ignacak
	* configuration: removed "dao" checkbox, this option (in expanded
	  form) is now available in write wizard;
	* write wizard: write wizard dialog window now displays a dropdown
	  in which user can select "tao", "dao" or "default" value for
	  mode of writing data to disc;
	* progress window: progress information for writing to CD with
	  cdrecord now can display progress more smoothly, without jumps
	  in progress values thanks to improvements in thread.c

2009-02-28 Kamil Ignacak:
	* configuration: configuration window was remodeled: now it has
	  five pages: "Writing", "Hardware", "Audio", "ISO filesystem" and
	  "Tools". This new division should make finding right option
	  easier. "Tools" page has paths to external tools used by cdw
	  (like cdrecord or md5sum), but for now they are inactive.
	  In future this will allow me to remove compile-time requirement
	  of having these tools installed at compile time; additionally
	  user will be able to select other implementation of, say, cdrecord.
	  Order of pages can be easily changed to match requirements of user.
	* speeds of writing to CD: I deployed new (correct) method of
	  getting allowed / available speeds for writing to CD; previously
	  list of available writing speeds was incorrect, so if user
	  selected value from this list, it was most probably ignored by
	  cdrecord; now it should work correctly;
