Skip to content

v1.7.4

Choose a tag to compare

@github-actions github-actions released this 21 Jul 04:37
943db1d

The 1.7 line — "Reach + Pro." Getting knowledge around: peer-to-peer and LAN ZIM sharing, BitTorrent with mirror nodes that carry a whole catalogue through an internet blackout, accessibility, and UX that holds up at 1000+ ZIMs — while the almanac quietly grew up. This release caps that arc.

Closes the two live issues the post-1.7.3 audit surfaced, and grows the almanac up: an accurate Chinese calendar, a real high-res moon, and a solar system you can travel out to.

🔒 Security

  • /dl/ no longer serves whole ZIMs to the public internet on host-networked deploys behind a containerized reverse proxy. Honors Cloudflare's un-forgeable CF-Connecting-IP, trusts a forwarded client only from a private proxy hop (optional ZIMI_TRUSTED_PROXIES allowlist), and refuses forwarded values claiming loopback.

🌘 Almanac

  • Accurate Chinese calendar — real astronomical new moons + solar-term leap months; verified against the HK Observatory (New Year dates + leap months 2014–2033). Browsable calendar system with the 闰 leap marker and correct zodiac.
  • Holidays on every calendar — worldwide/regional/astronomical events (international days, Easter cycle, solstices, meteor showers, Hindu/Sikh) project onto Hebrew/Islamic/Chinese/… grids by absolute date instead of vanishing off Gregorian.
  • Real high-res moon — reprojected from NASA's seamless lunar albedo map (genuine crater detail, subtle true colour); the animated sky moon shares the hero's shading, earthshine dark side and all.
  • Travel the solar system — Voyager 1/2, Pioneer 10/11 and New Horizons plotted at their real bearings past Neptune, creeping outward as the clock runs, framed by labelled asteroid, Kuiper and heliopause markers.
  • Easier location — the world map cycles through overlapping cities on repeated clicks; search reaches 354 cities.

🐛 Fixed

  • A libzim segfault under normal use — a background thread read a shared archive with no lock; it now uses its own handle. Added a real-ZIM concurrency stress test.
  • Search could silently drop a ZIM under concurrent load (archive published before its lock).
  • LAN discovery advertised the wrong BitTorrent port when a custom port was set.
  • Malformed HTTP Range headers no longer 500 the download endpoint.
  • Clean "Zimi" almanac breadcrumb; in-place location refresh (no scroll jump/flash).

✨ Added

  • New / Updated ZIM badges — clear the moment you open the ZIM, week backstop.
  • Country holidays get their own colour on the calendar.

660 tests green. Full detail in CHANGELOG.md.

🤖 Generated with Claude Code