octobercms/october · warning · ApplicationException
system::lang.server.response_empty
system::lang.server.response_empty
Error message
Empty response from the server.
What it means
ManagesModules::requestChangelog() fetches https://octobercms.com/changelog?json={version} to power the backend 'what's new' panel. A 404 status there throws — but note it reuses the 'Empty response from the server' (response_empty) key instead of response_not_found, an upstream quirk: the message says 'empty' while the real condition is 'not found'. So if you see this exact message, check for a 404 from the changelog endpoint, not necessarily an empty body.
Source
Thrown at modules/system/classes/updatemanager/ManagesModules.php:178
}
$build = $this->getBuildFromVersion($version);
$this->setBuild((int) $build);
return $build;
}
/**
* requestChangelog returns the latest changelog information.
*/
public function requestChangelog()
{
$result = Http::get('https://octobercms.com/changelog?json='.SystemHelper::VERSION);
$contents = $result->body();
if ($result->status() === 404) {
throw new ApplicationException(Lang::get('system::lang.server.response_empty'));
}
if ($result->status() !== 200) {
throw new ApplicationException(
strlen($contents)
? $contents
: Lang::get('system::lang.server.response_empty')
);
}
try {
$resultData = json_decode($contents, true);
}
catch (Exception $ex) {
throw new ApplicationException(Lang::get('system::lang.server.response_invalid'));
}
return $resultData;View on GitHub (pinned to b608633a7e)
Solutions
- Open https://octobercms.com/changelog?json=YOUR-VERSION in a browser to see the raw status
- Update the CMS to a current build whose changelog client matches the live endpoint
- If a proxy/firewall rewrites the request, allow octobercms.com for the server
- Treat it as non-blocking: core updates still work; the changelog panel just can't render
Defensive patterns
Strategy: try-catch
Try / catch
try {
$changelog = \System\Classes\UpdateManager::instance()->requestChangelog();
} catch (\October\Rain\Exception\ApplicationException $ex) {
// changelog is informational — never let it break the Updates page
$changelog = [];
Log::info('Changelog unavailable: ' . $ex->getMessage());
} Prevention
- Treat the changelog panel as optional: always catch and degrade
- Remember this branch's message says 'Empty response' but means HTTP 404
- Keep the CMS updated so the changelog URL matches the live endpoint
When it happens
Trigger: Opening the Updates area / changelog view when octobercms.com returns 404 for the changelog URL: site moved the endpoint, the ?json=VERSION parameter routes to a missing page for that build, or an intercepting proxy returns 404.
Common situations: Endpoint changes on octobercms.com after upgrading an old install; custom BLOCKED_URL/proxy setups answering 404; local hosts-file overrides; the changelog feature being non-critical so failures surprise admins during routine update checks.
Related errors
- system::lang.server.response_not_found
- system::lang.server.response_empty
- system::lang.server.response_invalid
- system::lang.server.response_invalid
- The combiner file ':name' is not found.
AI-assisted analysis of octobercms/october@b608633a7e (2026-08-21).
Data as JSON: /api/errors/f9614b5970066ca7.
Report an issue: GitHub.