Weewx

Latest version: v5.1.0

Safety actively analyzes 706267 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 4 of 7

4.1.1

Fixed problem that caused wind speed to be reported to AWEKAS in m/s instead
of km/h.

Fixed problem that caused FTP attempts not to be retried.

Fixed problem that caused monthly and yearly summaries to appear only
sporadically.

Fixed problem when using the ultimeter driver under Python 2.

Fixed problem when using the ws1 driver under Python 2.

Fixed problem that prevented remote directories from being created by FTP.

New strategy for calculating system uptime under Python 3. Revisits
issue 428. Alternative to PR 561.

4.1.0

Archive records emitted by the Vantage driver now include the number of wind
samples per archive interval in field wind_samples.

wee_import can now import WeatherCat monthly .cat files.

Changed the logging configuration dictionary to match the Python documents.
Thanks to user Graham for figuring this out!

Fixed problem that prevented ws1 driver from working under Python 3. PR 556.

Eliminate use of logging in wee_config, allowing it to be used for installs
without syslog.

Allow expressions to be used as a datatype when plotting.

Added option 'reuse_ssl' to FTP. This activates a workaround for a bug in the
Python ftp library that causes long-lived connections to get closed prematurely.
Works only with Python 3.6 and greater.

The cc3000 driver will automatically reboot the hardware if it stops sending
observations. PR 549.

Install using setup.py forgot to set WEEWX_ROOT when installing in non-standard
places. Fixes issue 546.

Fixed bug in ws28xx driver that prevented it from running under Python 3.
Fixes issue 543.

Changed query strategy for calculating min and max wind vectors, which
should result in much faster plot generation.

Fixed bug in wmr9x8 driver that prevented it from running under Python 3.

Fixed several bugs in the te923 driver that prevented it from running under
Python 3.

Added a logging handler for rotating files. See https://bit.ly/2StYSHb for how
to use it. It is the default for MacOS.

More information if an exception is raised while querying for vantage hardware
type.

wunderfixer: fixed problem under Python 3 where response was not converted to
str before attempting to parse the JSON. Option --simulate now requires api_key
and password, so it can hit the WU.

Fixed problem in te923 driver under Python 3 that caused it to crash.

4.0.0

Ported to Python 3. WeeWX should now run under Python 3.5 and greater, as well
as Python 2.7. Support for Python 2.5 and 2.6 has been dropped.

New facility for creating new user-defined derived types. See the Wiki article
https://github.com/weewx/weewx/wiki/WeeWX-V4-user-defined-types

WeeWX now uses the Python 'logging' facility. This means log, formats, and other
things can now be customized. Fixes issue 353.

Strings appearing in the data stream no longer cause a TypeError if they can be
converted to a number.

Strings can now be accumulated and extracted in the accumulators, making it
possible to include them in the database schemas.

The utility wee_reports now loads services, allowing it to use user-supplied
extensions. Fixes issue 95.

New default schema ("wview_extended") that offers many new types. The old schema
is still supported. Fixes issue 115.

Optional, more flexible, way of specifying schemas for the daily summaries. The
old way is still supported.

The install process now offers to register a user's station with weewx.com.

The package MySQL-python, which we used previously, is not always available on
Python 3. Ported the MySQL code to use the package mysqlclient as an
alternative.

The default for WOW no longer throttles posting frequency (the default used to
be no more than once every 15 minutes).

Added new aggregate types minsum, minsumtime, sum_le. PR 382.

Unit group group_distance is now a first-class group.

Added new tag $python_version.

Ported to Python2-PyMySQL package on OpenSUSE.

Added new aggregation types 'first' (similar to 'last'), 'diff' (the difference
between last and first value in the aggregation interval), and 'tderiv' (the
difference divided by the time difference).

Created new unit group 'group_energy2', defined as watt-seconds. Useful for high
resolution energy monitors.

An observation type known to the system, but not in a record, will now return a
proper ValueTuple, rather than UnknownType.

Type "stormStart" was added to the unit system. Fixes issue 380.

Added new aggregation type 'growdeg'. Similar to 'heatdeg', or 'cooldeg', it
measures growing degree-days. Basically, cooldeg, but with a different base.
Fixes issue 367. Thanks to user Clay Jackson for guidance!

Ported OS uptime to OpenBSD. Fixes issue 428. Thanks to user Jeff Ross!

Catch SSL certificate errors in uploaders. Retry after an hour. Fixes issue
413.

Wunderfixer has been ported to the new WU API. This API requires an API key,
which you can get from the WU. Put it in weewx.conf. Added option --upload-only.
Thanks to user Leon Shaner! Fixes issues 414 and 445.

Wee_import can now import Weather Display monthly log files.

Fixed problem where sub-sections DegreeDays and Trend were located under the
wrong weewx.conf section. Fixes issue 432. Thanks to user mph for spotting
this!

Added new parameters to the Weather Underground uploader. Fixes issue 435.

Added new air quality types pm1_0, pm2_5, and pm10_0 to the unit system. Added
new unit microgram_per_meter_cubed. Added new unit group, group_concentration.

Plist for the Mac launcher now includes a log file for stderr.

Night-day transition in plots now uses shortest travel distance around color
wheel to minimize extra colors. Fixes issue 457. Thanks to user Alex Edwards!

Fixed bug that causes plots to fail when both min and max are zero. Fixes issue
463.

Fixed problem with sqlite driver that can lead to memory growth. See PR 467.
Thanks to user Rich Bell!

Fixed bug that caused windrun to be calculated wrongly under METRICWX unit
system. Fixes issue 452.

If a bad value of 'interval' is encountered in a record, the program will simply
ignore it, rather than stopping. Address issue 375.

Change in how the archive timespan is calculated in the engine. This allows
oddball archive intervals. Fixes issue 469.

NOAA reports are now more tolerant of missing data. Fixes issue 300.

Use of strftime() date and time format codes in template file names is now
supported as an alternative to the legacy 'YYYY', 'MM' and 'DD'. The legacy
codes continue to be supported for backwards compatibility. Fixes issue 415.

New --calc-missing action added to wee_database to calculate and store derived
observations.

wee_import now calculates missing derived observations once all imported data
has been saved to archive. Fixes issue 443.

wee_import now tolerates periods that contain no source data. Fixes issue 499.

wee_import now accepts strings representing cardinal, intercardinal and
secondary intercardinal directions in CSV imports. Partially fixes issue 238.

The field delimiter character may now be defined for wee_import CSV imports.

Ignore historical records if the timestamp is in the future.

Can now recover from MariaDB-specific database connection error 1927.

Changed the name of the unit "litre" to "liter", making its spelling more
consistent with "meter". The spelling "litre" is still accepted.

Systemd type changed from "simple" to "forking". Thanks to user Jaap de Munck
for figuring this one out!

The configuration file is now an optional argument when running weewxd directly.
This means most users will be able to use the simple command line 'sudo weewxd'.

Use correct log path for netbsd and openbsd in logger setup.

StdWXCalculate no longer calculates anything by default. Instead, types to be
calculated must be listed in weewx.conf. See the Upgrade Guide.

setup.py install no longer saves the old 'bin' subdirectory. Instead, it simply
overwrites it.

3.9.1

In genplot, do not attempt to normalize unspecified paths.

Introduced option no_catchup. If set to true, a catchup will not be
attempted. Fixes issue 368.

3.9.0

New skin called Seasons. For new users, it will be installed and enabled.
For old users, it will be installed, but not enabled. Fixes issue 75.

There are also two new skins for mobile phones: Mobile and Smartphone.
These are installed, but not enabled, for all users.

Reworked how options get applied for reports. Backstop default values
are supplied by a new file weewx/defaults.py. These can get overridden
by skin.conf, or in a new section [StdReports] / [[Defaults]] in weewx.conf.
See the Customizing Guide, section "How options work", for details.
Fixes issue 248.

The skin.conf is optional. It is possible to specify the entire skin
configuration in the configuration file weewx.conf.

Dropped support of Python 2.5. You must now use either Python 2.6 or 2.7. This
is in anticipation of porting to Python 3.

The image generator now supports the use of a 'stale_age' option. Thanks to
user John Smith. Fixes issue 290.

Rose line width can now be specified with option rose_line_width.

The Felsius unit of temperature (see https://xkcd.com/1923/) is now supported.

New tag $almanac.sidereal_time for calculating current sidereal time

New tag $almanac.separation() for calculating planet separations.

Can now use ephem.readdb() to load arbitrary bodies into the almanac.

StdQC now includes an entry for rain again (inexplicably removed in v3.1.0).

If software record generation is used, the archive interval is now what is
specified in weewx.conf, even if the station supports hardware generation.

Fixed problem where records were downloaded on startup, even if software
record generation was specified.

The tag formatting taxonomy has been simplified. Just use suffix ".format()"
now. Documentation updated to reflect changes. Backwards compatibility with old
suffixes is supported. Fixes issue 328.

Can now set Rapidfire parameter rtfreq. Thanks to user 'whorfin'. PR 304.

Template names can now include the week number. Thanks to user 'stimpy23'.
PR 319.

New aggregation type for plots: 'cumulative'. Thanks to user 'henrikost'.
PR 302.

Fixed problem where MySQL error 2013 could crash WeeWX. Fixes issue 327.

Posts to the Weather Underground will be skipped if an observation type that
is listed in the [[[Essentials]]] subsection is missing. Fixes issue 329.

Upgrade process now explicity upgrades version-to-version, instead of
doing a merge to the new config file. Fixes issue 217.

Example xstats now includes tags for last_year and last_year_todate.
Thanks to user evilbunny2008. PR 325.

Guard against a negative value for 'interval' in WMR200 stations.

Check for missing or negative values for the record field 'interval'.

Changed the formula used to calculate percentage illumination of the moon to
something more accurate around 2018. This formula is only used if pyephem is
not installed. Fixes issue 342.

Fixed bug that caused older, "type A" Vantage Pro2, to crash. Fixes issue 343.

Fixed a bug that caused a divide-by-zero error if a plot range was the same as
a specified min or max scale. Fixes issue 344.

Fixed bug that prevented an optional data_binding from being used in tags
when iterating over records. Fixes issue 345.

Examples lowBattery and alarm now try SMTP_SSL connections, then degrade if
that's not available. Fixes issue 351.

Fixed problem with Brazilian locations at the start of DST. It manifested
itself with the error "NoColumnError: no such column: wind". Fixes issue 356.

Fixed problem that caused sunrise/sunset to be calculated improperly in Sun.py.

Improved coverage of test suites. Fixes issue 337.

wee_device, when used with the Vantage series, now honors the "no prompt" (-y)
option. Fixes issue 361.

Log watch now correctly logs garbage collection events. Thanks to user
buster-one. PR 340.

3.8.2

Added flag to weewx-multi init script to prevent systemd from breaking it.
Thanks to users Timo, Glenn McKechnie, and Paul Oversmith.

Fixed problem that caused wind direction in archive records to always be
calculated in software, even with stations that provide it in hardware.
Fixes issue 336.

Page 4 of 7

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.