LIST OF CHANGES for npg_ranger project
- upgrade winston from 2.4.4 to 3.4.0
- upgrade mongodb from 2.2.36 to 4.3.1
- upgrade commander from 2.20.0 to 8.3.0
- upgrade @prantlf/jsonlint from 8.0.2 to 10.2.0
- upgrade async from 3.1.0 to 3.2.3
- upgrade config-chain from 1.1.12 to 1.1.13
- upgrade fs-extra from 8.1.0 to 10.0.0
- upgrade http-shutdown from 1.2.1 to 1.2.2
- upgrade moment from 2.24.0 to 2.29.1
- upgrade semver from 6.3.0 to 7.3.5
- upgrade send from 0.17.1 to 0.17.2
- upgrade browserify from 16.5.0 to 17.0.0
- upgrade decache from 4.5.1 to 4.6.1
- upgrade grunt from 1.0.4 to 1.4.1
- upgrade grunt-browserify from 5.3.0 to 6.0.0
- upgrade grunt-jsdoc from 2.4.0 to 2.4.1
- upgrade grunt-jsonlint from 2.0.0 to 2.1.3
- upgrade pem from 1.14.3 to 1.14.4
- upgrade tmp from 0.1.0 to 0.2.1
- add GitHub Action and upgraded to minconda 4.10.3
- add support for iRODS 4.2 clients in containers
release 3.0.0
- upgrade node version to support node 10 and 12
- remove support for node 6 and 8
- update tests code to be compatible with new node versions
- upgrade package dependencies and developer dependencies
- modify test checking start up failure to improve test stability
- added support for HTTP POST requests in server using header
- encodes regions and passes it through headers
- updated tests from GET that apply to POST
- added new tests unique to POST
- add a JSON schema that POST requests query must follow
- implement new module to differentiate between valid multiregion
queries and invalid duplicate values in queries
- checks array of objects (valid multiregions) versus array of values (invalid)
- created test spec to check functionality
- implement new module to encode and decode the multiregions headers
- gzips header and then converts to base64
- created test spec to check functionality
- implement new module to validate POST request query
- checks if valid JSON first, then if fits the aforementioned JSON schema
- checks range starts and ends
- collapses any overlapping regions
- created test spec to test functionality
- update Docker for openstack
- update ubuntu image to 18.04 from 14.04
- update node version to 10.16.3 from 6.11.4
- update mongo to 3.6.14 from 3.2.4
- update apache httpd image to 2.4.41 from 2.4.27
- update docker-compose version to 3 from 2
- deploy bioinformatic tools using Conda
- switch to newest versions of samtools, htslib, freebayes, biobambam
- improve documentation
- change installation method for dependencies in travis to use conda
- add check for biobambam to also use cache
- replace biobambam's "bamstreamingmarkduplicates" with samtools' "markdup"
- still present in dev tests
- fix existing bug in ranger client for outputting and piping into file
- used to cause samtools errors in file and cause loggers to not display
release 2.0.0
- upgrade async to 2.4.1 from 2.1.4
- upgrade browserify to 14.4.0 from 13.3.0
- upgrade fs-extra to 3.0.1 from 2.0.0
- upgrade grunt-contrib-clean to 1.1.0 from 1.0.0
- upgrade grunt-jasmine-nodejs to 1.6.0 from 1.5.4
- upgrade http-shutdown to 1.2.0 from 1.1.0
- upgrade moment to 2.18.1 from 2.17.1
- upgrade mongodb to 2.2.29 from 2.2.22
- upgrade pem to 1.9.7 from 1.9.4
- upgrade request to 2.81.0 from 2.79.0
- upgrade send to 0.15.3 from 0.14.2
- update json response for server error reporting
- update http error codes reported according to spec
- httperror constructor does not take verbose anymore
- trying to use unknown codes will result in 500 and log
- remove 406
- replace 409 & 422 with 400 + tailored status message
- move trailer logic from error to controller
- simplify url path to /ga4gh/sample (remove 'v.0.1/get')
- upgrade samtools/htslib to 1.5
- fix header key name for token authorisation
- client sends token under 'Authorization' header
- client formats token string as 'Bearer XXX'
- server expects token under 'authorization' header (lowercase)
- server tries to parse token string from 'Bearer XXX'
- drop official support for node 4.x
- update content-type to match spec
- client warns on unsupported versions of json from server
- set htsget as root element in JSON messages
- update ranger Dockerfile to upgrade ranger docker to
- mark support for version ~1.0.0 of spec
- fix complementary bugs in token use
- server returns auth header for redirection
- client only uses token from configuration for first request
- remove legacy prefix/sufix code from htsget json proc
- DataAccess sends access groups as array per file
- don't try to suggest authurl when token missing because it may not make sense in complex configs
- test with node 6.11.4 in travis matrix
- support empty mediatype in data uri
- switch to npm@4.5.0 in travis
- set node@6.11.4 and npm@4.5.0 in package.json
release 1.4.2
- fix not showing errors when next process in pipe closes
- fix bug premature end of output stream when piping to output and end of stream in input (response)
release 1.4.1
- update database entries in docker for public data
- update ranger Dockerfile to upgrade ranger docker to
release 1.4.0
- add options to enable https communication between npg_ranger and npg_sentry
release 1.3.0
- parameter in CLI for CA
- parameter in CLI for token configuration
- use request library to support proxy env variables for CLI client
- switch to streaming for CLI client
- upgrade mongodb to 2.2.22 from 2.2.21
- upgrade js-md5 to 0.4.2 from 0.4.1
- upgrade winston to 2.3.1 from 2.3.0
- upgrade send to 0.14.2 from 0.14.1
- add new authorisation strategy; make authorisation requests to npg_sentry via tokens
release 1.2.0
- remove directly logging to file due to winston bug
- add flags to change logging level
- all logging output is now sent to stderr
- upgrade mongodb to 2.2.21 from 2.2.12
- upgrade browserify to 13.3.0 from 13.1.1
- upgrade moment to 2.17.1 from 2.17.0
- upgrade pem to 1.9.4 from 1.9.2
- upgrade fs-extra to 2.0.0 from 1.0.0
release 1.1.0
- cwd before executing pipelines and cleaning after pipeline finishes
- added more filters for /sample url
- switch to htslib@1.3.2 with curl support and samtools@1.3.1-npg-Sep2016 in Travis
- remove forwarding protocol from proxy, use protocol only from conf
- upgrade moment to 2.17.0 from 2.16.0
- upgrade mongodb to 2.2.12 from 2.2.11
- upgrade pem to 1.9.2 from 1.8.3
- upgrade tmp to 0.0.31 from 0.0.30
- do not allow query strings containing multiple attribute-value pairs for the same attribute
- upgrade Freebayes to 1.1.0 from 1.0.2-npg-Aug2016 in TravisCI and docs
- include docker configuration to deploy with containers
release 1.0.0
- show error in log when controller tests fail to cleanup
- bring back test for unknown server, keep external servers as pending tests
- security option for server start (TLS)
- /file url now serves files of all formats without processing
release 0.7.0
- use npg_ranger server for roundtrip tests
- add prototype for reference resolve
- upgrade moment to 2.16.0 from 2.15.2
- upgrade tmp to 0.0.30 from 0.0.29
- upgrade fs-extra to 1.0.0 from ^0.30.0
- upgrade winston to 2.3.0 from 2.2.0
release 0.6.0
- example apache.conf in docs
- badges in README.md
- add cluster support
- faster server shutdown with http-shutdown
release 0.5.0
- allow for email in the remote user value
- server/client version from package.json
- updated docs for 0.5.0
- increase timouts for some tests
- remove assert for process.env.USER in bin/server
- upgrade browserify to 13.1.1 from 13.1.0
- upgrade moment to 2.15.2 from 2.15.1
- upgrade mongodb to 2.2.11 from 2.2.10
release 0.4.0
- set node recomended to >= 4.5.0 in package.json
- add config-chain 1.1.11
- upgrade moment to 2.15.1 from 2.14.1
- upgrade mongodb to 2.2.10 from 2.2.8
- upgrade tmp to 0.0.29 from 0.0.28
- use npm 3.10.7 in travis
- use node 4.5.0 in travis
- kill all processes after -g seconds after client disconnection
- Provide VCF files using freebayes
- add new module to handle config options
- fix error in interpreting the end range value in the user query
- client library - an option to accept trailers and failing the overall request if data is truncated
- client script - exit with error code if the request is unsuccessful
- server - only set trailers if the client declared that it accepts them
- restrict request types handled by the server to GET and OPTIONS
- add a separate handler for OPTIONS request, set CORS headers
- read-only configuration when options are read from a command line
- proxy-aware server configuration
- validation for reference name user input
- full cycle tests using bioinf tools, compiled tools cached in travis
release 0.3.0
- publish as npm package
- expand docs for installing and running client/server
- upgrade mongodb from 2.2.4 to 2.2.8
- upgrade grunt-jasmine-nodejs from 1.5.3 to 1.5.4
- upgrade load-grunt-tasks from 'latest' to 3.5.2
- fix wrongly reporting error while closing fd in client
- compliance with the GA4GH API: redirection urls as objects
- restructure documentation
- upgrading moment to 2.14.1 from 2.13.0
- upgrading grunt-jscs to 3.0.1 from 3.0.0
- new client code to comply with GA4GH API
- client code fit to use with browserify
release 0.2.1
- compliance with the GA4GH API: use upper case for format
release 0.2.0
- application model and controller as separate modules
- GA4GH API url and redirection
- logging with Winston
release 0.1.1
- HTTP errors compliant with GA4GH API.
release 0.1
- Initial version: a node.js server running on a socket or on a port serving either individual files or merging all available files for a sample, a range to serve and data format to serve can be specified, mongodb is used to find file locations, authorization is switched on by default (can be disabled), relies on authentication done elsewhere (the incoming request should have X-Remote-User header set), so this server should be run behind a reverse proxy that will perform authentication and set the header, 'data_truncated' trailer header is set to 'false' if the data processing pipeline completed successfully, in case of an error in the pipeline it is set to 'true'.