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

/**************************
 * 3.0 Build 03 (r288)
 * 2013-03-06
 *********/
 * Added a chapter about gene transcripts to the manual and various other minor
   additions.
 * When during import, columns are being ignored, LOVD no longer stops import,
   which was introduced in build 02.
 * Fixed notice in the import procedure, caused when uploading an empty section.
 * On forms where file uploads are enabled, the reasons for file size
   restrictions are now explained to the user.
 * Greatly improved the HGVS syntax checking on the data entry forms, which is
   instant now.
 * The HGVS syntax checking script is now also cached by the browser.
 * The MySQL password setting in the config.ini.php file is no longer mandatory.
 * Importing very large VCF files no longer result in a timeout.
 * Fixed bug; The public could not see any contents in VariantOnTranscript
   fields in the "View all variants affecting transcripts" custom viewlist due
   to an over active security feature last changed in r214 (3.0-beta-07).
 * Fixed bug; Curators could sometimes also not see contents in
   VariantOnTranscript fields of random genes in the "View all variants
   affecting transcripts" custom viewlist when the installation contained a lot
   of genes.
 * Improved the variant mapper speed, and greatly sped up the lovd_fetchDBID()
   function, which together speeds up the variant mapping by about 8-20x with 1M
   variants.
 * Fixed bug; For variants spanning the entire gene, the RNA and protein change
   prediction on the data entry form returned an JavaScript error.
 * When data overviews get too slow, LOVD automatically disables the sorting
   feature to reduce the strain on the database.
 * When data overviews take too much time to load, LOVD speeds the views up by
   determining the correct number of results only once every 15 minutes.


/**************************
 * 3.0 Build 02 (r280)
 * 2013-01-30
 *********/
 * Managers and up can now also download other user's data.
 * Fixed bug; When removing a non-shared column or when removing a shared column
   from the last target, the actual removal was not logged.
 * Fixed bug; When not allowed to remove a shared column from a target, the menu
   link for removal on the column's detailed view is now disabled also.
 * Disabled links in the dropdown menus now have their icons greyed out.
 * Fixed bug; The Configuration tab's menu is no longer shown when a curator has
   a gene selected that he/she has no rights on or when no gene is selected.
 * Added some options to the tab's dropdown menus.
 * Improved the handling of custom column removal; when removing columns you are
   advised about the deletion of data in the given column and the number of
   values that will be lost is provided.
 * JS files generated by PHP are now cached.
 * Fixed bug; In emails sent when a screening entry had been edited, the "Edited
   by" field was numeric, instead of showing the user's name.
 * Fixed bug; The "Download selected entries" option didn't work because of an
   overly strict security feature.
 * Pages belonging to the Setup area now have the Setup tab highlighted.
 * Curators and up can now download all data specific to the selected gene.
 * Fixed bug; The PubMed custom link was not activated by default for the
   VariantOnGenome/Reference column.
 * A link to the gene-specific graphs page is now also included in the Options
   dropdown menu on the gene homepage.
 * Implemented the "Empty gene database" feature, also present in LOVD2.
 * Fixed bug; Importing a file failed when mime_content_type() was not available
   in PHP.
 * When certain columns are ignored during import because they are not present
   in the database, LOVD now reports how many entries had values in these
   columns.
 * Added links to dbSNP from the VariantOnGenome/dbSNP column.
 * Due to the HGNC changing their URL schema, no new genes could be created
   starting from Wednesday, January 30th.


/**************************
 * 3.0 Build 01 (r273)
 * 2012-12-19
 *********/
 * The list of diseases presented when activating phenotype columns, wasn't sor-
   ting diseases without abbreviations correctly.
 * Fixed bug; The variant type graphs analyzed all variants for non-authorized
   users, and only the public variants for authorized users.
 * Fixed bug; In the combined data listings, the individual's owner field was
   set to the variant's owner field.
 * Fixed bug; The first disease added to LOVD would have ID 2, instead of 1.
 * Fixed bug; Genes created when importing SeattleSeq files didn't get their
   Entrez Gene and OMIM IDs stored.
 * Fixed problem with creating genes and transcripts when importing SeattleSeq
   annotated files with MySQL's strict mode on.
 * Fixed problem with creating transcripts by the variant mapper with MySQL's
   strict mode on.
 * Fixed bug; Mapping variants to transcripts not yet in LOVD failed because of
   a bug introduced in r256.
 * Fixed bug; The RNA field was not predicted when mapping variants onto tran-
   scripts not yet in LOVD.
 * Fixed notices during import of diseases without associated genes.
 * Fixed bug; Diseases imported did not have the default phenotype columns
   enabled.


/**************************
 * 3.0 Beta 12 (RC2) (r268)
 * 2012-12-10
 *********/
 * Fixed bug; The newly introduced quick curate option in beta-11 (r258) intro-
   duced a bug that made the import script ask for password verification for the
   data that was being imported.
 * Changed the data listing's help icon to "Legend" text to prevent confusion
   what it provides help for, and added explanation on top of the full legend on
   how to get the short legend texts.
 * Fixed bug; Individuals without any diseases selected could not be published
   using the quick curate option.
 * The gene-specific data listings now also mention the data owner just like
   most other data listings, and moving the mouse over the owner's name shows
   the owner's information.
 * Modified LOVD scripts to accept changed warning codes from Mutalyzer, which
   now better reflect if they match the selected gene or not.
 * LOVD now shows a sensible error message on the variant data entry form when
   the given transcript is not in Mutalyzer's mapping database.
 * When mapping variants, LOVD now also predicts the RNA field.


/*******************
 * 3.0 Beta 11 (RC1) (r264)
 * 2012-12-03
 *********/
 * Added spam protection to the submitter registration form using the
   StopForumSpam.com API.
 * Fixed bug; '0' was never checked to be a valid entry for selection lists.
 * Fixed problem with creating genes by the variant mapper with MySQL's strict
   mode on.
 * Added warning to the VCF import form that we don't support importing
   deletions or insertions using VCF format 3.3 or lower.
 * Fixed bug; The variant mapper miscalculated the progress percentage of all
   runs except the first.
 * Added support for XR reference sequences.
 * Included version 3.0-beta-11 of official LOVD Reference Sequence Parser
   script.
   - Added support for transcripts other than NM transcripts.
 * A gene database's version is only shown on the gene homepage when the
   database already has an "updated" timestamp.
 * Fixed bug; The "Sort curators" page never showed any error messages when no
   curators were selected to be shown on the gene homepage, even though the form
   was blocked for submission.
 * Fixed bug; When the "Sort curators" page was submitted, but errors were
   encountered, all curators were shown as hidden and could not be reselected
   without restarting the form.
 * The "Sort curators" page no longer shows collaborators.
 * Fixed notices in import script when sections had been left out of the import
   file.
 * Fixed bug; When leaving the allele value empty in the Variants_On_Genome
   section, a query error occurred. Now, LOVD will assume a default value.
 * Added color coding to the status field on the detailed views of entries that
   have a status.
 * On the VariantOnGenome, Screening and Phenotype detailed views, the
   individual's status is also shown and color coded.
 * From the VariantOnGenome, Individual and Phenotype detailed views, you can
   now directly publish (curate) an unpublished entry by using the publish
   (curate) option in the Options menu.
 * The phenotype data listings now also show the status column for those allowed
   to see it.
 * Fixed bug; In emails sent when an entry had been edited, the "Edited by"
   field was numeric, instead of showing the user's names.
 * Fixed awkward non-standard order of the "Data status" field in the submission
   emails.
 * The users list now shows which users already have their ORCID ID filled in,
   and you can now sort on username.
 * Fixed bug; When LOVD could not send an email, the error was logged twice.
 * Fixed bug; DB IDs for ORF genes with additional letters after their number,
   such as CXorf40A, were always considered incorrect.
 * Fixed bug; After resorting or filtering the list of enabled phenotype columns
   for a certain gene or disease, the links would stop working.
 * The individual's detailed views now also show phenotype entries related to
   diseases the individual is not or no longer linked to.
 * Added missing form help text to the VariantOnGenome/DNA field.
 * Added Documentation tab, where you can find the latest LOVD 3.0 manual, which
   is still work in progress.
 * When moving the mouse over a column's header in a data listing, a short text
   describing the meaning of the column pops up. This has been implemented for
   all custom columns, and some fixed columns.
 * Data listings with a legend, now show a help icon if the pagination has been
   activated, which opens the full legend.
 * Removed the "date edited" column from the screenings listing, since no other
   listing showed that column.
 * Fixed bug; Data that got owned by LOVD for whatever reason, was automatically
   assigned to the user first in the alphabetic user list when editing.
 * Fixed bug; In emails sent when an entry had been edited, the "Data owner"
   field was only shown when this was not the person editing, even though the
   owner may have been changed in the edit.


/*******************
 * 3.0 Beta 10
 * 2012-11-13
 *********/
 * Fixed bug; The import page would sometimes hide error messages and say there
   was nothing to import.
 * Unset option from the Configuration tab menu when not available because no
   gene is selected.
 * Fixed bug; When disabling a shared column in only some objects, the log entry
   mentioned an incorrect number of objects.
 * Fixed bug; The fields on the variant create and edit forms were checked in a
   different order than how they are displayed, which may cause confusion when
   reading the error messages.
 * On a user's detailed view, the number of genes he/she curates or is
   collaborator for, is now printed in the field's header.
 * Added basic ORCID ID integration; while registering as a submitter or when
   creating a new user account for somebody else, you can provide an ORCID ID
   which is used to prefill as many fields of the registration form as possible.
   The ID itself is stored for later use.
 * Changed "Segregates with disease" to "Segregates with phenotype".
 * Fixed bug; The XSS check protecting fields from unauthorized HTML injection
   should not have been applied to the 'description_form' field when editing
   shared columns, since it's not applied when creating the column, either.
 * Fixed bug; Submitter registration emails were sent to the database
   administrator always, even if he indicated not wanting them.
 * After registering a submitter account, you are now forwarded to your account
   details instead of the gene list.
 * When creating a new user, you can have the account details mailed to him/her.
 * Added support for non-coding genes with NR transcript reference sequences.
 * Fixed bug; Transcripts could not be added to variants not HGVS compliant on
   genomic level.
 * Fixed bug; Importing would fail if spreadsheet programs had put quotes around
   the file section's headers.
 * Fixed notices while importing files without section headers.
 * Fixed bug; When the import script finds less columns in a section than
   expected, the missing columns are now defaulting to an empty field, instead
   of generating error messages.
 * Updated jQuery from 1.7.1 to 1.8.2 and jQuery UI from 1.8.18 to 1.9.1, also
   adding the 'dialog' widget and its dependencies.
 * Newly registered users are shown a message dialog hinting where to start
   submitting new data.
 * Rephrased and changed some pages in the submission process, hoping to make it
   more clear to new users.
 * The variant data entry forms now have links to the HGVS nomenclature pages
   from the DNA, RNA and Protein change description fields.
 * Changing a gene database's contents now actually updates the
   "Last updated by" and "Date last updated" fields (importing new variants
   through SeattleSeq or LOVD3 format, creating a new variant, editing a
   variant, deleting a variant, changing the mapping of a variant).
 * Added new custom link: DOI.
 * Fixed inconsistency of the PubMed custom link's description between LOVDs
   older than 3.0-beta-06 or newer.
 * Fixed bug; Wrong DBIDs were predicted because of a bug introduced in r221
   (3.0-beta-08) that should have prevented exactly that.
 * The 'Human-readable reference sequence location' field on the gene data entry
   form now also allows local URLs.
 * Links to the reference sequences from the gene homepage are now opened in a
   new window.
 * The gene homepage and the transcript detailed page now also link to the exon/
   intron information tables, if these are available. Other fields have also
   been added to the gene homepages.
 * Included version 3.0-beta-10 of official LOVD Reference Sequence Parser
   script.
   - When selecting the gene and transcript to work on, the list of transcripts
     is now sorted on NCBI ID.
 * Fixed bug; When manually mapping an unrecognized variant to a transcript,
   LOVD would return a query error.
 * Fixed notices shown when the "effectid" field was missing during import of
   variants. This also triggered an error message too many.
 * Added default values for the columns "effectid" and "mapping_flags" in the
   import script.
 * Fixed bug; During import, the created_* and edited_* defaults were only put
   in place when the columns were defined in the input file.
 * Ported the LOVD 2.0 RESTful API to LOVD 3.0, maintaining the same URL
   structure.
 * Added links from the gene homepage to the UCSC genome browser, the Ensembl
   genome browser, and the NCBI sequence viewer.  Those who support it, show the
   variants currently in the LOVD database as a separate track.  From the track,
   links are provided to point back to the corresponding entry in LOVD.
 * Added links to the download and import pages in the Setup tab dropdown menu.


/*******************
 * 3.0 Beta 09
 * 2012-10-11
 *********/
 * Fixed bug; The list of variant screenings on the individual's detailed view
   had gene symbols repeated in the "Genes screened" column, if more than one
   variants had been found.
 * Fixed notices after file import.
 * When an individual has not been screened for variants, the "no screenings
   found for this individual" message is simply hidden.
 * We're now nicely handeling diseases without abbreviations in the individuals
   listing and detailed view, the gene's full data view, the gene homepage, and
   the gene and individual data entry forms.
 * When data is updated, the mail sent by LOVD now has a subject different than
   that of newly submitted data, so those mails can easily be identified based
   on their subject.
 * Users being curator for many genes didn't have all genes shown on their
   account page, because of a default MySQL maximum length setting. LOVD now
   increased this maximum length, but the list is collapsed by default to keep
   the page short.
 * Fixed bug; LOVD 3.0-beta-08 was actually non-installable due to a change in
   table structure while the installation process was not updated accordingly.
 * LOVD is now also installable with MySQL's strict mode on.
   Closes #17: "installation error LOVD".
   (thanks to Hana Lango Allen, University of Exeter, UK, for reporting)
 * Diseases bearing the same name are no longer allowed.
 * After deleting a phenotype entry, you will be forwarded to the individual's
   detailed view.
 * Fixed bug; Creating a personal data download for a user without submitted
   data, generated an error.
 * Fixed bug; In a full data download the Variants_On_Transcripts section also
   contained data from the Variants_On_Genome section.
 * Fixed bug; An owner of a screening could not be changed by editing the field.
 * Implemented first version (alpha) of the data import feature. This requires a
   new format compared to LOVD 2.0, that can be obtained by making a full data
   download from the LOVD setup area. Currently implemented is an "insert all"
   mode that regards any data in the file as new, and tries to import it.


/*******************
 * 3.0 Beta 08
 * 2012-09-05
 *********/
 * Added the "Switch gene database" icon to the LOVD header; it will only be
   shown where appropriate.
 * Fixed bug; Under some circumstances, searching for active columns didn't show
   all active columns in the overview.
 * Implemented the gene-specific page header & footer.
 * Fixed bug; The gene's "Text for own disclaimer" and "Notes for the LOVD gene
   homepage" were not rendered as HTML enabled.
 * Fixed bug; The lists of diseases on the individual and gene data entry forms,
   are now sorted on value instead of ID.
   The list on the individual's data entry form is also now bound to a maximum
   width, to make sure that long disease names don't stretch the form anymore.
   The list on the gene's data entry form was already restricted in width.
 * A gene's full data view now also shows whether an individual is a panel
   (group of individuals) or not.
 * Fixed bug; The individual's panel_size is now taken into account on the gene
   homepage's individual count.
   (thanks to Anne Polvi, University of Helsinki, Finland, for reporting)
 * Fixed bug; Submitters couldn't edit their own variants, if these were linked
   to transcripts also. Curators had problems editing variants that were linked
   to other genes as well as one of their genes.
 * Included version 3.0-beta-08 of official LOVD Reference Sequence Parser
   script.
   - Fixed some small mistakes in the format of the reference sequence parser's
     index file HTML output.
   - Fixed problem in parsing the reference sequence ID out of the file.
   - Will now also work behind a proxy server or with PHP's fopen wrappers off.
 * Improved some texts on data entry forms to improve clarity.
 * Proxy servers requiring Basic authentication are now also handled correctly;
   a username and password can be set in the LOVD system settings.
 * Curators were not able to delete any data, although links to do so were shown
   in the menu.
 * The email sent after a submission now also contains the names of the Curators
   and/or Managers that have received the email, so that it's easier to track if
   the mail has been forwarded.
 * Fixed bug; The checkbox "Have variants been found?" in screening create &
   edit forms didn't work anymore.
 * It is now possible to add a phenotype to disease "Healthy/Control".
 * The whole submission workflow has been changed.
 * Added a "Cancel" button to all forms when you are in the middle of a full
   submission.
 * Link to "Unfinished submissions" has been added so you can see unfinished
   submissions.
 * The individual viewEntry now contains a list of diseases and the diseases
   viewList below has been removed.
 * Added some new options to the tab menu and fixed the occasional disappearance
   of older ones.
 * Fixed bug; LOVD no longer predicts & fills in a DBID for you which produces
   an error on the form.
 * Fixed bug; The backslashes issue in the URLs of some installations has now
   been fixed.
 * Fixed bug; The menu below the gene homepage no longer produces a JavaScript
   error when "Create human-readable refseq file" is clicked in Internet
   Explorer <= 7.
 * Fixed bug; Uploading variants would make LOVD lose the currently selected
   gene.
 * Fixed bug; Curators and Collaborators can now also see the variants for which
   they have viewing rights in the genomic variant viewlist.
 * Added color highlighting for marked and non-public entries in viewLists.
 * Fixed bug; The search fields on custom columns no longer produce an
   unexpected "Bad syntax error".
 * It is now possible to add and remove custom columns to the "Healthy/Control"
   disease.
 * When hovering your mouse over a search field, the current search expression
   will be explained in more detail in the popup.
 * No longer possible to add both a disease AND "Healthy/Control" to a
   individual.
 * Changed all viewEntry options to the new Jeegoo menu implementation.
 * Curators can now create diseases, but can only do so when they connect them
   to their own gene(s).
 * Curators can now edit diseases, but can only do so when they are connected to
   their own gene(s).
 * Curators can now remove diseases, but can only do so when they are not
   connected to other genes than their own gene(s).
 * The screenings & individuals pages now have gene specific page, which shows
   the entries that have been screened for the currently selected gene.
 * Mails are now being sent to the appropriate users after an edit of data.


/*******************
 * 3.0 Beta 07
 * 2012-07-26
 *********/
 * You can now open the Mutalyzer prediction page from the variant data entry
   form, by clicking on the mark besides the protein field after a successful
   prediction has been run.
 * LOVD 3.0 can no longer be configured for hg18, but existing installations
   will still be supported.
 * Fixed some typos and textual changes.
 * The quick download format for data lists are now only available for properly
   authorized users.
 * Included version 3.0-beta-07 of official LOVD Reference Sequence Parser
   script.
   - Compared to LOVD 2.0, the greatest improvement is that this script
     downloads the reference sequence from Mutalyzer, and therefore no longer
     requires GenBank files to be uploaded to LOVD.
   - It does not support generating GenBank files, like in LOVD 2.0.
 * When searching for a gene symbol on the "Create a new gene" form, LOVD now
   also searches for aliases if no match is found.
 * From the gene data entry form, you can now open a new window to create new
   disease entries.
 * From the individual data entry form, managers can now open a new window to
   create new disease entries. Other users get a note that they can include a
   missing disease in the individual's remarks field, such that a manager can
   configure the requested disease in the LOVD.
 * Fixed bug; Internet Explorer users couldn't configure new curators for genes
   or use the Mutalyzer mapping / variant checking features.
 * Improved the full download format; it now includes more data (genes,
   transcripts, and diseases), and also includes the relationships between
   individuals and diseases, screenings and genes, and screenings and variants.
 * Submitters are no longer allowed to add submissions without adding individual
   data also.
 * Fixed bug; Curators could not open the detailed view of a variant's effect on
   transcripts if the variant was non-public, even though the variant lies
   within one of their genes.
 * Fixed bug; On a disease's detailed view, in the list of genes the disease is
   linked to, genes without an OMIM ID were left out.
 * When there is an LOVD update available, this is now displayed in the Setup
   area.
 * Added the LOVD Configuration area; just like in LOVD 2.0 it serves as a gene-
   specific starting page for curators.
 * The Status column has been added to more data overviews, if the user is
   authorized to see this column.
 * The Phenotype/Inheritance column is now HGVS standard and enabled by default
   for new diseases.
 * You can now tag healthy controls as such by applying the "Healthy/Control"
   disease to the individual in question.
 * Fixed bug; A zero is now valid input for a mandatory column.
 * Fixed bug; If a multiple selection list contained a value of zero, it was
   incorrectly selected by itself due to some PHP strangeness.
 * Several gene's fields are now HTML enabled; Text for own disclaimer, Page
   header, Page footer, Notes for the LOVD gene homepage, and Notes for the
   variant listings.
 * On a user's detailed view, the genes this user is curator or collaborator of,
   are now clickable. A curator or collaborator may now also see which genes he/
   she is collaborator of.
 * Fixed bug; Invalid search expressions caused one or two PHP errors as well as
   generate a normal LOVD error message.
 * If Mutalyzer is having problems, the HGVS syntax checker no longer claims the
   variant's syntax is not correct.
 * Fixed some PHP notices in variants.php.
 * Updated descriptions, legends and sometimes types of all custom columns.
   Only some of these changes will also be applied to existing installations.
 * Added new custom column: Phenotype/Additional.
 * Fixed some PHP notices and two display bugs in the "Add transcript to gene"
   process.
 * Protein prediction on the variant create and edit form can now return
   multiple warnings/errors returned by Mutalyzer.
 * Fixed bug; The check on the DBID during variant create/edit now only accepts
   gene symbols that are actually present in the LOVD.
 * Fixed bug; In some cases the variant create/edit forms would give a
   javascript error.
 * Fixed bug; Since Mutalyzer changed how upstream/downstream positions are
   described, protein predictions could produce weird errors.
 * Status columns are now automatically hidden if the users do not have all view
   privileges on that entry.
 * Implemented the "Show contents to public" and "Show field on submission form"
   options for custom columns, so that they are actually hidden when deselected.
 * Variant DBID's kan now only be filled in by Curators, Managers and
   Administrators.
 * The OMIM ID field now has a check to ensure that the number is 6 digits and
   that the first digit is at least a 1 or higher.


/*******************
 * 3.0 Beta 06
 * 2012-06-22
 *********/
 * Custom column detailed views didn't render the legend fields correctly, if
   they contained multiple lines.
 * Clarified on the custom column data entry forms that the legend fields can
   contain HTML.
 * From a disease's detailed view you now also have the option to see all
   available phenotype custom columns.
 * Properly removed the column editing errors given when the custom column's
   legend fields contained HTML. Also the regular expression pattern is no
   longer checked for HTML contents.
 * Fixed bug; When importing data from a SeattleSeq annotated file, data for the
   "DistanceToSplice" column was not stored.
 * Added new custom columns: Individual/Age_of_death, Individual/Death/Cause,
   Phenotype/Age and Phenotype/Length.
 * When importing VCF or SeattleSeq files, the number of successfully imported
   variants is now mentioned when importing is done. Also, you will get an error
   message when no variants were imported. LOVD will no longer throw PHP errors
   when a non-VCF file is being imported.
 * The gene's disclaimer has been moved to the far bottom of the gene home page.
 * Fixed bug; A gene's human readable reference sequence can now actually be
   clicked and opened from the gene home page.
 * Improved PubMed custom link help text.
 * Implemented the new dropdown menu at the user's and variant's detailed views,
   instead of one long row of links.
 * Included links to the UCSC and Ensembl genome browsers from the variant's
   detailed view dropdown menu.
 * Implemented the full data download from the setup.
 * When viewing your own account details, from the options dropdown menu you can
   download all of your submitted data.
 * Implemented a first set of graphs displaying information about the variant
   types in a gene database.
 * The genomic DNA change field now shows the used genomic reference build on
   the form.
 * Fixed notices when submitting without internet connection.
 * Fixed bug; After submission the user was also forwarded to the data overview
   if the submission email could not be sent.
 * The custom column's "Notes on form" fields are now HTML enabled also, and
   support newlines.
 * Fixed bug; Custom columns added by the system automatically were reported as
   not active yet on their detailed view.
 * The two DNA columns (genomic & transcript) now have a distinct header to more
   clearly indicate which is which.
 * Added the LOVD status page. Since most of the information that was on the
   status page in LOVD 2.0 can now be seen elsewhere in LOVD, some graphs were
   created with various statistics.
 * LOVD now sends the correct charset through (as an HTTP header), regardless of
   the web server settings.
 * Fixed bug; LOVD did not handle well when the mutalyzer webservice generated a
   serious fatal error.
 * Databases created on a certain date with time set to 0, will now only show
   the day and not the time.
 * Fixed bug; NR_ numbers did not work properly in the mapping of a variant on
   the variant forms.
 * Fixed bug; Transcripts without an NM or NR accession number are now no longer
   addable to LOVD.
 * Fixed bug; Adding transcripts to a gene would sometimes produce notices when
   some of the transcript information was not available.
 * Fixed bug; LOVD did not insert NULL into the database on empty DECIMAL
   columns.
 * Fixed bug; With some specific PHP versions on some systems, detailed data
   views would unexpectedly throw a "No such ID!" error message.
 * Fixed bug; UNSIGNED on a DECIMAL column was ignored by LOVD.
 * Fixed bug; Searching on a DECIMAL UNSIGNED column in a viewList would be
   treated as a text search instead of a number search.
 * Fixed bug; Added the full base URL to all javascript calls using a URL, so
   that they all work even in IE.
 * Fixed bug; Fixed some errors where the XML functions would produce in some
   occasions.
 * Added a variant checker and protein change prediction button to the variant
   forms, this is also automatically run when clicking the "Map variant" button.
 * Changed the variant create & edit forms so that all transcript variants are
   shown first and the genomic variant at the end of the form.
 * Fixed bug; Fixed authorization issues that didn't allow some users to finish
   a submission properly.
 * Changed all remaining lovd_queryDB_Old() & mysql_*() function calls to their
   PDO counterparts.
 * Changed the option menu when creating a variant, to promote the submission of
   variant data linked with a gene.
 * Manual mapping of a variant now fills in the correct DBID when the variant
   has already been succesfully mapped before.
 * Added a functionality that will first check if all transcripts have positions
   in the database. If not it will fetch them and update the transcript entries
   before starting the mapping.
 * Fixed bug; LOVD could not handle g.? or c.? very well.


/*******************
 * 3.0 Beta 05
 * 2012-05-16
 *********/
 * Implemented PDO in lovd_queryDB() calls in columns.php.
 * Fixed bug; The gene's external link field accepted input that did not result
   in a proper link.
 * Implemented a dropdown menu at the gene's and disease's detailed views,
   instead of one long row of links.
 * Fixed bug; The new template class was not activated correctly in objects.php
   and object_transcript_variants.php.
 * Fixed bug; PDO was not implemented completely in LOVD_Objects::loadEntry()
   and LOVD_Transcript_Variants::loadEntry().
 * From a gene's or disease's detailed view, you can now view a list of its
   active columns. From there you can also change the order in which the columns
   are shown in the system. Clicking a custom column leads to a detailed page
   about the column's settings for that gene or disease. These settings can now
   also be edited.
 * From the custom column's list, you can now easily select only a specific
   category of columns.
 * Fixed bug; One of the changes made in 3.0-beta-04 to the dropdown menu script
   had adverse side effects, so it was reverted.
 * Fixed bug; On some PHP versions, PDO was not capable of inspecting the LOVD
   installation using a prepared query, resulting in an error.
   Closes #10: "error in PDO".
   Closes #12: "LOVD3 test Edit custom data column Phenotype/Inheritance"
   (thanks to John-Paul Plazzer, Royal Melbourne Hosp. Australia, for reporting)
 * Fixed bug; The Phenotype/Inheritance columns was too short for its contents.
 * Fixed bug; When enabling a column for an empty table, LOVD thought an error
   had occurred.
 * Fixed bug; When removing a shared custom column, providing the target was not
   mandatory. When left empty, LOVD returned a bunch of errors.
 * Enabled a menu for authorized users to the data listings of columns,
   diseases, genes, individuals, logs, screenings, transcripts, users, variants
   and views, which by default allows downloading the data shown.
 * The list of log entries now also supports deleting multiple log entries at
   once, through the new menu.
 * Fixed notice when editing a custom column's default settings.
 * Fixed bug; When removing Log entries, the empty search fields above the table
   could not be used anymore until the page was refreshed.
 * Fixed bug; When confirming variants with another screening, Internet Explorer
   showed all variants in the system instead of all variants in the individual.
 * Fixed bug; The "Select all" and "Select none" options in the viewlist menu
   didn't work on Internet Explorer.
 * Fixed bug; Curators could not add custom columns to their genes since their
   authorization was not loaded properly.
 * Fixed bug; The update checker returned errors if no diseases were configured
   in the database yet.
 * Fixed bug; When the MySQL database didn't exist, you would get a fatal error
   instead of an informative error message.
 * Improved user create & edit form by adding explanation on how to create
   curators.
 * Fixed bug; Protein description prediction during automatic mapping now
   returns a p.? instead of a p.= when mutalyzer predicts it is a variant
   affecting splicing.
 * Removed custom links from `VariantOnGenome/DBID` and all custom columns that
   are not text columns and made it impossible to add them again to these
   columns.
 * Now the tooltip of multiple select fields are automatically appended with
   basic information how to select multiple items.
 * "Description on full legend" & "Description on short legend" of custom
   columns can now also contain HTML.
 * The javascript errors on IE <= 7 in viewLists are now fixed.
   Closes #11: "Javascript errors in IE 7 on viewLists".
 * Rewrote columns/<columnID>?add & columns/<columnID>?remove to make it cleaner
   code-wise and more user-friendly.
 * Added the possibility to send a target through the URL to both
   columns/<columnID>?add & columns/<columnID>?remove.
 * Fixed bug; Changed all javascript links to absolute URLs, because IE does
   not respect the BASE tag.
   (thanks to Chris Watson, St. James's Univ Hospital, Leeds, UK, for reporting)
 * Fixed bug; The variant create & edit forms no longer produce an error despite
   having filled in a valid dbSNP number or DBID in the `VariantOnGenome/dbSNP`
   and `VariantOnGenome/DBID` field correctly.
 * Implemented the option of also removing variants when deleting a screening or
   an individual.
 * Redirect from login now has an extra check built in to prevent the user from
   being redirected to something that could potentially harm the LOVD.
 * Reply-To: in the email headers is now always added properly.
 * Users can now only edit the status and owner of their data if they are also
   curator of the gene the variant is mapped to. Managers and Database
   administators are the only ones that can do this for genomic variants.


/*******************
 * 3.0 Beta 04
 * 2012-04-25
 *********/
 * On the bottom of the user's ViewEntries, visible for managers and up, we have
   added a log entry ViewList with log entries linked to the user.
 * Fixed bug; Variants imported from VCF and SeattleSeq files were sometimes
   incorrectly described as inversions.
 * Automatic mapping will now create several gene entries if a single variant
   can be mapped onto more than one gene.
 * Automatically mapped variants now get a VariantOnTranscript/Protein
   description.
 * Variants imported from VCF files will now get DB-ID's even if automatic
   mapping has been turned off.
 * Fixed bug; the automatic mapping script would crash with a PHP fatal error if
   it tries to get gene information from the HGNC for a deprecated gene symbol.
 * Fixed bug; The "make standard" AJAX call made from the SeattleSeq import form
   did not actually make the column standard because of a problem in the call.
 * Fixed bug; Submission emails sent out by LOVD by users with more than one
   email address, had the additional addresses in the body of the email.
 * Fixed bug; The /transcripts/GENE URL also showed transcripts for genes with
   symbols starting with the requested gene symbol.
 * Fixed bug; The number of variants shown in the individuals listing, showed
   the number of variants found in the first screening instead of the total
   number of variants found.
   (thanks to Chris Watson, St. James's Univ Hospital, Leeds, UK, for reporting)
 * Fixed bug; The custom column data type wizard was resetting a textarea's size
   to 40 every time the wizard ran.
 * Implemented PDO in all remaining lovd_queryDB() calls in genes.php,
   logout.php and users.php.
 * Fixed bug; LOVD's REST2SOAP library was throwing errors on older PHP versions
   while parsing XML files.
 * Fixed bug; After a SeattleSeq import, the final overview given didn't show
   all imported variants (although import was successful).
 * Fixed bug; When not logged in, no variant descriptions on transcripts could
   be viewed.
 * SeattleSeq import will now describe variants as p.(=) only if they are more
   than 10 bases away from the nearest splice site.
 * Fixed bug; the "External links" field could not be filled in with link
   descriptions, because the XSS security check didn't allow it.
 * Fixed bug; lovd_checkXSS() was not properly protected against XSS itself.
 * Cleaned up the gene homepage, which had way too many columns enabled.
 * Fixed bug; Fixed the bug that searching in a
   (created|edited|updated|owned)_by column would result in an invalid search
   syntax error.
 * Fixed bug; Sometimes the footer would not be included when an error occurred.
 * Fixed bug; Now preventing javascript injection in the custom columns data
   type wizard.
 * Implemented confirmed variants into the submission mail process.
 * Now writing to log if the mail to the curator(s) failed at the end of a
   submission and also added a notification of the error to the user.
 * Added some checks to screenings?confirm so that users cannot confirm variants
   when they are not allowed.
 * Added some examples to the standard custom link descriptions.
 * Renamed `VariantOnGenome/DNA_published` to `VariantOnGenome/Published_as` &
   `VariantOnTranscript/DNA_published` to `VariantOnTranscript/Published_as`.
 * Changed the page the user goes to when a column is enabled or
   removed/disabled.
 * Fixed bug; No longer able to view data that you are not authorized for in
   viewEntries.
 * Split screenings?confirm in screenings?confirmVariants and
   screenings?removeVariants.
 * Added automatic trimming of whitespaces in some SQL queries.
 * Implemented a proper error handling for emails.
 * Added the custom columns `Individual/Consanguinity`, `Phenotype/Date`,
   `Phenotype/Inheritance`, `VariantOnGenome/Genetic_origin` and
   `VariantOnGenome/Segregation` to the standard available set of columns.
 * Added allele and variant effect columns to some of the variant views.
 * Fixed bug; Fixed a fatal error saying the function called array_replace does
   not exist, because it is not available before PHP 5.3.0.
 * Fixed bug; Fixed an issue where NULL values would not be stored properly in
   the database.
 * Fixed bug; The check on DBID would, in some cases, throw an error on a DBID
   that LOVD just predicted.
 * Fixed some usability issues with the tab menu.
 * Increased the width of the tooltip, so that in some places parts of the
   tooltip don't disappear at the bottom edge of the page.
 * Added the allele field to some variant viewLists.
 * Fixed the variant counts in the genes viewList.
 * Leaving the proxy_port empty during install, would cause it to be stored as 0
   instead of NULL in the database, this is now fixed.
 * Changed all implementations of `VariantOnGenome/DBID` so that it can only
   contain the DBID itself and nothing extra.
 * Changed the column order on the gene homepage and changed the homepage url
   & external url fields to actual clickable links.
 * Now does not show some columns in the gene homepage when they are empty or
   when the user's level is not high enough.
 * Activated the Phenotype & VariantOnTranscript standard custom columns during
   installation.
 * Added a few variant statistics to the gene homepage and fixed the variant
   statistics on the gene viewList.


/*******************
 * 3.0 Beta 03
 * 2012-03-28
 *********/
 * Implemented PDO in all remaining lovd_queryDB() calls in check_update.php,
   class/object_columns.php, class/object_genes.php,
   class/object_genome_variants.php, class/object_individuals.php,
   class/object_phenotypes.php, class/object_screenings.php,
   class/object_users.php, diseases.php, inc-auth.php, inc-init.php,
   inc-lib-init.php, individuals.php, install/index.php, login.php, settings.php
   and setup.php.
 * Fixed bug; ViewLists without page controls could not be sorted anymore since
   Beta-02.
 * Finished correcting the stats calculations in check_update.php.
 * Fixed bug; When trying to assign Panel ID 0 to an individual, LOVD returned a
   query error.
 * Fixed bug; On slower machines, LOVD could run into the maximum execution time
   during installation.
 * Fixed bug; LOVDs which were not correctly installed, for instance because the
   configuration step was skipped, could not be uninstalled.
 * Fixed bug; LOVD 3.0 could not connect to external sources through a proxy
   server.
   Closes #3: "Allow LOVD to work behind a proxy".
   (thanks to Susan McCafferty, University of Glasgow, UK, for reporting)
   (thanks to Chris Watson, St. James's Univ. Hospital, Leeds, UK, for testing)
 * Fixed bug; When incorrect MySQL data was filled in the config.ini, LOVD would
   now show a correct error message on the screen.
 * Fixed bug; lovd_matchURL() didn't correctly parse the given URLs that could
   result in false positives or false negatives.
 * Fixed bug; The email sent after a submitter registers, did not contain a
   proper link directly to the user's profile.
 * The email forwarded to the admin after a submitter registers, now has a
   proper Reply-To header.
 * Fixed notice directly after a submitter registers.
 * Fixed bug; "Not authorized" messages would include the header even if the
   "clean" header was already included before.
 * Fixed bug; On servers where MySQL had the ONLY_FULL_GROUP_BY setting enabled,
   custom columns could not be edited nor enabled.
 * Fixed bug; lovd_isAuthorized() returned false for users lower than managers
   when authorizing for variants, individuals, phenotypes and screenings.
 * Slightly optimized lovd_isAuthorized().
 * Fixed bug; It was not possible to activate the "Forward messages to database
   admin" or "Enable submitters to change data" settings.
 * Include the new Template class, that will soon replace inc-top.php,
   inc-top-clean.php, inc-bot.php and inc-bot-clean.php.
 * Implemented it in columns.php.
 * Fixed bug; ViewLists would throw an JavaScript error in some cases.
 * Fixed bug; DBID would not be predicted correctly in some cases.
 * Fixed bug; Searching for time on a DATETIME column would result in a Bad
   Syntax message in viewLists.
   Closes #8: "Searching a DATETIME column does not accept time input".
 * Made some layout changes to the list of current curators/collaborators for a
   gene.
 * Implemented better messages when a viewList does not return any entries.
 * Added a button to the viewEntry of variants that links to
   variants/<variantid>?map, where the user can add/remove transcripts on which
   the variant gets mapped on.
 * Fixed bug; Internal transcript start and stop positions that are pulled from
   mutalyzer were not correct.
 * Fixed bug; When clicking on a separator line in the tab menu, LOVD would
   redirect to /undefined, which would result in a 404 error.
 * Fixed bug; If LOVD was upgrading to a newer version, when redirecting back
   to the page where the user came from some pages would throw an error.
 * Added the "Imprinting" column to the genes pages & forms.
 * Implemented a delete column feature, that can remove a column from the
   installation after it has been disabled/removed from all data.
 * Fixed bug; Page navigation now reverts to the highest possible page, when a
   page is requested that is too high.
 * Added the possibility to add checkboxes to all entries in a viewList and a
   menu that allows you to perform actions to these entries.
 * Implemented a functionality to confirm ealier found variants with a
   screening.
 * When removing a transcript from the variant descriptions LOVD will show a
   warning when the red cross is clicked.
 * Added the option to import VCF files and SeattleSeq annotated files.
 * Variants on genomic level, such as variants imported with VCF files, can be
   mapped automatically to the genes in the database. Also, the uploader can
   choose to have LOVD create genes automatically, if imported variants are in
   a gene region.
 * Added an option to search for a certain variant in other LOVD databases.


/*******************
 * 3.0 Beta 02
 * 2012-02-09
 *********/
 * Went through the entire 2Do.txt file to resort the new priorities after
   3.0-beta-01.
 * The installation process now checks if MultiViews or mod_rewrite (or
   something equivalent on non-Apache servers) is activated. It also checks for
   the PHP function xml_parser_create().
   Closes #4: "Problems running LOVD 3.0 on Windows 7/WampServer 2.0".
   (thanks to John-Paul Plazzer, Royal Melbourne Hosp. Australia, for reporting)
 * Updated the INSTALL.txt to reflect this.
 * Removed link to LOVD status page for now since we haven't implemented it yet.
 * When resorting a ViewList, the list will return to the first page.
 * When there is only one user in the database, after creating a gene you are no
   longer forwarded to the "Add curator" page.
 * Fixed display problem with the disease entry form when there are genes with
   long names.
 * Fixed bug; Searching for !="" still showed entries with empty values in the
   specified column.
 * Fixed bug; Searching for values in custom columns used the slower HAVING SQL
   syntax instead of the optimized WHERE syntax.
 * When searching for negative matches (e.g. "!DMD" which means "does not match
   DMD"), the NULL values were ignored and not returned.
 * Fixed bug; The progress bar shown while upgrading did not calculate the total
   work correctly, making a weird "jump" at the end.
 * Fixed accidentially changed field length for the VariantOnGenome/Frequency
   field.
 * Fixed bug; The checks on the Panel ID field were not adequate.
 * Fixed bug; When running the data type wizard twice on the same form, the pre-
   vious values were not remembered.
 * Fixed bug; The data type wizard didn't remember the form type of the Decimal
   type column.
 * Fixed notice when creating two PDO connections.
 * Fixed bug; SOAP moduleCall()s would produce warnings when lovd_php_file()
   returned false on a failed SOAP request.
 * Fixed bug; Genes were not editable.
 * LOVD 3.0 now requires the PHP mbstring extension to be on.
 * After changing the page size on a viewList, the page number now always resets
   to 1.
 * Added links in the screenings tab dropdown to the custom columns overviews.
 * Added some icons in the dropdown menus.
 * Fixed bug; Fixed a notice from the custom column create form.
 * Added a progress bar in custom column delete.
 * Fixed bug; Fixed missing permission checks in various parts of LOVD.
 * Fixed bug; The variant create and edit form would give a notice if a variant
   could not be recognized/mapped by mutalyzer.
 * The buttons "Add a variant to this screening", "Add a screening to this
   individual" & "Add a phenotype to this individual" are now only visible when
   the user is the owner of the data, curator or higher.
 * You can now specify that no variants were found with a particular screening.
 * Now a user is only able to select up to 15 genes that have been screened in
   the screenings create & edit forms. For genome-wide analysis no genes should
   be selected.
 * Fixed bug; The DBID was not properly predicted in some cases.
 * Fixed bug; When creating a gene, there were in some specific cases no proper
   checks if the gene was already present in the database.
 * Removed the separator line in the tab menu's when there are no items after
   it.
 * Added some mod_rewrite rules that we had forgotten to add before.


/*******************
 * 3.0 Beta 01
 * 2012-01-31
 *********/
 * Fixed bug; Sometimes transcripts where shown under a gene's detailed view
   that belonged to genes with only a similar name.
   Closes #6: "showing active transcripts".
 * Fixed bug; Password reset tried to send an email even if the user was unknown
   but it threw a PHP error instead. Also, you can no longer check if a username
   exists by using this function.
 * The default page size for the viewList used to select curators is now 10.
 * Fixed notices in columns.php.
 * Fixed bug; Removing a VariantOnTranscript column that has been added to many
   genes resulted in a very long selection list.
 * Fixed bug; The row links from the view/GENE viewList were not correct.
 * Fixed weird display of the view/GENE viewList when no transcripts or variants
   are available.
 * Added a column with the individual's disease(s) to the view/GENE viewList.
 * Added icons on the LOVD Setup page.
 * Increased required MySQL version to 4.1.2.
 * Added a user called LOVD for usage in (created|edited|updated)_by columns in
   case of LOVD making changes to the database itself.
 * Fixed bug; The display for checkbox custom columns was not working properly
   when viewing the column properties.
 * Fixed bug; When creating a custom (multiple) select column, LOVD would throw
   an error saying the select_options have to be numeric.
 * Fixed bug; When removing a non-shared custom column, you would get a notice.
 * All standard custom columns & custom links have now been set to be created by
   LOVD.
 * Implemented custom columns edit page.
 * The column width can now no longer allow more than 3 digits.
 * It is now possible to edit/create up to 5 columns simultaneously in different
   tabs/windows without losing data.
 * Implemented a dynamic change of the example below the 'width' input field in
   the custom columns edit & create forms.
 * Fixed bug; The variant create form threw a notice.
 * Fixed bug; Added a proper message on the gene-specific variant listing when
   there are no transcript with variants available for the selected gene.
 * Fixed bug; Prevented a variant from being added to the same screening every
   time due to a bug in the code.
 * Fixed bug; Prevented a notice from occurring regarding the chromosome in the
   variant edit form.
 * Fixed bug; Variants which were not public where still viewable in some
   viewLists.
 * Rewrote the submission mailing process, so that screenings & phenotypes can
   be added to an individual properly with a notification mail to the curator(s)
   and such.
 * Implemented panelid & panel size.
 * Implemented VariantOnGenome/DBID check & predict functions into the variant
   create and edit forms.
 * Corrected some pathogenicity error messages on the variant forms.
 * Fixed bug; Installing LOVD would cause a notice, because pathogenicity was
   not yet changed to functional effect.
 * Fixed bug; The map variant button did not properly check if there are no
   transcripts.
 * Changed the VariantOnGenome/DBID descriptions, regular expression pattern
   check and form type for the new LOVD3 implementation.
 * Removed Individual/Times_Reported and copied its data to panel size.
 * Changed some of the functional effect option names.
 * Added a loading image implementation to the HGVS check on the variant create
   & edit form.
 * Genes with a mitchondrial location can now be added in the create gene form.
 * Newly registered user accounts will now be registered as having been created
   by the user itself, instead of by nobody.
 * Gene symbols with a 'reserved' chromosomal location will not be allowed to be
   added to LOVD since mutalyzer cannot do anything if the chromosome is not
   known.
 * Sometimes the variant create or edit forms would take a long time to load,
   this has now been fixed.
 * Changed the default width for "VariantOnGenome/DBID" from 200 to 80.
 * Added a new database table to correctly sort the chromosomes.
 * Variant start & stop positions are now stored in the database, to facilitate
   correct sorting of the variants.


/*******************
 * 3.0 Alpha 07
 * 2011-12-14
 *********/
 * Fixed bug; When a gene has been selected, the disease tab was always linking
   to diseases associated to the DMD gene, even if there was no DMD gene.
 * When viewing a chromosome-specific variant overview, the chromosome number is
   mentioned in the page title.
 * Fixed bug; DECIMAL type columns weren't properly checked for their values'
   maximum allowed lengths nor if negative numbers were allowed.
 * Fixed bug; INT type columns weren't properly checked for their values'
   maximum allowed lengths.
 * Fixed bug; On servers without MySQL support, LOVD didn't return a proper
   warning anymore.
 * Fixed bug; Fixed an unclear error message that might be shown when creating a
   disease with no genes in the database yet.
 * Improved the navigation a bit by implementing shorter routes.
 * Fixed bug; The "New password" fields were always mandatory when editing a
   user's account.
 * Fixed bug; Newly created submitter accounts were reported to have last been
   logged in in the year 1970.
 * Fixed bug; A variable name in inc-top.php interfered with a variable name in
   lovd_requireAuth(), which made lovd_requireAuth() print a wrong error message
   when a user did not have proper rights to view a page.
 * Reimplemented /variants/GENE viewList - the variants can now only be viewed
   per transcript. The viewer can switch transcripts if others are available for
   the selected gene. Also created the /variants/GENE/NM_ID URL, which locks the
   view on the given transcript.
 * When viewing a variant's details, the affected transcripts now also mention
   the gene symbol.
 * Added links to gene and transcript pages from the variant's detailed view.
 * Fixed bug; Under some circumstances, you could get two "No results have been
   found that match your criteria." error messages below each other.
 * Implemented /transcripts/NM_ID, that forwards to the correct numeric ID.
 * Fixed bug; Values of checkbox custom columns were not stored in the database.
 * Fixed bug; When removing a VariantOnTranscript or Phenotype custom column,
   the multiple selection list to select from which objects the column should be
   removed, was not restricted to a certain maximum size.
 * Fixed bug; DATETIME columns with DATETIME values got an error message that
   they should contain DATE values.
 * Added the /view/GENE page that shows variant, screening and individual data
   joined to each other, per gene, like was done in LOVD 2.0.
 * Changed the dbSNP custom link so that it can accept "rs1234567" as well as
   just "1234567".
 * Fixed bug; The VariantOnTranscripts ViewList did not show any active custom
   columns.
 * Added the "Affects function" selection list to all variant create & edit
   forms, which will be the replacement of the "Pathogenicity" field from LOVD2.
 * Added the option M (mitochondrial) to the chromosome selection list when
   creating a genomic variant.
 * Added support for editing a variant that affects transcripts of more than one
   gene.
 * Added a "loading..." image when the map variants button is pressed in the
   variant create & edit form.
 * Changed the way LOVD sorts on the `VariantOnGenome/DNA` and
   `VariantOnTranscript/DNA` columns.
 * When creating a variant on transcript level, you can now ignore specific
   transcripts.
 * The variant edit form now only shows the transcripts that the variant is
   mapped on.


/*******************
 * 3.0 Alpha 06
 * 2011-11-18
 *********/
 * Added the "Collaborates" column to the user's viewEntry, visible from Manager
   and up.
 * Fixed bug; The built-in Mutalyzer Syntax Checker on the variant create form
   didn't work for variants on non-numeric chromosomes, due to misinterpretation
   of 'chrX' as a malformed reference sequence.
 * When visiting gene-specific pages, LOVD now creates the gene-specific header
   with the list of curators displayed on the top of the page, like in LOVD 2.0.
 * LOVD also remembers your selected gene while you are active in LOVD, and some
   tabs' links are adapted to direct you to gene-specific overviews directly.
 * Improved the PDO wrapper by implementing a PDOStatement::fetchAllAssoc().
 * Changed order of columns in /variants/GENE overview, such that the variants
   on the transcript level are shown first.
 * Fixed bug; Internet Explorer users could be having some trouble with the drop
   down menu because of a bug in IE.
 * Added the protein NCBI ID column to the transcript viewList.
 * Fixed bug; Using the back button in your browser didn't always work properly
   when searching data using viewLists.
 * Fixed notice on phenotype data entry form.
 * Clicking on an entry in the "variant affecting transcripts" viewList now also
   links to the entry's viewEntry, and custom links are now displayed properly.
 * Fixed bug; The viewLists of individuals, screenings and phenotypes has no
   functional anchor.
 * Fixed bug; "Owned by" and "Status" fields are now only editable for curators
   and higher. The status of entries edited by the data owner, will be lowered
   to Marked, if it was set to Public.
 * Fixed bug; When leaving a Date data field empty, the database stored
   "0000-00-00".
 * Fixed bug; Internet Explorer users could be having some trouble with links
   from the "variants affecting transcripts" page, because Internet Explorer's
   Javascript engine does not respect the <BASE> tag.
 * Changed the end of submission URL from submit/(individual|variant)/<ID> to
   submit/finish/(individual|variant)/<ID>.
 * Implemented mailing to curators etc. at the end of a submission.
 * Authorization of users is now supported for all data types.
 * Searching numeric columns will now also allow negative numbers.
 * Enabled the "Forward messages to database admin" & "Enable submitters to
   change data" options in system settings.
 * Only public & marked entries are now visible to non-authorized users.
 * Implemented default values for variant forms.
 * Variants on transcript can now be edited and include HGVS syntax check &
   position converter on the form.
 * Changed the Content-Type of the standard email headers to charset UTF-8.
 * Variants on transcript viewlists now have a status field, which is actually
   the status from the corresponding genomic variant.
 * Added a viewEntry for variants on transcript below the genomic variant in
   variants/<variantid>#<transcriptid>.
 * Fixed bug; The active_columns selection box in custom link forms will no
   longer cause a notice when no columns have been selected.
 * Fixed bug; The password field will now always be checked correctly.
 * Phenotype edit forms and viewEntries are now displayed properly.
 * Focus of the variant?create/edit form is now on the submit button instead of
   the map variants buttons.
 * Added a password field to the custom links edit form.
 * Changed the layout of some forms.


/*******************
 * 3.0 Alpha 05
 * 2011-10-17
 *********/
 * Fixed bug; When deleting a user, an error occurred because of an invalid
   query to the database.
 * Fixed bug; When creating an individual entry, an error could have been shown
   on the screen.
 * Fixed bug; Registering a user would result into an infinite loop, freezing
   the browser because the code was expecting the user to be logged in.
 * Added new cross and check images in 11x11 and 16x16 and removed the old ones.
 * Added a register user functionality.
 * Added a reCAPTCHA library.
 * Implemented a reCAPTCHA to the user register form.
 * Implemented AJAX calls into the variant submission form so that the HGVS is
   checked instantly and you can convert the position from genomic to the
   transcripts and vice versa.
 * Fixed bug; newly registered submitters are now logged in properly after the
   registration step.
 * Fixed bug; running LOVD in php5 safe mode will no longer cause notices.
 * Added new mail functionalities and implemented them into the registration &
   password reset processes.
 * Improved the compatibility with other database platforms.
 * Changed the wrap length of email body texts from 80 to 70 characters.
 * Implemented the search expression ="" to viewLists, which will match columns
   with no value.
 * Changed PDO to use buffered queries.
 * Changed the standard email headers that are sent with all outgoing mails.
 * Search fields in the viewList now always fit the column.
 * Added a default location_url to the system settings form.
 * User level in the users viewList is now sortable AND searchable.
 * Added some more information about the meaning of the icons on the custom
   column overview if you move your mouse over them.
 * LOVD now distributes an User-Agent string when using certain web calls.
 * Changed URL of bug tracking system, since it has been moved.
 * When installing LOVD, the database URL is now predicted for the user.
 * Fixed problems with advanced searching in viewLists.
 * Made some textual improvements.
 * Improved the PDO wrapper.
 * Fixed bug; Checking the install's URL didn't work during LOVD installation,
   as notices were generated about a missing variable.


/*******************
 * 3.0 Alpha 04
 * 2011-09-02
 *********/
 * For phenotype data entries, the status can now also be set.
 * Fixed bug; The reset password functionality was non functional.
 * The gene's disclaimer will now be shown underneath the viewEntry table.
 * Fixed bug; A gene database's date of creation can no longer be in the future.
 * Curators can now also view custom column information.
 * Added link for changing the columns' order underneath a category's viewList.
 * Added "Genes screened" and "Variants" columns to the individual viewList.
 * Fixed bug; The submitter count and unique variants count were not calculated
   properly by check_update.php.
 * Fixed some numical references to user levels (should be constants).
 * Minimum required PHP version is now 5.1.0, due to the requirement of PDO.
 * LOVD now checks the existence of PDO support and the MySQL driver for PDO,
   then connects to MySQL using PDO. Actually implementing PDO everywhere will
   take some time.
 * Fixed bug; LOVDs that were not installed yet, were throwing notices.
 * Added code for proper authorization of data owners to individuals.php,
   screenings.php and phenotypes.php. The correct user level is not yet assigned
   by lovd_isAuthorized().
 * Fixed some issues with HTML 4.01 compatibility.
 * Fixed bug; lovd_queryDB() did not show the entire query if it was throwing an
   error message about the number of arguments used in the query.
 * Added chromosome to genomic variant viewList.
 * Updated the INSTALL.txt help file.
 * Implemented a custom viewList class, allowing easy implementation of flexible
   viewLists with several different data objects linked to each other.
 * Fixed bug; Added XSS fix to lovd_displayError().
 * Fixed bug; MySQL handles 01 very different than '01' for VARCHAR columns,  so
   lovd_queryDB() will now always quote integers.
 * Implemented the /variants/chr# URL showing a viewList of all genomic variants
   on a specific chromosome.
 * Fixed bug; Non-mandatory selection lists did not have the "(Optional)" suffix
   on data entry forms.
 * Added jeegoocontext drop down menu, written by Erik van den Berg
   (http://www.planitworks.nl/jeegoocontext)
 * Cleaned up inc-upgrade.php; it is no longer supported to upgrade LOVD 3.0
   from earlier than 3.0-pre-21.
 * Added minified jQuery 1.6.2 to the newly created lib/jQuery folder.
 * Added minified jQuery UI 1.8.15-core files (core/mouse/widget/position) &
   sortable file to lib/jQuery.
 * Removed lib/tool-man folder and its contents entirely as it was outdated and
   a solid replacement was found in jQuery UI.
 * Included jQuery & jQuery UI in inc-top.php so they can be accessed everywhere
   in LOVD.
 * Fixed bug; sorting in genes?sortCurator & columns?order now also works for IE
   by using jQuery UI sortable.
   Fixed #1: "Drag and drop sorting does not work in IE 8".
 * Fixed bug; Changed the temporary memory leak fix to a solid permanent fix in
   genes?create, genes?edit & transcripts?create.
 * Renamed 'inc-js-insert_custom_links.php' to 'inc-js-custom_links.php'.
 * Implemented deleteEntry in users?delete & built in a check in users?(un)lock
   to see if a user is already (un)locked.
 * Fixed bug; In phenotype?create it is now mandatory to select a disease, and
   also implemented checks for a valid diseaseid. Also only diseases that have
   custom columns enabled will be selectable now.
 * When an individual has only one disease, you don't have to select the disease
   when creating a new phenotype entry.
 * Implemented one-click navigation from the individual's detailed view to the
   form to add phenotype information on a certain disease.
 * Fixed bug; Couldn't select which genes were screened on screening data entry
   forms.
 * Changed all references to inc-js-insert-custom-links.php to the new name
   inc-js-custom_links.php and removed the old file.
 * Fixed bug; lovd_AJAX_viewListAddNextRow() now works properly in all browsers.
 * Fixed bug; lovd_includeJS() can now also handle files in a different path.
 * Fixed bug; lovd_viewForm() allowed single selection lists to have a "select
   all" link.
 * Fixed bug; Fixed the database structure for transcript variant custom columns
   in object_custom.php.
 * Optimized & cleaned the transcripts?create code.
 * Transcripts/<gene symbol> now also works and is basically the same as the
   /transcripts view with a search on <gene symbol>.
 * Improved navigation between linked data types by adding some extra viewLists
   and links.
 * Implemented a working form to create variants on transcript level.
 * Implemented full submission workflow.


/*******************
 * 3.0 Alpha 03
 * 2011-08-03
 *********/
 * Fixed bug; The verification of the LOVD database URL did not work, actually
   because of a problem in the script on the LOVD website.
 * Fixed bug; When selecting curators for a gene, if the viewList with available
   users was sorted or searched, the users could no longer be selected.
 * Fixed bug; When selecting curators for a gene, clicking on the user's name
   led to execution of javascript outside the scope of the page, resulting in a
   blank page with only "true" on it.
 * Fixed bug; Users can no longer remove a user as curator for a gene, when this
   user has an equal or higher level than themselves.
 * Fixed bug; Fixed notices when not properly selecting a curator for a gene.
 * Added the "Order" column in the custom columns viewList.
 * Simplified the check on the regular expression syntax of a custom column.
 * Fixed bug; On the gene viewEntry pages one of the headers was malformed.
 * Implemented option for curators to sort the list of curators for their genes.
 * Implemented lovd_isAuthorized() for checking a user's authorization for dif-
   ferent data types. Currently, only genes are implemented. The user's level,
   if lower than LEVEL_MANAGER, will no longer be defined in inc-auth.php.
 * Curators of any gene can now also check LOVD's update status. The link to
   this page is now only active for Curators and up.
 * Added navigation for Curators from the gene viewEntry page to forms to edit a
   gene, add a transcript to a gene, and sort the list of curators. Those pages
   are now also opened up to Curators.
 * Minimum MySQL version needed to run LOVD 3.0 is now 4.1.1.
 * Added lovd_php_htmlspecialchars() function that also works recursively.
 * Added array_merge() optimization where possible.
 * Fixed bug; Values of custom columns configured as simple drop down lists were
   lost during edit of the data entry.
 * Fixed bug; On the genomic variant data entry form, "Owner of individual"
   should be "Owner of variant". Also other forms had this error.
   (thanks to Raymond Dalgleish, University of Leicester, UK, for reporting)
 * Links to OMIM are now to OMIM.org and not to the NCBI site anymore.
 * Fixed bug; The user's viewList and viewEntry reported collaborators as being
   curators for the genes they are collaborators for.
 * Implemented lovd_isAuthorized() checks for diseases and transcripts, so that
   curators can correctly be recognized as authorized users.
 * Added virtual user level LEVEL_OWNER, assigned by lovd_isAuthorized() to sub-
   mitters who are owner or creator of a certain data entry.
 * Fixed too big Variant/DBID size on the data entry form.
 * Fixed bug and standardized code for checks on ownerid and statusid.
 * Fixed bug; When all available users had been selected as curator or
   collaborator, you were not able to remove anyone from this list anymore.
 * Fixed bug; Internet Explorer "forgot" which columns where hidden from view in
   viewLists when searching or sorting them.
 * Fixed bug; A change applied to lovd_php_file() in r46 failed on servers with
   PHP 4, so included work around.
 * Checking the user's password for authorization of creates, edits and deletes
   is now handled by class/objects.php.
 * Fixed bug; On input errors, some data entry forms did not delete the password
   after the form was sent back.
 * Fixed bug; All custom columns can now be removed properly.
 * Fixed bug; When a user edits a gene, LOVD checks if there is a known UD number
   in the database. If not, then it generates one through mutalyzer.
 * Implemented a re-ordering functionality of custom columns.
 * Changed the regular expression for gene symbol validity so that it can also
   contain @ and #.
 * Implemented a urldecode and urlencode in genes.php to allow special chars
   to be in the gene symbol and thus in the URL.
 * Implemented automatic exploding of GROUP_CONCAT data based on their name.
   So '_genes' = array (;) or '__active_diseases' = nested array(;;).
 * Added the temporary memory leak fix from genes?create also to genes?edit &
   transcripts?create.
 * Fixed bug; Variants can be added to a screening again. Still this is only
   possible from the screenings page when you select "Add variant to screening".
 * The proper columns are now loaded also for transcript variants in
   object_custom.php.
 * Implemented tooltips for custom links in viewLists, inside the tooltip is the
   actual link so that they are now clickable without going to the viewEntry.
 * User levels are now properly displayed in user viewLists & viewEntries and
   sortable (not searchable).


/*******************
 * 3.0 Alpha 02
 * 2011-07-05
 *********/
 * Fixed bug; Windows systems will now be able to send mails to the users when
   using reset password.
 * Fixed bug; Appropriate email headers are now added to the LOVD system mail
   function.
 * Fixed bug; Temporary fix for the memory leak in /genes?create.
 * Fixed bug; Order of custom columns is now set correctly when enabled.
 * Create, edit & delete phenotype are now implemented and working properly.
 * User authorization level is now searchable in viewLists.
 * Custom columns can now be removed.
 * Adapted the page for phenotype create a bit.
 * Changed & to W3C compliant &amp; in HTML output.
 * Some LOVD 2.0 -> LOVD 3.0 code standardizations.
 * Some code optimizations.
 * insertEntry() and updateEntry() don't need to implode array values,
   lovd_queryDB() does that for them already.
 * Changed "variant information entry" to "variant entry".
 * Added new logos for gene database create and edit.
 * Removed remaining carriage returns in all files except the
   config.ini.php-lovd.
 * Removed internal LOVD columns from the VariantsOnTranscripts' viewList and
   viewEntry.
 * Fixed bug; Non-shared custom columns couldn't be removed.
 * Used CURRENT_PATH instead of (possibly concatenated) $_PATH_ELEMENTS calls.
 * Added new screening techniques to the "Screening/Technique" column.
 * Fixed bug; The "VariantOnTranscript/RNA" and "VariantOnTranscript/Protein"
   columns were non-mandatory by mistake.
 * Fixed bug; The "updated" column in the genes viewList did not allow for date
   type searching because lovd_getColumnType() did not recognize it.
 * Fixed bug; Notices were thrown when searching in date columns using
   incomplete date ranges.
 * Cleaned out the 2Do.txt file; bugs that had been fixed already were removed.
 * Added anchor in columns viewList.
 * The "Last login" and "Started" columns in the users viewList have been
   shortened to just the dates.
 * Fixed bug; A gene's hidden curators and collaborators should only be viewable
   on that gene's viewEntry page by collaborators or higher.
 * Added panelid and panel_size to the Individuals table, to distinguish between
   individuals and panels.
 * The VariantOnTranscript/DBID field has been removed in favor of the
   VariantOnGenome/DBID field.
 * A new authentication method is introduced, storing the user's passwords even
   more safely as before. The user account password stores are only updated one
   by one, whenever a user logs in.



/*******************
 * 3.0 Alpha 01
 * 2011-05-26
 *********/
 * Initial release to general public.
