pyIEM 1.25.0 Release
API Changes
- Change
NoDataFoundexception iniemappto HTTP status 422. - Mark
pyiem.util.{get_dbconn*,get_sqlalchemy_conn}for removal in 1.26.0 - Remove
pyiem.plot.use_agg.plt(pyplot) as it is a walking memory leak. - Remove
pyiem.prismper previous deprecation. - Rename
pyiem.nws.products.vtec.skip_contois_skip_con(meh, internal). - Support TAF Collectives by changing
prod.data: TAFReportto
prod.data: list[TAFReport](#913).
New Features
- Add
method=headoption toarchive_fetchso to do quick checks. - Drop
nh3requirement. - Support
BECMG,PROB30, andPROB40TAF forecast elements (#1104). - Support more TAF quirks and poor formatting.
Bug Fixes
- Account for
python-metaredge case with peak wind time being in the future. - Correct TAF parsing edge case when segment has no equals.
- Demote a SHEF warning for a poorly encoded paired depth value.
- Fix edge case with empty scripts in autoplot vtecps type.
- Prevent unknown UGC from causing a full database write failure (#1097).
- Rework XSS detection within
webutil.iemapp. - Update bundled NWS CWAs (18 Mar 2025) (#1100).
- Workaround a spacing issue within LSRs that may not be fixed upstream.
What's Changed
- Demote SHEF warning about negative depth by @akrherz in #1093
- Forgive LSR spacing issue by @akrherz in #1094
- 🐛 Account for python-metar edge case by @akrherz in #1096
- 🐛 Prevent unknown UGC to prevent db write failure by @akrherz in #1098
- 💥 Remove pyiem.plot.use_agg.plt by @akrherz in #1099
- 📝 Update bundled CWA geodf by @akrherz in #1101
- 🎨 Use default value for empty vtecps string by @akrherz in #1102
- ✅ Add test for old-bug not currently present by @akrherz in #1103
- ✨ Support PROB30,PROB40,BECMG TAF Fields by @akrherz in #1105
- 🐛 Address TAF edge parsing case by @akrherz in #1106
- ✅ Add test to ensure TAF processing by @akrherz in #1107
- 🎨 Account for additional TAF edge case by @akrherz in #1108
- 🎨 Address some typing lint by @akrherz in #1109
- 🔥 Drop is_tempo database storage by @akrherz in #1110
- TAF QoL by @akrherz in #1111
- 💥 Support TAF Collectives by @akrherz in #1112
- 🎨 Allow for TAF AMD by @akrherz in #1113
- 🎨 Allow for more TAF one-offs by @akrherz in #1114
- 🐛 Address RWIS iemid change by @akrherz in #1115
- Bump actions/checkout from 4 to 5 in the github-actions group by @dependabot[bot] in #1117
- PRISM cleanups by @akrherz in #1118
- 🚧 Wordsmithing VTEC Jabber Messages for #1119 by @akrherz in #1120
- ✨ Add method=head to archive_fetch by @akrherz in #1121
- Stop needless smtp connect by @akrherz in #1122
- 🐛 Rework XSS detection in iemapp by @akrherz in #1123
- 🐛 Account for XSS edge case by @akrherz in #1124
- 📌 Debug transient CI failure by @akrherz in #1125
- 🗑️ Mark pyiem.util database stuff for removal by @akrherz in #1126
- 🐛 [taf] Fix parse logic error when no = by @akrherz in #1127
Full Changelog: v1.24.0...v1.25.0