Keep plaintext out of refresh and group-load logs by tracking encrypted keys and replacing values with length plus a per-process salted fingerprint.
Co-authored-by: Cursor <cursoragent@cursor.com>
* feat: support encoding and decoding TSF headers without TSF Consul
Allow TSF-Tags transfer on Polaris via spring.cloud.tencent.metadata.tsf-header-compatible so putTag still works when Consul is off.
Co-authored-by: Cursor <cursoragent@cursor.com>
* chore: fill changelog PR number 1816.
Co-authored-by: Cursor <cursoragent@cursor.com>
* refactor: centralize TSF header compatible check in TsfContextUtils
Co-authored-by: Cursor <cursoragent@cursor.com>
---------
Co-authored-by: evelynwei <evelynwei@tencent.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Pass the armored key as an environment variable and pipe it to gpg so the GitHub secret can keep real newlines.
Signed-off-by: Haotian Zhang <928016560@qq.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Declare an explicit plugin version so Maven does not warn and resolve it from repository metadata.
Signed-off-by: Haotian Zhang <928016560@qq.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
* feat: config effective
Signed-off-by: evelynwei <evelynwei@tencent.com>
* feat: expose config client id in polaris config endpoint
The config SDK context is created in the config-data phase, so its
startup logs may be dropped before the polaris log appenders are ready.
Exposing the client id via the endpoint gives tooling a reliable source
instead of grepping logs (the cloud verify script had to derive it from
the first SDKContext when no stream-establishment anchor log exists).
Co-authored-by: Cursor <cursoragent@cursor.com>
---------
Signed-off-by: evelynwei <evelynwei@tencent.com>
Co-authored-by: evelynwei <evelynwei@tencent.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
* fix: split contract base-package for springdoc scan
When @SpringBootApplication(scanBasePackages = {"a","b"}) declares multiple
packages, PackageUtil.scanPackage returns them joined by a comma. The previous
code passed the whole comma-joined string as a single package name to
GroupedOpenApi.Builder#packagesToScan, so springdoc matched no controller and
both the Polaris and TSF consoles showed an empty API list (the single-value
case happened to be a valid package name and thus worked).
Split the string by SPLITTER before handing it to packagesToScan so each
declared package reaches springdoc as an independent entry. Add unit tests
covering multi-value scanBasePackages, single-value regression, and the
comma-separated spring.cloud.polaris.contract.base-package property.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Signed-off-by: Haotian Zhang <928016560@qq.com>
* docs: update CHANGELOG for PR #1807
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Signed-off-by: Haotian Zhang <928016560@qq.com>
---------
Signed-off-by: Haotian Zhang <928016560@qq.com>
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* test: add unit tests for ConfigurationModifier and fix TsfConsul report logic
- Disable report when only TsfConsul is enabled in ConfigurationModifier
- Add comprehensive unit tests for ConfigurationModifier
- Fix test issues with lenient mocking and localFile -> local datasource type
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Haotian Zhang <928016560@qq.com>
* fix: replace hardcoded IP 10.0.0.1 with 127.0.0.1 in tests
CI hardcoded IP detection rejects non-loopback IPs. Use 127.0.0.1 with
different ports to distinguish addresses in test cases.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Haotian Zhang <928016560@qq.com>
* fix: replace leading spaces with tabs to pass checkstyle
Fix 11 lines with mixed tab+space indentation that violated
the RegexpSinglelineJava checkstyle rule.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Haotian Zhang <928016560@qq.com>
* fix: correct PR number in CHANGELOG from #1801 to #1802
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Haotian Zhang <928016560@qq.com>
---------
Signed-off-by: Haotian Zhang <928016560@qq.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>