Today I released libgweather-3.90.0, the first developers snapshot of GWeather 4:
Behold! A project logo
This release is mostly meant to be used as a target for porting existing code to the new API, and verifying that everything works as it should.
The major changes from GWeather-3.0 are:
- the GTK3 widgets have gone to a farm up state, so you’ll have to write your own UI for searching locations
GWeatherLocationis aGObjecttype, so you can use it withGListModeland friends, which should help with the point above- the deprecated API has been removed
- the API that will be part of GWeather 4.0 will be stable, and regular API/ABI stability guarantees will apply
If you are using libgweather in your application, you should head over to the migration guide and check out what changed.
Ideally, there are still things that need to be cleaned up in the GWeather API, for instance:
GWeatherTimezoneparses thetzdatafile directly, which comes with its own set of issues, like having to track whether the time zone database has changed or not; we should useGTimeZoneinstead, but the API provided by the two types do not match entirely. I need to check the current users of that API, and if possible, just drop the whole type.GWeatherInfohas a bunch of getter functions that return the bare values and that can fail, and additional getter functions that always return a formatted string, and cannot fail; it’s not a great API.GWeatherLocationreturns the localised names by default, and has additional getters for the “English” (really: POSIX C locale) names.
If you encounter issues when porting, please: file an issue on GitLab.