Skip to content

[pull] master from Kong:master #18

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

Open
wants to merge 2,294 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
2294 commits
Select commit Hold shift + click to select a range
9251dc7
chore(cd): remove ubuntu-20.04
fffonion Dec 6, 2024
96076c3
Revert "chore(cd): remove ubuntu-20.04"
fffonion Dec 10, 2024
b594b1d
style(clustering): log pings only when the hash changes (#13885)
aryan9600 Dec 10, 2024
ce668cc
fix(sync): do not introduce router rebuild timer for full sync (#14001)
chobits Dec 10, 2024
d40cedd
fix(prometheus): use configure() handler to toggle upstream_health_me…
flrgh Dec 11, 2024
358fff3
tests(*): shutdown timerng instance after test completion (#14005)
flrgh Dec 11, 2024
2af3a76
refactor(sandbox): improve sandbox (#10900)
bungle Dec 13, 2024
9dded31
fix(dbless): nest unique field errors for child entities (#14017)
flrgh Dec 16, 2024
f10cd09
chore(wasm): remove bundled datakit filter (#14013)
flrgh Dec 16, 2024
eeded78
refactor(clustering/sync): clean the logic of sync_once_impl() (#14024)
chronolaw Dec 16, 2024
fad17ba
fix(clustering/rpc): support `cluster_use_proxy` option for clusterin…
chobits Dec 17, 2024
f3f77eb
chore(build): allow github_release to download without extract (#14027)
fffonion Dec 17, 2024
59118e2
refactor(clustering/rpc): rename to cluster_rpc_sync (#14025)
chronolaw Dec 18, 2024
be7e356
feat(clustering/rpc): support jsonrpc notification (#13948)
chronolaw Dec 18, 2024
33a43c7
docs(release): generate 3.9.0 changelog (#13935) (#14031)
kikito Dec 18, 2024
f7f7a23
fix(db): ensure that flattened_errors is encoded as a JSON array (#14…
flrgh Dec 18, 2024
705860c
docs(readme): add references to Konnect in getting started guide
jessemiller Dec 19, 2024
14b1bf9
chore(deps): bump lua-kong-nginx-module to 0.14.0 (#14037)
tzssangglass Dec 20, 2024
ab888cc
feat(clustering/rpc): emit event when RPC becomes ready (#14034)
chronolaw Dec 20, 2024
d07425b
refactor(clustering/rpc): simplify the implementation (#14026)
chronolaw Dec 23, 2024
1458161
perf(core): reduce LMDB size by optimizing key format (#14028)
chobits Dec 23, 2024
51cb5f1
tests(clustering): dp status ready when use RPC Sync (#14035)
lhanjian Dec 23, 2024
dc1a42d
close socket connection when websocket connect failed to avoid potent…
ProBrian Dec 23, 2024
5ab8c15
feat(opentelemetry):set variable resource attributes
SuzyWangIBMer Nov 5, 2024
5b0da6d
test(opentelemetry): support variable resource attributes
SuzyWangIBMer Nov 6, 2024
c77a178
feat(patch): control the proxy_upstream in lua side (#14029)
oowl Dec 23, 2024
8e14a18
feat(clustering/rpc): add dp labels support (#14046)
chronolaw Dec 24, 2024
91367c4
tests(balancer): assertions in test should using `asset.is_true` (#14…
StarlightIbuki Dec 26, 2024
bea968c
docs(changelog): fix the broken 3.9.0 link in CHANGELOG.md (#14058)
AndyZhang0707 Dec 27, 2024
d303ae6
tests(clustering): rpc test framework (#14030)
StarlightIbuki Dec 27, 2024
0ebc358
feat(clustering/rpc): add support for cert details (#14050)
chronolaw Dec 30, 2024
0b74d0f
style(pdk): rename some variables (#14063)
chronolaw Dec 30, 2024
5c78fb8
perf(runloop): load service with `route.ws_id` while building routers…
chobits Dec 30, 2024
938747a
feat(sessions): store session's meatadata (#13990)
raoxiaoyan Dec 31, 2024
4c1bd2e
docs(changelog): remove the incorrect merge conflict line (#14060)
AndyZhang0707 Dec 31, 2024
24bdacb
docs(changelog): clarify the changelog entry of #14038 (#14066)
ProBrian Dec 31, 2024
6a36c4d
fix(certificate): unable to refresh certificate entity with vault ref…
ms2008 Dec 24, 2024
1b52c4a
feat(clustering/rpc): always sync when rpc connected (#14070)
chronolaw Jan 2, 2025
e0d6df7
fix(clustering/rpc): check deltas if it is nil (#14064)
chronolaw Jan 2, 2025
33523c9
fix(clustering/rpc): invoke `notify_new_version` on events `clusterin…
chronolaw Jan 3, 2025
45afb4d
feat(clustering/rpc): stop `ngx.timer.every` if no `sync.v2` (#14076)
chronolaw Jan 3, 2025
eb3293c
feat(clustering/rpc): generate rpc disconnected event
chronolaw Jan 2, 2025
df6cc59
fix(clustering/rpc): fix mistake of stop timer
chronolaw Jan 6, 2025
3636949
fix(clustering/rpc): dont start too many timers for sync (#14089)
chronolaw Jan 8, 2025
096d475
fix(session): adds a compatablity for session (#14085)
raoxiaoyan Jan 8, 2025
bb0a33e
chore(CI): remove `release-and-tests-fail-bot.yml` (#14090)
ADD-SP Jan 8, 2025
bd70457
fix(clustering/rpc): check return value of `kong.timer` (#14112)
chronolaw Jan 9, 2025
0a440b6
chore(ci): pin third-party GitHub actions to specific commit hashes (…
Water-Melon Jan 9, 2025
b7f5ed2
fix(llm): response stream chunking de-buffering (#14079)
oowl Jan 9, 2025
f4d9c7f
fix(core): set correct permissions for socket path when umask is set …
tzssangglass Jan 9, 2025
24b6212
fix(workflow): rename workflows (#14117)
AndyZhang0707 Jan 9, 2025
3e1faac
fix(workflow): remove unused pr-diff workflow (#14119)
AndyZhang0707 Jan 9, 2025
1903d97
chore(build): rename rust target wasm32-wasi to wasm32-wasip1 (#13708)
flrgh Jan 10, 2025
4ee00b3
feat(clustering/rpc): change sync version to string (#14078)
chronolaw Jan 12, 2025
8593695
fix(balancer): handle hyphenated-Pascal-case headers in consistent ha…
tzssangglass Jan 13, 2025
162a782
fix(clustering/rpc): sync if versions dont equal (#14125)
chronolaw Jan 13, 2025
95755c3
docs: fix a typo in bash commands of crate_locks readme (#14137)
Oyami-Srk Jan 13, 2025
8b65c9d
chore(deps): bump atc-router from v1.6.2 to 1.7.1 (#14138)
Oyami-Srk Jan 13, 2025
9c48b27
tests(clustering): simplify hybrid status tests (#14136)
chronolaw Jan 13, 2025
4d56a90
refactor(clustering/rpc): move is_valid_version() to strategies (#14135)
chronolaw Jan 14, 2025
65f43be
fix(runloop): skip router rebuilding if reconfigure is running (#14056)
ADD-SP Jan 14, 2025
a4d126c
tests(clustering/rpc): add cases for notifications (#14129)
chronolaw Jan 14, 2025
9aacc33
fix(clustering/rpc): record the default workspace after the dropping …
ADD-SP Jan 14, 2025
b441f1e
tests(clustering): enable rpc sync on test (#14142)
lhanjian Jan 14, 2025
1c2ea57
feat(clustering/rpc): support rpc batching on dp side (#14040)
chronolaw Jan 14, 2025
a61ef41
fix(changelog): add the missing changelog of AI analytics breaking (#…
fffonion Jan 14, 2025
f1f947d
style(clustering/rpc): fix typo of META_V1 (#14158)
chronolaw Jan 14, 2025
f68de81
Revert "tests(clustering): enable rpc sync on test (#14142)"
chronolaw Jan 14, 2025
55afae5
fix(declarative): generate correct uuid for transient entities (#14082)
windmgc Jan 14, 2025
e9510e9
chore(cd): update prerelease docker repository (#14121)
AndyZhang0707 Jan 15, 2025
17836b4
fix(ai): fix Azure streaming with raw JSON transmission mode (#14148)
tysoekong Jan 15, 2025
665eaad
fix(grpc-web & grpc-gateway plugins): Fixed a bug where the `TE`
liverpool8056 Jan 15, 2025
6df1cf9
chore(ci): pin 3rd-party actions to specific commit hashes (#14165)
Water-Melon Jan 16, 2025
522c512
tests(clustering/rpc): add cases for sync.v2.get_delta (#14151)
chronolaw Jan 16, 2025
a6895f6
tests(clustering/rpc): add cases for rpc error handler (#14164)
chronolaw Jan 16, 2025
ce15c78
fix(file-log): reject file path that has leading/trailing space (#14141)
raoxiaoyan Jan 16, 2025
902e16a
tests(clustering): clean assertions in batch call tests (#14177)
chronolaw Jan 17, 2025
dbc9e8a
tests(correlation-id): fix flaky test (#14176)
ADD-SP Jan 17, 2025
e5f959d
chore(ci): bump action-slack-notify and public-shared-actions (#14181)
Water-Melon Jan 17, 2025
6a81453
tests(clustering): errors spec only for sync.v1 (#14179)
chronolaw Jan 17, 2025
4b57b91
fix(ai-proxy): fix a bug in the Azure provider where overrides would…
oowl Jan 17, 2025
443c075
fix(ai): (cohere) support new application/stream+json default stream …
oowl Jan 17, 2025
63c497f
tests(clustering/rpc): add cases for sync.v2.notify_new_version (#14174)
chronolaw Jan 20, 2025
3a13b91
chore(deps): bump libexpat to 2.6.4 (#14191)
Water-Melon Jan 20, 2025
9401292
feat(patch): refresh upstream uri variable when proxy pass balancer r…
oowl Jan 20, 2025
398172d
feat(patch): backport balancer.set_upstream_tls feature from openrest…
oowl Jan 20, 2025
7fd7f04
feat(pdk): dynamic control upstream tls when kong.service.request.set…
oowl Jan 20, 2025
122810c
refactor(clustering): use tools.table.EMPTY to avoid overhead (#14180)
chronolaw Jan 20, 2025
4448eef
feat(clustering/rpc): rpc batching on concentrator (#14055)
chronolaw Jan 20, 2025
d979887
feat(sync): more logs during the sync (#14197)
StarlightIbuki Jan 20, 2025
78d2712
fix(core): add `tls_verify`, `tls_verify_depth`, `ca_certificates` of…
catbro666 Jan 21, 2025
0add6a5
chore(changelog): add a changelog for bumping libexpat (#14207)
Water-Melon Jan 21, 2025
b728232
chore(changelog): update changelog for bumping libexpat (#14210)
Water-Melon Jan 21, 2025
dfc955e
fix(clustering/rpc): sync retry timeout due to block (#14195)
StarlightIbuki Jan 21, 2025
576cdc8
chore(deps): bump openssl to 3.4.0 (#14146)
locao Jan 21, 2025
f657890
feat(clustering/rpc): update dp status after syncing (#14205)
chronolaw Jan 22, 2025
cb31e28
fix(clustering/rpc): warning log level for sync retry failing (#14192)
chronolaw Jan 22, 2025
be10aa9
refactor(clustering/rpc): wait 5 seconds for rpc queue (#14189)
chronolaw Jan 22, 2025
91161d9
fix(clustering): the version `3.10.0.0` assigned incorrect number (#1…
raoxiaoyan Jan 22, 2025
d80ff4b
tests(clustering): enable rpc sync for correlation-id (#14171)
lhanjian Jan 22, 2025
1d0f212
refactor(clustering/rpc): reshape do_sync (#14199)
StarlightIbuki Jan 22, 2025
c85bc75
feat(clustering/sync): validate deltas when syncing (#14127)
chobits Jan 22, 2025
c4093c0
fix(clustering/rpc): added required field for mocked workspace to byp…
chobits Jan 22, 2025
78c6923
chore(ci): fix luarocks script redirect typo (#14153)
windmgc Jan 22, 2025
6837e4d
tests(clustering): move validate_deltas to unit tests (#14215)
chronolaw Jan 23, 2025
7a505ea
fix(core): separate pluginserver runtime data from kong configuration…
ProBrian Jan 23, 2025
e482298
chore: remove kong.tls.plugin code to reduce ce and ee conflict
oowl Jan 24, 2025
35a1052
chore: backport ee next upstream retry runloop change to ce
oowl Jan 24, 2025
8e441df
chore(deps): bump openresty to 1.27.1.1 (#14163)
bungle Jan 27, 2025
71e7019
chore(*): new dns client consistent with EE
samugi Jan 21, 2025
009e80c
feat(prometheus): expose controlplane connectivity state as a gauge (…
aryan9600 Jan 28, 2025
7dbaebd
chore(patches): backport revert override of ljitd (#14230)
bungle Jan 29, 2025
9d73444
chore(deps): bump dev dep of luacov from 1.5.0 to 1.6.0
bungle Jan 28, 2025
ac6d865
chore(deps): bump dev dep of bazelisk from 1.20.0 to 1.25.0
bungle Jan 28, 2025
ebfac0c
chore(deps): bump kong nginx module from 0.15.0 to 0.15.1
bungle Jan 28, 2025
b90220c
chore(deps): bump snappy from 1.2.0 to 1.2.1
bungle Jan 28, 2025
177c22f
chore(deps): bump lua-resty-simdjson from 1.1.0 to 1.2.0
bungle Jan 28, 2025
8eaeef1
chore(deps): bump nfpm from 2.37.1 to 2.41.2
bungle Jan 28, 2025
3d921b1
fix(clustering/sync): fix default workspace check (#14220)
Oyami-Srk Jan 31, 2025
a5c092e
change key-sets to Key Sets to match Konnect in description text
Guaris Jan 30, 2025
befb322
chore(ci): update build-wasm-test-filters action
flrgh Jan 27, 2025
36e329e
chore(clustering): do not enable kong.sync.v2 when connecting dp is o…
bungle Feb 3, 2025
e48dfcc
chore(deps): bump ngx_wasm_module to 7042e29b059ae9831dc2d8cec6043e0d…
Jan 23, 2025
60b181f
Revert "chore(deps): bump openssl to 3.4.0 (#14146)"
locao Feb 4, 2025
24f312c
fix(prometheus): add a toggle switch for wasm metrics export
flrgh Dec 2, 2024
c7a80d7
tests(*): make nginx_worker_processes to take effect properly (#14222)
ms2008 Feb 5, 2025
d47eab6
fix(clustering/sync): insert default values to delta entities before …
chobits Feb 5, 2025
004eee9
fix(llm): fix gzip handling when using multiple AI plugins
fffonion Jan 21, 2025
6617d58
fix(clustering/rpc): add random for timer‘s name (#14241)
chronolaw Feb 5, 2025
cb90115
fix(certificate): properly throw errors when parsing certificate from…
ms2008 Feb 5, 2025
70b4689
tests(clustering/rpc): add integration test for deltas validation (#1…
chronolaw Feb 5, 2025
55e4ff5
style(daos): rename function parameter to keep consistency (#14242)
Oyami-Srk Feb 6, 2025
2582e76
fix(response-ratelimiting): fix missing usage headers for upstream (#…
t-yuki Feb 6, 2025
0ba6c08
fix(llm): mark model.options.upstream_path as deprecated (#14178)
fffonion Feb 6, 2025
7d0e5c9
tests(clustering/rpc): more cases for deltas validation (#14243)
chronolaw Feb 7, 2025
e950249
tests(clustering/rpc): enable rpc sync for config compat (#14245)
chronolaw Feb 7, 2025
b1d10c4
fix(llm): fix error when upstream_url missing trailing slash (#14186)
fffonion Feb 7, 2025
04f8094
fix(config): correct option name for kong_cache (#14173)
ms2008 Feb 10, 2025
706a32e
fix(clustering/rpc): do not log disconnected node for `kong.sync.v2.n…
chronolaw Feb 12, 2025
2af61c1
chore(sandbox): allow more sub-modules with sandboxed handlers (#14247)
bungle Feb 12, 2025
99fb920
chore(tests): stabilize flaky tests of response rate limiting plugin …
ProBrian Feb 12, 2025
417a7f9
feat(clustering/sync): flatten and report validation error (#14262)
chobits Feb 14, 2025
d1af0ef
feat(clustering/rpc): correct rpc disconnected event on dp side (#14279)
chronolaw Feb 14, 2025
5e7b8b5
perf(tools/string): a way faster strip function
bungle Feb 10, 2025
ad18d7d
chore(logging): reduce excessive log flooding on debug logs (#10652)
bungle Feb 13, 2025
5badd8e
chore(logging): reduce excessive log flooding on debug logs (follow up)
bungle Feb 13, 2025
712efe9
chore(changelog): add some entries to changelog (#14258)
bungle Feb 14, 2025
479274e
fix(pdk): make kong.service.request.clear_query_arg encode spaces as …
bungle Feb 14, 2025
716a11b
fix(clustering/rpc): fix error message for metacall (#14283)
chronolaw Feb 17, 2025
d5fcb42
tests(clustering/wasm): enable rpc sync tests for wasm partially (#14…
chronolaw Feb 17, 2025
116babe
fix(clustering/rpc): do not send error response for rpc notification …
chronolaw Feb 17, 2025
87e9a76
feat(cors): add an option to skip return ACAO when no origin in requ…
lhanjian Feb 17, 2025
568d23a
refactor(clustering/rpc): rpc sync should start without delay (#14285)
chronolaw Feb 17, 2025
840b9bd
chore(deps): bump pcre2 library from 10.44 to 10.45 (#14280)
bungle Feb 17, 2025
dfa83fb
ci(*): skip labeler on fork PRs
samugi Feb 14, 2025
f4835f2
fix(db): add missing select statement for export (#14290)
Oyami-Srk Feb 19, 2025
296d682
feat(clustering/sync): add strict validation for delta workspace id (…
chobits Feb 19, 2025
a4c0b46
fix(clustering/rpc): set default value for sync entities (#14293)
chronolaw Feb 20, 2025
7fcde18
chore(tracing): log instead of throwing error
samugi Feb 19, 2025
e20ab83
fix(clustering/sync): prioritize using entity ws_id during validation…
chobits Feb 20, 2025
b1cd4bb
chore(deps): bump OpenSSL to 3.4.1
locao Feb 13, 2025
f040604
tests(cmd): fix flaky test (#14301)
ADD-SP Feb 21, 2025
bd936d5
tests(clustering/sync): wait for rpc sync log line (#14274)
Oyami-Srk Feb 21, 2025
a77c8d9
refactor(clustering/rpc): code clean for `validate_deltas()` (#14303)
chronolaw Feb 24, 2025
4278c1b
chore(spec): generate_keys supports EC key (#14184)
catbro666 Feb 24, 2025
113af31
fix(clustering/rpc): validate version string more strictly (#14311)
ADD-SP Feb 25, 2025
30befab
refactor(clustering/rpc): clean default_workspace logic (#14304)
chronolaw Feb 25, 2025
2b600a3
feat(tracing): Add instana header support in propagation (#13915)
SuzyWangIBMer Feb 25, 2025
a09e45a
fix(db): fix `page()` method of LMDB doesn't skip expired entities (#…
Oyami-Srk Feb 27, 2025
ec64452
chore(deps): bump ngx_wasm_module to a376e67ce02c916304cc9b9ef25a5408…
Feb 20, 2025
898882d
chore(test): don't duplicate work when launching busted (#14308)
flrgh Feb 27, 2025
39f9b96
fit(targets): fixed an issue where targets can't be removed from dns …
liverpool8056 Feb 28, 2025
3aca6b4
fix(templates): add missing security headers for Admin GUI (#14287)
sumimakito Feb 28, 2025
3af2ec6
perf(tracing): improving performance of trace ID size lookup (#14302)
tzssangglass Feb 28, 2025
2b78741
test(clustering/sync): add test for validating unloaded plugin (#14326)
chobits Feb 28, 2025
4d44572
fix(clustering/sync): use 8 bytes integer to store delta's versions (…
Oyami-Srk Feb 28, 2025
c8dac10
tests(migrations): add tests to detect not listed migration files (#1…
ADD-SP Feb 28, 2025
01789df
perf(pdk): refine with optional cache to improvement performance (#13…
ProBrian Mar 3, 2025
7a1d73e
refactor(clustering/rpc): rename field `wipe` to `full_sync` and othe…
chronolaw Mar 3, 2025
6d891bf
docs(changelog): add changelog entry for #13981 (#14336)
ProBrian Mar 3, 2025
bffa106
fix(admin): fix HTTP 500 caused by duplicate Content-Type (#14331)
Water-Melon Mar 3, 2025
f1700ea
tests(clustering/sync): add hybrid mode test for most used plugins (#…
Oyami-Srk Mar 3, 2025
6930ac8
Revert "chore(deps): bump nfpm from 2.37.1 to 2.41.2" (#14316)
curiositycasualty Mar 3, 2025
8eb68eb
fix(dns): fix the new DNS client to handle timeout option in resolv.c…
chobits Mar 4, 2025
1e3fd83
fix(pdk): escape dots in logging plugins custom_fields_by_lua (#14324)
iykon Mar 4, 2025
7b9ee8e
perf(timing): use clear_header instead of set_header to clear header
bungle Dec 12, 2024
fa605c6
perf(dns-client): try to avoid creating tables and use table.clone wh…
bungle Dec 12, 2024
6b9d32b
feat(pdk): revert response.get_header change to avoid behavior change…
ProBrian Mar 11, 2025
64d7a5e
tests(upstream_timeout): enable hybrid and rpc sync tests (#14355)
ADD-SP Mar 12, 2025
266559f
feat(nginx): patch - added upstream latency metrics
samugi Feb 7, 2025
cf93d9d
chore(github): use Kong fork of `changed-files` in actions (#14362)
zekth Mar 15, 2025
525c45c
fix(clustering/rpc): process `ws_id` correctly (#14356)
chobits Mar 26, 2025
a2fa16c
chore(lint): add ast-grep lint rules and CI workflow (#14364)
flrgh Mar 26, 2025
60881e1
chore(build): remove ngx_wasm_module from default builds (#14347)
flrgh Mar 26, 2025
b169153
refactor(clustering/rpc): remove CP's duplicated sync event (#14385)
chronolaw Apr 1, 2025
a739508
perf(runloop): do not load plugins from database on control planes (#…
bungle Mar 18, 2025
833fcda
perf(control-plane): build plugins iterator only once at start on cp …
bungle Mar 17, 2025
76ea48f
docs(pdk): tracing
samugi Feb 27, 2025
c6c4fbf
chore(deps): bump openresty from 1.27.1.1 to 1.27.1.2
bungle Apr 3, 2025
ce66639
chore(ci): fix version pattern for Docker tag generation (#14402)
Water-Melon Apr 7, 2025
d1a8e41
chore(lint): fix some helpers-outside-of-setup warnings (#14410)
flrgh Apr 10, 2025
4feda1b
fix(db): add missing func select_by_ca_certificate for off strategy (…
ADD-SP Apr 17, 2025
da0e7ef
perf(*): faster string splitting and an iterator (#14388)
bungle Apr 17, 2025
e38217c
chore(docs): move changelog entry to the correct directory (#14422)
ms2008 Apr 17, 2025
28a6183
chore(lint): fix remaining helpers-outside-of-setup warnings
flrgh Apr 11, 2025
826214b
fix(plugin/cors): treat empty Origin header same as missing header (#…
dingjiayi Apr 21, 2025
b3200f4
docs(readme): use the last master commit's workflow run result as the…
AndyZhang0707 Apr 25, 2025
92f718c
ci: add pgvector folder to CI labeler
GGabriele Apr 15, 2025
5265635
fix(proxy): upstream connection pooling with long pool names
bungle Apr 30, 2025
438ae2b
fix(jwt): correct header delimiter to use comma (#14437)
dingjiayi May 5, 2025
dc9eaa6
style(jwt): add an blank line before the `else` statement (#14441)
chronolaw May 6, 2025
731e4e6
chore(*): remove enterprise license notice
Water-Melon May 6, 2025
8ed78ce
chore(ci): fix the name of the workflow that checks for copyright (#1…
Water-Melon May 7, 2025
3463e3b
ci(*): detect unexpected EE changes (#14452)
samugi May 8, 2025
c400ef2
fix(core): downgrade log level for routes rebuilding (#14458)
chobits May 9, 2025
5885ea4
chore(pdk): set stack rewind to 3 to display the correct line when do…
fffonion Oct 30, 2024
aacc44d
tests(clustering/rpc): add test cases for rpc concentrator (#14538)
chronolaw May 20, 2025
9a1e984
fix(clustering/rpc): rpc concentrator may not work with sync v1 (#14541)
chronolaw May 20, 2025
a425231
feat(anonymous_reports): report the state of new_dns_client (#14569)
ADD-SP May 26, 2025
770cba9
fix(openresty): skip the non-null light userdata while `ngx.log` (#14…
ADD-SP May 26, 2025
18d8e2e
fix(plugin/oauth2): correct header delimiter to use comma (#14436)
dingjiayi May 26, 2025
c415a93
chore(ci): remove unknown service redis-stack
spacewander May 27, 2025
be94808
fix(llm): fix mistral default path
fffonion Dec 10, 2024
8e63b90
fix(llm): fix openai empty path
fffonion Dec 16, 2024
0e168ad
fix(ai)(gemini): multimodal images support
tysoekong Jan 25, 2025
96af73a
fix(llm): gemini chunked streaming and bedrock tool-use (#11445)
tysoekong Feb 27, 2025
e0d6ebf
fix(llm): simplify of getting request body table
fffonion Feb 5, 2025
d059d85
fix(ai): ollama content type for streaming (#11273)
tysoekong Feb 28, 2025
e5b1974
feat(llm): support Bedrock and Gemini native format (#10820)
tysoekong Mar 2, 2025
7bbc014
fix(llm): add restrictions on new llm_format field (#11539)
tysoekong Mar 3, 2025
204fd64
fix(llm): send analytics before log phase (#11384)
tysoekong Mar 3, 2025
0b85ad2
fix(llm): issue of template not being resolved correctly and support …
fffonion Mar 7, 2025
7116141
fix(ai): do not replace chunked response with native formats
tysoekong Mar 11, 2025
271474c
fix(llm): fix preserve mode (#11677)
fffonion Mar 12, 2025
21e7974
fix(llm): fix issue of SSE body may have extra trailing in some cases…
fffonion Mar 13, 2025
2baeaba
fix(llm): seperate user specified value from plugin conf
oowl Apr 7, 2025
835d3b8
fix(ci): add aksk to bedrock integration test
dylankyc May 27, 2025
5b48717
feat(ai): add huggingface provider support and compatibility checks
hackerchai May 27, 2025
77aa98b
fix(hybrid-mode): add nil checks for bedrock config options
hackerchai May 27, 2025
36db980
chore(ci): enable dockerhub organization access token (OAT) (#14572)
Water-Melon May 29, 2025
475a90d
docs(changelog): reword changelog entries based on the review comment…
AndyZhang0707 May 30, 2025
6931250
fix(Oauth2): incorrect RFC reference in OAuth2 plugin schema (#14371)
dingjiayi May 30, 2025
746f301
Delete request.json
tysoekong May 30, 2025
f403523
fix(upgrate-tests): use system lua for luarocks
fffonion Jun 1, 2025
f13e7f8
fix(ci): use PUC-Rio Lua to invoke luarocks
fffonion Jun 1, 2025
d723623
docs(changelog): consolidate 3.9.1 changelog into CHANGELOG.md (#1459…
AndyZhang0707 Jun 5, 2025
3cd9c85
chore(scripts): update the version_bump script's commit message (#14633)
AndyZhang0707 Jun 5, 2025
be1b3ca
docs(changelog): fix 3.9.1 changelog (#14640)
AndyZhang0707 Jun 6, 2025
b7ab58b
fix(plugin): fix ai latency metric doesn't correctly calculated issue…
ProBrian Jun 16, 2025
76dc1ba
Revert "refactor(shorthand_fields): remove translate_backwards in fav…
nowNick May 9, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 2 additions & 0 deletions .bazelignore
Original file line number Diff line number Diff line change
Expand Up @@ -35,3 +35,5 @@ user.bazelrc
/servroot/
/autodoc/
/.github/

.DS_Store
17 changes: 11 additions & 6 deletions .bazelrc
Original file line number Diff line number Diff line change
Expand Up @@ -13,37 +13,42 @@ run --color=yes
common --color=yes
common --curses=auto

# TODO: remove after bump to bazel >= 8
common --enable_workspace

build --experimental_ui_max_stdouterr_bytes=10485760

build --show_progress_rate_limit=0
build --show_task_finish
build --show_timestamps
build --worker_verbose

# build --incompatible_strict_action_env
build --incompatible_strict_action_env

# make output files and directories 0755 instead of 0555
build --experimental_writable_outputs

# Enable --platforms API based cpu,compilter,crosstool_top selection
build --incompatible_enable_cc_toolchain_resolution

# Pass PATH, CC, CXX variables from the environment.
build --action_env=CC --host_action_env=CC
build --action_env=CXX --host_action_env=CXX
build --action_env=PATH --host_action_env=PATH

build --action_env=BAZEL_BUILD=1

# temporary fix for https://github.com/bazelbuild/bazel/issues/12905 on macOS
build --features=-debug_prefix_map_pwd_is_dot

# Build flags.
build --action_env=BUILD_NAME=kong-dev
build --action_env=INSTALL_DESTDIR=MANAGED
build --strip=never

# Release flags
build:release --//:debug=false
build:release --//:licensing=true
build:release --action_env=BUILD_NAME=kong-dev
build:release --action_env=INSTALL_DESTDIR=/usr/local
build:release --compilation_mode=opt
build:release --copt="-g"
build:release --strip=never

build --spawn_strategy=local

2 changes: 1 addition & 1 deletion .bazelversion
Original file line number Diff line number Diff line change
@@ -1 +1 @@
5.3.2
7.3.1
5 changes: 4 additions & 1 deletion .busted
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
return {
default = {
lpath = "./?.lua;./?/init.lua;"
lpath = "./?.lua;./?/init.lua;",
-- make setup() and teardown() behave like their lazy_ variants
lazy = true,
helper = "./spec/busted-ci-helper.lua",
}
}
43 changes: 43 additions & 0 deletions .ci/ast-grep/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
# ast-grep

`ast-grep` is a tool for querying source code in a (relatively)
language-agnostic manner. It allows us to write lint rules that target patterns
that are specific to our codebase and therefore not covered by tools like
`luacheck`.

## Installing ast-grep

See the [installation docs](https://ast-grep.github.io/guide/quick-start.html#installation)
for guidance.


## Crafting a New Lint Rule

The workflow for writing a new lint rule looks like this:

1. Draft your rule at `.ci/ast-grep/rules/${name}.yml`
* Use `ast-grep scan --filter ${name} [paths...]` to evaluate your rule's behavior
2. Write tests for the rule in `.ci/ast-grep/tests/${name}-test.yml`
* Make sure to fill out several `valid` and `invalid` code snippets
* Use `ast-grep test --interactive`* to test the rule
3. `git add .gi/ast-grep && git commit ...`

\* `ast-grep test` uses a file snapshot testing pattern. Almost any time a rule
or test is created/modified, the snapshots must be updated. The `--interactive`
flag for `ast-grep test` will prompt you to accept these updates. The snapshots
provide very granular testing for rule behavior, but for many cases where we
just care about whether or not a rule matches a certain snippet of code, they
can be overkill. Use `ast-grep --update-all` to automatically accept and save
new snapshots.

## CI

`ast-grep` is executed in the ([ast-grep lint
workflow](/.github/workflows/ast-grep.yml)). In addition to running the linter,
this workflow also performs self-tests and ensures that all existing rules are
well-formed and have tests associated with them.

### Links

* [ast-grep website and documentation](https://ast-grep.github.io)
* [ast-grep source code](https://github.com/ast-grep/ast-grep)
Empty file added .ci/ast-grep/common/.gitkeep
Empty file.
Empty file added .ci/ast-grep/rules/.gitkeep
Empty file.
36 changes: 36 additions & 0 deletions .ci/ast-grep/rules/assert-eventually-terminated.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
id: assert-eventually-terminated
language: lua
message: Unterminated eventual assertion
severity: error
note: |
`assert.eventually()` does not perform any assertion unless followed
by one of its terminator methods:
* `is_truthy(message)`
* `is_falsy(message)`
* `has_error(message)`
* `has_no_error(message)`

files:
- '**/*_spec.lua'

rule:
all:
- kind: function_call
pattern: $$$.eventually($$$)

- has:
kind: dot_index_expression
any:
- pattern: assert.$$$
- pattern: luassert.$$$
stopBy: end

- not:
inside:
kind: function_call
any:
- pattern: $$$.is_truthy($$$)
- pattern: $$$.is_falsy($$$)
- pattern: $$$.has_error($$$)
- pattern: $$$.has_no_error($$$)
stopBy: end
126 changes: 126 additions & 0 deletions .ci/ast-grep/rules/helpers-outside-of-setup.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,126 @@
id: helpers-outside-of-setup
language: lua
message: Calling test setup helper function in the wrong scope
severity: warning
note: |
Avoid calling test setup functions outside of `setup()`/`lazy_setup()`.

## good
```lua
describe("my test", function()
local port_a
local port_b

lazy_setup(function()
port_a = helpers.get_available_port()
end)

it("my test case", function()
port_b = helpers.get_available_port()
end)
end)

## bad
```lua
local port_a = helpers.get_available_port()
describe("my test", function()
local port_b = helpers.get_available_port()

it("my test case", function()
end)
end)


files:
- '**/*_spec.lua'

utils:
function-scope:
any:
- kind: function_call
- kind: function_declaration
- kind: function_definition

module-scope:
not:
inside:
matches: function-scope
stopBy: end

busted-test-case:
inside:
kind: function_call
any:
- pattern: it($$$)
- pattern: pending($$$)

# aliases for it/pending seen in test files
- pattern: do_it($$$)
- pattern: postgres_only($$$)

busted-lifecycle:
inside:
kind: function_call
any:
- pattern: setup($$$)
- pattern: lazy_setup($$$)
- pattern: teardown($$$)
- pattern: lazy_teardown($$$)
- pattern: before_each($$$)
- pattern: after_each($$$)

in-upgrade-helper-setup:
pattern: $IDENT.setup($$$)
inside:
kind: chunk
stopBy: end
has:
any:
- pattern: $IDENT = require "spec.upgrade_helpers"
- pattern: $IDENT = require("spec.upgrade_helpers")
stopBy: end

in-function-scope:
any:
# local function my_setup()
# helpers.get_available_port()
# end
- kind: function_declaration

# local my_setup = function()
# helpers.get_available_port()
# end
- pattern: $IDENT = function($$$) $$$ end

busted-describe:
inside:
kind: function_call
pattern: describe($$$)
stopBy:
any:
- matches: busted-test-case
- matches: busted-lifecycle
- matches: in-function-scope
- matches: in-upgrade-helper-setup

non-setup-scope:
any:
- matches: module-scope
- matches: busted-describe

rule:
kind: function_call
pattern: helpers.$FUNC($$$)
matches: non-setup-scope

constraints:
FUNC:
kind: identifier
any:
- pattern: admin_client
- pattern: generate_keys
- pattern: get_available_port
- pattern: get_db_utils
- pattern: setenv
- pattern: start_kong
- pattern: tcp_server
65 changes: 65 additions & 0 deletions .ci/ast-grep/rules/ngx-log-string-concat.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
id: ngx-log-string-concat
language: lua
message: Using string concatenation to build arguments for ngx.log()
severity: error
note: |
When invoking `ngx.log()` with some variable as input, prefer vararg-style
calls rather than using the string concatenation operator (`..`):

## bad
```lua
ngx.log(ngx.DEBUG, "if `my_var` is nil, this code throws an exception: " .. my_var)
```

## good
```lua
ngx.log(ngx.DEBUG, "if `my_var` is nil, this code is fine: ", my_var)
```

files:
- kong/**
- test*.lua

rule:
all:
- matches: string-concat
inside:
kind: arguments
inside:
matches: ngx-log-call
- not:
matches: string-literal-concat

utils:
ngx-log-call:
any:
# direct invocation of `_G.ngx.log()`
- pattern: ngx.log($_LEVEL, $$$)

# track local var assignments of `_G.ngx.log`
- pattern: $IDENT($_LEVEL, $$$)
inside:
kind: chunk
stopBy: end
has:
pattern: $IDENT = ngx.log
stopBy: end

string-concat:
kind: binary_expression
pattern: $LHS .. $RHS

string-literal-concat:
kind: binary_expression
all:
- has:
nthChild: 1
any:
- kind: string
- matches: string-literal-concat

- has:
nthChild: 2
any:
- kind: string
- matches: string-literal-concat
Empty file added .ci/ast-grep/tests/.gitkeep
Empty file.
Loading