Skip to content

docs(upgrade): say that four api.v2.* keys were renamed in 15.8 - #506

Open
marevol wants to merge 1 commit into
masterfrom
docs/upgrade-api-key-rename
Open

docs(upgrade): say that four api.v2.* keys were renamed in 15.8#506
marevol wants to merge 1 commit into
masterfrom
docs/upgrade-api-key-rename

Conversation

@marevol

@marevol marevol commented Aug 21, 2026

Copy link
Copy Markdown
Contributor

What

Adds a subsection to the 15.8 migration guide (all seven languages) covering four
configuration keys that were renamed in codelibs/fess#3280.

Why

The keys lost their api.v2. prefix and no backward-compatible alias was kept. A
setting left under its old name is ignored without any warning, and the shipped default
takes effect instead - so this reaches an existing deployment silently on upgrade.

Up to 15.7 15.8 Default
api.v2.chat.stream.keepalive.interval.ms api.chat.stream.keepalive.interval.ms 15000
api.v2.param.max.length api.param.max.length 1000
api.v2.param.max.array.size api.param.max.array.size 100
api.v2.click.max.rt api.click.max.timestamp 9999999999999

Verified against 15.8.0 rather than taken from the commit message:

  • the four new names are the only api.* keys in fess_config.properties that changed;
    no api.v2.* key remains in it
  • grep over src/main finds no code path reading an old name, so there is no alias
  • api.chat.stream.keepalive.interval.ms is read by ChatStreamHandler, which is why the
    section calls out AI search mode as where a lost setting becomes visible
  • api.click.max.timestamp is read by ClickHandler to bound the rt field of a click
    log - a timestamp, not a response time, which is what the rename corrects

Values, defaults and behaviour are otherwise unchanged, and only an explicit setting is
affected, so the section says that too rather than sending everyone to check.

Placement

Immediately before the "plugin versions" subsection, which is the last entry of the 15.8
migration section in each language - the same slot #503 used for the LDAP note.

Verification

.rst structure checked with docutils for all seven files (no structural warnings; the
list-table renders with its five rows in each). A full Sphinx build was not usable as a
gate here: conf/conf.py:228 fails under the Sphinx version in this environment
(ConfigError: truncated \uXXXX escape), which is pre-existing and unrelated - this PR
touches only .rst files.

Four /api/v2 configuration keys lost their api.v2. prefix in 15.8 and no
backward-compatible alias was kept, so a setting left under its old name is
ignored without a warning and the shipped default takes effect instead. That
reaches an existing deployment on upgrade and was not written down.

  api.v2.chat.stream.keepalive.interval.ms -> api.chat.stream.keepalive.interval.ms
  api.v2.param.max.length                  -> api.param.max.length
  api.v2.param.max.array.size              -> api.param.max.array.size
  api.v2.click.max.rt                      -> api.click.max.timestamp

The first is the one most likely to have been tuned: it sets how often a
keep-alive frame is sent while POST /api/v2/chat/stream waits for the model, so
a lost setting shows up in AI search mode. The last also changed name for
accuracy - it bounds a click log's rt value, which is a timestamp rather than a
response time. Values, defaults and behaviour are otherwise unchanged, and only
an explicit setting is affected.

Added to the 15.8 migration section in all seven languages.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant