Repository navigation
Releases: joega/a-weather-app
Release list
v0.70.2
A Weather App 0.70.2
This patch fixes the Locations sidebar occasionally showing only the selected
city with blank space below after switching locations.
All saved locations remain intact. The sidebar now uses the correct scroll
boundary when keeping the selected city or its controls in view.
Regression coverage checks repeated location switches and sidebar reopening,
weather summary refreshes, compact and desktop windows, and enlarged text.
Full Changelog: v0.70.1...v0.70.2
v0.70.1
A Weather App 0.70.1
This patch makes Live desktop match the city you are viewing and simplifies
starting effects on the right monitor.
- Live desktop follows the viewed city. Switching cities updates desktop
effects to that city's weather. Its forecast continues to refresh while the
app window is hidden and effects are running. - Automatic monitor selection. Starting effects defaults to the monitor
containing the weather app window, rather than another focused window.
Moving the app before starting uses its new monitor. - Explicit monitor choice remains available. Settings lets you choose a
specific enabled monitor or select Automatic · app's monitor to restore
the default.
Home still opens at startup and remains the source for the weather bar and
background notifications. Browsing another city does not change Home.
Hyprland compatibility and effects ownership checks remain in place.
Monitor routing is covered by controlled tests; physical multi-monitor behavior
and live compositor activation were not exercised for this patch.
Full Changelog: v0.70.0...v0.70.1
v0.70.0
A Weather App 0.70.0
This feature release brings a cleaner forecast screen, a saved-location sidebar,
observed radar and richer weather details to the native Linux app.
- A calmer forecast screen. Centered current conditions, a compact icon
toolbar and restored hourly temperature/precipitation bars keep the weather
easy to scan. Dry daytime clouds have a brighter sky, and the background sun
and moon stay clear of the main text. A back-to-top button helps with longer
dashboards. - Saved locations with a Home. Home opens at startup, stays pinned first in
the sidebar, and continues to control the weather bar, desktop effects and
notifications while you browse other cities. One automatically saved list
supports inline editing, ordering, removal and adding places. Shorter city and
region names, lightweight current-condition updates and accurate alert counts
make the cards more useful. - Observed radar, ready when you need it. Radar is the first map tab and
opens paused on the newest NOAA/NWS observation. Drag to pan, zoom, recenter or
expand the map; choose Play or browse the timeline to load recent history.
Clearer background tiles and steadier image transitions improve reading and
playback. Forecast precipitation, temperature and wind remain separate tabs,
with hour markers and local timestamps on their timeline. - Clearer alerts and opt-in official warning notifications. Active alerts
use two columns when space permits, with expandable instructions. Separate
US warning notifications offer severity preferences, quiet hours, an urgent
override and a temporary delivery pause. Notification actions and recent
notices open the original warning for its original place; monitoring follows
Home even while you view another city. - More useful weather details. Select an hour, day or metric card for
keyboard-navigable charts and textual values. Sun & Moon opens on today with
sunrise, sunset, daylight and lunar information, plus optional date changes.
Daily details offer modeled rain and snow amounts. Air quality distinguishes
the US and European index categories and adds a 48-hour pollutant outlook. - Make the dashboard yours. Settings offers section and metric ordering,
visibility, density and hourly display preferences, plus 100%, 125% and 150%
text sizes and high contrast. These choices persist across restarts. - Experimental tools have their own place. Outdoor planner, Forecast changes
and Share forecast now live at the bottom of Settings under Experimental.
Sharing supports text and PNG export, readable named-month dates, day-period
summaries and an option to omit the place name. These tools remain available
for evaluation without crowding the main forecast.
Optional maps and detail panels are constructed on demand. Only the selected
map renders; offscreen or hidden views stop their map work. Radar history waits
for explicit playback or browsing, and saved-location summaries use bounded
current-condition requests rather than loading a full forecast for every city.
Repeated-use checks cover cleanup and bounded caches; this is not a battery-life
or low-end hardware certification.
Observed radar and official alerts/warnings cover the contiguous United States
and supported US locations respectively. Radar shows past observations, not
minute-by-minute rain predictions. Rain/snow and air-quality outlooks are modeled
data. Warning delivery can be delayed and is not a real-time emergency service.
The outdoor planner does not account for every hazard.
Existing saved locations migrate to the single-list format with the primary
place becoming Home. Legacy files are retained for rollback; back up the state
directory before downgrading because later edits are not mirrored into those
older files.
The app remains Go plus C++/Qt Quick/QML. Desktop effects retain the existing
Hyprland compatibility checks, and the release pipeline retains artifact
integrity, vulnerability assessment and independent reproducibility gates.
The release compiler advances to Go 1.27.2 to include the October security fixes.
Host Qt, GTK and graphics libraries remain system dependencies; native security
assessment and broader platform/accessibility coverage remain incomplete.
Full Changelog: v0.62.2...v0.70.0
v0.62.2
A Weather App 0.62.2
This release adds saved visual-quality settings and shows forecasts promptly
while official US alerts load independently.
- Settings now offers Auto, Full, Economical and Static window visuals. Auto
preserves Full on supported hardware graphics and uses Static on software
graphics, including llvmpipe and Qt raster. An unsupported or failed shader
pipeline stays Static even when Full is selected. Reduced motion remains
separate and takes priority. - Economical updates the sky at 10 FPS and uses fewer wind trails at 10 updates
per second. Full keeps the existing appearance and wind drawing. Existing
hidden, minimized and offscreen animation pauses remain in place. - Validated forecasts appear as soon as available while US alerts continue
loading. Pending, unavailable and stale cached alert states are labeled
honestly. Cached alerts remain location-bound, and canceled or superseded
requests cannot apply alerts to a different location. - In local private fixtures, forecasts published in 56–58 ms with 1.5-second or
ten-second alert delays. This measures service publication, not UI display
latency. Economical wind reduced isolated CPU use by about 47% on the
development laptop through lower cadence and trail density.
Go/Qt regression tests and rendered clear, rain, snow and thunderstorm checks
passed, including DPR 1/2 and software fallback. Older hardware compatibility,
whole-app battery savings and other operating systems have not been measured.
Startup, graphics-resource release and drawing-batching prototypes were not
retained because their measurements did not justify the changes.
The release pipeline retains vulnerability assessments, artifact integrity
checks and independent reproducibility checks. Qt, GTK and graphics libraries
are supplied by the host system; native assessment coverage remains incomplete.
Full Changelog: v0.62.1...v0.62.2
v0.62.1
A Weather App 0.62.1
The forecast window now has gently moving clouds behind its content, and the
wind map uses short, soft blue-gray trails instead of prominent arrows and
speed-label boxes.
- Clear and partly cloudy skies retain restrained cloud cover, with visible
drift even in calm or north/south winds. Overcast skies retain their
weather-dependent appearance, and forecast text stays readable. - The in-app sky works independently of Live desktop activation. Unsupported
shader renderers receive a static weather-aware background. - Wind trails follow smoothly interpolated forecast vectors. Point inspection
shows speed and direction using the saved unit preferences, and map labels
distinguish sampled forecast resolution from visual interpolation. - Cloud-only backgrounds update at 20 FPS; rain, snow and enabled lightning
retain 30 FPS. Cloud motion speed stays consistent when the rate changes.
The wind map uses a bounded trail budget at about 15 updates per second. - Animations pause when hidden or minimized, and wind trails pause outside the
map viewport. Reduced motion provides a useful static presentation. Location
and forecast-hour changes discard stale trail data. - Existing offline geographic tile caching and desktop behavior are preserved.
Native rendering was reviewed at desktop and narrow window sizes on the
development laptop. A controlled cloud-only comparison measured approximately
32–33% less GPU graphics-engine time at 20 FPS than at 30 FPS on that machine;
whole-app battery savings and other hardware have not been measured.
The release pipeline retains vulnerability assessments and independent
reproducibility checks. Qt, GTK and graphics libraries are supplied by the host
system; native vulnerability assessment coverage remains incomplete.
Full Changelog: v0.62.0...v0.62.1
v0.62.0
A Weather App 0.62.0
This release improves forecast alignment, spacing and readability, adds a compact
saved units dropdown, and fixes geographic map backgrounds disappearing during
forecast refreshes.
- Hourly forecast items share a centered column, with comfortable hover padding
and no vertical dividers between hours. - Current conditions use balanced, centered metric blocks, with more room for
the sunrise and sunset timeline. - Daily forecasts, detail panels and narrow layouts have improved spacing and
contrast. Long location names wrap without colliding with the toolbar. - A compact units dropdown replaces the Auto / Fahrenheit / Celsius buttons.
Auto shows the resolved unit; manual choices are saved and stay synchronized
with Settings. Refresh sits immediately to the left of the dropdown. - Settings dropdowns, the active section indicator and the reserved scrollbar
gutter make navigation clearer and reduce layout shifts. - Air quality freshness and offline labels are easier to distinguish, and empty
forecasts provide clearer guidance. - Map wind labels are easier to read, and precipitation legends distinguish dry
hours from small modeled amounts. - Geographic tiles reload reliably after map-data resets and use the same tile
geometry as the renderer. Cached backgrounds render after offline reopening;
missing cached tiles show an unavailable message without making network
requests. Canceled cached replies no longer read closed devices.
The release pipeline retains Go vulnerability checks, native assessment evidence
and independent reproducibility checks. Native assessment has incomplete
coverage; Qt, GTK and graphics libraries are supplied by the host system.
Full Changelog: v0.61.2...v0.62.0
v0.61.2
A Weather App 0.61.2
The successful-update message now appears once per installed version, below the
top buttons, and disappears automatically after five seconds. Reopening the
window or restarting the app no longer brings it back. No dismissal is needed.
Update availability, installation progress and failure notices retain their
existing controls. Saved weather settings and desktop behavior are preserved.
Full Changelog: v0.61.1...v0.61.2
v0.61.1
A Weather App 0.61.1
This update fixes map freshness notifications and makes the successful-update
notice smaller and dismissible. It also reduces work when delivering weather
snapshots and reuses bounded provider connections.
- Map tiles reject expanding or unsupported PNG metadata before Qt decodes it.
- Open maps receive stale and expired status changes without requiring new tiles.
- The main screen shows “Updated to 0.61.1.” with a Close button after an update.
- Provider connection reuse and snapshot encoding reduce repeated allocations
and processing while preserving cancellation and concurrent request handling. - Release builds retain phase timings, full bounded logs and vulnerability
assessment evidence, and still require independent byte-identical builds.
The release targets the current tested Omarchy environment. Compatibility with
installations up to 90 days behind is a future validation target, not a promise
for this release. Desktop effects keep their separate Hyprland compatibility
checks.
Native security assessment has incomplete coverage. Qt, GTK and graphics
libraries come from the user's system; release evidence does not scan every
installed library. OpenSSL September 29 advisory applicability/backports and
libjpeg-turbo CVE-2026-75466 applicability remain unresolved and are retained as
warnings. Confirmed affected Arch versions and assessment failures block the
release; unknown coverage is not presented as a clean security result. Go source
and executable vulnerability checks remain mandatory.
Full Changelog: v0.61.0...v0.61.1
v0.61.0
Go maintenance and reliability
- Manual update checks now report failures when a result cannot be saved.
- Update installation stops before activation if progress status cannot be saved, and retains status-write failures in the reported error.
- Invalid local requests and native test fixtures return explicit JSON errors while preserving validation limits and existing saved-state formats.
- CLI startup, effects processing, and benchmark preparation have clearer lifecycle boundaries, with existing ownership, shutdown, recovery, and heartbeat safeguards retained.
- Go formatting and pinned Staticcheck checks now run locally and in release builds. Network tests use isolated transports, and regression tests cover error boundaries and saved-state isolation.
Native and QML maintenance
- Map downloads stop safely during frontend destruction, and cancelled replies cannot update a closed map.
- Atmosphere command options are released on all exits; finite lease timers and numeric conversions have clearer safety boundaries.
- Search debounce stops while hidden, disconnected, or changing location. Shutdown completion is reported once and clears pending actions and deadlines.
- QML dependencies, delegate references, layout sizing, and native control flow are clearer while preserving the existing design, accessibility, settings, protocols, effects limits, and simulation behavior.
- Native/QML formatting and scoped static checks now run locally and in the release build. New ownership, cancellation, search, and shutdown regressions accompany native and Qt sanitizer checks.
Existing users on 0.60.0 or newer can use Update and restart after this release is published and its repository runtime pin is updated. Saved location, units, notification settings, and bar placement are retained.
Linux x86_64 package for Omarchy. Verify the archive against SHA256SUMS and the committed repository pin before extracting. go-runtime.json records the source revision and runtime inventory.
Full Changelog: v0.60.0...v0.61.0
v0.60.0
Self-updating weather app
- Daily, quiet release checks in the app and Omarchy bar, with a manual Check for updates action.
- Installed and available versions with Update and restart: verified downloads, clean effects shutdown, bar refresh, and reopening the latest app.
- Saved location, units, settings, and bar placement retained. Previous runtimes are kept, with failed-startup rollback and interrupted-update recovery.
- The 10-day forecast now appears directly below the hourly forecast.
Existing users: one-time migration
Older apps cannot gain the new controls just by being reopened.
For an existing Omarchy installation, update the plugin once:
omarchy plugin update a-weather-app.weatherThen right-click the weather widget and choose Update and restart. The updated bar can upgrade an older runtime even when that old app has no updater. Once reopened, confirm 0.60.0 under Settings → Application. If you already updated the plugin, start with the bar action.
If you configured the widget's projectPath directly to an extracted runtime, set it to your installed plugin folder for this migration. Keep your saved state directory and bar placement.
Older standalone users should quit the old app, download and verify this package, extract it into a new directory, and launch the new executable once. Update any shortcut that still points to the old directory. Future published updates use the in-app controls.
Read the installation and migration instructions. New Omarchy installations still require the initial verified runtime setup described in the README. Routine updates require no administrator privileges.
The updater waits for the repository's supported release pin. Immediately after publication, allow the pin update to finish before migrating. Local edits, custom plugin branches, and linked development checkouts are preserved.
Linux x86_64 package for Omarchy. Verify the archive against SHA256SUMS and the committed repository pin before extracting. go-runtime.json records the source revision and runtime inventory.
Full Changelog: v0.51.9...v0.60.0