v1.9.1: fix world map rendering and resolve eight small TODO items

World map:
- Fix zero-padded ISO numeric ids leaving 31 countries unrendered
  (Brazil, Australia, Belgium, Austria, Algeria and more)
- Fix Russia and Fiji smearing across the full map width at the antimeridian
  by unwrapping ring longitudes and drawing them at both edges
- Crop to 84N-60S, add evenodd fill rule, 174 countries rendered

Improvements:
- Logger::tail() reads backwards in chunks instead of loading the whole file
- External links get rel=noopener noreferrer in footer and Markdown content
- formatDisplayName() cleaned up and guarded against empty input
- Export statistics as CSV (Excel BOM) or JSON
- GeoIP database auto-updates when older than 35 days
- Editor shortcuts Ctrl/Cmd+S to save and Ctrl/Cmd+N for a new page
- Live search filter in the admin content browser
- Content versioning with timestamped .bak copies in content/-backups/

Also removes eight stale TODO entries that were already implemented
This commit is contained in:
2026-07-29 15:53:35 +02:00
parent 5357bc8915
commit 0fe5c75eae
12 changed files with 772 additions and 281 deletions
+17 -1
View File
@@ -6,12 +6,28 @@
*/
return [
'version' => '1.9.0',
'version' => '1.9.1',
'release_date' => '2026-07-29',
'codename' => 'Atlas',
'status' => 'stable',
'changelog' => [
'1.9.1' => [
'date' => '2026-07-29',
'changes' => [
'Fix world map: zero-padded ISO numeric ids left 31 countries unrendered (Brazil, Australia, Belgium, Austria, Algeria and more)',
'Fix world map: Russia and Fiji smeared across the full map width at the antimeridian; rings are now unwrapped and drawn at both edges',
'World map cropped to 84N-60S with evenodd fill rule, 174 countries',
'Logger::tail() reads the log backwards in chunks instead of loading the whole file',
'External links get rel="noopener noreferrer" in the footer and in Markdown content',
'formatDisplayName() cleaned up and guarded against empty input',
'Export statistics as CSV (Excel-compatible BOM) or JSON',
'GeoIP database auto-updates when older than 35 days',
'Editor shortcuts: Ctrl/Cmd+S to save, Ctrl/Cmd+N for a new page',
'Live search filter in the admin content browser',
'Content versioning: timestamped .bak copies in content/-backups/, 5 versions per file',
]
],
'1.9.0' => [
'date' => '2026-07-29',
'changes' => [