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

/*******************
 * 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.
