                       Changes in version 0.7.12                        

(Release date 2026-10-08)

  - Go back to CRAN version of ieugwasr

                       Changes in version 0.7.11                        

(Release date 2026-09-25)

  - Bump the version of ieugwasr - using the GitHub version until a CRAN
    release has been made

                       Changes in version 0.7.10                        

(Release date 2026-09-24)

  - Fixed the removal of duplicated proxy SNPs in
    extract_outcome_data(), which since v0.6.30 ignored its intended
    grouping by outcome and emitted the warning "Ignoring by/keyby
    because 'j' is not supplied" whenever proxies were used. Results
    were unaffected because proxies are looked up one outcome at a time.
    (thanks @amymariemason for the report)

                        Changes in version 0.7.9                        

(Release date 2026-06-24)

  - Fixed inflated bootstrap standard errors (and p-values) in mr_mode()
    and mr_rucker_bootstrap() introduced in v0.6.30. The pre-generated
    rnorm() matrix was filled column-by-column while the per-SNP means
    and standard errors recycled element-wise, so each bootstrap draw
    was taken from the wrong SNP's distribution; the means and SEs are
    now laid out with rep(..., each = nboot) so each column draws from
    its own SNP. Point estimates were unaffected. (thanks @peterk87
    reported in #684)
  - Fixed mr_rucker_bootstrap() which errored ("values must be
    length 1") because it accessed the per-combination result ($rucker,
    $Q, $res, $selected) directly while mr_rucker() returns a list with
    one element per exposure-outcome combination; it now unwraps the
    first element.
  - Fixed mr_rucker_cooksdistance(), which had the same return-shape
    problem: $cooksdistance was NULL so the Cook's distance filtering
    loop never ran and a malformed object was returned; it now unwraps
    the first element.
  - Added regression tests for the mr_mode() and mr_rucker_bootstrap()
    bootstrap standard errors and for mr_rucker_cooksdistance().

                        Changes in version 0.7.8                        

(Release date 2026-06-10)

  - Fixed a copy-paste bug in ldsc_rg() which passed d1$l2 instead of
    d2$l2 as the weight vector to the trait-2 ldsc_h2_internal() call
  - Fixed extract_split() chunking which gave nsplit = 0 for SNP lists
    smaller than half the splitsize; now uses ceiling() with contiguous
    chunk ids
  - Fixed the penalised mode in mr_mode() for vector-valued phi: each
    SNP is now penalised against the weighted-mode estimate for the same
    phi rather than recycling the mode vector across SNPs (results
    unchanged for the default scalar phi = 1)
  - Fixed row order restoration in add_metadata() to use
    dat[order(dat[[order_col]]), ]
  - Qualified a bare aes() call as ggplot2::aes() in test_r_from_pn()
  - Used isTRUE(all.equal()) instead of all.equal() == TRUE inside
    ifelse() for null-line detection in the forest plot functions, which
    could otherwise return a multi-element vector
  - Simplified the group Index assignment in forest_plot_1_to_many()
    using Letters[match()], which is also robust to non-contiguous group
    rows
  - Collapsed a duplicated || condition in
    extract_outcome_data_internal()
  - Removed dead TAUsq accumulation in PM() in rucker.R
  - Fixed an error message typo in combine_data() and switched its
    sapply() to vapply()
  - Replaced superseded tidyr::gather() with tidyr::pivot_longer() in
    test_r_from_pn() and dropped a redundant requireNamespace("tidyr")
    guard
  - Lint package with Jarl

                        Changes in version 0.7.7                        

(Release date 2026-06-07)

  - Remove dead exposure_mat assignment
  - Replace reshape2::dcast() with tidyr::pivot_wider()
  - Replace deprecated ggplot2::aes_string() with ggplot2::aes()
  - Add new bare names to globalVariables()
  - Replace deprecated size with linewidth in geom_vline(),
    geom_errorbarh(), geom_errorbar(), and element_rect()
  - Fix constant-in-aes, redundant sapply, and paste/paste0
  - Qualify predict() and desc() calls; remove from globalVariables()
  - Remove broken and unreachable mr_mode_broken() function and its
    globalVariables() entry
  - Replace sapply with invisible(lapply()) for side-effect iteration;
    use paste0() for single leading space
  - Replace 1:n index patterns with seq_len() in chunking logic
  - Hoist paste() out of inner loop; replace nested loops with single
    vectorised assignment
  - Make startup message URLs clickable via cli::style_hyperlink(); add
    cli to Imports

                        Changes in version 0.7.6                        

(Release date 2026-05-15)

  - Fix some typos

                        Changes in version 0.7.5                        

(Release date 2026-05-04)

  - Amend https://gwas.mrcieu.ac.uk URLs to https://opengwas.io/
  - Bump version of roxygen2 to 8.0.0 and regenerate documentation
  - Replace array(1:nexp) placeholder allocations with
    numeric(nexp)/integer(nexp) in multivariable MR functions
  - Replace 1:n with seq_len(n) in loop indices across singlesnp,
    leaveoneout, rucker, mr_mode, and multivariable_mr for empty-vector
    safety
  - Pre-generate jackknife resample indices in
    mr_rucker_jackknife_internal and switch to lapply, matching the
    bootstrap function pattern
  - Vectorise get_population_allele_frequency by inlining the
    quadratic-root logic from contingency() and picking the valid root
    with vectorised constraint checks
  - Skip mr_wald_ratio inside mr() when more than one SNP is provided
    and other methods are also requested, suppressing the multi-SNP
    warning for default method runs while preserving the warning when
    mr_wald_ratio is requested on its own

                        Changes in version 0.7.4                        

(Release date 2026-04-02)

  - Small tweaks to the categorized forest plots to make them more
    similar to the original ones in the article.
  - Expanded the multivariable MR section of the Perform MR vignette
    (thanks @mvab)

                        Changes in version 0.7.3                        

(Release date 2026-03-31)

  - Some further code optimizations.

                        Changes in version 0.7.2                        

(Release date 2026-03-30)

  - Add outlier categorisation on mr_forest_plot() forest plot.

                        Changes in version 0.7.1                        

(Release date 2026-03-25)

  - Added error message if unsupported method listed in the method_list
    argument to the mr() function (thanks @42kuroniko)
  - Added warning if mr_wald_ratio() passed more than one genotype's
    summary statistics

                        Changes in version 0.7.0                        

(Release date 2026-02-24)

  - Fixed a bug in the calculation in one of the code paths for the
    inferred p-value in format_data() (thanks @j-brody)
  - Fixed the calculation of a p-value in mr_rucker_internal()
  - Fixed a replacement length warning in
    get_population_allele_frequency()
  - Reformatted code base with air

                       Changes in version 0.6.30                        

(Release date 2026-02-06)

  - Vectorised mr_egger_regression_bootstrap()
  - Vectorised weighted_median_bootstrap()
  - Deleted duplicated weighted_median() function
  - Replace plyr function calls with data.table function calls
      - plyr::rbind.fill(...) to data.table::rbindlist(..., fill = TRUE,
        use.names = TRUE)
      - plyr::ddply(dat, cols, func) to lapply() over unique
        combinations + data.table::rbindlist()
      - Added data.table::setDF() calls to convert back to data.frame
        for compatibility
      - And removed plyr from Imports list
  - In flip_alleles() use chartr() instead of 4 gsub() calls
  - In random_string() use single call to sample() instead of n calls
  - Optimized mr_mode()
  - Replaced apply(..., any(is.na())) with complete.case()
  - Optimized the mr() function
  - Optimized the get_r_from_lor() function
  - Optimized the mr_rucker_bootstrap() and
    mr_rucker_jackknife_internal() functions
  - Replaced sapply() with vapply() in several cases
  - Optimized the simple_cap() function
  - And a few other minor optimizations

                       Changes in version 0.6.29                        

(Release date 2025-12-16)

  - Skip two tests if the MendelianRandomization package is not
    installed and protected the running of the perform_mr vignette.

                       Changes in version 0.6.28                        

(Release date 2025-12-16)

  - Allowed the arguments for clump_data() to be specified from
    read_exposure_data() (thanks @al3xjwood).
  - Fixed two function calls in mr_moe_single()

                       Changes in version 0.6.27                        

(Release date 2025-12-15)

  - Removed the unused p2 argument from extract_instruments() and the
    unused clump_p2 argument from clump_data() (thanks @yikeshu0611).

                       Changes in version 0.6.26                        

(Release date 2025-12-12)

  - Fixed the passing of the force_server argument within
    extract_instruments() through to ieugwasr::tophits() (thanks
    @yikeshu0611).
  - Amended the extract_instruments() clump argument to additionally
    take values 1 or 0 as per the ieugwasr::tophits() clump argument
    (thanks @yikeshu0611).

                       Changes in version 0.6.25                        

(Release date 2025-12-05)

  - The meta package has been moved to a soft (Suggests list) dependency
    due to installation problems of new versions of its hard
    dependencies on R 4.1.

                       Changes in version 0.6.24                        

(Release date 2025-10-31)

  - We once again obtain mr.raps from its default branch. We issue a
    warning if the user has a version less than version 0.4.3 installed.

                       Changes in version 0.6.23                        

(Release date 2025-10-31)

  - We now obtain mr.raps (version 0.4.3) from the open pull request
    which includes a fix. We will switch back to the default branch once
    that pull request is merged.

                       Changes in version 0.6.22                        

(Release date 2025-08-27)

  - Additional reformatting of code base.
  - Minor updates to GitHub Actions workflows.

                       Changes in version 0.6.21                        

(Release date 2025-08-11)

  - Fixed typos in Steiger related documentation (thanks to
    @eleanorsanderson and Kaitlin Wade for providing the motivating
    example for this).
  - Some code cleanup to make debugging easier.
  - Reduced size of installed package by removing some unused files.

                       Changes in version 0.6.20                        

(Release date 2025-08-01)

  - TwoSampleMR now requires ieugwasr version 1.1.0 which provides
    improved error messages.
  - Changed error handling - now if the API gives an error code it is
    propagated as an error with message in TwoSampleMR.
  - Headers sent to API are updated.

                       Changes in version 0.6.19                        

(Release date 2025-07-21)

  - Further fixes for the forthcoming version 4 of ggplot2.

                       Changes in version 0.6.18                        

(Release date 2025-07-15)

  - Fixes to mr_forest_plot(), forest_plot_1_to_many(),
    mr_leaveoneout_plot(), and mr_scatter_plot() for compatibility with
    the forthcoming release of version 4 of ggplot2.
  - Made some minor improvements in the Perform MR vignette including
    adding back several of the forest plots.

                       Changes in version 0.6.17                        

(Release date 2025-06-22)

  - Continued amends to the plot for MR-GRIP (thanks @fdudbridge)

                       Changes in version 0.6.16                        

(Release date 2025-06-05)

  - Added weak instrument adjustment estimate and intercept to returned
    output of mr_grip() (thanks @fdudbridge)
  - Amended mr_scatter_plot() to issue a message about the scale the
    MR-GRIP estimate is plotted on (thanks @fdudbridge)

                       Changes in version 0.6.15                        

(Release date 2025-05-01)

  - Bumped the minimum required version of R to 4.1.0. This is due to a
    dependency (the scales package) of a dependency (the ggplot2
    package), which now has this requirement.

                       Changes in version 0.6.14                        

(Release date 2025-03-28)

  - Minor amends to the mr_grip() returned object names (thanks
    @fdudbridge)
  - Fixed some typos in the helpfiles and vignettes

                       Changes in version 0.6.13                        

(Release date 2025-03-26)

  - Added mr_grip() function which implements the MR-GRIP (modified
    MR-Egger with the Genotype Recoding Invariance Property) method of
    Dudbridge and Bowden et al. (2025). The new method can be accessed
    by mr(dat, method_list = "mr_grip") or it can be added to the
    default list of methods with mr(dat, method_list =
    c(subset(mr_method_list(), use_by_default)$obj, "mr_grip")).
  - Added Pub Med IDs for more of the methods.
  - The format_data() function no longer causes a stack overflow when
    its dat argument is not a variable (thanks to @DarwinAwardWinner)

                       Changes in version 0.6.12                        

(Release date 2025-03-18)

  - Fixed a bug in format_data() (thanks to @lea-urpa)
  - For MVMR data extraction in mv_extract_exposures() and
    mv_extract_exposures_local(), SNPs that do not pass harmonisation
    between exposures in MVMR are now dropped (thanks @yatest)
  - The comments about mr.raps in the Perform MR vignette have been
    updated

                       Changes in version 0.6.11                        

(Release date 2025-03-06)

  - The tests using mr.raps are now run conditionally.
  - The rsnps package has been removed from Suggests because the
    configuration of mr.raps has been corrected.

                       Changes in version 0.6.10                        

(Release date 2025-03-03)

  - The mr.raps package was archived from CRAN on 2025-03-01. A later
    version (0.4.1) than was on CRAN (0.2) is available from its GitHub
    repo https://github.com/qingyuanzhao/mr.raps. We believe this later
    version still works as expected in TwoSampleMR. However,
    version 0.4.1 depends upon rsnps package which is itself now only
    available on its GitHub repo. Hence, we have added both packages to
    our https://mrcieu.r-universe.dev/ and added that to the
    Additional_repositories field in the DESCRIPTION. We have also moved
    mr.raps to the soft dependency list (Suggests list) and added rsnps
    to our Suggests list, both with remotes.
  - Fix to default_parameters() helpfile

                        Changes in version 0.6.9                        

(Release date 2025-02-05)

  - Fixed a bug in format_data() when the log_pval argument was set to
    TRUE. The specified p-value column is now used (thanks to
    @luddeluddis)
  - Amend references to MR-Base to OpenGWAS

                        Changes in version 0.6.8                        

(Release date 2024-09-06)

  - Replaced some unique() calls in power_prune() with mean() to ensure
    scalar iv.se values (thanks @phageghost)
  - Slightly improved formatting of code base

                        Changes in version 0.6.7                        

(Release date 2024-08-21)

  - Update OpenGWAS API URLs
  - Minor tweak to R CMD check GitHub Actions due to the rjson hard
    dependency of the MendelianRandomization package now requiring R
    >= 4.4.0
  - Add dark mode to pkgdown site

                        Changes in version 0.6.6                        

(Release date 2024-07-06)

  - Improve a test
  - Improve permissions in GitHub Actions workflows
  - Bump minimum required version of ieugwasr to 1.0.1
  - Made some amends to the code to bring it more in line with lintr
    recommendations
  - Added omitted tidyr soft dependency

                        Changes in version 0.6.5                        

(Release date: 2024-06-30)

  - Bumped version of roxygen2 for creating package documentation
  - Update the earliest version of R in the R CMD check GitHub Actions
    workflow to be 4.3.2. This is because the meta dependency depends on
    lme4, and the recent 1.1-35.4 release of lme4 requires Matrix 1.6-2
    which was released a few days after R 4.3.2.
  - Made package tests more robust to non-response from the OpenGWAS API

                        Changes in version 0.6.4                        

(Release date: 2024-06-05)

  - Update installation instructions in README.md
  - Fixed a bug in which the wrong indels recoding function was called
    (thanks @ruochiz)

                        Changes in version 0.6.3                        

(Release date: 2024-05-23)

  - Update package startup message

                        Changes in version 0.6.2                        

(Release date: 2024-05-09)

  - format_data() now errors if it detects its dat object is of class
    'data.table' and issues a message informing the user to make their
    dat object simply a 'data.frame' (thanks to Si Fang @sifang1678)

                        Changes in version 0.6.1                        

(Release date: 2024-04-30)

  - The MendelianRandomization package has been moved from a hard
    dependency to a soft dependency. This is because its dependency
    package Matrix now requires R >= 4.4.0. Making
    MendelianRandomization a soft dependency means we don't need to make
    TwoSampleMR have the same requirement.

                        Changes in version 0.6.0                        

(Release date: 2024-04-22)

  - TwoSampleMR now uses the CRAN version of the ieugwasr package.
    Importantly this includes the new authentication system for the
    OpenGWAS API. Please see
    https://mrcieu.github.io/ieugwasr/articles/guide.html#authentication
    for more information about how to set this up.

                       Changes in version 0.5.11                        

(Release date: 2024-03-21)

  - In mr_leaveoneout_plot() and mr_forest_plot() amended size argument
    to linewidth as per ggplot2 version 3.4.0.
  - Add some datasets such that tests, continuous integration services,
    and creation of the vignettes don't rely on the availability of the
    OpenGWAS server.
  - Various improvements to helpfiles.

                       Changes in version 0.5.10                        

(Release date: 2024-02-20)

  - Added bfile and plink_bin arguments to clump_data()
  - Improvements to file reading and dataset formatting capabilities of
    mv_extract_exposures_local() to create the multiple exposure dataset

                        Changes in version 0.5.9                        

(Release date: 2024-02-01)

  - Fixed a minor issue in dat_to_RadialMR()
  - Minor improvements to make_dat() default arguments and helpfile
  - Minor improvements to package tests
  - Amendments to GitHub Actions workflows
  - Updated several URLs which had changed

                        Changes in version 0.5.8                        

(Release date: 2023-11-16)

  - Improved speed of harmonisation using data.table functions (thanks
    @nicksunderland)
  - Updated URL to R-CMD-check README badge
  - Updates to GitHub Actions workflows

                        Changes in version 0.5.7                        

(Release date: 2023-05-29)

  - Move car package to Suggests to allow TwoSampleMR to install on R
    between versions 4.0.0 and 4.1.0
  - In DESCRIPTION use pkgdepends syntax for MRPRESSO package due its
    repository name being different to the package name so that
    installing TwoSampleMR under pak continues to work
  - Various minor code tweaks to fix 2 R CMD check notes
  - Add Cairo package to Suggests list (thanks @hdraisma)
  - Fix error in outcome data vignette (thanks @hdraisma)
  - Some p-values that should have been ~0 were being stored as 1 in the
    elasticsearch database. This has now been fixed and those datasets
    have been clumped again to re-define the tophits. A full list of
    affected GWAS is available here:
    https://github.com/MRCIEU/opengwas-infpval-fix
  - Updated steiger filtering to use effective sample size for case
    control studies (thanks to @niekverw)
  - Fixed issue with tri-allelic SNPs in harmonisation. Credit to Clare
    Horscroft (@chorscroft) for spotting the error and fixing
  - Fixed an issue with experimental version of local multivariable MR
    method. Credit to Mischa Lundberg (@MischaLundberg).
  - Catching edge cases for retrieving sample size meta data
  - Updating default rsq estimation function to use beta and standard
    error instead of p-value, should improve numerical stability
  - Allow chr and pos to be read in from local summary data files
  - When reading in local data without p-values, editing the inferred
    p-value method to be two-sided
  - All images in the vignettes (and hence also in the rendered pkgdown
    website) now have accompanying alt text descriptions
  - The accompanying website for the package now uses Bootstrap 5, which
    means a search facility is enabled
  - The NAMESPACE has been simplified, hence the package load time is
    very slightly improved

                        Changes in version 0.5.6                        

(Release date: 2021-03-25)

  - Fix to scatter plot (thanks to Yossi Farjoun @yfarjoun)
  - Update to mr.raps parameters (thanks to Qingyuan Zhao @qingyuanzhao)
  - Bug fix to MVMR (thanks to Conor Judge @conorjudge)
  - Fix to harmonise_data (thanks to Leland Taylor @letaylor)
  - Documentation (thanks to @jinghuazhao)

                        Changes in version 0.5.5                        

(Release date: 2020-08-09)

  - Updating clump_data function to operate on outcome datasets in the
    same way as it operates on exposure datasets. Credit goes to Marina
    Vabistsevits for spotting this and suggesting a solution.
  - Removing ios function, this has now moved to mr.ios package here:
    https://github.com/universe77/mr.ios
  - Temporarily removing some studies because the reported effect allele
    may have been incorrect, will reinstate after this has been further
    investigated. A list of studies quarantined below:
      - ieu-a-756
      - ieu-a-757
      - ieu-a-758
      - ieu-a-759
      - ieu-a-760
      - ieu-a-761
      - ieu-a-762
      - ieu-a-763
      - ieu-a-764
      - ieu-a-765
      - ieu-a-766
      - ieu-a-767
      - ieu-a-768
      - ieu-a-769
      - ieu-a-770
      - ieu-a-771
      - ieu-a-772
      - ieu-a-773
      - ieu-a-774
      - ieu-a-775
      - ieu-a-776
      - ieu-a-777
      - ieu-a-778
      - ieu-a-779
      - bbj-a-64
      - bbj-a-65
      - bbj-a-66
      - bbj-a-67
      - bbj-a-68
      - bbj-a-69
      - ebi-a-GCST004364
      - ebi-a-GCST005215
      - ebi-a-GCST005216
      - ebi-a-GCST005221
      - ebi-a-GCST005222
      - ieu-a-1086
      - ieu-a-761
      - ieu-a-762
      - ieu-a-763
      - ieu-a-767
      - ieu-a-777
      - ieu-a-779

                        Changes in version 0.5.4                        

(Release date: 2020-05-10)

  - All datasets now re-instated
  - Added options for different populations in LD operations
  - When converting to MRInput format and supplying an LD matrix, it is
    possible that multi-allelic variants will be represented differently
    in the GWAS and the LD reference panel. Ambiguous alignments were
    not being removed, now fixed. Credit goes to Mona Almramhi for
    spotting and fixing this issue.

                        Changes in version 0.5.3                        

(Release date: 2020-04-02)

  - When converting to MRInput format and supplying an LD matrix, the LD
    matrix SNP order was not matching the summary data order. Credit
    goes to Mona Almramhi for spotting and fixing this issue.
  - Reinstating all datasets that were previously disabled (ukb-a,
    ukb-d, ubm-a)
  - Fixed bug with mr_wrapper. Thanks to Gunn-Helen Moen for this.

                        Changes in version 0.5.2                        

(Release date: 2020-03-11)

  - No longer marking LD functions as deprecated for now. Thanks to
    Jonas Bovijn for discussions on this.
  - Various fixes for R CMD check warnings and notes.

                        Changes in version 0.5.1                        

(Release date: 2020-02-14)

  - A number of datasets have been found to have issues since 0.5.0.
    These include:
  - A minority of non-effect alleles being incorrect in the ieu-a batch.
    The consequence of this is harmonisation may have thrown out some
    SNPs due to harmonisation mismatches. Error arose in 0.5.0 and now
    fixed
  - p-value issues with the ubm-a batch. This would have led to fewer
    top-hits being identified than they should have. Error arose
    in 0.5.0 and currently disabled
  - Effect allele frequency issues with the ukb-a batch, potentially due
    to misreported effect alleles. Error arose in 0.5.0 and currently
    disabled

                        Changes in version 0.5.0                        

(Release date: 2020-01-01)

  - Major update, details here:
    https://mrcieu.github.io/TwoSampleMR/articles/gwas2020.html

                       Changes in version 0.4.26                        

(Release date: 2019-12-01)

  - Improved precision of low p-values in steiger tests. Thanks to
    Hannah V Meyer and Tom Palmer for this.
  - Improved instrument extraction for new datasets

                       Changes in version 0.4.25                        

(Release date: 2019-09-12)

  - Changes in googleAuthR package break authentication. Added
    interception to install older version while this is being fixed.
    Please use
    devtools::install_github("MarkEdmondson1234/googleAuthR@v0.8.1")

                       Changes in version 0.4.24                        

(Release date: 2019-09-10)

  - Bug found in extract_instruments when requesting non-default
    parameters. Thanks to Shantanu Bafna for pointing this out.

                       Changes in version 0.4.23                        

(Release date: 2019-08-12)

  - Forcing server to extract_instruments when pre-computed outcomes are
    not present by default. The old behaviour is still possible by
    setting extract_instruments(force_server_if_empty=FALSE)

                       Changes in version 0.4.22                        

(Release date: 2019-02-22)

  - Changing default API address in preparation for moving to
    version 0.5.0 which will use the new API

                       Changes in version 0.4.21                        

(Release date: 2019-02-19)

  - Updated mixture of experts

                       Changes in version 0.4.20                        

(Release date: 2019-01-31)

  - The harmonise function now returns a summary of the harmonisation
    procedure e.g. number of SNPs removed etc. Access via attr(obj,
    "log")
  - Note that this has been tested and shown to give the same results as
    previously but there is a chance that it might lead to slightly
    different behaviour. Please install the previous version if you
    would prefer to avoid possibilities of changed behaviour -
    devtools::install_github("MRCIEU/TwoSampleMR@0.4.18")

                       Changes in version 0.4.19                        

(Release date: 2019-01-31)

  - Fixed a bug in mr_heterogeneity that would have impacted a minority
    of cases. If the method list was being specified then the order of
    the results didn't always match the method (MR Egger and IVW were
    mixed up). This did not affect default usage. Thanks to Anna Guyatt
    for pointing this out.
  - Added index of suspicion functionality, and penalised mode estimator
  - Added transformation function to scale effect estimate units to SD
    scale
  - Starting to write change log again!

                       Changes in version 0.4.18                        

(Release date: 2018-12-03)

  - Improved performance of harmonisation

                       Changes in version 0.4.17                        

(Release date: 2018-12-03)

  - Added facility to harmonise indels
  - Documentation and options added to multivariable MR

                        Changes in version 0.3.4                        

(Release date: 2017-11-30)

  - Moving over to elastic search database so the request batching is
    changing from 50 SNPs per chunk to 10000. This can be modified
    through extract_outcome_data(splitsize=50)
  - Changing harmonise_data behaviour - now does not discard the bad
    SNPs but retains them with the mr_keep column indicating whether or
    not they will be used by the mr analysis functions
  - Fixed issue with oauth token
  - Updated scatter plot to register the mr_keep column.

                        Changes in version 0.3.3                        

(Release date: 2017-11-23)

  - Fixed bug in singlesnp and leaveoneout analyses

                        Changes in version 0.3.2                        

(Release date: 2017-11-22)

  - Added function to check for latest version on package load

                        Changes in version 0.3.1                        

(Release date: 2017-11-22)

  - One of the external packages that TwoSampleMR depends upon had
    changed, making the authorisation behaviour change. The
    authorisation was timing out after an hour and it was not refreshing
    after its timeout. This has now been fixed - the authorisation token
    will refresh after an hour.
  - The authorisation token used to be stored in a hidden file called
    .httr-oauth. This has now been changed - it will be stored in a
    visible file called 'mrbase.oauth'.
