Releases: NSRingo/WeatherKit
Releases · NSRingo/WeatherKit
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
- 为国标选项添加了一些说明
v3.0.3
🆕 New Features
- 使用正则表达式,以国家代码为判断来启用模块功能。
- 支持替换更多标准的空气指数。
- 内置算法支持德国LQI和欧盟EAQI。
- 实现和风天气的GeoAPI,现在可以本地查询location ID了。
- 重构和风天气和彩云天气的空气质量生成逻辑,将网络和数据处理分开。
- 重构了AirQuality.Config.Scales的结构。
- 提升了单位转换的精度(15 位小数)。
- 支持欧盟标准(20 度)的STP。
- 缓存了和风天气和彩云天气的部分网络数据。
- 详尽展示了空气质量的数据源。
- 提升了计算空气指数时的精度。
🛠️ Bug Fixes
- 修复了德国LQI指数边界,导致有时数值偏小的问题。
‼️ Breaking Changes
- 空气质量相关的设置结构经过了大幅修改。
🔣 Dependencies
- 升级了
@nsnanocat/util- 修复 Stash 不存在 $argument 的情况下,脚本直接错误退出的问题.
- 新增
[储存] 配置类型 (Storage)选项,提供如下三个选项,其中Argument为默认选项:Argument: 优先使用来自插件选项与模块参数等,由$argument传入的配置,$argument不包含的设置项由PersistentStore (BoxJs)提供。PersistentStore: 只使用来自BoxJs等,由$persistentStore提供的配置;database: 只使用由作者的database.mjs文件提供的默认配置,其他任何自定义配置不再起作用。未选择/未填写: 配置优先级依旧是$persistentStore (BoxJs)>$argument>database
⚠️ 注意:[储存] 配置类型 (Storage)选项只能经由$argument进行配置,可通过支持$argument的插件选项或模块参数进行设置。对于本就不支持$argument的 app (如 Quantumult X),始终按照未选择/未填写模式进行处理(与旧版逻辑一致)。
🔄 Other Changes
- 数据集和未来一小时降水强度默认限制在彩云天气的支持范围内。
- 今日空气质量和对比昨日默认限制在彩云天气的支持范围内。
- 默认使用彩云天气替换了CN天气。
- 默认使用内置算法,转为德国LQI。
- 适配NSNanoCat/util v2.1.5
- 将部分设置剥离到 BoxJs。
- 增加了新的配置优先级选项
- 清除了不再使用的代码。
- 完善了AirQuality、ColorfulClouds和QWeather的类型检查。
- 重写了查找主要污染物的逻辑。
- 更改了内置算法设置的key name。
- 调整了一大堆日志的位置。
- 增加了新的阻断 Apple QUIC 流量的规则。
v3.0.2
🆕 New Features
- 使用正则表达式,以国家代码为判断来启用模块功能。
- 支持替换更多标准的空气指数。
- 内置算法支持德国LQI和欧盟EAQI。
- 实现和风天气的GeoAPI,现在可以本地查询location ID了。
- 重构和风天气和彩云天气的空气质量生成逻辑,将网络和数据处理分开。
- 重构了AirQuality.Config.Scales的结构。
- 提升了单位转换的精度(15 位小数)。
- 支持欧盟标准(20 度)的STP。
- 缓存了和风天气和彩云天气的部分网络数据。
- 详尽展示了空气质量的数据源。
- 提升了计算空气指数时的精度。
🛠️ Bug Fixes
- 修复了德国LQI指数边界,导致有时数值偏小的问题。
‼️ Breaking Changes
- 空气质量相关的设置结构经过了大幅修改。
🔄 Other Changes
- 数据集和未来一小时降水强度默认限制在彩云天气的支持范围内。
- 今日空气质量和对比昨日默认限制在彩云天气的支持范围内。
- 默认使用彩云天气替换了CN天气。
- 默认使用内置算法,转为德国LQI。
- 适配NSNanoCat/util v2.1.3
- 将部分设置剥离到 BoxJs。
- 增加了新的配置优先级选项
- 清除了不再使用的代码。
- 完善了AirQuality、ColorfulClouds和QWeather的类型检查。
- 重写了查找主要污染物的逻辑。
- 更改了内置算法设置的key name。
- 调整了一大堆日志的位置。
- 增加了新的阻断 Apple QUIC 流量的规则。
v3.0.0
🆕 New Features
- 使用正则表达式,以国家代码为判断来启用模块功能。
- 支持替换更多标准的空气指数。
- 内置算法支持德国LQI和欧盟EAQI。
- 实现和风天气的GeoAPI,现在可以本地查询location ID了。
- 重构和风天气和彩云天气的空气质量生成逻辑,将网络和数据处理分开。
- 重构了AirQuality.Config.Scales的结构。
- 提升了单位转换的精度(15 位小数)。
- 支持欧盟标准(20 度)的STP。
- 缓存了和风天气和彩云天气的部分网络数据。
- 详尽展示了空气质量的数据源。
- 提升了计算空气指数时的精度。
🛠️ Bug Fixes
- 修复了德国LQI指数边界,导致有时数值偏小的问题。
‼️ Breaking Changes
- 空气质量相关的设置结构经过了大幅修改。
🔄 Other Changes
- 数据集和未来一小时降水强度默认限制在彩云天气的支持范围内。
- 今日空气质量和对比昨日默认限制在彩云天气的支持范围内。
- 默认使用彩云天气替换了CN天气。
- 默认使用内置算法,转为德国LQI。
- 适配NSNanoCat/util v2.1.0,将部分设置剥离到BoxJS。
- 清除了不再使用的代码。
- 完善了AirQuality、ColorfulClouds和QWeather的类型检查。
- 重写了查找主要污染物的逻辑。
- 更改了内置算法设置的key name。
- 调整了一大堆日志的位置。
v3.0.0-pre2
🆕 New Features
- 使用正则表达式,以国家代码为判断来启用模块功能。
- 支持替换更多标准的空气指数。
- 内置算法支持德国LQI和欧盟EAQI。
- 实现和风天气的GeoAPI,现在可以本地查询location ID了。
- 重构和风天气和彩云天气的空气质量生成逻辑,将网络和数据处理分开。
- 重构了AirQuality.Config.Scales的结构。
- 提升了单位转换的精度(15 位小数)。
- 支持欧盟标准(20 度)的STP。
- 缓存了和风天气和彩云天气的部分网络数据。
- 详尽展示了空气质量的数据源。
‼️ Breaking Changes
- 空气质量相关的设置结构经过了大幅修改。
🔄 Other Changes
- 数据集和未来一小时降水强度默认限制在彩云天气的支持范围内。
- 今日空气质量和对比昨日默认限制在彩云天气的支持范围内。
- 默认使用彩云天气替换了CN天气。
- 默认使用内置算法,转为德国LQI。