Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Generate 3.8.0 changelog #13644

Closed
wants to merge 53 commits into from
Closed

Conversation

outsinre
Copy link
Contributor

Generate 3.8.0 changelog

samugi and others added 30 commits August 20, 2024 09:26
Several places in the gateway need a node-level lock, some of them used
slightly different implementations. This refactor brings consistency in
the ways we do node-level locking by using the same implementation
(concurrency.with_worker_mutex) everywhere.
### Summary

@jeremyjpj0916 mentions in discussion thread:
#13513

That Kong may work unexpectedly or require write node for general operation.

I did quick search and found couple of  missing places where we don't give
"read" as a parameter for readonly operations. This may not fix all the
issues that we have for how resilient Kong nodes are for write node being
offline, but at least it is obvious to fix these at first.

Signed-off-by: Aapo Talvensaari <aapo.talvensaari@gmail.com>
when deck integration tests fail, a request for changes was created in
the PR. This was often ignored: let's fail CI instead.
… a key

### Summary

Our docs state here:
https://docs.konghq.com/gateway/latest/kong-enterprise/secrets-management/reference-format/#secret-key

> If secret key ends with /, then it is not considered as a Secret Key but as a part of Secret Id.
> The difference between Secret Key and Secret Id is that only the Secret Id is sent to vault API,
> and the Secret Key is only used when processing

The logic was not working correctly because it was incorrectly assuming what
`require("socket.url").parse_path` did, that is:

```lua
parse_path("/a")
-- { "a", is_absolute = 1 }
```
```lua
parse_path("/a/")
-- { "a", is_absolute = 1, is_directory = 1 }
```
```lua
parse_path("/a/b")
-- { "a", "b", is_absolute = 1 }
```
```lua
> parse_path("/a/b/")
-- { "a", "b", is_absolute = 1, is_directory = 1}
```

This fixes it.

Signed-off-by: Aapo Talvensaari <aapo.talvensaari@gmail.com>
### Summary

Less pressure to garbage collector.

Signed-off-by: Aapo Talvensaari <aapo.talvensaari@gmail.com>
FTI-5775

---------

Co-authored-by: Aapo Talvensaari <aapo.talvensaari@gmail.com>
…r old plugin compatibility test (#13536)

When a new minor version is just bumped, the tag x.x.0 doesn't exist
yet. So we change it to use the starting point of the previous branch
instead of the tag x.x.0 of the previous branch.
The way this latency is measured in the code is not granular enough to
guarantee that it will always produce a non-zero result, so the
assertion is changed from `>` to `>=`.
…resurrect_ttl (#13471)

This PR fixes an issue that rotate_secret may flush a secret value with NEGATIVE_CACHED_VALUE when vault backend is down and a secret value stored in the shared dict has passed its ttl and hasn't finished consuming its resurrect_ttl.

TLDR; this issue happens easily when a reference is being used via the vault PDK function in custom codes(serverless functions, custom plugins, etc.), and some of the worker processes may not be triggered via the service/routes that use these custom codes, and these worker processes do not hold a valid LRU cache for the secret value

The issue was first reported in FTI-6137.

---------

Signed-off-by: Aapo Talvensaari <aapo.talvensaari@gmail.com>
Co-authored-by: Aapo Talvensaari <aapo.talvensaari@gmail.com>
### Summary

Gladly we found an issue where merge conflict in EE was wrongly resolved
(by me, @bungle, most likely) before we released.

Thanks to @nowNick for finding it out.

Here is the missing tests that hopefully helps us in a future to spot it
better.

Signed-off-by: Aapo Talvensaari <aapo.talvensaari@gmail.com>
…3981db35 (#13567)

* chore(deps): bump ngx_wasm_module to 96b4e27e10c63b07ed40ea88a91c22f23981db35

Changes since 9c95991472ec80cdb1681af203eba091607b5753:

* 96b4e27 - chore(deps) bump Wasmtime to 23.0.2
* 353bb29 - chore(deps) bump Nginx to 1.27.1
* 3c2800b - misc(*) minor fixes to address a few warnings
* 5743252 - misc(http) minor fix in debug logs
* 7a598ef - misc(ffi) localize 'ffi.*' functions
* fa4a249 - perf(http) stash local response in request pool
* d6aaf2e - feat(proxy-wasm) allow cancelling background ticks
* 646459b - docs(proxy-wasm) specify a 'dispatch_http_call' disparity
* 624307a - chore(deps) bump Wasmtime to 23.0.1
* 77347e3 - misc(*) various minor fixes
* b8aae2c - chore(ci) bump OpenResty to 1.25.3.2

* chore(deps): bump Wasmtime to 23.0.2

---------

Co-authored-by: team-gateway-bot <team-gateway@konghq.com>
Co-authored-by: Michael Martin <michael.martin@konghq.com>
* fix(ai): fix preserve route_type broken issue in refactor
…eir values mismatch (#13565)

* fix(*): reject config if both deprecated and new field defined and their values mismatch

This commit adds a validation to deprecated fields
that checks if in case both new field and old field were defined -
their values must match.

Note that if one of the fields is null then the validation passes even
if the other is not null.

KAG-5262

* fixup! fix(*): reject config if both deprecated and new field defined and their values mismatch

PR fixes

* fixup! fix(*): reject config if both deprecated and new field defined and their values mismatch

PR fixes 2
@github-actions github-actions bot added core/docs cherry-pick kong-ee schedule this PR for cherry-picking to kong/kong-ee labels Sep 11, 2024
@CLAassistant
Copy link

CLAassistant commented Sep 11, 2024

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.
13 out of 14 committers have signed the CLA.

✅ chronolaw
✅ chobits
✅ catbro666
✅ flrgh
✅ AndyZhang0707
✅ AntoineJac
✅ tysoekong
✅ Water-Melon
✅ curiositycasualty
✅ nowNick
✅ liverpool8056
✅ brentos
✅ StarlightIbuki
❌ github-actions[bot]
You have signed the CLA already but the status is still pending? Let us recheck it.

@CLAassistant
Copy link

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.
13 out of 14 committers have signed the CLA.

✅ chobits
✅ chronolaw
✅ AndyZhang0707
✅ flrgh
✅ tysoekong
✅ catbro666
✅ AntoineJac
✅ curiositycasualty
✅ Water-Melon
✅ liverpool8056
✅ nowNick
✅ StarlightIbuki
✅ brentos
❌ github-actions[bot]
You have signed the CLA already but the status is still pending? Let us recheck it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment