	This NEWS file for liblingoteach covers a short overview about the 
	latest changes.

0.2.3   2005-04-21:
-------------------
  meaning interfaces:
  * ling_meaning_add() now can handle NULL pointers as root element.
  * New function ling_meaning_get_description() for retrieving meaning
    descriptions.
  * New function ling_meaning_get_phonetic for retrieving the phonetic
    transcriptions of a meaning.
  * lingMInfo now contains the image information as returned by
    ling_meaning_get_images(), too.

0.2.2   2005-03-17:
-------------------
  General:
  * Several memory leaks and possible inconsistencies have been fixed.
    The overall memory usage thus has been reduced.
  * Several compiler warnings, which could break compatibility on other
    platforms (especially for Debian GNU/Linux packages) have been fixed.
    Thanks to Martin Godisch <martin@godisch.de> for providing those fixes.

  conf interfaces:
  * ling_conf_init_config () now has two new parameters (DTDs) for validating
    documents against those.
  * New function ling_config_free_config() for freeing lingConfigs.

  lang interfaces:
  * ling_lang_free_languages () has been removed. ling_strings_free ()
    is the replacement.
  * Renamed ling_lang_get_max_languages() to ling_lang_get_language_amount().
  * New functions ling_lang_get_lang_translation(),
    ling_lang_get_trans_language () and ling_lang_get_lang_translations()
    for retrieving translations of the languages set in a language file.

  lesson interfaces:
  * New sound attribute in lingLesson, indicating the sound subdirectory.
  * The lesson attribute of a lingMeaning was not correctly set in
    ling_lesson_create_tree(). This has been fixed.
  * Removed the use flag, since it is not needed anymore.
  * Removed ling_lesson_use_lesson().
  * Removed ling_lesson_return_used().
  * ling_lesson_add_lesson() has been renamed to ling_lesson_add().
  * ling_lesson_remove_lesson() has been renamed to ling_lesson_remove().
  * ling_lesson_create_lesson() has been renamed to ling_lesson_create().
  * ling_lesson_create_new() has been renamed to ling_lesson_create_template().
  * ling_lesson_create_template() now uses the appname, which is set set in a
    passed config for DTDs.
  * New function ling_lesson_set_path () for setting the path of a lesson.
  * New function ling_lesson_new () for creating a lingLesson structure.
  * New function ling_lesson_free() for freeing a lingLesson.
  * ling_lesson_return_path() has been renamed to ling_lesson_get_path().
  * ling_lesson_get_max_meaning() has been renamed to
    ling_lesson_get_last_meaning_id().
  * ling_lesson_return_rand_lesson() has been removed.
  * New function ling_lesson_get_translation_amount(), which retrieves
    the total amount of translations for a lesson.

  meaning interfaces:
  
  * Renamed ling_meaning_find_sound() to ling_meaning_get_sound()
  * ling_meaning_get_sound() will only retrieve the sound path for the
    meaning now, not the full qualified path. The parameter soundpath has been
    removed.
  * ling_meaning_modify_meaning() has been renamed to ling_meaning_replace ()
    to clarify the function behaviour.
  * ling_meaning_modify() could modify the wrong meaning, if more than
    one with the same ID was given. This has been fixed.
  * New function ling_meaning_get_images() for retrieving images.
  * New function ling_meaning_create_lesson() for creating a lingLesson from
    of a meaning tree.
  * New phonetic attribute support in the lingMeaning struct.
  * New structure lingMInfo for detailled meaning information.
  * New info attribute in lingMeaning for an attached lingMinfo.
  * New function ling_meaning_info_new ().
  * ling_meaning_get_new() has been renamed to ling_meaning_new().
  * ling_meaning_save_meanings() has been removed.
  * ling_meaning_get_another_meaning() has been removed.
  * Method enum has been removed since it is not longer used.
  * ling_meaning_get_by_word_id has been renamed to ling_meaning_get_by_id().
  * ling_meaning_free_meaning() has been renamed to ling_meaning_free().
  * ling_meaning_free_meaning_1() has been renamed to ling_meaning_free_1().

0.2.1   2003-11-23:
-------------------
  * ling_conf_set_app_name() and ling_conf_set_lang_file() return NULL on 
    failure instead of NULL or an empty lingConfig
  * In some cases ling_lang_get_languages() produced memory leaks. This has 
    been fixed.
  * In some cases ling_lang_get_max_languages() produced memory leaks. This has
    been fixed.
  * Some internal lesson functions did not initialize structures correctly.
    This has been fixed.
  * Some internal lesson functions did not clean up all memory references,
    which resulted in high memory usage and possible memory leaks. This has 
    been fixed.
  * In seldom cases ling_lesson_save_lesson() did not close the file correctly,
    which could lead to incorrect saving and buggy file contents. This has 
    been fixed.
  * If meaning ids had negative values, ling_lesson_create_tree() could get mad
    and produce unwanted results. This has been fixed.
  * Missing checks for successful memory allocation in 
    ling_lesson_create_tree() could lead to unwanted results and segmentation 
    faults. This has been fixed.
  * Missing checks could lead to unwated results and segmentation faults 
    due to wrong data passed to libxml2 in ling_meaning_find_sound(). This has
    been fixed.
  * A wrong buffer size could lead to segmentation faults when using 
    ling_meaning_save_lesson(). This has been fixed.
  * ling_meaning_get_by_word_id() could cause a inconsistent memory table in 
    libxml2 due to a missing allocation check. This has been fixed.
  * ling_meaning_save_meanings() returned TRUE, disregarding if the lesson
    could be saved to a file or not. This has been fixed.
  * ling_meaning_get_new() will now initialize all members with NULL or 0.
  * ling_lang_get_languages will now return -1 on failure
  * New function ling_lang_free_languages for freeing language arrays created
    by ling_lang_get_languages.
  * ling_lesson_return_rand_lesson() can spin in an endless loop due to a 
    wrong check. This is fixed. It now returns NULL if nothing can be found
    within twenty loop rounds.
  * Meanings now support additional descriptions.
    
    Thanks to Dag Bakke and others for reporting errors.

0.2.0	2003-10-12:
-------------------
  * Types have been changed to work as linked lists (lingMeaning).
  * A new type lingLesson for lesson lists has been introduced.
  * all global variables, except the defines for XPath-validation have been
    removed. The library can now be used by multiple programs at the same time.
  * Meaning lists can now easily be modified using different manipulation
    interfaces like edit, add and remove.
  * A new type lingConfig is introduced on a per lesson base.
  * The library now handles application names for all lessons.
  * All interfaces have changed.
