Releases: NSRingo/WeatherKit
Releases · NSRingo/WeatherKit
v3.1.0
🆕 New Features
- 新增基于云函数的
WeatherKit (Rewrite)新模块,面向Loon、Surge、Stash、Shadowrocket提供新的 Rewrite 版本配置。
🛠️ Bug Fixes
- 修复和风天气
YesterdayAirQuality在locationInfo为空时的空值访问问题,避免港澳等特殊定位条件下请求失败。 - 修复规则拦截范围,新增
IP-ASN 6185并统一QUIC拒绝表达式,减少异常直连。 - 修复重复天气提供者设置逻辑。
🔣 Dependencies
- 新增运行时依赖:
hono、node-fetch、fetch-cookie。 - 更新开发与基础依赖:
@rspack/cli、@rspack/core升级至^1.7.7,@nsnanocat/util升级至^2.2.3。
‼️ Breaking Changes
- none
🔄 Other Changes
- 为新的 Rewrite 版本补充基于
Hono的云函数转发入口,并支持通过Vercel与Cloudflare Workers部署。 - 新增 workers 构建链路:增加
arguments-builder.workers.config.ts与build:args:workers,用于生成各平台代理模块产物。 - 统一工程结构:
Hono入口调整为src/Hono.js,请求/响应处理拆分到src/process/Request*.mjs与src/process/Response*.mjs,并统一模块后缀与命名。 - 新增并统一 workers 模板与模块命名,配置名称追加
(Rewrite)后缀,提升不同版本的辨识度。 - 更新
wrangler可观测性配置,并在.gitignore中补充.idea忽略规则。
v4.0.0-beta3
🆕 New Features
- none
🛠️ Bug Fixes
- 修复了Stash的airQualityScale没有script的问题
🔣 Dependencies
- none
‼️ Breaking Changes
- none
🔄 Other Changes
- none
v4.0.0-beta2
🆕 New Features
- none
🛠️ Bug Fixes
- 修复了airQualityScale没有被拦截修改的问题
🔣 Dependencies
- none
‼️ Breaking Changes
- none
🔄 Other Changes
- none
v4.0.0-beta1
🆕 New Features
添加AQHI,将污染物的健康风险相加衡量空气质量的算法:
- 加拿大AQHI:基于加拿大非意外死亡数据,根据NO2、O3和PM 2.5的健康风险,按照加拿大空气污染数据分为11级的算法(10.17269/s41997-019-00237-w)
- 香港AQHI:基于香港入院风险数据,根据PM 10、PM 2.5、NO2、SO2和O3的健康风险,按照WHO AGQ 2021分为11级的算法(EPD AQHI)
- 中国(致死风险)AQHI:基于中国非意外死亡数据,根据PM 2.5、NO2、SO2和O3的健康风险,按照中国空气污染数据分为五个级别的算法(10.46234/ccdcw2021.011、济南疾控AQHI)
- 中国(致死风险)+香港AQHI:在中国AQHI基础上使用香港PM 2.5和PM 10的风险数据
(实验性)添加AQHI-Multi,一种使用CGAIM考虑多种污染物混合风险的算法(10.1016/j.oneear.2025.101488):
- AQHI-Multi(中国):基于中国非意外死亡数据,根据PM 2.5、NO2、SO2和O3的健康风险,按照WHO AGQ 2021分为11级的算法
- AQHI-Multi(中国+香港):基于AQHI-Multi(中国),PM 10使用了香港AQHI风险数据。PM 10风险超过PM 2.5的1.2倍时,使用PM 10的风险数据
🛠️ Bug Fixes
- none
🔣 Dependencies
- none
‼️ Breaking Changes
- none
🔄 Other Changes
- none
v3.0.9
🆕 New Features
- none
🛠️ Bug Fixes
- 修复天气预警
id的 UUID 解码形态,确保解码后与业务侧期望(字符串)一致。
🔣 Dependencies
- none
‼️ Breaking Changes
- none
🔄 Other Changes
- 统一
news.placements.articles.alertIds的 UUID 表达形态:编码支持{ bytes: [...] }输入,解码统一输出字符串 UUID,减少上下游结构差异。 - 增加
placementType()的内部比较能力,用于更稳定地处理 news placements 的placement字段判定。 - 调整响应处理顺序(
refactor(response)),进一步收敛逻辑执行路径,降低后续维护复杂度。 - 更新子模块引用到最新提交,确保主仓库与依赖子项目的版本关系保持一致。
- 新增并完善 UUID 映射测试脚本,覆盖多组
uuid <-> bytes双向转换及 FlatBuffer round-trip 校验。
v3.0.8
🆕 New Features
- none
🛠️ Bug Fixes
- 修复并收敛污染物指数缺失场景:现在会在污染物对象上统一回填指数,减少因字段不完整导致的结果偏差。
- 优化中国区主污染物识别流程,提升在不同数据源下的判定一致性。
- 优化下一小时天气注入条件判断,减少误注入或重复覆盖的情况。
- 将
FixQWeatherCO重命名为FixPollutantsUnits并统一污染物单位修复策略,减少因单位换算差异导致的空气质量展示误差。
🔣 Dependencies
- none
‼️ Breaking Changes
- none
🔄 Other Changes
- 在
Pollutants2AQI与ConvertPollutants中补充污染物浓度到污染物指数的映射能力,为统一 AQI 计算与主污染物判定打基础。 - 统一空气质量结果的生成与展示路径,减少不同来源数据在展示侧的差异。
- 优化
appendScaleToProviderName的空气质量展示信息拼接逻辑,减少同类场景下的重复处理。 - 统一
InjectAirQuality注入入口并整理执行顺序,提升处理链路稳定性与可维护性。 - 重构空气质量计算流水线:去重 AQI 构建流程,并将算法映射、指数裁剪、最大指数配置等能力下沉到统一模块。
- 在
BuildAQIFromScale中将指数裁剪与上限约束统一配置化,减少边界条件下的不一致结果。 - 对空气质量相关方法命名、执行顺序和内部结构进行了整理,代码可读性与可扩展性进一步提升。
- 全仓统一格式化策略(空格缩进及缩进宽度),提升多人协作时的风格一致性。
v3.0.7
🆕 New Features
- none
🛠️ Bug Fixes
- 在
parseWeatherKitURL.mjs的parseWeatherKitURL中修复国家参数解析优先级,现在优先使用查询参数中的国家信息,减少地区识别偏差。 - 将
Pollutants2AQI的默认空气质量计算算法更新为EU_EAQI。
🔣 Dependencies
- none
‼️ Breaking Changes
- 数据集与天气相关配置结构已简化并合并;若依赖旧字段名或旧配置路径,需要同步调整。
🔄 Other Changes
- 在
AirQuality.mjs中抽离Pollutants2AQI与ConvertPollutants,增强空气质量通用处理能力,便于在不同响应流程复用。 - 调整天气注入条件与可用性判断逻辑,减少不必要覆盖并简化分支处理。
- 将响应侧数据集注入流程改为并行执行,减少处理耗时。
- 在
AirQuality.mjs中将GetStpConversionFactors收敛为私有方法#GetStpConversionFactors。 - 统一使用
parameters.dataSets驱动 DataSets 处理链路,简化请求侧过滤逻辑(移除不必要的正则),并统一响应注入阶段的执行路径。 - 将原先通过正则进行的地区与可用性判断逻辑下沉到
ColorfulClouds.mjs与QWeather.mjs的配置中统一管理。
v3.0.6
🔄 Other Changes
- 移除了
数据集(DataSets)相关的配置选项和相关脚本。- 此配置仅用于特殊时期的临时回避方案,目前已不再需要。
v3.0.5
v3.0.4
🆕 New Features
- 为数据源添加了选项,可以关闭部分模块的功能
🛠️ Bug Fixes
- 修复了昨日污染物数据源默认设置不生效的问题
‼️ Breaking Changes
- 暂时移除了WAQI选项
🔄 Other Changes
- 大幅简化了模块参数的设置
- 算法默认设置改为欧盟EAQI
- 为国标选项添加了一些说明