<feed xmlns='http://www.w3.org/2005/Atom'>
<title>emacs-wttrin, branch main</title>
<subtitle>Emacs frontend for Igor Chubin's wttr.in weather service
</subtitle>
<id>https://git.cjennings.net/emacs-wttrin/atom?h=main</id>
<link rel='self' href='https://git.cjennings.net/emacs-wttrin/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/emacs-wttrin/'/>
<updated>2026-04-20T13:36:28+00:00</updated>
<entry>
<title>restructure: move docs/ to .ai/ + sync latest template</title>
<updated>2026-04-20T13:36:28+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-04-20T13:36:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/emacs-wttrin/commit/?id=603f70d78f771c0a14c7f312aee6da68060b5d8b'/>
<id>urn:sha1:603f70d78f771c0a14c7f312aee6da68060b5d8b</id>
<content type='text'>
Per claude-templates c36fd14. Claude tooling moves to hidden .ai/;
project-level docs/ reserved for real documentation.
</content>
</entry>
<entry>
<title>add TESTING.org test suite reference</title>
<updated>2026-04-05T02:01:32+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-04-05T02:01:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/emacs-wttrin/commit/?id=ade62aa1af12facf076982dd5b5bbad88f1d68f7'/>
<id>urn:sha1:ade62aa1af12facf076982dd5b5bbad88f1d68f7</id>
<content type='text'>
Quick-start commands, full Makefile target table, writing guide
with file template and naming conventions, testutil-wttrin.el API
docs, key patterns, and test inventory.
</content>
</entry>
<entry>
<title>bump version to 0.3.1</title>
<updated>2026-04-04T21:46:06+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-04-04T21:46:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/emacs-wttrin/commit/?id=a0f1b4f07c98ab3d4d4b50a330822d0991b733a7'/>
<id>urn:sha1:a0f1b4f07c98ab3d4d4b50a330822d0991b733a7</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix: weather ASCII art wraps when window is narrow</title>
<updated>2026-04-04T21:41:02+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-04-04T21:41:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/emacs-wttrin/commit/?id=797fa7a6f51211b1218a2c08ce57dbbab835610c'/>
<id>urn:sha1:797fa7a6f51211b1218a2c08ce57dbbab835610c</id>
<content type='text'>
Enable truncate-lines in wttrin-mode so the fixed-width weather art
clips at the window edge instead of wrapping and breaking the layout.
</content>
</entry>
<entry>
<title>fix: weather buffer shows location in lowercase</title>
<updated>2026-04-04T21:37:11+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-04-04T21:37:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/emacs-wttrin/commit/?id=5463f104165185501be9cd6f7458d1b0cad856de'/>
<id>urn:sha1:5463f104165185501be9cd6f7458d1b0cad856de</id>
<content type='text'>
wttr.in returns "Weather report: new orleans, la" regardless of
query casing. Replace the lowercase location on the header line
with the user's original string after rendering.
</content>
</entry>
<entry>
<title>feat: specific error messages for fetch failures</title>
<updated>2026-04-04T21:32:16+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-04-04T21:32:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/emacs-wttrin/commit/?id=73c81a00a10766900318d86640249d1b54c6b351'/>
<id>urn:sha1:73c81a00a10766900318d86640249d1b54c6b351</id>
<content type='text'>
Add HTTP status code checking (wttrin--extract-http-status) and pass
error descriptions through the callback chain so users see "Location
not found (HTTP 404)" or "Network error — check your connection"
instead of the generic "Perhaps the location was misspelled?" for
every failure.

Also fix pre-existing bug where the condition-case error handler in
extract-response-body killed an unrelated buffer after unwind-protect
already cleaned up.

330 tests (was 307), all passing.
</content>
</entry>
<entry>
<title>bump version to 0.3.0</title>
<updated>2026-04-04T19:17:23+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-04-04T19:17:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/emacs-wttrin/commit/?id=a77a7b86f45ae96ff1802ea6f8b87dafd46b17b0'/>
<id>urn:sha1:a77a7b86f45ae96ff1802ea6f8b87dafd46b17b0</id>
<content type='text'>
Dynamic mode-line tooltip, staleness dimming, location casing fix,
debug guard refactor, expanded test suite (307 tests), and multiple
bug fixes since 0.2.3.
</content>
</entry>
<entry>
<title>fix: clean byte-compilation warnings</title>
<updated>2026-04-04T19:14:39+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-04-04T19:14:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/emacs-wttrin/commit/?id=88a66244fd613662ee7d5d3a0ad4394cfafdb521'/>
<id>urn:sha1:88a66244fd613662ee7d5d3a0ad4394cfafdb521</id>
<content type='text'>
Move define-obsolete-variable-alias before its referent defcustom to
fix "alias should be declared before its referent" warning. Add
defvar for wttrin--force-refresh in wttrin-debug.el so the
byte-compiler knows the dynamic variable is intentional.
</content>
</entry>
<entry>
<title>doc: note wttr.in update frequency in refresh interval docstrings</title>
<updated>2026-04-04T19:07:29+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-04-04T19:07:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/emacs-wttrin/commit/?id=583ba34888e1c82da1f2bffbc913477c2e6a6df6'/>
<id>urn:sha1:583ba34888e1c82da1f2bffbc913477c2e6a6df6</id>
<content type='text'>
wttr.in updates its data roughly every 10 minutes (max-age=600).
Add a note to both refresh interval defcustoms so users know not
to poll more aggressively than the service can provide.
</content>
</entry>
<entry>
<title>doc: tighten README prose, remove AI writing patterns</title>
<updated>2026-04-04T18:51:16+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-04-04T18:51:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/emacs-wttrin/commit/?id=faddcefa98c41356d8fd66d561f1e45453b19d05'/>
<id>urn:sha1:faddcefa98c41356d8fd66d561f1e45453b19d05</id>
<content type='text'>
Rewrite sections that read like generated text: replace clinical
descriptions with conversational language matching the existing
voice, cut padding phrases ("proactively", "several aspects",
"what's happening"), and trim the debug section down to essentials.
</content>
</entry>
</feed>
