/*******************************************************************************
 *
 * Leiden Open source Variation Database (LOVD) Changelog
 *
 *************/

/*******************
 * 2.0 Build 26
 * 2010-05-03
 *********/
 * Fixed notice being thrown when rest.php was accessed directly.
 * Fixed incorrect mutation count calculation on variant detailed  view  because
   homozygous mutations are hidden; the total number of mutations was calculated
   for both and then summed up.
   (thanks to David Baux, IURC, France, for reporting)
 * Fixed bug; When importing custom columns from a text file,  the custom column
   settings were not verified like when they would have been created through the
   "create new custom column" form.
 * The database status page now links every gene to it's gene homepage.
 * Remapping the variants directly after editing a variant, is now forced.
   (thanks to Raymond Dalgleish, University of Leicester, UK, for reporting)
 * Fixed bug; When adding a new variant to an existing patient, the check if the
   variant was already present in the patient was performed system-wide in stead
   of just for that patient.
   (thanks to Raymond Dalgleish, University of Leicester, UK, for reporting)
 * Fixed bug; Data from public fields of patients with only non-public  variants
   could be viewed through URL manipulation.
   (thanks to Astrid Out, Leiden University MC, Netherlands, for reporting)
 * Fixed bug; Downloading and re-importing data containing quotes malformed them
   into \' which became \\\' the next time.  This problem was a side effect of a
   bugfix in LOVD version 2.0-19.
   (thanks to Astrid Out, Leiden University MC, Netherlands, for reporting)
 * The Find & Replace feature now also allows for "Field contains anything" type  
   of matching, allowing emptying or filling fields regardless of the contents.
 * Fixed bug; The exported XML documents could return XML parsing errors for the
   DNA fields, because they were not escaped.
 * There is now more space to include field descriptions on the data entry forms
   and in the short legend.
 * Fixed bug; Spaces in the coding DNA accession number field of the gene create
   and edit forms, made an empty error message appear.
 * Fixed bug; Some entries in the list of available variant detection techniques
   that were allowed by the Custom column settings edit form, were denied by the
   System settings form.
 * Renamed the field for the "coding DNA reference sequence" accession number on
   the form to create and edit gene databases to "transcript reference sequence"
   and allowed the input of NR reference sequences.
 * Added support for mapping variants with the hg18 / NCBI Build 36.1.
 * The HGNC ID can now also be edited and filled in while editing a gene.
 * Added link from the Gene homepage to the gene page on the website of the HUGO
   Gene Nomenclature Committee (HGNC), if the ID is available.
 * The following two values in the DNA field will no longer count as variants in
   the variant statistics, on the gene homepages,  on the status page and in the
   statistics sent to the public LOVD listing: "c.=" and "c.0".
 * Fixed bug; When mapping the variants to the genome, the mapper could return a
   "Division by zero" error.
 * Fixed bug; LOVD no longer attempts to map variants during the installation of
   LOVD and LOVD now gently handles PHP errors from the mapper file.
 * The maximum gene name length has been increased to 175 characters.
 * Fixed some problems with displaying selection list information when values of
   the selection list contained special characters.
 * Modified the variant submission form a little bit to help properly submitting
   homozygous variants.
 * Included the LOVD manual of April 12th, 2010.


/*******************
 * 2.0 Build 25
 * 2010-03-01
 *********/
 * When changing the database URL in the system settings, users are warned about
   how important it is for this URL to be correct.
 * The Entrez Gene ID will also be provided by the LOVD API.
 * Fixed bug; Internet Explorer couldn't hide the info boxes that explained  the
   current data display.
 * Fixed bug; The Mutalyzer module did not reload when editing the gene database
   under some circumstances, resulting in the use of an old or no GenBank file.
 * Fixed bug; The percentage of variants per nucleotide per exon / intron on the
   variant statistics overview only showed the number of variants for exons with
   a leading zero, such as 05.
 * Fixed bug; An error message from the Mutalyzer variant information  tool  was
   not recognized properly.
 * When creating a new gene database,  LOVD will first ask for the  HGNC ID,  to
   pre-fill the form fields. This step can be skipped.
 * Fixed field size of the MySQL data type on the "edit column default settings"
   form, to match the size used on the "create new custom column" form.
 * Clarified the error message used on the submission page when trying to submit
   an incomplete submission.
 * The submission page will now first present a couple of options for the users,
   to explain the possibilities for submitters to edit previously submitted data
   to prevent repeated submission of the same patient.
 * Fixed bug; When downloading search results,  search terms in the Submitter ID
   field were ignored.
   (thanks to Astrid Out, Leiden University MC, Netherlands, for reporting)
 * The UCSC can't handle retrieving BED files through SSL,  so BED files will be
   delivered without using SSL.
   (thanks to Raymond Dalgleish, University of Leicester, UK, for reporting)
 * Changed the "Reset password" email a bit, to emphasize the new password.
 * Fixed bug; There were several authorization issues with the detailed patient/
   variant view. Curators could find a way to view non-public data from patients
   from other gene databases,  curators could see (non-functional) links to edit
   patient data from other gene databases, curators could see non-public entries
   of other gene databases, submitters could not always see all variant data of
   patients submitted by them.
 * LOVD will now shorten the long gene names in selection lists,  then sometimes
   became too wide for the page that contained them.
 * Included version 2.12 of official LOVD Reference Sequence Parser script.
   - Shortened gene names when the gene selection list became too wide.
 * Included version 1.5 of official LOVD GenBank File Uploader script.
   - Shortened gene names when the gene selection list became too wide.
   - Clarified the form a little bit.
 * Included the LOVD manual of December 11th, 2009.


/*******************
 * 2.0 Build 24
 * 2010-02-01
 *********/
 * The variant data entry form now links to the gene's reference sequence if  it
   is available, to help the submitter to check the variant.
 * Fixed bug; On some systems,  LOVD used an incorrect javascript "Content-type"
   header that caused the HTML code not to be rendered.
   (thanks to Abhishek Goel, UCLA Neurology, USA, for reporting)
 * Fixed bug; If, for whatever reason, the connection to Mutalyzer for reference
   sequence information and the mapping of the variants is not working, LOVD was
   spitting out error messages that are now handled correctly.
 * Fixed bug; Find & Replace didn't function when the replaced text had the same
   numerical value as the original text.
 * The variant statistics overview now also uses the variant type  generated  by
   Mutalyzer, if available, as the basis for the variant type graph.
 * The LOVD webservice API now provides the full genomic positions for the genes
   and allows searching genes on chromosome and chromosomal location.
 * Variants with other information in the variant field, like "GENE:c.1del" will
   now also be mapped correctly to the genome, instead of ignored.
 * To help the mapping of the variants to the genome, LOVD now checks the format
   of the gene's chromosome location information.
 * Fixed bug; It was allowed to configure a gene database with a  human-readable
   reference sequence without providing the address,  resulting in a broken link
   on the gene homepage.
 * LOVD puts less stress on the MySQL database by not calling the update checker
   on every page load.
 * Faster column hiding, by implementing selection lists to select which columns
   to hide or to show,  has also been implemented on the patient origin  variant
   overview and the submitter's variant view.
 * Fixed bug; lovd_getProjectFile() was not working properly when using the URL-
   schema from in the RESTful API.
 * Fixed bug; lovd_cleanDirName did not remove more than two slashes properly.
 * If the gene is on the antisense strand, the link to the UCSC browser will now
   also show the correct variant direction and sequence.
 * Searching variants and genes on genomic locations now also allows "non-exact"
   matching, i.e. including results only partially in the given range or results
   completely enclosed by the given range but with extra space.
 * Fixed bug; The Javascript called by the gene database form, that verifies the
   used transcript reference sequence,  malfunctioned when using SSL and Firefox
   because of a security setting. Accessing a file over normal http from a https
   location is not allowed using Javascript.
   (thanks to Raymond Dalgleish, University of Leicester, UK, for reporting)
 * Included version 2.11 of official LOVD Reference Sequence Parser script.
   - The Reference Sequence Parser now handles "Permission denied" problems more
     gracefully.
   - Fixed bug; Reference sequences created were pointing to an LOVD website URL
     that did not exist anymore.
 * Included version 1.4 of official LOVD GenBank File Uploader script.
   - Added option to remove the previously used GenBank file, if present,  after
     uploading a new one.
   - The gene's transcript IDs will be read from the uploaded GenBank file. When
     there is more than one transcript ID in the uploaded GenBank file, the user
     will be asked to choose.
 * Included the LOVD manual of December 11th, 2009.


/*******************
 * 2.0 Build 23
 * 2009-11-02
 *********/
 * Updated the LOVD webservice API; it now provides a gene list and gene details
   as well as proper internal links from the list items to the individual entry.
 * When clicking on the variants tab, the search fields are enabled by default.
 * Fixed bug; Variants like "c.32-?_93+?del" were recognized as "Unknown" by the
   database statistics page, in stead of "Deletion".
 * Fixed bug; When using the links from the database statistics page to view the
   list of variants of a certain type,  continuing to an other page  showed  all
   variant types.
 * Columns which have been hidden from view are now also hidden from view in the
   detailed entry view. There is a link there to re-show all columns, which does
   not influence the configured setting which columns are normally hidden.
 * Added explanation to the Empty gene database form about what will be deleted.
 * For each gene, LOVD will now store the genomic and coding DNA NCBI accession
   numbers, to be able to map the variants to the genome.  Also, LOVD will store
   some information about the transcript to perform variant numbering conversion
   steps.
 * Variants in genes with properly configured refererence sequences, will once a
   day be mapped to the genome.
 * Fixed bug; In several places specific errors messages after a failed database
   query were not shown anymore because of a change to the inc-top.php file some
   versions ago.
 * The LOVD API now also supports searching on genomic locations of variants.
 * Searching on cDNA positions using the API has been improved greatly.
 * Increased the size of the gene name field.
 * Added a note on the Configuration Area notifying curators to check genes with
   incomplete GenBank reference sequence information.
 * For genes with a properly configured mRNA reference sequence,  links  to  the
   UCSC genome browser are added to the gene homepage, generating an overview of
   the variants in the database which have been mapped to the genome.
 * Added "About this overview" info tables on the variant listings which explain
   what you see and how you can proceed. The tables are minimized by default but
   can be shown by clicking the "Show" link.
 * Included version 0.7 of official LOVD module "mutalyzer".
   - Changed the way how GenBank files are handled into the system.
   - Changed Mutalyzer URL to www.mutalyzer.nl/1.0.4/ domain.
 * Included version 2.10 of official LOVD Reference Sequence Parser script.
   - Fixed bug; One-exon genes are now handled correctly.  Also, some errors  in
     the mRNA and CDS tags are now handled gracefully.
   - The GenBank files created by the script now contain a correct accession and
     version number.
   - By default, links to the original GenBank files will be added to the gene's
     cDNA reference sequence output.
 * Included version 1.1 of official LOVD Reading Frame Checker script.
   - Included the predicted HGVS variant name of the given deletion/duplication.
   - Filtered the given arguments to fend off XSS attacks.
   - Exon names may be changed by editing the refseq/GENE_table.txt file.
 * Included the LOVD manual of December 1st, 2009.


/*******************
 * 2.0 Build 22
 * 2009-10-05
 *********/
 * Improved descriptions of the different variant types on the variant overview,
   shown when coming from the variants statistics page.
 * Fixed bug; When editing a gene database's settings through the  Configuration
   area,  while at the same time switching to an other gene database in an other
   browser window, the newly selected gene's settings were overwritten.
   (thanks to Rosemary Ekong, University College London, UK, for reporting)
 * Fixed bug; The quick gene-switcher generated a hidden notice on pages without
   URL ($_GET) variables.
 * Fixed bug; Also the forms for emptying a database and deleting a variant were
   vulnerable to switching to a different gene in an other window while the form
   is open, leading to modification of the wrong gene.
 * Fixed bug; Internet Explorer did not submit the search form above the variant
   listings when pressing the enter key.
   Fixed bug #43; "Search problem using Internet Explorer 7".
   (thanks to Raymond Dalgleish, University of Leicester, UK, for reporting)
 * Improved how the Mutalyzer module is reloaded after editing a gene.  Browsers
   that support it will show a message notifying the user what he's waiting for.
 * Improved users and submitters overview by adding icons to indicate the status
   of the user, instead of small lights. The lights weren't always understood.
 * Fixed bug; When upgrading, variables which are arrays were not sent correctly
   to the next page.
 * Improved check for LOVD url; the signature is now also verified.
 * Added support for an Atom feed's entry's contents content type.
 * Added first version of LOVD RESTful webservice, which allows searching on DNA 
   level mutation name and DBID value, and allows retrieving one variant by it's
   internal ID value.
 * Changed some wording on the gene homepage.
 * Included version 0.6 of official LOVD module "mutalyzer".
   - Fixed bug; When Mutalyzer takes too long, the PHP error is now suppressed.
 * Included version 2.9 of official LOVD Reference Sequence Parser script.
   - Fixed bug; Under some circumstances,  it was not possible to select a  gene
     from the gene dropdown list.
   - Fixed bug; The gene name was lost when you started in step 2 or 3.
 * Included version 1.3 of official LOVD GenBank File Uploader script.
   - It was possible to upload a GenBank file without selecting a gene database.
 * Included version 1.0 of official LOVD Reading Frame Checker script.
   - Included link to the Reading Frame Checker from the gene homepage, if these
     genes have run the Reference Sequence Parser using a GenBank file.
 * Included the LOVD manual of September 18th, 2009.


/*******************
 * 2.0 Build 21
 * 2009-09-07
 *********/
 * Fixed bug; The variant data download and data export were still sorted on the
   Variant/Exon field.
 * Fixed bug; The list of more variants in the same patient, displayed below the
   variant names in the variant overviews, were still sorted on the Variant/Exon
   field.
 * When using the green icon on the top of the page to quickly switch to another
   gene database, users could receive a logical but possibly disturbing "No such
   ID!" error message when viewing detailed variant data.
 * Fixed transparency issue with this icon when using Internet Explorer.
 * Fixed bug; The overview of variants with no known pathogenicity turned into a
   common unique variants overview when searching, sorting or setting the number
   of variants per page.
 * Fixed bug; The green icon on the top of the page to quickly switch to another
   gene database did not work with genes included with a ' in the name.
 * While importing variant and patient data, the seconds in the date fields are
   no longer mandatory.
 * Included a list of all PubMed references in the database, based on the PubMed
   custom link.
 * Fixed bug; If the Exon column was removed from a gene,  new entries would not
   sort correctly.
 * Fixed bug; The list of ignored columns by the import script, was misformatted
   because of a XSS protection added in 2.0-20.
 * Implemented a different, more flexible, approach for lovd_fetchDBID().
 * Fixed bug; The data import script allowed empty patient fields if a connected
   variant was not publicly available yet.
 * When importing data from LOVD import files taken from LOVD versions 2.0-20 or
   before, the sort codes will automatically be adapted to the new format.
 * Curators using the green "switch gene" icon on the top of the page, could get
   some nasty error messages when switching to a gene not assigned to them while
   in the Configuration area.
 * Fixed bug; Curators were able to make changes in genes not assigned to them.
 * Improved LOVD module system;  modules are now allowed to execute own SQL  and
   PHP code to upgrade themselves.
 * The variant statistics overview of the number of variants per exon/intron, is
   now compensated with the exon and intron lengths, if available.
 * The variant statistics overviews of DNA, RNA and protein  variant  types  now
   link to the variant listing showing these variants.
 * Added a "newsfeed" to LOVD, to which users can subscribe to be notified when-
   ever there has been an addition or update to the database.  This newsfeed can
   both be gene-specific or system-wide.
 * Custom column select options can now also contain dots.
 * The gene homepage will now link to the GenBank file configured, if available.
 * Included version 0.5 of official LOVD module "mutalyzer".
   - The mutalyzer module is now linked to Mutalyzer 1.0.4.
   - Changed "Check variant with Mutalyzer" button on the submission  form  such
     that it no longer has preference over the form submit button when  pressing
     the enter key.
 * Included version 1.2 of official LOVD GenBank File Uploader script.
   - The user can now choose to have the uploaded GenBank file renamed or not.
   - When overwriting an existing GenBank file that has been selected by a gene,
     the Mutalyzer module will be reloaded if it's active.
 * Included the LOVD manual of September 7th, 2009.


/*******************
 * 2.0 Build 20
 * 2009-07-17
 *********/
 * Fixed bug; When there was no gene, one of the menu items was not removed like
   it should.
 * Fixed bug; When creating a new gene, the length of the sort column was not as
   long as defined in 2.0-19.
 * The default order of variant columns in new genes can now be set.
 * The JavaScript code of lovd_openWindow() has been moved to a separate include
   file.
 * Fixed bug; The variant import did not include any XSS check.
 * Fixed possible XSS attack through names of additional column in import files.
 * Fixed bug; The new sorting method didn't work with common exon  field  values
   like "01i" or "01_27".
 * Fixed bug; The sorting algorithm didn't handle "c.0" correctly.
 * Removed link to irrelevant LOVD 1.1.0 manual page from the default legend and
   form descriptions of the Variant/DBID column.
 * Included version 2.8 of official LOVD Reference Sequence Parser script.
   - Added a link to the GenBank File Uploader from step 1.
 * Included version 1.1 of official LOVD GenBank File Uploader script.
   - Added a link to the Reference Sequence Parser after completing the upload.
 * Included the LOVD manual of July 14th, 2009.


/*******************
 * 2.0 Build 19
 * 2009-07-06
 *********/
 * Fixed bug; There was a possibility of SQL injection in the submitters account
   update form. This SQL injection bug could not lead to any unauthorized access
   to data or unauthorized data modification.
 * Fixed bug; There was a possibility of SQL injection in the import variant and
   patient data form by using specially crafted import files. This SQL injection
   bug could not lead to any unauthorized access to data or unauthorized data
   modification.
 * Added a check for the MIME-type of the imported data file.
 * Added a table with the number of variants per exon to the summary tables.
 * When authorized users submit new data, they are forwarded back to the patient
   in question.
 * DBID values ending in _00000 are now always allowed and are not verified.
 * To prevent common sorting problems,  the variant sort code has been  extended
   to also contain the padded exon value.
 * Added the name(s) of the curator(s) to the top of the page, to increase their
   visability.
 * LOVD will now throw a warning if an invalid gene database name has been given
   instead of ignoring it.
 * Fixed bug; When editing a variant belonging to more than one patient,  values
   from multiple-selection lists were not properly stored in the database if the
   "Edit variant only for this patient" option was selected.
 * Fixed bug; The update checker did not work in if the allow_url_fopen setting
   was disabled. The update checker can now use fsockopen() as a fallback.
   (thanks to Sandro Garoffolo, Università degli Studi, Torino, IT, for testing)
 * Updated the location of the GeneTests database to the new URL at the NCBI.
   (thanks to Donna Maglott, NCBI, USA, for reporting)
 * Fixed bug; Custom integer column's default values could never be negative.
 * Added two new custom column types: decimal input and date input fields.
 * Fixed a few wrong lovd_showSID() calls which could lead to session logouts.
 * Fixed bug; Even when cookies were disabled, they were mandatory to log in.
 * Fixed bug; The variant sort code did not always sort variants after the  stop
   codon correctly.
 * Fixed bug; The AJAX database URL check did not work from the install form.
 * Fixed bug; The custom column importer only read 4 kbytes of information  from
   each line, and could therefore not handle columns with large selection lists.
 * Fixed bug; Implemented better fix for multiple-selection lists on the patient
   origin based variant overview.
 * Implemented a quick way to switch gene databases, regardless of on which page
   you are;  just click the "switch gene database" icon next to the gene name on
   the top of the page.
 * Fixed bug; When changing a gene's GenBank file, LOVD did not correctly reload
   the Mutalyzer module.
 * Fixed bug; Sometimes LOVD warned falsely that an exact duplicate of a variant
   entry already existed in the database.
 * When a submitter edits a patient or variant entry, LOVD now checks whether or
   not any of the fields have been changed. If nothing has been changed, nothing
   is updated.
   (thanks to Raymond Dalgleish, University of Leicester, UK, for reporting)
 * Added "Copy column" advanced edit feature,  to copy or move one column's data
   into another column.
 * Fixed bug; When using Find & Replace or Copy column on either the Variant/DNA
   or Variant/Exon columns, the variant sort code was not updated.
 * When searching through the variant listings,  links to the Find & Replace and
   Copy Column scripts are provided for authorized users.
 * Included version 2.7 of official LOVD Reference Sequence Parser script.
   - The gene for which you want to create a reference sequence file, can now be
     picked from a drop down list.
   - Fixed bug; In some cases a notice was generated and the  genomic  numbering
     was reset.
   - Fixed bug; The number of nucleotides was not displayed correctly when there
     was an exon/intron boundary in first line of the coding sequence.
   - Fixed bug; The numbers of the exons were missing zeros in the first line of
     the coding sequence.
   - Fixed bug; The alignment of the sequence numbering on the last line was not
     correct.
 * Included the LOVD manual as a PDF, too.
 * Included the LOVD manual of June 22nd, 2009.


/*******************
 * 2.0 Build 18
 * 2009-05-04
 *********/
 * Fixed bug; Importing existing variants into the database reported that no new
   variants have been imported.
 * If during import columns were ignored, they are mentioned after importing.
 * Values in the import script are now compared with the database without spaces
   around them, to prevent these from interfering.
 * When editing a column's default settings,  all changes can now  automatically
   overwrite the display settings (for selected columns only).
 * Adapted the XSS security check, such that input like "<0.01" is allowed.
 * Fixed bug; The search option on the patient origin based variant overview did
   not work properly for selection lists with multiple options selected.
 * The database URL will now always be stored ending in a slash (/).
 * Use the database URL, if configured, in stead of the auto-generated URL, when
   referring back to LOVD.
 * Fixed bug; Upgrade script sometimes didn't send values to next page correctly
   and it did not allow input with double quotes.
 * Fixed bug; Some form elements, such as search terms, did not allow for double
   quotes as input.
 * Added a set_time_limit(60) to the WikiProfessional data export, because large
   databases could time out after 30 seconds.
 * Fixed bug; When curators agreed to changes performed by a submitter, the data
   was not prepared correctly for the database, and in some cases an error could
   occur. This could also lead to an SQL injection problem.
   (thanks to Jorge Oliveira, Instituto Nacional de Saúde Portugal, for testing)
 * Fixed some typos.
 * Included version 0.4 of official LOVD module "showmaxdbid".
   - Implemented #39; "Button to enter 'First ID free'".
 * Included version 0.4 of official LOVD module "mutalyzer".
   - Updated communication with Mutalyzer to support GenBank files with multiple
     genes.
   - Use the database URL, if configured, in stead of the auto-generated URL.
 * Included version 2.6 of official LOVD Reference Sequence Parser script.
   - After generating a reference sequence file,  the file location is connected
     to the specified gene database, if it has no file configured yet.
   - In step 1, you can now select the GenBank file from a selection list.
   - Fixed bug; Bold and underline markup indicating alternative stop codons did
     not work in the first line after the ATG codon, and underlining didn't work
     properly when the codon was split over two lines.
   - You now need to be logged in to use the Reference Sequence Parser.
 * Included the LOVD manual of April 27th, 2009.


/*******************
 * 2.0 Build 17
 * 2009-04-06
 *********/
 * Fixed bug; Advanced searching did not allow to combine NOT and OR searches.
 * Fixed some typos.
 * Added system setting which stores the database URL with which the database is
   accessed from the outside.
 * Added new gene-specific setting that allows curators to configure their genes
   to have the public data in the database indexed by WikiProfessional.
 * Fixed bug; The central repository format export sometimes ignored the variant
   status filter.
 * Fixed bug; When using IP ranges to restrict account access, sometimes some IP
   addresses were allowed acccess when they actually did not match the range.
 * Fixed notice generated by lovd_sort() function when receiving an empty text.
 * The variant and patient data importer now also checks the PHP setting for the
   maximum uploaded file size.
 * Fixed bug; A note about the patient or variant status, meant for the curator,
   was also shown to the submission's submitter.
 * Emails from LOVD now include a link to the LOVD installation, if the database
   URL has been configured.
 * Included version 2.5 of official LOVD Reference Sequence Parser script.
   - Fixed some PHP notices.
   - Changed the name of the link to the exon lengths table.
   - Prefilled the text box values for transcript_id and protein_id in step two,
     if available.
   - Removed the g. numbering in the coding reference sequence when starting  in
     step 3.
   - Fixed link to coding sequence file, which was missing in some cases.
   - Providing links to intronic sequences is no longer the default action  when
     coming from step 2.
   - Fixed issue with the translation start beginning at an exon start.
 * Included version 1.0 of official LOVD GenBank File Uploader script.
 * Included the LOVD manual of April 6th, 2009.


/*******************
 * 2.0 Build 16
 * 2009-03-02
 *********/
 * Changed some wording on the create and edit gene forms.
 * Fixed incorrect version code for official LOVD module "mutalyzer".
   (thanks to Raymond Dalgleish, University of Leicester, UK, for reporting)
 * Changed copyright notice at the bottom of each page to 2009.
 * Fixed bug; "Division by zero" errors and failed query in the summary tables.
 * Fixed bug; Data type wizard did not handle integer only columns correctly.
 * Tweaked lovd_dbFout() and lovd_displayError() functions.
 * More errors are now written to the database error log.
 * Implemented several techniques to improve handling input with quotes.
 * Fixed bug; Running the data type wizard consecutively without completing  the
   colomn edit, malformed the regular expression pattern.
 * Variant and Patient columns with text or integer input fields can now have  a
   default value assigned.
 * When modules are updated, the new version number and the date of update  will
   now also be shown in the setup area.
   (thanks to Raymond Dalgleish, University of Leicester, UK, for reporting)
 * Fixed bug; Updating a variant connected to more than one patient did not work
   if the option "Edit variant only for this patient" was selected.
 * Added option to manualy check for updates at any time.
 * Optimized some code throughout LOVD that handles column content alignment.
 * Added a button to the gene configuration area after creating a new gene.
 * Verified code header information in all LOVD files and fixed if necessary.
 * Fixed bug; Find & Replace did not protect against adding text into a  numeric
   field.
 * Fixed bug; Find & Replace falsely reported that otherwise correct submitterid
   values where too large to fit in the field.
 * Fixed bug; Find & Replace did not always match submitterid values correctly.
 * Due to a bug in PHP, mail sent from Windows servers sometimes did not arrive.
   LOVD now includes a workaround. For more information, see:
   http://bugs.php.net/bug.php?id=28038
   (thanks to José Luís Monteiro, CGMJM, Portugal, for reporting and testing)
 * Fixed bug; If the ID_allele_ field was left empty when importing variant data
   LOVD would complain.
 * Fixed bug; LOVD gave notices if the ID_allele_ field was absent in the import
   file.
 * Included version 2.4 of official LOVD Reference Sequence Parser script.
   - Fixed bug; The coding DNA reference sequence looked malformed in IE, due to
     an error in the HTML code.
   - Removed useless references to $_POST['file'] variable.
   - Added genomic numbering to the reference sequences (coding, introns and up-
     and downstream).
   - Exons 1 - 9 are now numbered 01 - 09.
 * Included the LOVD manual of February 5th, 2009.


/*******************
 * 2.0 Build 15 (update)
 * 2009-02-04
 *********/
 * Fixed bug; Not all files necessary for the new reCAPTCHA module were included
   in the LOVD 2.0-15 download package.


/*******************
 * 2.0 Build 15
 * 2009-02-03
 *********/
 * Added ability to delete a custom column which has been created by a user.
 * Added ability to edit a custom column's column ID,  if it has been created by
   a user.
 * Fixed bug; Messages that a variant entry has last been edited by a  submitter
   could have been false.
 * Added feature to configure active custom links directly from the  "Create new
   custom column" and "Edit custom column default settings" forms.
 * Fixed bad HTML page titles in the documentation section.
 * Changed wording to try to clearify the difference between the  custom  column
   display settings form and the custom column default settings form some more.
 * When editing a variant entry that is shared with other patients,  you can now
   select if changes will apply to all patients, or just to the current selected
   patient.
 * When importing variant and patient information, the ID_variantid_ field is no
   longer mandatory. The values will be filled in automatically.
   Also the ID_allele_ field can now be absent in the file.
 * When importing variant and patient information,  the LOVD version  header  is
   now mandatory.
 * Downloaded data files from LOVD now also include the data type in the header.
 * Fixed bug; Upon entering a invalid Perl regular expression syntax in the data
   type wizard, an incorrect error message was shown.
   (thanks to Lisa Forman Neall, NCBI, USA, for reporting)
 * Custom column information can now be downloaded and imported by managers from
   the Setup area.
 * Included version 0.1 of official LOVD module "recaptcha".
 * Included version 0.3 of official LOVD module "mutalyzer".
   - Changed wording of the "Check with Mutalyzer" button.
 * Included version 2.3 of official LOVD Reference Sequence Parser script.
   - When using a GenBank file to generate the reference sequences, you can fill
     in the transcript ID and the protein ID of the desired transcript / protein
     combination.
   - When creating a GenBank file you need to provide a transcript ID, a protein
     ID and a db_xref (GI:) number to include in the GenBank file.  These fields
     are required for the Mutalyzer service.
   - Fixed bug; For transcripts where translation starts in exon three or higher
     the GenBank file created at step 2 had a wrong CDS start position.
   - Fixed bug; Generated GenBank files for one-exon genes had a CDS ending with
     a comma.
 * Included the LOVD manual of February 3rd, 2009.


/*******************
 * 2.0 Build 14
 * 2008-11-27
 *********/
 * Fixed bug; Documentation contents page showed greyed out links in some cases.
   (thanks to Ammar Husami, Cincinnati Children's MC, USA, for reporting)
 * Added dropdown list with submitter country, city and name for the submitters'
   variant view.
   Implemented #34; "Viewing submitted variants".
 * Fixed bug; lovd_getProjectFile() malfunctioned when called from the  server's
   root directory;  the path contained a double slash which prevented #23 to  be
   fixed in those situations.
   Fixed bug #23; "Showmaxdbid displays wrong gene".
   (thanks to Raymond Dalgleish, University of Leicester, UK, for reporting)
 * When importing variant and patient data,  the Variant/DBID field is no longer
   mandatory. The values will be filled in automatically.
 * Cleaned up setup_submitters.php a bit.
 * Added advanced searching on the custom column global settings listing.
 * During the submission,  the gene the user is submitting to will be  displayed
   in the page header instead of the currently active gene.
 * Fixed 7 incorrect lovd_showSID() function calls.
 * Fixed missing htmlencoding of ampersand in link to submitter pop up window.
 * Included normal HTML link to detailed entry view on all overviews and cleaned
   up some non standard links.
 * Added option for users to more quickly change their passwords by  introducing
   a form specifically to change the user's password.
 * Added option to force a user to change the password at the next log in.
 * Fixed bug; When creating a submitter using the setup area, the reference text
   (Country:City) was not created correctly.
 * Added password quality check on submitter passwords, too.
 * Added option to permanently delete a submitter registration in one step only.
 * Fixed bug; Authorized users could not see a deleted submitter's variants.
 * Widened LOVD system settings form, to increase ease of readability.
 * Added "Forgot my password" option (turned off by default).  Authorized  users
   and submitters can retrieve a new password in their email.
 * Fixed bug; When viewing a submitter's variants,  under some circumstances the
   listing showed the currently selected gene twice.
 * Fixed bug; Import script reported the wrong line number in case of errors.
 * Included version 2.2 of official LOVD Reference Sequence Parser script.
   - If a GenBank file is created by the script and the gene has no GenBank file
     associated yet, the Reference Sequence Parser script will fill it in.
 * Included the LOVD manual of November 27th, 2008.


/*******************
 * 2.0 Build 13
 * 2008-10-31
 *********/
 * Fixed transparency issues with some icons when using Internet Explorer.
 * Added "Unhide all columns" button on variant overviews if at least one column
   is hidden.
 * Curators can now already specify a submitter connected to the patient  during
   the submission process.
 * During the submission process, the submitter reference (if any) is also shown
   on the submission overview.
 * Fixed bug; Link to change associated submitter was shown to submitters owning
   the patient record.
 * Added the possibility to curate all uncurated variants in a gene database all
   at once.
 * Fixed bug; An SQL query error when submitting a variant which was already  in
   the database, could have resulted in loss of this variant.
 * Fixed bug; The allele column value "Both (homozygous)" could also be selected
   when editing a variant, but it was never intended to be used this way.
 * Fixed bug; Included a check on variant edit form to prevent fatal error about
   duplicate keys.
 * Fixed bug; Included a check on variant submission form to prevent fatal error
   about duplicate keys.
   Fixed #31; "Entering homozygous mutations".
   (thanks to Raymond Dalgleish, University of Leicester, UK, for reporting)
 * Fixed bug; Values of multiple-selection lists were not transformed in variant
   listings below the detailed variant view.
 * Fixed bug; The DBID check allowed invalid DBID values if that field contained
   more than just the ID.
 * Fixed bug; When entering two new variants in one submission process,  LOVD no
   longer suggests the same DBID values.
 * Entered DBID values are now also validated against any other variants in  the
   same submission process.
 * Allowed "hostname:port" and ":/path/to/socket" values for the hostname in the
   config.ini file.
   Implemented #37; "allow for more flexible socket configuration settings"
 * Curators can now agree to the submitter's changes to a variant entry  with  a
   single click. This already worked for patient entries edited by submitters.
 * Fixed infinite loop in lovd_cleanDirName() that sometimes occured during  the
   creation of the menu tree structure,  specifically when LOVD was installed in
   the root and when viewing the documentation section.
   Fixed #36; "LOVD documentation does not work when LOVD is installed at /".
   (thanks to Raymond Dalgleish, University of Leicester, UK, for reporting)
 * The selected gene's symbol is now incorporated in the suggested location name
   of the reference sequence file mentioned on the edit gene form.
 * Added summary tables; a graphical summary of all sequence variants, sorted by
   type of variant.
 * Added advanced searching on the submitter listing.
 * Added a link from the configuration area to the scripts overview.
 * Included version 0.3 of official LOVD module "showmaxdbid".
   - In stead of showing the maximum ID in use, the module shows the first  free
     DBID.
   - The module now also takes into account which DBID values have been used  so
     far in the submission already.
 * Included version 2.1 of official LOVD Reference Sequence Parser script.
   - Fixed bug; If the coding sequence ended exactly on the 60th  position,  the
     downstream sequence was displayed wrong.
   - Fixed typo in a step one error message.
   - If there was no upstream or downstream sequence included,  the exon lengths
     table showed some errors and the links from the cDNA sequence were broken.
   - It will not automatically create a GenBank file,  if also the source of the
     sequence was a GenBank file.
   - If gene information other than the currently gene selected was given, that
     information was reset every step.
 * Included the LOVD manual of October 7th, 2008.


/*******************
 * 2.0 Build 12
 * 2008-09-26
 *********/
 * The session cookie is now really deleted when logging out of LOVD.
 * The "loss of session" fix of the 2.0-11 update did not do the trick properly.
   Different LOVD installations could still send competing session cookies after
   which a user was logged out directly after logging in. Implemented a fix that
   gives unique names to session cookies.
   **** Please NOTE that this fix causes all active users to be logged out! ****
 * Public submitter listing reported the total number of submitter accounts, not
   only the active accounts.
 * Added increased execution time to import script to help import bigger files.
 * In new installs, the Variant/Exon column can hold 5 chars, in stead of 3.
 * In new installs, the Patient/Origin/Ethnic column can hold 50 chars, in stead
   of 25.
 * Changed "Start data type wizard" button on two custom column forms so that it
   no longer has preference over the submit button when pressing enter.
 * Added LOVD custom column "Variant/DNA_published".
 * Which columns are hidden from view is now stored in a separate cookie so that
   it will be remembered across sessions.
 * Added 'hide column' feature to two other variant listings; variant listing on
   patient origin and submitter variant listing.
 * When assigning a GenBank file to a gene, LOVD will now check if it's there or
   not.
 * Reloading modules was not possible due to "cannot redeclare class" errors.
 * When a gene has been created and has an uploaded GenBank file, or when a gene
   has been edited and an uploaded GenBank file has been added or  changed,  the
   mutalyzer module is reloaded automatically.
 * Prevent some troubles with the menu when the URL contains double slashes.
 * Modified CURRDB->buildSearchList() to accept field type.
 * Added new feature that allows the public to find the amount of entries in the
   database (including hidden entries) matching one or more search terms.  It is
   turned off by default.
 * Added update of Reference Sequence parser script, which was also available in
   LOVD 1.1.0. Added the ability to work from a GenBank file.
 * Included the LOVD manual of September 26th, 2008.


/*******************
 * 2.0 Build 11 (update)
 * 2008-09-02
 *********/
 * Fix weird behaviour of session_regenerate_id() - sometimes it was not sending
   a new cookie, forcing a user's log out directly after logging in.


/*******************
 * 2.0 Build 11
 * 2008-08-29
 *********/
 * Slight code change in how the menu tabs get built.
 * Changed some log entry events to use better naming.
 * Added ROOT_PATH to the path references in the lovd_viewForm() function.
 * The Modules and CurrDB classes now only have one constructor function.
 * Added a "Pragma: public" HTTP header to fix an Internet Explorer problem when
   downloading a file over SSL.
   Fixed #33; "Internet Explorer can not download variant and patient data".
 * Added protection against Session Fixation. After successfully logging in, the
   session ID will be changed.
 * When "My Submissions" has been enabled, submitters can now also see their own
   unpublished variants in the "My Submissions" overview.
 * Included the LOVD manual of August 28th, 2008.


/*******************
 * 2.0 Build 10
 * 2008-08-08 (updated 2008-08-11)
 *********/
 * Fixed missing image in release (gfx/header_docs.png).
 * Fixed links in header that are broken in the documentation section.
 * Fixed typo in empty gene form.
 * Fixed security hole; implemented XSS protection on search forms. Search terms
   could be manipulated to include malicious javascript code into the page.
 * Fixed bug; Find & replace did not select current gene by default.
 * Fixed bug; Find & replace malfunctioned which resulted in data loss when  the
   find field contained a / (forward slash).
   (thanks to Raymond Dalgleish, University of Leicester, UK, for reporting)
 * Fixed bug; If find & replace malfunctions, it no longer results in data loss;
   instead it returns an error requesting the user to file a bug.
 * Fixed bug; Find & replace did not find matching records when "Field value is"
   match was performed using a find value that included _ or %.
 * Fixed bug; Find & replace now skips updates if the new value would not fit in
   the column and warns the user afterwards.
   (thanks to Raymond Dalgleish, University of Leicester, UK, for reporting)
 * Fixed security hole; implemented XSS protection on  $_SERVER['PHP_SELF']  var
   by detecting the $_SERVER['PATH_INFO'] variable. Specially crafted URLs could
   include malicious javascript code into the page or change a page's links.
 * Added link to manual from variant import page.
 * Fixed minor display issue with submitter ID in submitter registration email.
 * Updated four database queries that did not contain quotes around  (numerical)
   values.
 * Added lovd_getGeneList() function in inc-lib-init, replacing often duplicated
   code. Implemented function throughout LOVD.
 * Added check on $_GET['gene'] and $_POST['gene'] on submission form to prevent
   fatal errors with SQL injection or XSS attacks through these variables.
 * Added XSS check on the $_GET['order'] var of all sortable overviews. This has
   never been a security problem, but it prevents some harmless errors.
 * Added check against entering newlines in user and submitter names, preventing
   the insertion of additional mail headers in registration and submit emails.
 * Fixed bug #18 for downloaded files as well (see changelog for 2.0-beta-10).
 * Fixed bug; email addresses containing an one-letter subdomain were rejected.
   (thanks to Raymond Dalgleish, University of Leicester, UK, for reporting)


/*******************
 * 2.0 Build 09
 * 2008-07-25
 *********/
 * Fixed bug; If deleting a gene database, LOVD possibly showed the wrong number
   of variants that will be lost by deleting the gene.
 * Deleting a user makes the current user curator of the deleted user's genes if
   there is no curator left for them.
 * A user can no longer be deleted through the edit form.
 * Curators exporting variant data in central repository format will now only be
   able to select their own genes, preventing possible "Access denied" errors in
   the output format.
 * When deleting a variant, LOVD did not display the correct allele information.
 * Updated lovd_cleanDirName() function.
 * The log entry of a LOVD upgrade now also contains information about from what
   version LOVD was upgraded, and how many queries were executed.
 * Included the LOVD manual of July 25th, 2008.


/*******************
 * 2.0 Build 08
 * 2008-06-27
 *********/
 * Fixed bug; The update checker returned an error when there weren't any  genes
   configured yet.
 * Fixed bug; Curators could not use the Find & Replace functionality, due to an
   error in the list showing the genes they curate.
 * Removed an unused variable from the initiation script.
 * Fixed bug; An error in the DNA change field can now be fixed if it's just one
   variant entry without getting a DBID check error.
   Fixed #28; "Cannot update 'DNA change' field".
   (thanks to Raymond Dalgleish, University of Leicester, UK, for reporting)
 * Modified manager's genes overview to build the link to the gene homepage only
   when a URL is filled in.
 * Fixed bug; LOVD didn't show managers correctly whether or not a  gene  had  a
   GenBank record associated with it.
 * Fixed bug; LOVD may have checked the wrong gene for DBID verification in case
   a value was filled in by a curator during variant submission.
 * Fixed bug; LOVD did not predict matching DBID values correctly, if it was not
   in the format of GENESYMBOL_[five digit number].


/*******************
 * 2.0 Build 07
 * 2008-05-30
 *********/
 * Fixed bug; Top include file was missing when an error occured trying to  send
   the submitter register confirmation email.
 * Fixed bug; ShowMaxDBID module did not contain correct module version number.
 * Changed copyright notice at the bottom of each page to 2008.
 * Fixed bug; The DBID consistency check did not allow to use an unassigned DBID
   value if the DBID value was not the highest used value increased by one.
   Implemented #26; "Cannot use DBID out of sequence".
 * Fixed bug; If two separate DBID values were assigned to the same DNA variant,
   the user was forced to have the variant use the lowest DBID value, even if it
   was shared with a different variant.
   Fixed bug #27; "Incorrect DB-ID can often not be fixed".
 * Reduced seconds of waiting time in the installation script that took the load
   off the server a little bit by giving it a break now and then. Also, Internet
   Explorer users never see the progression of the installation so the long wait
   looking at an empty screen also gets less annoying.
 * Added central repository download format. This format includes the gene name,
   DNA change, DB ID, and possible OMIM and DbSNP IDs.
 * Fixed bug; Default pathogenicity code of imported variants was pathogenic  in
   stead of unknown pathogenicity.
 * Fixed bug; Links from the Configuration area to the selected gene's uncurated
   variants did not show the "Non public" variants because of a change in search
   term processing in LOVD 2.0-05.
 * Updated LOVD status page to split gene symbol and name to separate fields.
 * Added LOVD custom column "Variant/Remarks".
 * Editing patients by submitters doesn't mark all it's public variants anymore,
   and curators can now agree to the submitter's changes by a single click.


/*******************
 * 2.0 Build 06
 * 2008-04-25
 *********/
 * Fixed broken link from the configuration area top menu.
   Fixed bug #24; "'Find & Replace' function link does work from top botton".
   (thanks to Ammar Husami, Cincinnati Children's MC, USA, for reporting)
 * Simplified the URL to link to PubMed a bit.
   Implemented #25; "Simplified PubMed link".
 * Fixed bug; Import script did not recognize version header if it was quoted.
 * Included new pathogenicity codes from 2.0-04 in the variant legends also.
 * Updated variant counts on the gene homepage to use the Patient/Times_Reported
   column if it's available. Added patient count.
 * Updated LOVD status page to include Patient/Times_Reported counts as well and
   put results in tabular format.
 * Implemented check on Patient/Times_Reported also on statistics sent upstream.
 * Implemented new ability for submitters to update previous submissions if  "My
   Submissions" is enabled.
 * Fixed bug; Wordwrapping in notification emails didn't always work properly.
 * Added consistency check on Variant/DBID field. This will make sure that equal
   DBID values are assigned to equal variants. Also, the Variant/DBID field will
   be filled in automatically if left empty.
 * Allowed more space for column headers, they can now be 30 characters long.
 * Included version 0.2 of official LOVD module "showmaxdbid".
   - Fixed bug; If during submission a gene was selected other than the  current
     gene database, the wrong DBID was given on the form.
     Fixed bug #23; "Showmaxdbid displays wrong gene".
     (thanks to Raymond Dalgleish, University of Leicester, UK, for reporting)


/*******************
 * 2.0 Build 05
 * 2008-03-28
 *********/
 * Fixed bug; Creating a custom link could lead to some errors being shown.
 * Fixed bug; Editing a custom link could lead to some errors being shown if  no
   active columns were chosen.
 * Fixed bug; Custom link information from data entry forms falsely reported all
   custom links were active for the Gene/Reference column.
 * Added directory traversal attack check on GenBank file names.
 * Fixed bug; Search terms including _ or % returned more results than wanted.
 * Removed columns from the full download file that appear  to  confuse  people.
   Also rearranged the ID columns a bit.
 * Added Free Edit feature which was present in 1.1.0 also - ability to find and
   replace values in a specific column throughout one or more gene databases.
 * Translated Dutch code comments to English.
 * Updated the code that checks for empty form elements to prevent possible  PHP
   notices.
 * Added warning message on the edit variant form of variant entries  which  are
   shared with other patients, that changes apply to all patients.
 * Updated the variant overviews, if more than 10 other variants are  associated
   with the same patient, they are hidden to provide a cleaner overview.
 * Full submitter information is now directly accessible from the submitter link
   in the Patient/Reference column.  Email addresses have been removed from  the
   submitter public listing.
 * Fixed bug; LOVD installation title was mentioned to have a default value, but
   an empty field was not allowed. Leaving the field empty will now set the LOVD
   installation title to the mentioned default value.
 * Got rid of "undefined" value in Patient ID field showing in Internet Explorer
   browsers in the "Using an existing patient" popup on the submission form.
 * Shortened some long standard page refresh times.


/*******************
 * 2.0 Build 04
 * 2008-02-29
 *********/
 * Installation instructions are now in INSTALL.txt in stead of INSTALL  because
   the case insensitive filesystem on Windows hosts does not allow  the  INSTALL
   file to co-exist next to the install directory.
 * Fixed bug; Variant overview based on patient origin showed in some cases some
   form markup problems. Also shortened the listed gene names to make more space
   in the form.
 * Included the variant listing based on patient origin in the Variants menu.
 * Fixed bug; It was possible to assign a patient to a deleted submitter.
 * Improved the variant listings per submitter -  you can now select which genes
   you want to see the variants of.
 * Added a link in the Variants menu for switching to another gene database.
 * Fixed memory consumption problem of import script occuring in large databases
   when loading all variant and patient2variant data into the memory. This fixes
   the problem in most cases, but memory errors can still occur depending on the
   server settings.
   Added warning on the import page about this.
   Fixed bug #17; "Impossible to import anything anymore,  import script returns
   empty page".
 * When resetting a custom column to the system defaults, you are forwarded back
   to the column information directly.
 * Fixed bug; Custom column data type information was quoted twice, which mostly
   effected the regular expression patterns, resulting in rejected form input.
   NOTE: Regular expression patterns already effected by this bug are not fixed.
 * Fixed bug; When navigating from the setup's submitter overview to the variant
   listing, not all genes where searched in.
 * Added ability to permanently remove submitters which do not have any patients
   in the system.
 * When editing a configured custom column, the width of the column is displayed
   just below the column width field, to give an idea of the current situation.
 * Fixed bug; When visiting two LOVD installations after each other,  LOVD could
   report an error about a non-existing gene.
 * Fixed bug; Import script applied input pattern check on empty values, too.
 * Fixed bug; The custom link detailed view didn't mention if the link is active
   for the Gene/Reference column.
 * Added feature to temporarily remove columns from view in the variant listing.
 * Fixed bug; Did not remove all menu items when no gene was available yet.
 * Fixed bug; The LOVD updates information, retrieved from the LOVD website, was
   not quoted but put in the database directly in the case of an available  LOVD
   update. This resulted in a silent query error for the 2.0-03 update.
 * Fixed bug; Downloading variants may not download the homozygous mutations!!!
 * Enabled LOVD to run under the Secure Socket Layer HTTP (HTTPS) protocol.
 * Added ability to select if LOVD should run under SSL (HTTPS) only.
 * Improved efficiency by having a block of code skipped when just checking  for
   updates.
 * Fixed bug; Alternative link from submitter's variant listing to detailed view
   did not work.
 * Replaced 'polymorphism' with 'variant with no known pathogenicity', according
   to HGVS recommendations.
 * Updated pathogenicity list to be able to include more pathogenicity values in
   the future. All existing entries will be updated by the upgrade script.
 * Added options "Probably pathogenic" and "Probably no pathogenicity".
 * Added format version number in the variant download file. This allows LOVD to
   apply corrections when importing older file formats. When importing a variant
   download file from 2.0-04 into an older LOVD release, remove the first line.
 * Fixed bug; If a custom link was active for a column which was not added, lots
   of error messages appeared on the submission form.
 * Dropped upgrade support from the alpha releases.  If you are running an alpha
   release (from before April 27th,  2007) you need to upgrade to a beta release
   first, before you can upgrade to the latest stable release.
 * Included version 0.2 of official LOVD module "mutalyzer".
   - Added module to the variant edit form.
   - Fixed bug; intronic mutations containing a plus were not sent to  Mutalyzer
     correctly.
   - Enabled module to run under the Secure Socket Layer HTTP (HTTPS) protocol.


/*******************
 * 2.0 Build 03
 * 2008-01-25
 *********/
 * Fixed bug; when editing other users, a faulty "gene has no curator" error may
   show up in some cases.
   Fixed bug #22; "Unnecessary  'This gene has no curator'  errors when  editing
   user".
 * Added ability for curators to align the header and footer messages.
 * Added ability for submitters to have more than one email address.  This was a
   feature present in LOVD 1.1.0, and has now been reintroduced in 2.0,  using a
   different method.
 * Added warning message when editing a column data type, that data may be lost.
 * Added note not to add 'Patient/' or 'Variant/' to a new custom column ID.


/*******************
 * 2.0 Build 02
 * 2007-12-21
 *********/
 * Fixed bug; function to change the gene's last updated date was missing.
   Fixed bug #20; "Gene's 'Last update' field not updated".
 * Fixed bug; submitters didn't have the option to fill out the pathogenicity of
   the variant.
 * Added curate button in the configuration area, to guide new users.
 * Fixed bug; mutation suggestions listing in "Using an existing variant" option
   of the submission process did not work in Internet Explorer browsers.
 * Fixed bug; curators couldn't search on the submitterid field, although it has
   a search field.
   Fixed bug #21; "Cannot search on submitter ID".
 * Added lovd_magicQuoteAll() and lovd_magicUnquoteAll() functions and  modified
   existing lovd_magicQuote(&$var) and lovd_magicUnquote(&$var) functions to get
   rid of deprication errors in the error log when using PHP 5.X.
 * Modified lovd_magicQuote() function to use mysql_real_escape_string() instead
   of addslashes(). Carriage returns and linefeeds are not affected.
 * HGVS standard columns can now be edited (Managers and up).
 * Searching for a specific non-public variant by unauthorized users now results
   in a specific check is such a variant exists, and a proper message to contact
   the curator.
 * Non public variants can now be excluded from the unique variant listings (see
   "Security settings" section of the LOVD system settings).
 * Fixed some grammatical errors.
 * When you edit non-global column settings you are no longer required to  enter
   your password.
 * Fixed problems when editing the system settings because the disease list  can
   get rejected because of too strict pattern matching on this page.
 * Updated full legend somewhat.
 * Long select options are cut off on the forms some more, now at 75 characters.
 * Changed wording to try to distinguish the different custom column options.
 * Added option for selected columns to be reset to the system's default.
 * Fixed bug in not unquoting submission data written in the confirmation email.
 * Fixed bug in not unquoting submission data written on the submission overview
   page.
 * Fixed bug in not quoting data taken from the database when adding variants to
   an existing patient.
 * Fixed bug; during the submission of variant data,  values stored in  multiple
   select lists could not be be stored properly.


/*******************
 * 2.0 Build 01
 * 2007-10-19
 *********/
 * Added index on submitterid column in the patients table to speed up the list-
   ing of submitters in the setup area.
 * Applied fix for bug #18 to detailed variant view,  submitter's variant  view,
   and variant overview based on patient origin.


/*******************
 * 2.0 Beta 10
 * 2007-10-19
 *********/
 * Fixed some markup errors in emails sent by LOVD.
 * Changed default sorting column from Exon to Variant/DNA.
 * Fixed bug; when sorting on the DNA column, the variants were not sorted based
   on the sort algorithm; a simple text sort was used in stead.
   Fixed bug #18; "Variants do not sort correctly when selecting DNA  column  to
   sort on".
 * Implemented new lovd_wrapText() that handles long words (text without spaces)
   more intelligently.
 * Added ability to set whether a custom column is 'standard' or not; this is of
   use for Variant columns only as newly created genes will include all standard
   Variant columns.
 * Moved some duplicated JavaScript code for sorting custom columns into an  own
   include file.
 * Updated regular expression that checks selection list options and added  this
   check to the forms managing Variant and Patient columns.
 * Included version 0.1 of official LOVD module "showmaxdbid".
 * Updated descriptions of Variant/DBID column to explain the ID a bit more.
 * Increased size of module name column.
 * Added submitterid column for curators in complete variant overview.


/*******************
 * 2.0 Beta 09
 * 2007-09-28
 *********/
 * Rerunning installation script when LOVD is already installed will now not re-
   run the check for new modules when modules are already installed.
 * Before installation, LOVD checks for compatible versions of PHP and MySQL.
 * Increased efficiency by preventing an unneeded database query when  select_db
   is set.
 * Added the "Status" column to the short and full legends in case it's shown in
   the variant table (thanks to Ophélia Maertens, Ghent University, Belgium, for
   reporting).
 * Fixed memory consumption problem of import script occuring in large databases
   when loading all patient data into the memory.
   Fixed bug #17; "Impossible to import anything anymore,  import script returns
   empty page".
 * Fixed bug; feature which adds previously selected but now non-existent values
   to a selection list, failed to work for drop down lists where only one option
   can be selected.
 * LOVD now includes an HTML title based on the page being viewed.


/*******************
 * 2.0 Beta 08
 * 2007-09-07
 *********/
 * Changed variant listing query a bit that fetches other mutations in the shown
   patient, to fix somewhat buggy behaviour in the display of the variant names.
 * Applied a few changes to clearify the view for computers with a smaller sized
   screen (setup area, submit area).
 * Added option to add a variant to the submission process,  which is already in
   the database. The functionality used to support the user choosing the desired
   variant makes use of the AutoComplete library by Richard Heyes (phpguru.org).
 * Fixed bug; the setup area showed the wrong date the system was last updated.
   Fixed bug #15;  "Date updated shows date of installation,  not date  of  last
   update".
 * Added unique indexes on username columns of the user and submitter tables.
 * Added option to curate (publish) a variant by the push of a button.
 * Fixed bug; clearing submitter - patient link did not print correct log entry.
 * Fixed bug; variants starting with "c.(" were not sorted properly.
   Fixed bug #16;  "Error in creating sorting code with variants  starting  with
   'c.('".
 * Cleaned up the style sheet.


/*******************
 * 2.0 Beta 07
 * 2007-08-17
 *********/
 * Fixed bug; the submission forms showed errors when adding new data or editing
   existent data (in some cases). Bug introduced in build beta-06.
   Fixed bug #14; "Errors shown on patient data submission form".
 * Added 'cancel' buttons on variant data and patient data submission forms.
 * Added option to submit new variants to an existing patient.
 * View patient information without considering any variants is now possible.
 * Empty values (no value previously selected from the list) are no longer added
   to selection lists on edit forms.
 * After editing a patient's data, the user is now forwarded back to the patient
   information page in stead of the gene's general variant listing.
   Fixed bug #13; "Edit patient redirect leads to listing of all contents".
 * Fixed bug; when viewing a variant with unknown allele in detail, all variants
   from the same gene in the same patient where highlighted in the listing.
 * After removing a variant from a patient with other variants left, the user is
   now forwarded back to the patient information page.
 * Fixed bug; the link to the bug tracking system returned by the $_CURRDB class
   was broken.
 * Fixed bug; variants_search.php required a gene to be chosen, but this was not
   checked possibly resulting in a NoCurrDB error.
 * Added button on the patient overview to add a new variant to the patient.
 * Added ability to connect a submitter to a patient, or clear the connection.


/*******************
 * 2.0 Beta 06
 * 2007-08-03
 *********/
 * Added link to submitter's submissions from submitter overview in Setup area.
 * Removed a number of mandatory columns from the variant import  format.  These
   columns are no longer mandatory:
   'ID_pathogenic_', 'ID_status_', 'ID_submitterid_',  'ID_variant_created_by_',
   'ID_variant_edited_by_', 'ID_patient_created_by_', 'ID_patient_edited_by_'.
 * It is no longer needed to repeat variant or patient information in the import
   file; as long as the 'ID_allele_', 'ID_variantid_' and 'ID_patientid_' fields
   are present, all other fields can be left empty for previously known entries.
 * If a selection list is converted to a text field, a note is added that values
   should be separated by a semi-colon (;).
 * Fixed bug; if a selection list had previously been converted to a text field,
   but now selection options have been provided, the previously chosen value was
   lost if it was not part of the new list of options.
 * LOVD will now throw an error when there is no MySQL support installed instead
   of showing an empty page.
 * When selecting a different gene database, you do not need to click the button
   anymore.


/*******************
 * 2.0 Beta 05
 * 2007-07-06
 *********/
 * Updated LOVD module system; modules are now allowed to edit LOVD forms.
 * Included version 0.1 of official LOVD module "mutalyzer".
 * Fixed bug; while selection list fields where converted to text fields in  the
   absence of a valid set of selection list values,  the previously chosen value
   was not converted to a text value.
 * The name of files downloaded from LOVD has been changed to a different format
   because some Windows computers could not interpret the value.  The format has
   been changed to LOVD_GENESYMBOL_YYYY-MM-DD_HH.mm.ss.txt.
 * Fixed bug; multiple-select option lists do not send their data when no option
   has been selected. This caused an error message in LOVD.
 * Added search overview based on patient origin.  This overview can search  for
   variants in all genes in the LOVD installation that match your patient origin
   search terms.
 * Increased size of three standard columns, as they were too short by accident;
   Variant/DNA, Variant/RNA and Variant/Protein.  All existing databases will be
   updated by the upgrade script.
 * The small blue light icons that were used to show whether an option was on or
   off, have been replaced on some pages by marks (V or X) to improve clearity.
 * When defining the selection list values of a custom column, the question mark
   (?) is now accepted as a valid abbreviation value.
 * Sorted the values of the exon numbers selection list on the search form.
 * Added "My submissions";  a feature which allows submitters to get an overview
   of all submissions they've sent to the database. It also allows others to get
   the list of submissions for any submitter. This feature can be turned off, so
   that it is only accessible for authorized users (Curators and up).
 * Added "Update your registration" link to the manage user overview when a user
   is viewing his own account.
 * Changed wording on configuration area and setup area a bit to clearify custom
   column features.
 * At install time, LOVD will also check for modules.


/*******************
 * 2.0 Beta 04
 * 2007-06-15
 *********/
 * Included first version of LOVD module system.  LOVD modules can be installed,
   activated, deactivated and uninstalled.  LOVD does not ship with any  modules
   yet.
 * Fixed bug; when upgrading to 2.0-beta-03,  the custom link "Pubmed"  was  not
   activated for the gene reference field on the gene homepage.
 * Log events can now span 15 characters.
 * LOVD columns 'variant_edited_date_' and 'patient_edited_date_' are no  longer
   mandatory during import.
 * The standard LOVD column 'ID_sort_' is no longer mandatory to be included  in
   the import file, and it's value will be automatically generated when empty.
 * Fixed bug; a database error was shown under certain conditions when importing
   new entries whilst already having entries in other gene databases.
 * The import form now shows the available variant and patient IDs to facilitate
   easy import of new variants or patients.
 * The standard LOVD columns 'variant_created_date_' and 'patient_created_date_'
   are no longer mandatory to be included in the import file,  and  it's  values
   will be automatically generated when empty.
 * Removed redundant menu options for the configuration area if there is no gene
   database created yet.
 * Downloading entries from an empty gene database by curators now yields a file
   containing the column headers, instead of a "no variants" message.
 * When using cookies for user authentication, the cookie path is now set to the
   LOVD install path, if set to '/'.  This increases security by not sharing the
   PHP session ID with other websites on the same server and allows working with
   several LOVD instances on one server at the same time.
 * Fixed bug; lovd_calculateVersion() did not handle 2.0-XXX-00X type of version
   style.
 * Fixed bug; MySQL error message was not shown in the case of errors during the
   import of variants in InnoDB table types.


/*******************
 * 2.0 Beta 03
 * 2007-05-25
 *********/
 * Removed some development code from the release files.
 * Fixed bug; notices were thrown when a user was disallowed access based on the
   IP address check.
 * When a user is disallowed access based on the IP address check, the user will
   now be logged out directly.
 * Restructured the gene creation and gene edit forms.
 * Added gene database field to mention references to use for citations.
 * Fixed minor bug; <SPAN> tag was not closed after legend at variant listings.
 * Added ability to add a header and footer on gene specific pages. This feature
   was available in 1.1.0 by using text files, and is now included in the forms.
 * Changed "access denied" message to include a link to the log  in  form.  Also
   added a link to the registration page if it's shown at the submission page.
 * Added ability to include disclaimer on LOVD gene homepage.
 * Restructured LOVD gene homepage somewhat.


/*******************
 * 2.0 Beta 02
 * 2007-05-11
 *********/
 * Fixed small error in stylesheet which rendered a visited link from the footer
   in blue, which was hard to read.
 * Fixed some typos and changed wording on several forms.
 * Fixed faulty pictures of login and logout page headers.
 * Removed redundant user setting (refresh variant listings) since this  setting
   is not applicable to LOVD 2.0.
 * Added password quality check, to increase overall security.
 * Fixed typo in full legend description of the Variant/RNA column.
 * Dropped upgrade support from the development releases.  If you are running  a
   development release (from before November 30th, 2006) you need to upgrade  to
   an alpha release first, before you can upgrade to the latest beta release.


/*******************
 * 2.0 Beta 01
 * 2007-04-27
 *********/
 * Added default value to "Times reported" column on submission form.
 * Added ability for managers and curators to edit the selection list values  of
   custom columns.
 * Dropped error reporting feature. It will not be implemented in LOVD 2.0-01 so
   all related settings have been removed from the config.ini file.
 * Changed wording on the full variant listings to make  clear  that  non-public
   variants are hidden from view.
 * Added ability to link an online GenBank file to a gene. The file is currently
   not used by LOVD yet.
 * Added ability to specify whether a gene's reference sequence  is  genomic  or
   coding DNA.


/*******************
 * 2.0 Alpha 10
 * 2007-04-13
 *********/
 * Added ability to import previously downloaded tab-delimited text files.
 * Implemented #5; "Add upload functionality for files containing variants".
 * The use of $_FILES['..']['error'] makes LOVD somewhat depend on PHP >= 4.2.0.
 * Fixed bug; multiple custom links inserted in the same field caused  collision
   of the custom links.
 * Fixed bug; when editing a variant, the sorting code was not updated.
 * Added LOVD custom column "Patient/Times_reported", which is added by default.
 * Fixed bug; CURRDB->checkInputType() reported wrong value for the column name,
   and did an invalid check for the integer type, which always returned false.


/*******************
 * 2.0 Alpha 09
 * 2007-03-30
 *********/
 * Removed redundant table join from a variant listing query.  This should speed
   up the listing with high numbers of patients.
 * Optimized MySQL table indexes to greatly improve speed of variant listings.
 * Optimized MySQL query to greatly improve speed of gene listings.
 * Removed mention of Path column in the legend for the unique variant listings,
   where this column is actually absent.
 * Fixed bug; removing the Variant/Exon column from any gene resulted in a query
   error on the variant listings, due to the inability to find a sorting column.
 * Fixed bug; minor fix in how patient reference information gets printed.
 * Added icon for lovd_showInfoTable() and added ability to provide table link.
 * Added ability to download variant and patient data, including search results,
   in a tab-delimited text file.
 * The header of the variant table will be repeated every 25 variants.
 * Updated in_array(..., array_keys(...)) calls to array_key_exists(). This will
   make LOVD depend on PHP >= 4.1.0.
 * Made preparations for importing downloaded tab-delimited text files.


/*******************
 * 2.0 Alpha 08
 * 2007-03-16
 *********/
 * Added ability to report a variants' pathogenicity. The pathogenicity is split
   into 'Reported' and 'Concluded' pathogenicity.
 * Pathogenicity data is shown on variant listing and detailed variant view.
 * Added link to polymorphism table from the gene homepage.
 * Fixed bug; variant allele value was not properly mentioned in the  submission
   email.
 * Changed the standard system log sorting direction to newest to oldest.
 * The Patient/Phenotype/Disease column is no longer mandatory so that  patients
   without noticably affected phenotypes can be added to the system.
 * Fixed bug; due to a parsing error, LOVD kept checking for updates whenever an
   update was available.


/*******************
 * 2.0 Alpha 07
 * 2007-02-23
 *********/
 * Added CURRDB->hideColsByTable(), which hides Patient or Variant columns.
 * Added unique variants view,  which is the new default variant view and allows
   a better overview of stored variants.
 * Unique variants view includes search functionality, also.
 * Set stylesheet text alignment setting in data tables to 'left'.
 * Split setup_columns.php into setup_columns.php and setup_columns_global.php.
 * Fixed bug; when creating a new custom column,  the MySQL column type for text
   fields was determined using the wrong value as the maximum length.
 * Added ability to globally edit custom columns.
 * Increased the size of the LOVD update notification window.
 * Fixed bug; default sorting column of admin submitter overview was set to non-
   existent column.
 * Changed the NOT search character from - to !.  Searching for NOT 'C>T' is now
   written as "!C>T".
 * Changed allele column type and added more detailed options for this field.
 * Swapped patientid and variantid in ID-code which is passed from page to page.
   This implies direct URLs to patient/variant details need to be updated.
 * Small textual changes.


/*******************
 * 2.0 Alpha 06
 * 2007-02-09
 *********/
 * Fixed bug #12; "Selection list value lost on edit of sequence variant".
 * Fixed bug; lovd_showInfoTable() selected wrong default if  incorrect  message
   type was passed to the function.
 * Added stylesheet entry for <BUTTON> elements.
 * Added ability to create new custom columns.
 * Added  LOVD  custom  columns   "Patient/Detection/Tissue",   "Patient/Origin/
   Geographic", "Patient/Origin/Ethnic" and "Patient/Origin/Population".


/*******************
 * 2.0 Alpha 05
 * 2007-01-26
 *********/
 * Added listing of active custom patient columns to the Setup area.
 * Added detailed view of active custom patient columns to the Setup area.
 * Added ability to resort custom patient columns.
 * Added new function lovd_describeFormType() in inc-lib-columns replacing often
   duplicated code. Function also implemented in column detailed views.
 * Added ability to add pre-configured custom patient columns to LOVD.
 * Mandatory variant fields are not mandatory anymore when the variant status is
   lower than "Marked".
 * lovd_showInfoTable() now accepts third optional width argument.
 * Added ability to edit custom patient columns.
 * Added ability to remove non-HGVS compliant custom patient columns.
 * Fixed minor bug in the upgrade script that might cause data  malformation  in
   very rare cases.


/*******************
 * 2.0 Alpha 04
 * 2007-01-19
 *********/
 * Fixed bug; update icon did not work if an update was available.
 * Fixed bug; LOVD kept checking for updates under some circumstances.
 * Changed accepted output from upstream's package_update script.
 * Changed copyright notice at the bottom of each page to 2007.
 * Added ability to add pre-configured custom columns to a gene.
 * Added ability to edit custom columns within a gene.
 * When creating a new gene, the standard variant columns' Created By field will
   be set at 'LOVD' in stead of the active user's name.
 * Fixed bug; problems with viewing update information if cookies were disabled.
 * Added ability to resort a gene's custom columns.
 * Added LOVD custom columns "Variant/Type" and "Variant/Location".
 * Changed a couple of custom column's data types.
 * Selecting a new gene database now also shows the gene symbol.
 * Fixed bug; Links to other resources table on gene homepage will now only show
   if external resources are available.
 * Gene home page now shows links to the variant table and the search forms.
 * CurrDB class now accepts field name as parameter for buildFormTable() method.
 * Search forms created and linked to the existing search functionality.
 * Various small bugs and typos have been fixed.


/*******************
 * 2.0 Alpha 03
 * 2006-12-22
 *********/
 * Fixed missing files in package (gfx/mark_0.png, gfx/mark_1.png, COPYING).
 * Removed obsolete files in package (setup_cols_edit.php, setup_cols.php).
 * Disabled the edit custom column link in the Setup area for now.
 * Added listing of active custom columns to Configuration area.
 * Added detailed view of active custom columns to Configuration area.
 * Added ability to remove non-HGVS compliant custom columns from a gene.


/*******************
 * 2.0 Alpha 02
 * 2006-12-08
 *********/
 * Added INSTALL readme.
 * Implemented #2; "Add ability to empty variant table".
 * Changed upstream URL to www.LOVD.nl.
 * Fixed bug; forgot unsetting column when viewing account details as user.
 * Fixed bug; couldn't search on variant status due to a typo in the db query.
 * Changed part of the form description of the disease list on the settings form
   from "this gene" to "the available genes".
 * Added notice to the listing of available custom columns.
 * Implemented XSS vulnerability fix; implemented in all public forms  and  most
   manager forms, except for the ones containing fields really 'requiring'  HTML
   input. Fix simply refuses to receive HTML from any field. Will be implemented
   for the remaining forms in a more graceful way later on.
   Thanks to Robin Vickery for pointing out the vulnerability.
 * Changed header at LOVD Gene configuration area.


/*******************
 * 2.0 Alpha 01
 * 2006-11-30
 *********/
 * Initial release to general public.
