github ashuttl/linecast v2.11.0

3 hours ago

Much of this release is about what linecast does when things go wrong. When the network is slow or stops answering, or a service is down, linecast gives up sooner and says what it couldn't load, instead of showing an empty view or a misleading message. A view that failed to load tries again by itself, and when a server refuses a request, maps and radar wait before asking again instead of asking on every mouse movement.

The Sun and the Moon are now computed the same way in every view. Sunrise and sunset agree across weather, tides, maps, and sunshine, and the moon and sky views agree on when the Moon is up.

Changes you may notice:

  • Sunshine: Sunrise, sunset, and the Sun's height are more accurate, so times may differ by a minute or two from the last version.
  • Moon and sky: The Moon, stars, and planets count as up from the moment they rise, and both views give the Moon the same altitude. In sky --json the Sun is up from sunrise.
  • Moon: South of the equator, the Harvest Moon is the full moon nearest the March equinox, which begins autumn there, and the Hunter's Moon is the one after it. The other traditional names, such as the Snow Moon and the Strawberry Moon, follow North American seasons and are no longer given there.
  • Weather: The month view's temperature colors are easier to tell apart, and its departure legend says the numbers are measured from the average. The departure view gives each day's average departure at the right, in blue or red, instead of its low and high. Press m to switch between temperatures and departures; c still works. Reported by @nkh in #141.
  • Weather: The dashboard's "above avg" and "below avg", and the averages in --json, are taken over the two weeks around the date, as the year and month views take theirs, so the three agree and the average no longer jumps by a few degrees from one day to the next. On 29 February, the average draws on all ten years instead of the two or three leap days.
  • Weather: --oneline gives the humidity or the dew point, by name, only when the dashboard's header does: when the air is very damp, very dry, or muggy. It no longer always ends in "💧32%", which read as a chance of rain.
  • Location: Every view names a saved location by the name it was saved under, when linecast is in the language it was saved in.
  • Location: The location menu's search lists towns and cities before the businesses and landmarks in them, so "New York City" starts with New York.
  • Location: linecast location Kyoto sets the location, as linecast location set Kyoto does, and a name of several words needs no quotes.
  • Command line: A search that finds nothing, with linecast location search, --search, or tides --search, says so on stderr and exits with status 1, as --location and --station do. --json with --oneline is an error instead of printing the JSON alone, and a mistyped command such as linecast wether suggests the nearest one.
  • Help: --emoji and --month-temperature are no longer listed, since --icons emoji and --month do the same. Both still work. Radar's --help explains --layer, --layers, and --theme more clearly, and linecast calendar names every language that brings its own calendar, including Arabic and Hebrew.
  • Doctor: A saved setting that linecast can't read, such as "units": "metrik", is marked "(ignored)" on the settings line. A service that is limiting requests or failing is no longer reported as ok.
  • Completions: Shell completion treats a short name such as sunshine as linecast's only when linecast link created it or an alias points it at linecast, so another program with the same name keeps its own completions. Reported by @jmote in #20.

Fixes:

  • Offline and slow networks: When the network stops answering, moon, sunshine, and sky open sooner, the live map opens at once, and tides, radar, and maps give up sooner.
  • Offline and slow networks: Radar says it is unavailable instead of showing an empty map with "0% echo", which read as clear skies. Tides says it couldn't load the tides, in your language, instead of saying there is no station nearby, and weather says the forecast couldn't be fetched as soon as it knows. tides --print with --month, --year, or --makeup exits with an error instead of printing an empty view.
  • Offline and slow networks: Tides' month and year views try again after a failed download instead of staying empty until linecast is restarted, and the globe fills in clouds it couldn't download shortly afterwards. When a tile server refuses or the network is down, maps and radar's temperature and wind layers wait a moment before asking again.
  • Offline and slow networks: Predictions for Canadian and Queensland stations still show offline the day after they were fetched, and NOAA predictions saved from an earlier run show at once instead of after a wait for each month.
  • Clock changes: Tides' day chart and month view no longer jump at the hour the clocks change, and the day chart shows the repeated hour twice in autumn. Canadian stations' month views no longer run an hour ahead in spring.
  • Clock changes: Sunshine's day view and --oneline are no longer an hour off between midnight and 2 a.m. on the night the clocks change. On Windows, moon and sky times for a date past a clock change use that date's offset instead of today's.
  • Midnight sun and polar night: Weather's chart no longer shows a sunrise or sunset at midnight, or darkens under the midnight sun, and the month views of weather and tides no longer show a midnight sunrise. weather --json gives those days no sunrise or sunset, as sunshine --json does.
  • Weather: Changing the precipitation units no longer shows the last forecast's millimeters as inches, or its inches as millimeters.
  • Tides: Stations from TICON-4 show night shading, and at every station the shading begins and ends at sunset and sunrise, where it could be up to half an hour off. At stations measured from mean sea level, such as the global tide model's, the month view no longer highlights every low as a minus tide.
  • Tides: --station accepts the Canadian Hydrographic Service's five-digit codes, such as 00490 for Halifax, and NOAA IDs that begin with letters, such as TEC1603 for Troy, New York. --search finds any NOAA station by its ID, and --station takes a name as --nearby lists it, such as "PORTLAND, ME".
  • Tides: With a TideCheck key, each station uses one request a day of your allowance, whichever views you open, instead of up to four. Queensland's year view loads much faster.
  • Radar: The newest NEXRAD frame no longer stays empty when the Iowa Environmental Mesonet is late to publish it. While a frame loads, the frame nearest it in time stands in.
  • Radar: Dragging the map across the edge of the lower 48 no longer freezes the view, or leaves it blank on the way back when a radar source has stopped sending tiles.
  • Radar: For a location set somewhere else, such as --location Tokyo, frame times and warning expiries are in that place's time, as sky and sunshine show it, instead of your computer's.
  • Maps: Fixed a crash when the map zooms far out while moving only a short way, such as pressing n near home at street zoom after starting on the globe. The live map reaches places beyond 80 degrees of latitude, such as Alert, Nunavut.
  • Maps: Panning east across the 180th meridian keeps the map on screen, and flicking the map several times in a row loads one view at a time, so the motion stays smooth. The globe's clouds are cleared from the cache after a day, even if radar is never opened.
  • Moon: In a small month grid, each new, quarter, and full moon shows its phase on the day it falls.
  • Sky: --at with something below the horizon says when it rises, instead of framing an empty sky: in the live view's search panel, where you can press Enter to go to that moment, or on its own line with --print. A misspelled name gets a suggestion.
  • Sunshine: In a narrow window, the line under the arc leaves out the change in day length, then the day length, instead of running past the edge and cutting off the sunset. Below 30 columns, the view fits the window.
  • Location: Place names ending in "UK" or "USA", such as --location "London, UK", are found, and so are names typed without commas, such as "portland maine" or "Kyoto Japan". "Portland ME" is Portland, Maine, not a park in Oregon.
  • Location: A misspelled name, or the name of a café, is looked up as the location menu looks it up instead of finding nothing. Coordinates off the planet, such as 100,200, are refused with the ranges latitude and longitude run in. A damaged location cache no longer stops every command with an error.
  • Language: The Romanian forecast in words says "101 grade" rather than "101 de grade", as Romanian counts 101 to 119 like 1 to 19. In Icelandic, sunshine's day counts take the singular after 21, 31, and every other number ending in 1 but 11, as in "eftir 21 dag".
  • Live views: Resizing the window resizes the view even with COLUMNS and LINES exported in the shell. A view left open does far less work while it waits.
  • Live views: Quitting with Ctrl-C while a frame is drawing no longer leaves some terminals frozen for a moment, and quitting as a download finishes no longer prints an error afterwards. The help panel in weather and tides starts the location menu's rows in lower case, like the rest.
  • Print: A command run in the background, such as linecast moon --oneline &, no longer stops with "Stopped (tty output)". Output is UTF-8 even where the locale asks for another encoding, instead of ending in an error.

Don't miss a new linecast release

NewReleases is sending notifications on new releases.