diff --git a/Cargo.lock b/Cargo.lock index 24d313668..cdb5508d3 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1719,7 +1719,7 @@ dependencies = [ [[package]] name = "htsget-actix" -version = "0.2.0" +version = "0.3.0" dependencies = [ "actix-cors", "actix-web", @@ -1745,7 +1745,7 @@ dependencies = [ [[package]] name = "htsget-config" -version = "0.2.0" +version = "0.3.0" dependencies = [ "async-trait", "clap 4.2.7", @@ -1768,7 +1768,7 @@ dependencies = [ [[package]] name = "htsget-http" -version = "0.2.0" +version = "0.3.0" dependencies = [ "futures", "htsget-config", @@ -1783,7 +1783,7 @@ dependencies = [ [[package]] name = "htsget-lambda" -version = "0.2.0" +version = "0.3.0" dependencies = [ "async-trait", "bytes", @@ -1807,7 +1807,7 @@ dependencies = [ [[package]] name = "htsget-search" -version = "0.2.0" +version = "0.3.0" dependencies = [ "async-trait", "aws-config", @@ -1846,7 +1846,7 @@ dependencies = [ [[package]] name = "htsget-test" -version = "0.2.0" +version = "0.3.0" dependencies = [ "async-trait", "base64 0.21.0", diff --git a/htsget-actix/CHANGELOG.md b/htsget-actix/CHANGELOG.md index 2a2c41e7c..187cfadd6 100644 --- a/htsget-actix/CHANGELOG.md +++ b/htsget-actix/CHANGELOG.md @@ -6,6 +6,51 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [0.3.0](https://github.com/umccr/htsget-rs/compare/htsget-actix-v0.2.0...htsget-actix-v0.3.0) - 2023-05-29 + +### Added +- format parsing is now case-insensitive when validating query parameters +- [**breaking**] add request header information to post handlers +- [**breaking**] add request header information to get handlers +- *(config)* add url-storage feature flag +- add option to format logs in different styles +- add error type to config +- *(actix)* TLS on ticket server +- [**breaking**] add tls config to ticket server, rearrange some fields +- *(test)* add multiple resolvers for server tests and test resolution +- *(config)* add automatic config inference for local and s3 storage, and rearrange modules +- [**breaking**] simplify storage config by allowing untagged enum representation + +### Fixed +- inserting keys with the same name multiple times into headers serializes correctly +- *(config)* use set to avoid duplicate key-value pairs in headers +- [**breaking**] headers should allow multiple values for the same key +- use correct help context for a crate using htsget-config +- *(release)* Bump all crates to 0.1.2 as explored in https://github.com/MarcoIeni/release-plz/issues/507#issuecomment-1422187766 + +### Other +- update for UrlStorage +- [**breaking**] rename AwsS3Storage to S3Storage in search +- [**breaking**] http refactor, pass request with query +- remove s3-storage as default +- Merge branch 'main' of https://github.com/umccr/htsget-rs into feat/actix-tls +- a few style changes, changed default resolver +- [**breaking**] rename `HttpTicketFormatter` and remove `UrlFormatter` implementation for it +- [**breaking**] move htsget structs to config, and resolve storage type in config +- manually bump crate versions to 0.1.4 +- make htsget-test a regular dependency +- bump crate versions to 0.1.3 manually +- specify htsget-test version +- *(test)* remove htsget-test dependence on htsget-search and htsget-http. +- [**breaking**] move CertificateKeyPair to config to simplify data server logic +- release +- Downgrade release after fixing cargo publish circular dep issues as discussed in https://github.com/MarcoIeni/release-plz/issues/507#issuecomment-1420254400 +- Update cargo files ([#152](https://github.com/umccr/htsget-rs/pull/152)) +- *(deps)* bump tokio from 1.24.0 to 1.24.2 ([#151](https://github.com/umccr/htsget-rs/pull/151)) +- release ([#148](https://github.com/umccr/htsget-rs/pull/148)) +- Set MSRV on all sub-crates ([#146](https://github.com/umccr/htsget-rs/pull/146)) +- Better CI ([#98](https://github.com/umccr/htsget-rs/pull/98)) + ## [0.2.0](https://github.com/umccr/htsget-rs/compare/htsget-actix-v0.1.4...htsget-actix-v0.2.0) - 2023-04-28 ### Added diff --git a/htsget-actix/Cargo.toml b/htsget-actix/Cargo.toml index ba1ecad93..994956cbb 100644 --- a/htsget-actix/Cargo.toml +++ b/htsget-actix/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "htsget-actix" -version = "0.2.0" +version = "0.3.0" rust-version = "1.64" authors = ["Daniel del Castillo de la Rosa ", "Marko Malenic "] edition = "2021" @@ -24,10 +24,10 @@ rustls-pemfile = "1.0" serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" futures-util = { version = "0.3" } -htsget-http = { version = "0.2.0", path = "../htsget-http", default-features = false } -htsget-search = { version = "0.2.0", path = "../htsget-search", default-features = false } -htsget-config = { version = "0.2.0", path = "../htsget-config", default-features = false } -htsget-test = { version = "0.2.0", path = "../htsget-test", features = ["server-tests", "cors-tests"], default-features = false } +htsget-http = { version = "0.3.0", path = "../htsget-http", default-features = false } +htsget-search = { version = "0.3.0", path = "../htsget-search", default-features = false } +htsget-config = { version = "0.3.0", path = "../htsget-config", default-features = false } +htsget-test = { version = "0.3.0", path = "../htsget-test", features = ["server-tests", "cors-tests"], default-features = false } futures = { version = "0.3" } tokio = { version = "1.25", features = ["macros", "rt-multi-thread"] } diff --git a/htsget-config/CHANGELOG.md b/htsget-config/CHANGELOG.md index 1c50b25cc..9cec39f12 100644 --- a/htsget-config/CHANGELOG.md +++ b/htsget-config/CHANGELOG.md @@ -6,6 +6,124 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [0.3.0](https://github.com/umccr/htsget-rs/compare/htsget-config-v0.2.0...htsget-config-v0.3.0) - 2023-05-29 + +### Added +- implement url formatting for url storage +- *(config)* use proper url parsing in config +- add option to format logs in different styles +- add error type to config +- [**breaking**] add tls config to ticket server, rearrange some fields +- use serve_at in data server rather than a constant +- *(config)* set `Local` resolvers from data server config after parsing the `Config` +- *(config)* add automatic config inference for local and s3 storage, and rearrange modules +- [**breaking**] simplify storage config by allowing untagged enum representation + +### Fixed +- inserting keys with the same name multiple times into headers serializes correctly +- local storage on windows no longer returns urls with incorrect paths +- *(config)* use set to avoid duplicate key-value pairs in headers +- [**breaking**] headers should allow multiple values for the same key +- use correct help context for a crate using htsget-config +- *(release)* Bump all crates to 0.1.2 as explored in https://github.com/MarcoIeni/release-plz/issues/507#issuecomment-1422187766 + +### Other +- *(config)* clarify which HTTP requests `UrlStorage` will make +- *(config)* update docs for more clarity +- update for UrlStorage +- Merge branch 'main' of https://github.com/umccr/htsget-rs into feat/url_storage +- [**breaking**] rename AwsS3Storage to S3Storage in search +- [**breaking**] http refactor, pass request with query +- remove s3-storage as default +- *(config)* rename ResolveResponse functions +- *(config)* add logic for url storage in resolvers +- Merge branch 'main' of https://github.com/umccr/htsget-rs into feat/url_storage +- *(config)* add documentation for endpoint when using S3 storage +- Merge branch 'main' of https://github.com/umccr/htsget-rs into feat/actix-tls +- *(config)* fix typo +- *(config)* rename test +- *(config)* add tests for resolving responses +- *(config)* fix incorrectly using resolved id when searching for regex capture groups +- a few style changes, changed default resolver +- *(config)* add tests for default tagged storage type +- *(config)* document new features and how to use them +- [**breaking**] rename `HttpTicketFormatter` and remove `UrlFormatter` implementation for it +- [**breaking**] move htsget structs to config, and resolve storage type in config +- *(config)* leverage tagged enum types to allow selecting storage type without manually specifying config values +- manually bump crate versions to 0.1.4 +- bump crate versions to 0.1.3 manually +- [**breaking**] move CertificateKeyPair to config to simplify data server logic +- release +- Downgrade release after fixing cargo publish circular dep issues as discussed in https://github.com/MarcoIeni/release-plz/issues/507#issuecomment-1420254400 +- Update cargo files ([#152](https://github.com/umccr/htsget-rs/pull/152)) +- release ([#148](https://github.com/umccr/htsget-rs/pull/148)) +- Set MSRV on all sub-crates ([#146](https://github.com/umccr/htsget-rs/pull/146)) +- Better CI ([#98](https://github.com/umccr/htsget-rs/pull/98)) +- add missing environment variable options +- remove unnecessary default column for environment variables, surround environment variables in backticks. +- reword resolvers description +- clarify how the resolvers work +- reword usage string +- remove duplicate config module +- Merge branch 'main' of https://github.com/umccr/htsget-rs into more-flexible-config-rename +- fix feature flag compile errors +- add test for long resolvers from environment variable config +- fix broken data server optional by introducing boolean flag to enable data server +- add documentation for reworked config +- flatten data server config +- clippy and fmt +- update config file with default values, add option to print a default config +- allow specifying tags, reference names, fields with an 'All' value +- remove setters, add constructors, add documentation. +- reduce some options for cors, remove repeated code when configuring cors +- fix tests affected by config, change some default values and move around config options +- remove custom deserializer for None option and instead use custom enum +- fix logic involving allowed attributes +- apply changes to other crates from reworked config +- update getter return types +- deserialize empty string as None value +- add cors tests and environment variable tests +- remove public fields, add public getters +- allow configuring multiple data servers +- add expose headers cors option +- move cors config to separate file +- add case insensitive aliases to enum variants +- add allow origins, and separate out tagged and untagged enum variants +- add generic allow type configuration option for allow headers and allow methods +- add cors max age option +- add cors allow header types for cors config +- add CorsConfig shared struct +- add UrlResolver, separate data server config from resolver +- fix errors relating to new config +- use figment instead of config because it is simpler to set defaults +- move config into separate module +- add tests for checking for contained value in interval +- implement query matcher logic +- move fields, tags, no tags, query, and interval to config +- add separate config for local server and s3 storage +- add config file from command line or env option +- swap out envy for config dependency +- Add documentation for cors +- Implement configurable origin for cors +- Add cors allow credentials option to data server config +- Move data server config to separate struct +- Move server config into separate struct +- Implement cors for htsget-http-actix. +- Add more spans and tracing calls. +- Move tracing setup to config. +- Bump dependencies, fix clippy warnings. +- Improve errors so that they are more informative. +- Update README instructions. +- Add ticker server addr test. +- Clean up code, format, update dependencies. +- Implement non-tls ticket server alongside tls ticket server. +- Fix localstorage path ([#86](https://github.com/umccr/htsget-rs/pull/86)) +- Fix tests and errors ([#83](https://github.com/umccr/htsget-rs/pull/83)) +- Deploy htsget-http-lambda. ([#81](https://github.com/umccr/htsget-rs/pull/81)) +- Enable choosing between storage types. ([#80](https://github.com/umccr/htsget-rs/pull/80)) +- Remove file from localstorage ([#79](https://github.com/umccr/htsget-rs/pull/79)) +- Htsget http lambda ([#76](https://github.com/umccr/htsget-rs/pull/76)) + ## [0.2.0](https://github.com/umccr/htsget-rs/compare/htsget-config-v0.1.4...htsget-config-v0.2.0) - 2023-04-28 ### Added diff --git a/htsget-config/Cargo.toml b/htsget-config/Cargo.toml index 1cc95572a..7ecc52d13 100644 --- a/htsget-config/Cargo.toml +++ b/htsget-config/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "htsget-config" -version = "0.2.0" +version = "0.3.0" rust-version = "1.64" authors = ["Daniel del Castillo de la Rosa ", "Marko Malenic "] edition = "2021" diff --git a/htsget-http/CHANGELOG.md b/htsget-http/CHANGELOG.md index 200abb9c3..28ec2b1cc 100644 --- a/htsget-http/CHANGELOG.md +++ b/htsget-http/CHANGELOG.md @@ -6,6 +6,44 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [0.3.0](https://github.com/umccr/htsget-rs/compare/htsget-http-v0.2.0...htsget-http-v0.3.0) - 2023-05-29 + +### Added +- format parsing is now case-insensitive when validating query parameters +- [**breaking**] add request header information to post handlers +- [**breaking**] add request header information to get handlers +- *(config)* add url-storage feature flag +- add error type to config +- *(config)* add automatic config inference for local and s3 storage, and rearrange modules +- [**breaking**] simplify storage config by allowing untagged enum representation + +### Fixed +- [**breaking**] headers should allow multiple values for the same key +- *(http)* return InvalidInput when query parameters are present for a post request +- use correct help context for a crate using htsget-config +- *(release)* Bump all crates to 0.1.2 as explored in https://github.com/MarcoIeni/release-plz/issues/507#issuecomment-1422187766 + +### Other +- update for UrlStorage +- [**breaking**] rename AwsS3Storage to S3Storage in search +- [**breaking**] http refactor, pass request with query +- remove s3-storage as default +- Merge branch 'main' of https://github.com/umccr/htsget-rs into feat/actix-tls +- [**breaking**] rename `HttpTicketFormatter` and remove `UrlFormatter` implementation for it +- [**breaking**] move htsget structs to config, and resolve storage type in config +- manually bump crate versions to 0.1.4 +- make htsget-test a regular dependency +- bump crate versions to 0.1.3 manually +- specify htsget-test version +- *(http)* make naming of service info fields consistent +- release +- Downgrade release after fixing cargo publish circular dep issues as discussed in https://github.com/MarcoIeni/release-plz/issues/507#issuecomment-1420254400 +- Update cargo files ([#152](https://github.com/umccr/htsget-rs/pull/152)) +- *(deps)* bump tokio from 1.24.0 to 1.24.2 ([#151](https://github.com/umccr/htsget-rs/pull/151)) +- release ([#148](https://github.com/umccr/htsget-rs/pull/148)) +- Set MSRV on all sub-crates ([#146](https://github.com/umccr/htsget-rs/pull/146)) +- Better CI ([#98](https://github.com/umccr/htsget-rs/pull/98)) + ## [0.2.0](https://github.com/umccr/htsget-rs/compare/htsget-http-v0.1.4...htsget-http-v0.2.0) - 2023-04-28 ### Added diff --git a/htsget-http/Cargo.toml b/htsget-http/Cargo.toml index 70c1b35b7..cb79064d2 100644 --- a/htsget-http/Cargo.toml +++ b/htsget-http/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "htsget-http" -version = "0.2.0" +version = "0.3.0" rust-version = "1.64" authors = ["Daniel del Castillo de la Rosa ", "Marko Malenic "] edition = "2021" @@ -19,9 +19,9 @@ default = [] thiserror = "1.0" serde = { version = "1.0", features = ["derive"] } http = "0.2" -htsget-search = { version = "0.2.0", path = "../htsget-search", default-features = false } -htsget-config = { version = "0.2.0", path = "../htsget-config", default-features = false } -htsget-test = { version = "0.2.0", path = "../htsget-test", default-features = false } +htsget-search = { version = "0.3.0", path = "../htsget-search", default-features = false } +htsget-config = { version = "0.3.0", path = "../htsget-config", default-features = false } +htsget-test = { version = "0.3.0", path = "../htsget-test", default-features = false } futures = { version = "0.3" } tokio = { version = "1.25", features = ["macros", "rt-multi-thread"] } tracing = "0.1" diff --git a/htsget-lambda/CHANGELOG.md b/htsget-lambda/CHANGELOG.md index cddab16d8..5436e2b46 100644 --- a/htsget-lambda/CHANGELOG.md +++ b/htsget-lambda/CHANGELOG.md @@ -6,6 +6,48 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [0.3.0](https://github.com/umccr/htsget-rs/compare/htsget-lambda-v0.2.0...htsget-lambda-v0.3.0) - 2023-05-29 + +### Added +- format parsing is now case-insensitive when validating query parameters +- [**breaking**] add request header information to post handlers +- [**breaking**] add request header information to get handlers +- *(config)* add url-storage feature flag +- add option to format logs in different styles +- add error type to config +- [**breaking**] add tls config to ticket server, rearrange some fields +- *(test)* add multiple resolvers for server tests and test resolution +- *(config)* add automatic config inference for local and s3 storage, and rearrange modules +- [**breaking**] simplify storage config by allowing untagged enum representation + +### Fixed +- use correct help context for a crate using htsget-config +- *(release)* Bump all crates to 0.1.2 as explored in https://github.com/MarcoIeni/release-plz/issues/507#issuecomment-1422187766 + +### Other +- update for UrlStorage +- [**breaking**] rename AwsS3Storage to S3Storage in search +- [**breaking**] http refactor, pass request with query +- remove s3-storage as default +- Merge branch 'main' of https://github.com/umccr/htsget-rs into feat/actix-tls +- [**breaking**] rename `HttpTicketFormatter` and remove `UrlFormatter` implementation for it +- [**breaking**] move htsget structs to config, and resolve storage type in config +- manually bump crate versions to 0.1.4 +- make htsget-test a regular dependency +- bump crate versions to 0.1.3 manually +- specify htsget-test version +- *(test)* remove htsget-test dependence on htsget-search and htsget-http. +- [**breaking**] move CertificateKeyPair to config to simplify data server logic +- Merge pull request [#133](https://github.com/umccr/htsget-rs/pull/133) from umccr/deploy-htsget-rs +- release +- Downgrade release after fixing cargo publish circular dep issues as discussed in https://github.com/MarcoIeni/release-plz/issues/507#issuecomment-1420254400 +- Update cargo files ([#152](https://github.com/umccr/htsget-rs/pull/152)) +- Remove s3-server and dependencies ([#150](https://github.com/umccr/htsget-rs/pull/150)) +- *(deps)* bump tokio from 1.24.0 to 1.24.2 ([#151](https://github.com/umccr/htsget-rs/pull/151)) +- release ([#148](https://github.com/umccr/htsget-rs/pull/148)) +- Set MSRV on all sub-crates ([#146](https://github.com/umccr/htsget-rs/pull/146)) +- Better CI ([#98](https://github.com/umccr/htsget-rs/pull/98)) + ## [0.2.0](https://github.com/umccr/htsget-rs/compare/htsget-lambda-v0.1.4...htsget-lambda-v0.2.0) - 2023-04-28 ### Added diff --git a/htsget-lambda/Cargo.toml b/htsget-lambda/Cargo.toml index c99603e69..be8c0fe99 100644 --- a/htsget-lambda/Cargo.toml +++ b/htsget-lambda/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "htsget-lambda" -version = "0.2.0" +version = "0.3.0" rust-version = "1.64" authors = ["Marko Malenic ", "Roman Valls Guimera "] edition = "2021" @@ -20,10 +20,10 @@ tokio = { version = "1.25", features = ["macros", "rt-multi-thread"] } tower-http = { version = "0.3", features = ["cors"] } lambda_http = { version = "0.7" } lambda_runtime = { version = "0.7" } -htsget-config = { version = "0.2.0", path = "../htsget-config", default-features = false } -htsget-search = { version = "0.2.0", path = "../htsget-search", default-features = false } -htsget-http = { version = "0.2.0", path = "../htsget-http", default-features = false } -htsget-test = { version = "0.2.0", path = "../htsget-test", features = ["server-tests", "cors-tests"], default-features = false } +htsget-config = { version = "0.3.0", path = "../htsget-config", default-features = false } +htsget-search = { version = "0.3.0", path = "../htsget-search", default-features = false } +htsget-http = { version = "0.3.0", path = "../htsget-http", default-features = false } +htsget-test = { version = "0.3.0", path = "../htsget-test", features = ["server-tests", "cors-tests"], default-features = false } serde = { version = "1.0" } serde_json = "1.0" mime = "0.3" diff --git a/htsget-search/CHANGELOG.md b/htsget-search/CHANGELOG.md index 318513aba..5f6dec79d 100644 --- a/htsget-search/CHANGELOG.md +++ b/htsget-search/CHANGELOG.md @@ -6,6 +6,210 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [0.3.0](https://github.com/umccr/htsget-rs/compare/htsget-search-v0.2.0...htsget-search-v0.3.0) - 2023-05-29 + +### Added +- implement url formatting for url storage +- *(search)* [**breaking**] implement get request and streamable type for url storage +- *(search)* implement head request for url storage +- *(search)* get url from key +- *(search)* add url storage struct +- *(config)* use proper url parsing in config +- *(search)* include request headers to storage options +- *(search)* re-export some config types +- *(config)* add url-storage feature flag +- add error type to config +- *(search)* add pub rustls server config function +- *(test)* add multiple resolvers for server tests and test resolution +- use serve_at in data server rather than a constant +- *(config)* add automatic config inference for local and s3 storage, and rearrange modules +- [**breaking**] simplify storage config by allowing untagged enum representation + +### Fixed +- inserting keys with the same name multiple times into headers serializes correctly +- local storage on windows no longer returns urls with incorrect paths +- *(search)* use url directly instead of converting to string first +- use correct help context for a crate using htsget-config +- *(search)* return error instead of panicking when a TLS key is not found +- *(release)* Bump all crates to 0.1.2 as explored in https://github.com/MarcoIeni/release-plz/issues/507#issuecomment-1422187766 +- fixes for byte range ends +- fix IOError name +- fixes & model improvements & bam search progress +- fixes & model improvements & bam search progress +- fix docs + +### Other +- update for UrlStorage +- Merge branch 'main' of https://github.com/umccr/htsget-rs into feat/url_storage +- *(search)* add authorization header check to test server +- *(search)* fix head content-length behaviour and add remaining storage tests +- *(search)* add mock server and request tests +- *(search)* add url format tests +- *(search)* add get url from key test +- [**breaking**] rename AwsS3Storage to S3Storage in search +- [**breaking**] http refactor, pass request with query +- remove s3-storage as default +- *(config)* rename ResolveResponse functions +- *(config)* add logic for url storage in resolvers +- Merge branch 'main' of https://github.com/umccr/htsget-rs into feat/actix-tls +- *(search)* return plain ServerConfig from rustls load function rather than Arc +- *(search)* convert match to if let +- *(search)* add warning when a non-valid PL read group header is found +- *(search)* add additional tests for searching resolvers and from storage +- *(search)* implement `ResolveResponse` on `HtsGetFromStorage` +- [**breaking**] rename `HttpTicketFormatter` and remove `UrlFormatter` implementation for it +- [**breaking**] move htsget structs to config, and resolve storage type in config +- manually bump crate versions to 0.1.4 +- make htsget-test a regular dependency +- bump crate versions to 0.1.3 manually +- allow htsget-test to be published and bump deps +- specify htsget-test version +- [**breaking**] move CertificateKeyPair to config to simplify data server logic +- *(search)* apply rustfmt +- Merge pull request [#154](https://github.com/umccr/htsget-rs/pull/154) from umccr/release-plz/2023-02-07T21-45-42Z +- release +- Downgrade release after fixing cargo publish circular dep issues as discussed in https://github.com/MarcoIeni/release-plz/issues/507#issuecomment-1420254400 +- Update cargo files ([#152](https://github.com/umccr/htsget-rs/pull/152)) +- Remove s3-server and dependencies ([#150](https://github.com/umccr/htsget-rs/pull/150)) +- *(deps)* bump tokio from 1.24.0 to 1.24.2 ([#151](https://github.com/umccr/htsget-rs/pull/151)) +- *(fix)* Remove version from htsget-test and mark it for publish=false to avoid circular dependency as recommended by @Marcoleni in https://github.com/MarcoIeni/release-plz/pull/452#issuecomment-1409835221 +- release ([#148](https://github.com/umccr/htsget-rs/pull/148)) +- Set MSRV on all sub-crates ([#146](https://github.com/umccr/htsget-rs/pull/146)) +- Better CI ([#98](https://github.com/umccr/htsget-rs/pull/98)) +- Merge branch 'main' of https://github.com/umccr/htsget-rs into more-flexible-config-rename +- add test for long resolvers from environment variable config +- clippy and fmt +- allow specifying tags, reference names, fields with an 'All' value +- reduce some options for cors, remove repeated code when configuring cors +- fix tests affected by config, change some default values and move around config options +- apply changes to other crates from reworked config +- deserialize empty string as None value +- move cors config to separate file +- fix errors relating to new config +- add tests for checking for contained value in interval +- add safe cast for conversion between i64 and u64 +- move fields, tags, no tags, query, and interval to config +- Make search structs public +- Remove ReferenceSequenceInfo +- Remove unused code and logic +- Add tests for no end position +- Remove requirement for default end position when converting to noodles interval +- Merge branch 'main' of https://github.com/umccr/htsget-rs into exports +- Export some functions for use as a dependency +- Re-export htsget-config as a dependency from other crates +- Update non-noodles dependencies +- Http and tls server test uses test utils +- Convert preflight server test to test utils +- Convert data server test to use test utils +- Implement http test traits for data server +- Add CorsLayer responses to htsget-http-lambda +- Move configure_cors to module file +- Bump deps for noodles and simplify logic around maximum reference sequence length using new noodles types +- List out allowed methods rather than sending wildcard +- Add ticket server cors tests +- Add cors options request test +- Fix tests implementation +- Can't use base directory function in test +- Implement additional cors test +- Add base path only function in tests for code reuse +- Add cors tests +- Layer should go after merge +- Implement cors for data server +- Rename ticket server to data server +- Move data server config to separate struct +- Implement cors for htsget-http-actix. +- Changes to deployment ([#116](https://github.com/umccr/htsget-rs/pull/116)) +- Remove some trace log details to avoid making them overly long. +- Add more detail to gzi traces. +- Add more spans and tracing calls. +- Add buffered reading to bai and gzi. +- Add buffered reading to cram search. +- Remove logging chunks as it is too noisy. +- Emit trace logs from functions. +- Add some more instrument targets, use span in_scope. +- Remove sleep call. +- Add a few more tracing span targets. +- Add span tracing to test timings. +- Small changes related to indices ([#114](https://github.com/umccr/htsget-rs/pull/114)) +- Bump dependencies, fix clippy warnings. +- Avoid reading index unless it is required. +- Remove some unnecessary unwraps. +- Improve errors so that they are more informative. +- Remove RangeBounds on BytesPosition as its use is less readable with classes. +- Fix tests related to response class. +- Remove headers from response if empty. +- Simplify JsonUrl logic. +- Responses should contain a class for all ranges, or no ranges. +- Fix tests. +- Implement RangeBounds for BytesPosition. +- Perform byte position merging when creating data blocks. +- Byte position records class, Header for only header bytes, Body for only body bytes, and None if there is a mix of bytes. +- Allow BytesPosition to record its own class. +- Fix unneseccary storage queries ([#107](https://github.com/umccr/htsget-rs/pull/107)) +- Simplify querying for all records by determining file size. +- Server benchmarks should use non-tls ticket server as this is a fairer comparison to the htsget-refserver. +- Clean up code, format, update dependencies. +- Tests run independently by using dynamic port allocation. +- The GC info field should have a Float type rather than an Integer type. +- Implement non-tls ticket server alongside tls ticket server. +- Rename some traits and structs to clarify their purpose. +- Bump many deps (except querymap) and avoid pulling full tokio in, we just need macros and rt-multi-thread ([#96](https://github.com/umccr/htsget-rs/pull/96)) +- Out of order urls ([#95](https://github.com/umccr/htsget-rs/pull/95)) +- Pinning to noodles-tabix =0.9.0 as suggested in https://github.com/zaeleus/noodles/issues/90#issuecomment-1150361623 as a result of getting CI errors on https://github.com/umccr/htsget-rs/runs/6803593182?check_suite_focus=true#step:6:90 +- Fix eof errors ([#87](https://github.com/umccr/htsget-rs/pull/87)) +- Add benchmarks ([#59](https://github.com/umccr/htsget-rs/pull/59)) +- Fix localstorage path ([#86](https://github.com/umccr/htsget-rs/pull/86)) +- Fix tests and errors ([#83](https://github.com/umccr/htsget-rs/pull/83)) +- Deploy htsget-http-lambda. ([#81](https://github.com/umccr/htsget-rs/pull/81)) +- Enable choosing between storage types. ([#80](https://github.com/umccr/htsget-rs/pull/80)) +- Remove file from localstorage ([#79](https://github.com/umccr/htsget-rs/pull/79)) +- Spawn s3-server once so that tests don't have to be run on one thread. ([#78](https://github.com/umccr/htsget-rs/pull/78)) +- Remove blocking ([#77](https://github.com/umccr/htsget-rs/pull/77)) +- Htsget http lambda ([#76](https://github.com/umccr/htsget-rs/pull/76)) +- Storage class for s3 ([#74](https://github.com/umccr/htsget-rs/pull/74)) +- Decouple File struct from Search trait. ([#70](https://github.com/umccr/htsget-rs/pull/70)) +- Fix runtime panics from curl ([#69](https://github.com/umccr/htsget-rs/pull/69)) +- Bump all tokio versions and stay on track with Noodles versioning instead of working from its git /cc @andrewpatto +- Implement id resolver ([#60](https://github.com/umccr/htsget-rs/pull/60)) +- Convert Storage and HtsGet traits to use async/await ([#56](https://github.com/umccr/htsget-rs/pull/56)) +- Bump up noodles across crates, otherwise several versions get mixed up +- Add the service info endpoints ([#54](https://github.com/umccr/htsget-rs/pull/54)) +- Add the htsget-http-core and htsget-http-actix crates ([#45](https://github.com/umccr/htsget-rs/pull/45)) +- Track crates.io version of noodles ([#53](https://github.com/umccr/htsget-rs/pull/53)) +- Use file size for end bytes ranges. +- Refactor commonalities across all formats. +- Providing the file size through the Storage abstraction. ([#49](https://github.com/umccr/htsget-rs/pull/49)) +- Implement CRAM search backend. ([#44](https://github.com/umccr/htsget-rs/pull/44)) +- Add BCF support ([#43](https://github.com/umccr/htsget-rs/pull/43)) +- Improve the bytes ranges for the BAM header ([#42](https://github.com/umccr/htsget-rs/pull/42)) +- VCF search interface implementation (/variants endpoint) ([#37](https://github.com/umccr/htsget-rs/pull/37)) +- Adapt tests to noodles changes ([#41](https://github.com/umccr/htsget-rs/pull/41)) +- Htsget tests ([#40](https://github.com/umccr/htsget-rs/pull/40)) +- Calculate BAM byte ranges more accurately ([#35](https://github.com/umccr/htsget-rs/pull/35)) +- Remove duplicity in Query, UrlOptions and Url ([#29](https://github.com/umccr/htsget-rs/pull/29)) +- Fix Local Storage always adding the Range header ([#31](https://github.com/umccr/htsget-rs/pull/31)) +- Storage model tests ([#28](https://github.com/umccr/htsget-rs/pull/28)) +- Merge pull request [#25](https://github.com/umccr/htsget-rs/pull/25) from chris-zen/vcf_bcf_test_data +- Add some tests for LocalStorage::url ([#22](https://github.com/umccr/htsget-rs/pull/22)) +- Add the rest of the builder methods to Query ([#21](https://github.com/umccr/htsget-rs/pull/21)) +- Implement class attribute for reads. ([#19](https://github.com/umccr/htsget-rs/pull/19)) +- Update references and README ([#18](https://github.com/umccr/htsget-rs/pull/18)) +- add tests for BytesRange ([#14](https://github.com/umccr/htsget-rs/pull/14)) +- merge byte ranges +- some renames +- Fix BAM search for unmapped & clippy errors +- add search by reference name and range +- add TODO for BamSearch::url tests +- add TODO for BamSearch::url tests +- added test for HtsGetFromStorage +- added 2 tests for BamSearch +- preparing tests for BamSearch +- add tests and fixes for LocalStorage +- reorganized + rustdocs +- introduced the concept of Storage +- failed attempt to use a BAI index +- work in progress + ## [0.2.0](https://github.com/umccr/htsget-rs/compare/htsget-search-v0.1.4...htsget-search-v0.2.0) - 2023-04-28 ### Added diff --git a/htsget-search/Cargo.toml b/htsget-search/Cargo.toml index ea171505e..2648840c8 100644 --- a/htsget-search/Cargo.toml +++ b/htsget-search/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "htsget-search" -version = "0.2.0" +version = "0.3.0" rust-version = "1.64" authors = ["Christian Perez Llamas ", "Marko Malenic ", "Roman Valls Guimera "] edition = "2021" @@ -48,8 +48,8 @@ reqwest = { version = "0.11", default-features = false, optional = true, feature # Error control, tracing, config thiserror = "1.0" -htsget-config = { version = "0.2.0", path = "../htsget-config", default-features = false } -htsget-test = { version = "0.2.0", path = "../htsget-test", features = ["cors-tests"], default-features = false } +htsget-config = { version = "0.3.0", path = "../htsget-config", default-features = false } +htsget-test = { version = "0.3.0", path = "../htsget-test", features = ["cors-tests"], default-features = false } tracing = "0.1" base64 = "0.21" serde = "1.0" diff --git a/htsget-test/CHANGELOG.md b/htsget-test/CHANGELOG.md index 7d23cf636..2a6937037 100644 --- a/htsget-test/CHANGELOG.md +++ b/htsget-test/CHANGELOG.md @@ -6,6 +6,44 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [0.3.0](https://github.com/umccr/htsget-rs/compare/htsget-test-v0.2.0...htsget-test-v0.3.0) - 2023-05-29 + +### Added +- *(config)* add url-storage feature flag +- add option to format logs in different styles +- add error type to config +- [**breaking**] add tls config to ticket server, rearrange some fields +- *(test)* add multiple resolvers for server tests and test resolution +- use serve_at in data server rather than a constant +- *(config)* add automatic config inference for local and s3 storage, and rearrange modules +- [**breaking**] simplify storage config by allowing untagged enum representation + +### Fixed +- inserting keys with the same name multiple times into headers serializes correctly +- [**breaking**] headers should allow multiple values for the same key +- use correct help context for a crate using htsget-config +- *(release)* Bump all crates to 0.1.2 as explored in https://github.com/MarcoIeni/release-plz/issues/507#issuecomment-1422187766 + +### Other +- update for UrlStorage +- [**breaking**] rename AwsS3Storage to S3Storage in search +- remove s3-storage as default +- Merge branch 'main' of https://github.com/umccr/htsget-rs into feat/actix-tls +- [**breaking**] move htsget structs to config, and resolve storage type in config +- manually bump crate versions to 0.1.4 +- bump crate versions to 0.1.3 manually +- allow htsget-test to be published and bump deps +- *(test)* remove htsget-test dependence on htsget-search and htsget-http. +- [**breaking**] move CertificateKeyPair to config to simplify data server logic +- release +- Downgrade release after fixing cargo publish circular dep issues as discussed in https://github.com/MarcoIeni/release-plz/issues/507#issuecomment-1420254400 +- Update cargo files ([#152](https://github.com/umccr/htsget-rs/pull/152)) +- *(deps)* bump tokio from 1.24.0 to 1.24.2 ([#151](https://github.com/umccr/htsget-rs/pull/151)) +- *(fix)* Remove version from htsget-test and mark it for publish=false to avoid circular dependency as recommended by @Marcoleni in https://github.com/MarcoIeni/release-plz/pull/452#issuecomment-1409835221 +- release ([#148](https://github.com/umccr/htsget-rs/pull/148)) +- Set MSRV on all sub-crates ([#146](https://github.com/umccr/htsget-rs/pull/146)) +- Better CI ([#98](https://github.com/umccr/htsget-rs/pull/98)) + ## [0.2.0](https://github.com/umccr/htsget-rs/compare/htsget-test-v0.1.4...htsget-test-v0.2.0) - 2023-04-28 ### Added diff --git a/htsget-test/Cargo.toml b/htsget-test/Cargo.toml index d442c8606..b6f46bb1b 100644 --- a/htsget-test/Cargo.toml +++ b/htsget-test/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "htsget-test" -version = "0.2.0" +version = "0.3.0" rust-version = "1.60" authors = ["Marko Malenic "] edition = "2021" @@ -35,7 +35,7 @@ default = [] [dependencies] # Server tests dependencies -htsget-config = { version = "0.2.0", path = "../htsget-config", default-features = false, optional = true } +htsget-config = { version = "0.3.0", path = "../htsget-config", default-features = false, optional = true } noodles-vcf = { version = "0.24", features = ["async"], optional = true } noodles-bgzf = { version = "0.19", features = ["async"], optional = true }