From 1d414cb3241033c925a778a5aea20673753fb337 Mon Sep 17 00:00:00 2001 From: Mark Mandel Date: Tue, 15 Nov 2022 00:40:06 -0800 Subject: [PATCH] Release 0.4.0 (#648) Changes for 0.4.0 release. Included a couple of small fixes for release checklist while I was at it. Work on #647 --- CHANGELOG.md | 168 ++++++++++++++++++++++++- Cargo.toml | 4 +- README.md | 3 + build/templates/release-issue.md | 4 +- docs/src/quickstarts/agones-xonotic.md | 2 +- macros/Cargo.toml | 2 +- 6 files changed, 171 insertions(+), 12 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4c8b887aac..3821b8646b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,161 @@ # Changelog -## [v0.3.0](https://github.com/googleforgames/quilkin/tree/v0.3.0) (2022-02-28) +## [v0.4.0](https://github.com/googleforgames/quilkin/tree/v0.4.0) (2022-11-11) + +[Full Changelog](https://github.com/googleforgames/quilkin/compare/v0.3.0...v0.4.0) + +**Breaking changes:** + +- Refactor configuration and builder pattern [\#525](https://github.com/googleforgames/quilkin/pull/525) ([XAMPPRocky](https://github.com/XAMPPRocky)) +- Add `StaticFilter` trait [\#515](https://github.com/googleforgames/quilkin/pull/515) ([XAMPPRocky](https://github.com/XAMPPRocky)) + +**Implemented enhancements:** + +- Variable substitution with mdbook: point release docs at a release branch [\#609](https://github.com/googleforgames/quilkin/issues/609) +- Include image built in PR on CI Bot Result [\#593](https://github.com/googleforgames/quilkin/issues/593) +- Readiness probe based on number of endpoints [\#590](https://github.com/googleforgames/quilkin/issues/590) +- Docker image entrypoint should just be "/quilkin" [\#583](https://github.com/googleforgames/quilkin/issues/583) +- Configure basic configuration values with command flags [\#572](https://github.com/googleforgames/quilkin/issues/572) +- Be able to configure tracing/log levels [\#541](https://github.com/googleforgames/quilkin/issues/541) +- Use reflectors for Agones provider API [\#532](https://github.com/googleforgames/quilkin/issues/532) +- Add Metrics and logging to the xDS server [\#522](https://github.com/googleforgames/quilkin/issues/522) +- Make `config::Config` compatible with xDS manager [\#520](https://github.com/googleforgames/quilkin/issues/520) +- Add admin server for xDS management server [\#519](https://github.com/googleforgames/quilkin/issues/519) +- e2e tests for Agones integration [\#510](https://github.com/googleforgames/quilkin/issues/510) +- Switch to using `serde_json::Value` internally over `serde_yaml::Value` [\#507](https://github.com/googleforgames/quilkin/issues/507) +- impl `prost::Message` for filter configuration directly. [\#505](https://github.com/googleforgames/quilkin/issues/505) +- xDS: Support any filter [\#486](https://github.com/googleforgames/quilkin/issues/486) +- More in-depth network metrics about clients \(IPv4 and IPv6\) [\#450](https://github.com/googleforgames/quilkin/issues/450) +- Replace listen distributor task with multithreaded `SO_REUSEPORT` task. [\#410](https://github.com/googleforgames/quilkin/issues/410) +- xDS Example [\#233](https://github.com/googleforgames/quilkin/issues/233) +- Total review of guide [\#645](https://github.com/googleforgames/quilkin/pull/645) ([markmandel](https://github.com/markmandel)) +- Build macos binaries on ARM [\#636](https://github.com/googleforgames/quilkin/pull/636) ([markmandel](https://github.com/markmandel)) +- mdbook-variables for Documentation [\#629](https://github.com/googleforgames/quilkin/pull/629) ([markmandel](https://github.com/markmandel)) +- Add timestamp filter [\#627](https://github.com/googleforgames/quilkin/pull/627) ([XAMPPRocky](https://github.com/XAMPPRocky)) +- Added ASN and Prefix labels to active sessions [\#621](https://github.com/googleforgames/quilkin/pull/621) ([XAMPPRocky](https://github.com/XAMPPRocky)) +- Agones xDS Provider example [\#618](https://github.com/googleforgames/quilkin/pull/618) ([markmandel](https://github.com/markmandel)) +- \(Mostly\) Build tools working on arm64 [\#612](https://github.com/googleforgames/quilkin/pull/612) ([markmandel](https://github.com/markmandel)) +- Docker image entrypoint is now `/quilkin` [\#607](https://github.com/googleforgames/quilkin/pull/607) ([markmandel](https://github.com/markmandel)) +- Add ASN maxmind database integration [\#604](https://github.com/googleforgames/quilkin/pull/604) ([XAMPPRocky](https://github.com/XAMPPRocky)) +- Add Build Images to CI results [\#599](https://github.com/googleforgames/quilkin/pull/599) ([markmandel](https://github.com/markmandel)) +- Add ready probe endpoint [\#591](https://github.com/googleforgames/quilkin/pull/591) ([XAMPPRocky](https://github.com/XAMPPRocky)) +- Agones + Quilkin xDS integration test. [\#587](https://github.com/googleforgames/quilkin/pull/587) ([markmandel](https://github.com/markmandel)) +- Agones GameServer + Quilkin sidecar test [\#582](https://github.com/googleforgames/quilkin/pull/582) ([markmandel](https://github.com/markmandel)) +- Basic Agones GameServer integration test [\#580](https://github.com/googleforgames/quilkin/pull/580) ([markmandel](https://github.com/markmandel)) +- Add arguments to `quilkin run` [\#574](https://github.com/googleforgames/quilkin/pull/574) ([XAMPPRocky](https://github.com/XAMPPRocky)) +- Add BUILD\_LOCAL to build tools [\#565](https://github.com/googleforgames/quilkin/pull/565) ([markmandel](https://github.com/markmandel)) +- Clarify packet direction in traces, use base64 for bytes\_to\_string [\#563](https://github.com/googleforgames/quilkin/pull/563) ([XAMPPRocky](https://github.com/XAMPPRocky)) +- Improve build-image incremental workflow [\#561](https://github.com/googleforgames/quilkin/pull/561) ([markmandel](https://github.com/markmandel)) +- Implement xDS in Quilkin [\#552](https://github.com/googleforgames/quilkin/pull/552) ([XAMPPRocky](https://github.com/XAMPPRocky)) +- Run Agones tests in CI [\#551](https://github.com/googleforgames/quilkin/pull/551) ([markmandel](https://github.com/markmandel)) +- Dev: Build, Push and Test Agones Integrations [\#549](https://github.com/googleforgames/quilkin/pull/549) ([markmandel](https://github.com/markmandel)) +- Tools for Agones e2e testing [\#545](https://github.com/googleforgames/quilkin/pull/545) ([markmandel](https://github.com/markmandel)) +- Adding Erin to Cargo Authors. [\#544](https://github.com/googleforgames/quilkin/pull/544) ([markmandel](https://github.com/markmandel)) +- Implemented Port reuse for downstream connection. [\#543](https://github.com/googleforgames/quilkin/pull/543) ([markmandel](https://github.com/markmandel)) +- Test Utility to enable tracing logging. [\#537](https://github.com/googleforgames/quilkin/pull/537) ([markmandel](https://github.com/markmandel)) +- Update xDS doc [\#528](https://github.com/googleforgames/quilkin/pull/528) ([rezvaneh](https://github.com/rezvaneh)) +- Metrics for Match Filter [\#511](https://github.com/googleforgames/quilkin/pull/511) ([markmandel](https://github.com/markmandel)) +- Add basic alpha version of the UE4 plugin [\#485](https://github.com/googleforgames/quilkin/pull/485) ([XAMPPRocky](https://github.com/XAMPPRocky)) + +**Fixed bugs:** + +- Fatal error from too old resource version [\#626](https://github.com/googleforgames/quilkin/issues/626) +- Get build tooling working on ARM/M1 Mac [\#608](https://github.com/googleforgames/quilkin/issues/608) +- `quilkin_session_rx_bytes_total` metric seems to not be working [\#605](https://github.com/googleforgames/quilkin/issues/605) +- \[Agones test\] create\_quilkin\_pod should test for more than running [\#597](https://github.com/googleforgames/quilkin/issues/597) +- \[Agones\] Removing/updating token annotation on a GameServer deoesn't update the Endpoint [\#589](https://github.com/googleforgames/quilkin/issues/589) +- Metrics having no data after refactors. [\#588](https://github.com/googleforgames/quilkin/issues/588) +- xDS: Locality leak on GameServer event handling [\#585](https://github.com/googleforgames/quilkin/issues/585) +- Running with Management Server doesn't exit on SIGTERM [\#575](https://github.com/googleforgames/quilkin/issues/575) +- Examples need updating to new config format [\#559](https://github.com/googleforgames/quilkin/issues/559) +- Cant build with `cross` [\#530](https://github.com/googleforgames/quilkin/issues/530) +- mdbook removing space indentation on code examples [\#503](https://github.com/googleforgames/quilkin/issues/503) +- Try to recover when the main process fails [\#634](https://github.com/googleforgames/quilkin/pull/634) ([XAMPPRocky](https://github.com/XAMPPRocky)) +- Fixes for example Grafana dashboard [\#625](https://github.com/googleforgames/quilkin/pull/625) ([markmandel](https://github.com/markmandel)) +- Fix not receiving stream pushes [\#624](https://github.com/googleforgames/quilkin/pull/624) ([XAMPPRocky](https://github.com/XAMPPRocky)) +- Change admin flag to `no-admin`, respect shutdown signal [\#622](https://github.com/googleforgames/quilkin/pull/622) ([XAMPPRocky](https://github.com/XAMPPRocky)) +- Docs, tests and bug fixes for /ready [\#602](https://github.com/googleforgames/quilkin/pull/602) ([markmandel](https://github.com/markmandel)) +- Allow gameservers to not have port [\#598](https://github.com/googleforgames/quilkin/pull/598) ([XAMPPRocky](https://github.com/XAMPPRocky)) +- Fix metrics namespace not always being present [\#596](https://github.com/googleforgames/quilkin/pull/596) ([XAMPPRocky](https://github.com/XAMPPRocky)) +- Fix metric names in dashboard [\#595](https://github.com/googleforgames/quilkin/pull/595) ([XAMPPRocky](https://github.com/XAMPPRocky)) +- Add LocalitySet type to ensure there aren't duplicate locality entries [\#592](https://github.com/googleforgames/quilkin/pull/592) ([XAMPPRocky](https://github.com/XAMPPRocky)) +- Resubscribe to resources after disconnect, fix test flakiness [\#571](https://github.com/googleforgames/quilkin/pull/571) ([XAMPPRocky](https://github.com/XAMPPRocky)) +- Catch tonic errors in xDS client loop [\#567](https://github.com/googleforgames/quilkin/pull/567) ([XAMPPRocky](https://github.com/XAMPPRocky)) +- Recover xDS connection if stream terminates [\#566](https://github.com/googleforgames/quilkin/pull/566) ([XAMPPRocky](https://github.com/XAMPPRocky)) +- Use status.ports rather spec.ports with Agones [\#562](https://github.com/googleforgames/quilkin/pull/562) ([XAMPPRocky](https://github.com/XAMPPRocky)) +- Only search for config file when required [\#560](https://github.com/googleforgames/quilkin/pull/560) ([markmandel](https://github.com/markmandel)) +- Remove cross from build tools [\#540](https://github.com/googleforgames/quilkin/pull/540) ([markmandel](https://github.com/markmandel)) +- Update htmltest for test-docs [\#512](https://github.com/googleforgames/quilkin/pull/512) ([markmandel](https://github.com/markmandel)) +- Multiple documentation fixes [\#504](https://github.com/googleforgames/quilkin/pull/504) ([markmandel](https://github.com/markmandel)) + +**Security fixes:** + +- Fix security advisory in chrono [\#557](https://github.com/googleforgames/quilkin/pull/557) ([markmandel](https://github.com/markmandel)) + +**Closed issues:** + +- Release 0.4.0 Requirements [\#546](https://github.com/googleforgames/quilkin/issues/546) +- Add guide documentation for UE4 Plugin [\#524](https://github.com/googleforgames/quilkin/issues/524) +- Add guide documentation for xDS server [\#523](https://github.com/googleforgames/quilkin/issues/523) +- Release 0.3.0 [\#499](https://github.com/googleforgames/quilkin/issues/499) +- Add metrics to `Match` filter. [\#453](https://github.com/googleforgames/quilkin/issues/453) +- Proposal: Cut 0.3.0 Release. [\#444](https://github.com/googleforgames/quilkin/issues/444) +- Message queues should drop when full [\#380](https://github.com/googleforgames/quilkin/issues/380) +- Regex Filter [\#316](https://github.com/googleforgames/quilkin/issues/316) +- Alternatives to proto submodules [\#169](https://github.com/googleforgames/quilkin/issues/169) +- Consider alternative formats for documenting config parameters [\#149](https://github.com/googleforgames/quilkin/issues/149) + +**Merged pull requests:** + +- Update release instructions to remove `-debug` [\#646](https://github.com/googleforgames/quilkin/pull/646) ([markmandel](https://github.com/markmandel)) +- Consistency of "packets\_dropped\_total" metric [\#641](https://github.com/googleforgames/quilkin/pull/641) ([markmandel](https://github.com/markmandel)) +- Update to Rust 1.65.0 [\#640](https://github.com/googleforgames/quilkin/pull/640) ([XAMPPRocky](https://github.com/XAMPPRocky)) +- Implement string interning and symbol resolution for metadata keys [\#638](https://github.com/googleforgames/quilkin/pull/638) ([XAMPPRocky](https://github.com/XAMPPRocky)) +- Update yaml configuration documentation [\#635](https://github.com/googleforgames/quilkin/pull/635) ([markmandel](https://github.com/markmandel)) +- Refactor metrics statics into free fns [\#633](https://github.com/googleforgames/quilkin/pull/633) ([XAMPPRocky](https://github.com/XAMPPRocky)) +- Agones: Add token removal test. [\#631](https://github.com/googleforgames/quilkin/pull/631) ([markmandel](https://github.com/markmandel)) +- Refactor filter model from Context-\>Response into ref mut Context [\#630](https://github.com/googleforgames/quilkin/pull/630) ([XAMPPRocky](https://github.com/XAMPPRocky)) +- Connect Timestamp Filter to rest of documentation [\#628](https://github.com/googleforgames/quilkin/pull/628) ([markmandel](https://github.com/markmandel)) +- Flatten proxy config section into root [\#623](https://github.com/googleforgames/quilkin/pull/623) ([XAMPPRocky](https://github.com/XAMPPRocky)) +- Update dependencies [\#620](https://github.com/googleforgames/quilkin/pull/620) ([XAMPPRocky](https://github.com/XAMPPRocky)) +- Remove duplicate metric [\#619](https://github.com/googleforgames/quilkin/pull/619) ([XAMPPRocky](https://github.com/XAMPPRocky)) +- Sidecar Example README: Switch to relative paths [\#617](https://github.com/googleforgames/quilkin/pull/617) ([markmandel](https://github.com/markmandel)) +- Use `TimedSizedCache` [\#616](https://github.com/googleforgames/quilkin/pull/616) ([XAMPPRocky](https://github.com/XAMPPRocky)) +- Update CODEOWNERS [\#615](https://github.com/googleforgames/quilkin/pull/615) ([XAMPPRocky](https://github.com/XAMPPRocky)) +- Update to Rust 1.64.0 [\#614](https://github.com/googleforgames/quilkin/pull/614) ([XAMPPRocky](https://github.com/XAMPPRocky)) +- Refactor session metrics and errors [\#613](https://github.com/googleforgames/quilkin/pull/613) ([XAMPPRocky](https://github.com/XAMPPRocky)) +- remove unwrap [\#606](https://github.com/googleforgames/quilkin/pull/606) ([XAMPPRocky](https://github.com/XAMPPRocky)) +- Add short poll to xDS clients as workaround, improve xDS tracing [\#603](https://github.com/googleforgames/quilkin/pull/603) ([XAMPPRocky](https://github.com/XAMPPRocky)) +- Remove allocated check for deleted gameserver events [\#594](https://github.com/googleforgames/quilkin/pull/594) ([XAMPPRocky](https://github.com/XAMPPRocky)) +- Relax trait bounds for Default, Deserialize, and Serialize for Slot\ [\#581](https://github.com/googleforgames/quilkin/pull/581) ([XAMPPRocky](https://github.com/XAMPPRocky)) +- Move proxy::Server to Proxy and sessions::session to sessions [\#578](https://github.com/googleforgames/quilkin/pull/578) ([XAMPPRocky](https://github.com/XAMPPRocky)) +- Update example configurations to new format [\#577](https://github.com/googleforgames/quilkin/pull/577) ([markmandel](https://github.com/markmandel)) +- Update configuration reference docs [\#576](https://github.com/googleforgames/quilkin/pull/576) ([markmandel](https://github.com/markmandel)) +- Refactor CLI organisation, and improve termination [\#570](https://github.com/googleforgames/quilkin/pull/570) ([XAMPPRocky](https://github.com/XAMPPRocky)) +- Extend `fs::write` test delay, and remove admin server from test to prevent flakiness [\#569](https://github.com/googleforgames/quilkin/pull/569) ([XAMPPRocky](https://github.com/XAMPPRocky)) +- Update to Rust 1.63.0 [\#568](https://github.com/googleforgames/quilkin/pull/568) ([XAMPPRocky](https://github.com/XAMPPRocky)) +- Use base64 when logging token, add fmt::Display impl for metadata::Value [\#554](https://github.com/googleforgames/quilkin/pull/554) ([XAMPPRocky](https://github.com/XAMPPRocky)) +- Cleanup of licences and advisories [\#550](https://github.com/googleforgames/quilkin/pull/550) ([markmandel](https://github.com/markmandel)) +- Delete Go based xDS [\#548](https://github.com/googleforgames/quilkin/pull/548) ([markmandel](https://github.com/markmandel)) +- build/Makefile - convert spaces to tabs [\#547](https://github.com/googleforgames/quilkin/pull/547) ([markmandel](https://github.com/markmandel)) +- General testing cleanup [\#539](https://github.com/googleforgames/quilkin/pull/539) ([markmandel](https://github.com/markmandel)) +- `connect()` Sessions socket to Endpoint address [\#538](https://github.com/googleforgames/quilkin/pull/538) ([markmandel](https://github.com/markmandel)) +- Upgrade Tokio to 1.19.2 [\#536](https://github.com/googleforgames/quilkin/pull/536) ([markmandel](https://github.com/markmandel)) +- Update to Rust 1.61.0 [\#535](https://github.com/googleforgames/quilkin/pull/535) ([XAMPPRocky](https://github.com/XAMPPRocky)) +- Update link to DiscoveryRequest [\#533](https://github.com/googleforgames/quilkin/pull/533) ([XAMPPRocky](https://github.com/XAMPPRocky)) +- Update to Rust 1.60 [\#526](https://github.com/googleforgames/quilkin/pull/526) ([XAMPPRocky](https://github.com/XAMPPRocky)) +- Replace serde\_yaml with serde\_json internally [\#518](https://github.com/googleforgames/quilkin/pull/518) ([rezvaneh](https://github.com/rezvaneh)) +- Use htmltest binary not build from source [\#516](https://github.com/googleforgames/quilkin/pull/516) ([markmandel](https://github.com/markmandel)) +- Add conversion to protobuf for most core types [\#514](https://github.com/googleforgames/quilkin/pull/514) ([XAMPPRocky](https://github.com/XAMPPRocky)) +- Update xDS APIs [\#502](https://github.com/googleforgames/quilkin/pull/502) ([XAMPPRocky](https://github.com/XAMPPRocky)) +- Preparation for 0.4.0 [\#501](https://github.com/googleforgames/quilkin/pull/501) ([markmandel](https://github.com/markmandel)) +- Refactor ClusterManager into SharedCluster [\#493](https://github.com/googleforgames/quilkin/pull/493) ([XAMPPRocky](https://github.com/XAMPPRocky)) +- Refactor FilterManager into SharedFilterChain [\#491](https://github.com/googleforgames/quilkin/pull/491) ([XAMPPRocky](https://github.com/XAMPPRocky)) +- Refactor Metrics Registry into public static [\#490](https://github.com/googleforgames/quilkin/pull/490) ([XAMPPRocky](https://github.com/XAMPPRocky)) +- Refactor FilterRegistry into private static [\#489](https://github.com/googleforgames/quilkin/pull/489) ([XAMPPRocky](https://github.com/XAMPPRocky)) +- Add `Debug` for `FilterChain` and `FilterManager::with_dynamic` [\#487](https://github.com/googleforgames/quilkin/pull/487) ([XAMPPRocky](https://github.com/XAMPPRocky)) + +## [v0.3.0](https://github.com/googleforgames/quilkin/tree/v0.3.0) (2022-03-02) [Full Changelog](https://github.com/googleforgames/quilkin/compare/v0.2.0...v0.3.0) @@ -32,6 +187,8 @@ - Benchmark comparing read and write throughput [\#479](https://github.com/googleforgames/quilkin/pull/479) ([markmandel](https://github.com/markmandel)) - Update Rust to 1.58.1 [\#473](https://github.com/googleforgames/quilkin/pull/473) ([XAMPPRocky](https://github.com/XAMPPRocky)) - Add Pass & Drop filters, Refactor `Match` config [\#472](https://github.com/googleforgames/quilkin/pull/472) ([XAMPPRocky](https://github.com/XAMPPRocky)) +- management-server: update metrics and doc [\#469](https://github.com/googleforgames/quilkin/pull/469) ([iffyio](https://github.com/iffyio)) +- Example Grafana Graph for Packet Processing Times [\#452](https://github.com/googleforgames/quilkin/pull/452) ([markmandel](https://github.com/markmandel)) - CI: Documentation test gen, links, images, etc. [\#449](https://github.com/googleforgames/quilkin/pull/449) ([markmandel](https://github.com/markmandel)) - Metric: Total Packet processing time [\#441](https://github.com/googleforgames/quilkin/pull/441) ([markmandel](https://github.com/markmandel)) - xds-server updates [\#437](https://github.com/googleforgames/quilkin/pull/437) ([iffyio](https://github.com/iffyio)) @@ -53,7 +210,6 @@ - Fix bug archiving dependencies [\#442](https://github.com/googleforgames/quilkin/pull/442) ([markmandel](https://github.com/markmandel)) - Save iperf3 metrics.json in /quilkin [\#438](https://github.com/googleforgames/quilkin/pull/438) ([markmandel](https://github.com/markmandel)) - Fixes for filter documentation [\#431](https://github.com/googleforgames/quilkin/pull/431) ([markmandel](https://github.com/markmandel)) -- Fix duplicate metric registration for filters [\#397](https://github.com/googleforgames/quilkin/pull/397) ([iffyio](https://github.com/iffyio)) **Security fixes:** @@ -72,6 +228,7 @@ **Merged pull requests:** +- Release 0.3.0 [\#500](https://github.com/googleforgames/quilkin/pull/500) ([markmandel](https://github.com/markmandel)) - Update CODEOWNERS [\#498](https://github.com/googleforgames/quilkin/pull/498) ([XAMPPRocky](https://github.com/XAMPPRocky)) - Update dependencies [\#497](https://github.com/googleforgames/quilkin/pull/497) ([XAMPPRocky](https://github.com/XAMPPRocky)) - Update to Rust 1.59 [\#496](https://github.com/googleforgames/quilkin/pull/496) ([XAMPPRocky](https://github.com/XAMPPRocky)) @@ -82,14 +239,12 @@ - Update dependencies [\#476](https://github.com/googleforgames/quilkin/pull/476) ([XAMPPRocky](https://github.com/XAMPPRocky)) - Fix 404 in docs [\#471](https://github.com/googleforgames/quilkin/pull/471) ([markmandel](https://github.com/markmandel)) - Add link to xds sample from xDS guide [\#470](https://github.com/googleforgames/quilkin/pull/470) ([markmandel](https://github.com/markmandel)) -- management-server: update metrics and doc [\#469](https://github.com/googleforgames/quilkin/pull/469) ([iffyio](https://github.com/iffyio)) - Consistent implementation of source/dest [\#468](https://github.com/googleforgames/quilkin/pull/468) ([markmandel](https://github.com/markmandel)) - Remove src/filters/extensions [\#467](https://github.com/googleforgames/quilkin/pull/467) ([markmandel](https://github.com/markmandel)) - Remove `slog-json` from archive\_dependencies.sh [\#466](https://github.com/googleforgames/quilkin/pull/466) ([markmandel](https://github.com/markmandel)) - Document Filter naming conventions [\#464](https://github.com/googleforgames/quilkin/pull/464) ([markmandel](https://github.com/markmandel)) - Completely remove `slog` and replace with `tracing` [\#457](https://github.com/googleforgames/quilkin/pull/457) ([XAMPPRocky](https://github.com/XAMPPRocky)) - Update to Rust 1.57 [\#455](https://github.com/googleforgames/quilkin/pull/455) ([XAMPPRocky](https://github.com/XAMPPRocky)) -- Example Grafana Graph for Packet Processing Times [\#452](https://github.com/googleforgames/quilkin/pull/452) ([markmandel](https://github.com/markmandel)) - Fix licence field in macros Cargo.toml [\#451](https://github.com/googleforgames/quilkin/pull/451) ([markmandel](https://github.com/markmandel)) - xds-server: Create informers before starting informer factory [\#446](https://github.com/googleforgames/quilkin/pull/446) ([cheahjs](https://github.com/cheahjs)) - Align Filter Chain metrics with conventions [\#440](https://github.com/googleforgames/quilkin/pull/440) ([markmandel](https://github.com/markmandel)) @@ -136,6 +291,7 @@ **Fixed bugs:** +- Fix duplicate metric registration for filters [\#397](https://github.com/googleforgames/quilkin/pull/397) ([iffyio](https://github.com/iffyio)) - Include endpoint token and metadata from cluster update [\#359](https://github.com/googleforgames/quilkin/pull/359) ([iffyio](https://github.com/iffyio)) - Fix for change: --filename to --config [\#355](https://github.com/googleforgames/quilkin/pull/355) ([markmandel](https://github.com/markmandel)) @@ -353,7 +509,7 @@ - Update release checklist to include quilkin-macros [\#294](https://github.com/googleforgames/quilkin/pull/294) ([markmandel](https://github.com/markmandel)) - Output the rust version for each build. [\#288](https://github.com/googleforgames/quilkin/pull/288) ([markmandel](https://github.com/markmandel)) - Refactor and break out top-level filter module. [\#286](https://github.com/googleforgames/quilkin/pull/286) ([XAMPPRocky](https://github.com/XAMPPRocky)) -- Use `include\_str!` instead of `doc\(include\)` [\#284](https://github.com/googleforgames/quilkin/pull/284) ([XAMPPRocky](https://github.com/XAMPPRocky)) +- Use `include_str!` instead of `doc(include)` [\#284](https://github.com/googleforgames/quilkin/pull/284) ([XAMPPRocky](https://github.com/XAMPPRocky)) - Use channel size of 1 to send xds updates [\#283](https://github.com/googleforgames/quilkin/pull/283) ([iffyio](https://github.com/iffyio)) - Fixes from clippy [\#282](https://github.com/googleforgames/quilkin/pull/282) ([XAMPPRocky](https://github.com/XAMPPRocky)) - Add default configuration file conventions. [\#279](https://github.com/googleforgames/quilkin/pull/279) ([XAMPPRocky](https://github.com/XAMPPRocky)) @@ -375,7 +531,7 @@ - Update Rust version to 1.51 [\#247](https://github.com/googleforgames/quilkin/pull/247) ([XAMPPRocky](https://github.com/XAMPPRocky)) - Clippy fixes [\#246](https://github.com/googleforgames/quilkin/pull/246) ([XAMPPRocky](https://github.com/XAMPPRocky)) - Refactor UpstreamEndpoints::retain [\#245](https://github.com/googleforgames/quilkin/pull/245) ([XAMPPRocky](https://github.com/XAMPPRocky)) -- Close Session on drop, refactor `SessionManager::prune\_sessions` [\#244](https://github.com/googleforgames/quilkin/pull/244) ([XAMPPRocky](https://github.com/XAMPPRocky)) +- Close Session on drop, refactor `SessionManager::prune_sessions` [\#244](https://github.com/googleforgames/quilkin/pull/244) ([XAMPPRocky](https://github.com/XAMPPRocky)) - Add documentation for writing filters [\#243](https://github.com/googleforgames/quilkin/pull/243) ([iffyio](https://github.com/iffyio)) - Add missing licences. [\#242](https://github.com/googleforgames/quilkin/pull/242) ([markmandel](https://github.com/markmandel)) - Point COC contact to a Google Group. [\#240](https://github.com/googleforgames/quilkin/pull/240) ([markmandel](https://github.com/markmandel)) diff --git a/Cargo.toml b/Cargo.toml index 1920314ce4..ce88dc9213 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -19,7 +19,7 @@ members = [".", "./macros", "./agones"] [package] name = "quilkin" -version = "0.4.0-dev" +version = "0.4.0" authors = ["Mark Mandel ", "Ifeanyi Ubah ", "Erin Power "] license = "Apache-2.0" description = "Quilkin is a non-transparent UDP proxy specifically designed for use with large scale multiplayer dedicated game server deployments, to ensure security, access control, telemetry data, metrics and more." @@ -38,7 +38,7 @@ test = true [dependencies] # Local -quilkin-macros = { version = "0.4.0-dev", path = "./macros" } +quilkin-macros = { version = "0.4.0", path = "./macros" } # Crates.io arc-swap = { version = "1.5.1", features = ["serde"] } diff --git a/README.md b/README.md index e176542669..3d9a106708 100644 --- a/README.md +++ b/README.md @@ -29,6 +29,9 @@ Not to be used in production systems. ### Releases +* v0.4.0 ([guides](https://googleforgames.github.io/quilkin/v0.4.0/book/), + [api](https://googleforgames.github.io/quilkin/v0.4.0/api/quilkin/), + [macros](https://googleforgames.github.io/quilkin/v0.4.0/api/quilkin_macros/)) * v0.3.0 ([guides](https://googleforgames.github.io/quilkin/v0.3.0/book/), [api](https://googleforgames.github.io/quilkin/v0.3.0/api/quilkin/), [macros](https://googleforgames.github.io/quilkin/v0.3.0/api/quilkin_macros/)) diff --git a/build/templates/release-issue.md b/build/templates/release-issue.md index 9c053027d1..81bb3633cf 100644 --- a/build/templates/release-issue.md +++ b/build/templates/release-issue.md @@ -25,13 +25,13 @@ so that the source is archived in the container image. - [ ] Reset checklist back to "run `make` to submit the cloud build", and start from there again. - [ ] Run `cd macros && cargo publish --dry-run --allow-dirty` and ensure there are no issues. -- [ ] Run `cargo publish --dry-run --allow-dirty` and ensure there are no issues. +- [ ] Run `cargo clippy` in the root directory, and ensure there are no issues. - [ ] Add a release item to README.md "Documentation" > "Releases" list with related links in reverse chronological order. - [ ] Remove any `data-proofer-ignore` attributes from links in the documentation in `./docs`. - [ ] Submit these changes as a PR, and merge with approval. - [ ] Create a [Github release](https://github.com/googleforgames/quilkin/releases/new) using the - [Github release template](./github-release.md). + [Github release template](https://github.com/googleforgames/quilkin/blob/main/build/templates/github-release.md). - [ ] Populate the tag with `v{version}`, description, and relevant changelog sections. - [ ] Attach all the remaining cloud build artifacts to the release. - [ ] Run `git remote update && git checkout main && git reset --hard upstream/main` to ensure your code is in line diff --git a/docs/src/quickstarts/agones-xonotic.md b/docs/src/quickstarts/agones-xonotic.md index 83acc13d01..3eb8604fdc 100644 --- a/docs/src/quickstarts/agones-xonotic.md +++ b/docs/src/quickstarts/agones-xonotic.md @@ -100,7 +100,7 @@ What we will do in this step, is run Quilkin locally as a client-side proxy to c sent up to our Xonotic servers that are expecting compressed data. First, grab a copy of the Quilkin configuration -client-compress.yaml +client-compress.yaml locally. This has the Compress filter already configured, but we need to fill in the address to connect to. > Rather than editing a file, this could also be sent through the [xDS API](../xds.md), but it is easier to diff --git a/macros/Cargo.toml b/macros/Cargo.toml index 3e9a792006..de5bb8f6cd 100644 --- a/macros/Cargo.toml +++ b/macros/Cargo.toml @@ -16,7 +16,7 @@ [package] name = "quilkin-macros" -version = "0.4.0-dev" +version = "0.4.0" authors = ["Erin Power "] license = "Apache-2.0" description = "Quilkin is a non-transparent UDP proxy specifically designed for use with large scale multiplayer dedicated game server deployments, to ensure security, access control, telemetry data, metrics and more."