1.0.0-rc4 (2020-05-14)
- Store target origin in request context (#659)
1.0.0-rc3 (2020-05-01)
- Reduce CI logging (#654)
- Final RxJava removal (#652)
- Remove RxJava - Part 4 (#560)
- Throw exception when connection is not connected (#647)
- Fix the broken build caused by PR #648. (#651)
- Resolve rendering issues with YamlFileCofigurationService origin page (#648)
- Add X-Styx-Origin-Id header to 5xx responses originated from styx. (#645)
- Block server start until origins file is loaded. (#643)
- Remove guava - part 1 (#642)
- Expose styx provider object database in YAML via admin interface (#637)
- Update docker-compose.yml to match with new styx image layout. (#640)
- Update copyright headers. (#639)
- Shareable executors (#616)
- Fix issue #636: RewriteConfig ending with two consecutive placeholders (#638)
- Upload binaries compiled with JDK8 to GitHub from the Travis release pipeline (#632)
- Enable WARN logs in HttpRequestOperation. (#633)
- Fix a race condition in ServerObjectSpec. (#631)
1.0.0-rc2 (2020-02-19)
- Docker publish preparation (#630)
- Enable TLS Modification Settings tests (#628)
- Add support for null computations inside StyxObjectStore.compute() (#629)
- Deploy snapshot versions to sonatype (#625)
- Bump slf4j to 1.7.30 (#627)
- Add dependabot badge (#621)
- Bump kotlin.version from 1.3.21 to 1.3.61 (#623)
- Bump junit-platform-launcher from 1.5.2 to 1.6.0 (#622)
- Bump ant-launcher from 1.8.0 to 1.10.7 (#620)
- Bump jackson-dataformat-yaml from 2.10.1 to 2.10.2 (#619)
- Bump annotations from 2.0.1 to 3.0.1u2 (#618)
- YamlFileConfigurationService fails to start health check monitors (#624)
- Remove "Upcoming releases" from README.md. (#617)
1.0.0-rc1 (2020-02-11)
- Update CHANGELOG with beta9 release information (#615)
- Hardening of e2e tests (#611)
- Fix Http Message Logging Spec tests that created invalid cookies using the Styx API (no longer allowed) (#610)
- YamlFileConfigurationService: Fix a threading issue (#608)
- Add support for the SameSite cookie attribute (closes #604) (#607)
- Fix for CVE-2020-6858: Improper Neutralization of CRLF Sequences in HTTP Headers ('HTTP Response Splitting')
- Bump checkstyle from 8.18 to 8.29 (#603)
- Improve Url API (#597)
- Deploy the version of the artifacts compiled with Jdk8 (#601)
- Release artifacts from Travis (#594)
styx-1.0.0.beta9 (2020-01-30)
- Allow configuring the maximum header size of origin responses (issue #598) (#599)
- Expose Styx/Netty proxy executor to the plugins. (#596)
- Add content compression support to StyxServer object (#595)
- remove rxJava (#592)
- Sanitize logged headers and cookies from Netty HTTP objects (#590)
- Add HttpServer object (#591)
- Styx server object support. (#589)
- Inject Netty executors into Styx Core. (#583)
- Update license header (#587)
- Docker build image: Add git bash completion (#586)
- Support compiling the project with Java 11. (#585)
- replaced rxjava with reactor (#570)
- Remove obsolete animal sniffer maven plugin. (#584)
- Refactor ProviderObjectRecord (#582)
- Remove ProxyServerBuilder class. (#581)
- Remove Guava ServiceManager from NettyServer. (#580)
- Reinstate time-to-first-byte-ms metric. (#575)
- Re-register provider endpoints with admin interface after updates (#572)
- Do not show an empty list of disabled plugins. (#576)
- speed up kotlin integration tests by reusing the JVM fork. (#579)
- Remove RxJava - Part 9: ConfigStore (#571)
- Replace rxjava with reactor: OriginsCommandHandler (#569)
- Fix case where a Empty set-cookie headers causes NPE (#574)
- Accept a comma-separated string as a HttpInterceptorPipeline "pipeline" attribute. (#567)
- Remove RxJava (#565)
- Remove RxJava (#564)
- Add an event for headers complete (#557)
- Refactor http servers (#554)
- Add support for compression of responses (#563)
- StaticResponseHandler: Convert a null body to an empty response string. (#566)
- Improve test logging. (#562)
- Fix origin reactivation logic for admin interface (#561)
- Provider endpoint admin page (#553)
- replace rxjava for response body content (#552)
- Cut back excessive logging. (#559)
- Re-enable epoll. (#556)
- replace rx subscriber with reactor subscriber (#548)
- Add close() method to connectionPool so connections are closed when origins are reloaded (#551)
- Common tags (#549)
- Fixes Issue: #536: Duplicated origin ID in metrics name (#545)
- Add clue to intermittently failing test assertion. (#543)
- Administrative state for routing objects (#523)
- Replace rxjava with reactor (#541)
- Issue #535: Add admin endpoint for uptime (#539)
- Build Styx Docker image using fabric8 docker maven plugin (#542)
- Fix issue: #525: A race condition in styx object store. (#537)
- fixed to run both java and kotlin tests together (#540)
styx-1.0.0.beta8 (2019-11-25)
- Reduce exception construction (#538)
styx-1.0.0.beta7 (2019-11-22)
- Don't deploy styx-api-testsupport jars, nor styx-support pom. (#534)
- Common test result reporter for Styx Kotlin projects. (#533)
- Add informational message at the end of health checks. (#532)
- General tidy up no functional change (#530)
- YamlConfigurationService: Reject origins file if it introduces name clashes. (#531)
- Issue 526: Fix intermittently failing Kotlin tests. (#528)
- Origins dashboard (#503)
- Dependabot/maven/jackson.version 2.10.1 (#527)
- Prefix load balancing group tag with "lbGroup=". (#522)
- Issue 519: Support multiple YamlConfigurationSercvices (#521)
- Expose origins config file in admin interface (#520)
- Expose provider admin interface (#515)
- Remove TestNG and replace with junit 5 (#514)
- Fix kotlin unit tests (#513)
- GitHubIssue#495 - Ensure all HostProxy objects are tagged active or inactive (#510)
styx-1.0.0.beta6 (2019-11-06)
- Provide httpResponse to the whenCompleted event (#507)
- Use the smaller jar netty to reduce both size and conflicts with other netty projects (#508)
- Expose styx service providers in admin interface (#505)
- GitHub#486 - Fix connection pool leaks (#504)
- Upgrade to Mockito 3 (#509)
- Docker image to build Styx project (#500)
- Styx docker environment: add NGINX origins (#499)
- Disable "TLS Settings modifications" functional test (#502)
- Fix metrics in new routing model (#489)
- Improve make docker-image (#493)
- Expose styx logs in system test env as docker volme (#491)
- Always enable a check for empty HTTP content. (#488)
- Update to Netty 4.1.42.Final. (#484)
- Avoid creating transient objects when origin file is reloaded (#483)
- Improve test result reporting in Styx functional test suite. (#485)
- Set the number of threads for the GlobalHttpClient to 2 in HostProxySpec. (#482)
- Remove use of hamcrest in production (non-test) code. (#480)
- Update fasterxml to 2.9.10. (#477)
- Rename test plugins & docker environment (#476)
- Resolve tech debt in functional tests. (#473)
- Issue 466: Expose plugins for HttpInterceptorPipeline (#475)
- Make admin interfaces streamable (#474)
- Support remote debugging in Styx docker environment. (#470)
- Fix ineffective HTTP initial line length attribute. (#472)
- Update metrics documentation. (#469)
- Updated changelog and fixed toxiproxy docs (#468)
- Update changelog as per 1.0.0.beta4 release. (#467)
- Remove test code dependent on the Sun NameService SPI (removed in Java 9) (#463)
- Plugin developer documentation updated to show how to use
aggregate()
to read the whole body into memory. (#465) - Fix issue #428: Removing Unused properties in Server config (#464)
- Backwards compatibility mode for Styx origins configuration file (#458)
styx-1.0.0.beta5 (2019-10-03)
- GitHub#454 Sanitise HTTP message logs (#457)
- Fix issue #461, incorrect information in docs/developer-guide.md. (#462)
- Fix issues in Docker/Toxiproxy environment: (#460)
- Update config validation for "valueFormat" field (#459)
- Optimise response event listener (#455)
- Update jackson-databind versions (#453)
- Move issue template to ./github dir. (#450)
styx-1.0.0.beta4 (2019-09-04)
- Improve Styx data plane. (#451)
- Configure Travis CI to compile the project and run the tests using Trusty 'Java' (specifying the JDK version was failing) (#452)
- Update version of jackson-databind to 2.9.9.1 to fix vulnerability (#448)
- Close a TCP connection when indicated by Connection: Close header. (#447)
- Health check monitor service (#438)
- Preregister styx errors metric (#445)
- Print config invalid error, add testing (#444)
- Configurable docker base image version. (#443)
- Fix TimeoutSpec. (#442)
- Do not deploy plugin-examples dependency (#441)
- Add plugin examples to Styx (#432)
- Config validation on programmatic start (#435)
- Make the services.factories.backendServiceRegistry config optional. (#440)
- Load Balancing Group routing object (#429)
- Fix connection pool error. (#437)
- Add a connection pool metric for connections in establishment. (#436)
- Update config documentation (#426)
- Add HostProxy routing object (#423)
- Modify server config to follow validator schema (#425)
- Enable config validator by default (#422)
- Fix client thread leak after origin reload. (#421)
- Add WebServiceHandler interface. (#416)
- Fix a connection pool error. (#419)
- Routing object lifecycle management (#418)
- Update jackson version (#417)
- Make all origin metrics relative to the scope they are used. (#414)
- Adds a path prefix routing object. (#412)
- Fix advanced routing config document. (#415)
- Move version files property into user defined (#411)
- Include server name indication (SNI) in outgoing TLS connections. (#409)
- Open a RESTful API for Styx Object Store (#406)
- Fix Kotlin source directory for styx-proxy module (#405)
- Add insert, remove, and watch functionality to Object Store (#404)
- Validate http routing object configuration. (#403)
- Add cut-down route object database (#398)
- Use 'maxdepth' instead of 'depth' in find command to avoid compatibility issues. (#400)
- Fix kotlin test sources (#397)
- Deprecate Scala e2e suite (#396)
- Update Jackson dependencies (#395)
- Use Kotlintest for unit-testing styx routing objects (#394)
- Fix URL parsing issue #391 (#393)
- Makefile: Add STYX_LINUX_ARTIFACT variable. (#392)
- Service cleanup (#390)
- Make small fixes (#389)
- Upgrade checkstyle to version 8.18 and maven-checkstyle plugin to 3.0.0. (#387)
- Improve Styx Dockerfile (#381)
- Correct javadoc for PowerOfTwoStrategy. (#380)
- Create a docker image from an official Styx release. (#366)
- Body passed in to LiveHttpRequest builder wasn't being used (#379)
- Refactor plugin loading (#378)
- Improve log message on plugin load fail/Decouple failure handling from task execution (#373)
- Update dropwizard metrics to version 4.0.5 (#371)
- Update dropwizard version (#370)
- Update jackson-databind version (#369)
- Total connections should stay positive (#360)
- Fix inaccurate dependency declarations. (#365)
- Toxi-proxy container network documentation improvements. (#364)
- Don't deploy unnecessary modules (#363)
- Adapt Version metric to a more flexible pattern (#355)
- Docker container test network with Toxi-Proxy (#362)
- Styx Docker file (#361)
styx-1.0.0.beta3 (2018-12-17)
- Use Long to represent Content-Length size (#357)
- Fix downlink flow control (#356)
- Fix double counting of terminatedConnections metric (#359)
- StyxHttpClient: add support for live requests (#353)
- Version metric should be a string instead of an integer. (#352)
- ByteStream replacement in live HTTP response. (#349)
- Fix intermittently failing test. (#350)
- An API for setting a custom HTTP response status and phrase. (#348)
- Remove 'asCompletableFuture' method from Styx Eventual. (#346)
- Remove deprecated "request-logging.enabled" option. (#347)
- Remove git merge conflict markers from CHANGELOG (#345)
- Deprecate Rx.Java from Connection.Factory. (#344)
- Deprecate Rx.Java from ConnectionPool and its consumers (#343)
- Additional metrics (#342)
- Improve connection pool. (#337)
- Refactor: Simplify StyxHostHttpClient (#339)
- Add a feature flag to enable/disable request tracking feature. (#341)
- Remove singleton dependency from request tracker unit tests. (#340)
- Refactor StyxHostHttpClient (#338)
- Removes
ongoingResponse
from HttpPipelineHandler log messages.(#336) - Remove mutable state (connectionRef) from Transport class. (#329)
- Update CHANGELOG.md and increment pom versions to 1.0-SNAPSHOT (#332)
styx-styx-1.0.0.beta2 (2018-10-31)
- Add Transformer class for live HTTP objects (#328)
- Restrict visibility of ByteStream.aggregate (#325)
- Update plugins-scenarios.md to Styx 1.0 API (#320)
- Developer documentation: Update API overview to Styx 1.0. (#319)
- Backport to 0.7 - Reject requests using the CONNECT method ( Fixes #312) (#331)
- Reject requests using the CONNECT method ( Fixes #312) (#327)
- Add maven javadoc plugin (#330)
- Upgrade fasterxml version in plugin-examples (#324)
- Fix an incorrect perf test URL. (#323)
- Upgrade to a newer version of fasterxml (#318)
styx-1.0.0.beta1 (2018-10-26)
- Update example plugin to latest api (#316)
- Rename streaming messages (#314)
- Styx Eventual class for asynchronous events. (#309)
- Correct time output (#313)
- A ByteStream abstraction to represent streaming content. (#298)
- Fix incorrect round-robin strategy behaviour when there are no available hosts. (#307)
- Remove unused cancel() method from HttpTransaction and Transport classes. (#305)
- Fix incorrect changelog for 0.7.10 (#303)
- HttpResponseWriter: Log number of bytes written to socket (#302)
- Update CHANGELOG.md (#301)
- Lazily create expensive Optional default values. (#295)
- Use Optional.orElseGet to prevent constructing the Exception on each request (#292)
- Fix origins reload thread leak (#290)
- Improve styx client (#288)
- Update origin health-check metric name (fixes #269) (#289)
- User guide: Fix a typo. (#286)
- Fix PluginErrorHandlingSpec (#287)
- Move Announcer from API to Styx-Common module (#285)
- End-to-end tests: fix leak threads. (#283)
- Remove client address (#280)
- Streamline Styx HTTP Client interfaces (#282)
- Fix DoubleSubscriptionPluginSpec for Styx 1.0 (#281)
- Log SSL handshake failures (#278)
- Update configure-origins.md (#279)
- Remove
isSecure
flag from the HTTP request classes. (#277) - Add HttpInterceptor.Context to HttpRouter.route() API. (#276)
- Improve Javadocs for styx-api module (#271)
- Tidy up styx-api module for 1.0 release (#272)
- Fix compilation error in ExamplePluginTest.java. (#273)
- Injectable metricsRegistry for StyxServerComponents.Builder (#263)
- Tidy up styx-api module. (#267)
- Issue #264: Remove unnecessary calls to
freePort
. (#265) - Remove HostAndPort from public API (#247)
- Removed unused method (#241)
- Changelog for releases up to styx 0.7.9 (#260)
- Add changelog for release 0.7.7 (#238) (#259)
- Fixes #222: A memory leak in DashboardData. (#224) (#258)
- Fix intermittently failing ChunkedDownloadSpec (#256)
- Update to Guava 18.0 (#254)
- README.md: Add short release note about Styx 1.0 API. (#248)
- Add 'filter' query parameter to metrics endpoint (#221) (#252)
- Fix a small typo (#239)
- fix documentation, instructions for release download (#233)
- Add Styx logo in readme file (#195) (#251)
- Fix styx 1.0 related documentation issues. (#245)
- Replaced all checkNotnull with requireNonNull (#244)
- Move metrics registry from styx-api module (#242)
- Simplify package structure for 1.0 styx-api module (#240)
- Remove dead code: applicationConfigurationMatcher (#237)
- Issue 183 remove admin endpoints (#236)
- Remove MediaType from public methods in API module (#232)
- Remove leaking Netty definition from HttpMessageSupport class. (#231)
- Tidy up cookies API (#230)
- Move api.io package to styx-common module. (#229)
- Move utility classes and HTTP handlers from styx-api to styx-common module. (#226)
- Remove SystemSettings & related classes from styx-api module. (#225)
- Migrate ConnectionPool related API classes to Styx Client module (#223)
- Added support for Kotlin (#220)
- Cookies 1.0 api (#217)
- Fix StyxObservable type parameters (#219)
- Add admin endpoint for querying specific metrics by name (#206) (#218)
- Add new SENDING_RESPONSE_CLIENT_CLOSED state into HttpPipelineHandler FSM (#214) (#216)
- Allow custom plugin loader injection (#213) (#215)
- Use Connection.Settings in SimpleHttpClient (#212)
- Rename com.hotels.styx.api.netty package (#211)
- Fix issue #199: origins.ID.requests.cancelled metric. (#209) (#210)
- New 1.0 API: Tidy up Address outstanding issues. (#204)
- Remove HttpRequest.Builder.body(String) method (#205)
- Tests for styx core observable (#198)
- Add config store (#193)
- Fix failing health checks to HTTPS/TLS origins. (#191)
- Remove unnecessary WARN log when SimpleHttpClient fails to connect to a remote peer. (#190)
- Cookie names should be treatead case-sensitively (#186) (#189)
- SimpleHttpClient: Use default HTTP/HTTPS ports (#188)
- Allow Styx Test API users to configure server ports. (#187)
- Allow plugin factories to be configured for styx test API server. (#184)
- Remove HttpClient interface from Styx API (#179)
- Refactor Styx Client API consumers (#178)
- Expose HttpInterceptor.Context implementation via styx-test-api. (#176)
- Dev docs: update plugin interceptor examples. (#173)
- Use HttpServerCodec in Styx server Netty pipeline (#175)
- Updated example plugin to 1.0 API (#172)
- Add Styx API Overview page to the developer docs. (#171)
- Remove unused HttpMessage, HttpMessageBody, and HttpMessageBuilder classes. (#170)
- Rename message converters between full and streaming variants (#169)
- Add HttpInterceptorContext to styx-test-api. (#168)
- New interceptor and routing API for styx - Initial Commit - (#166)