Skip to content

Releases: NSRingo/WeatherKit

v3.0.9

23 Feb 05:24

Choose a tag to compare

🆕 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

22 Feb 14:28

Choose a tag to compare

🆕 New Features

  • none

🛠️ Bug Fixes

  • 修复并收敛污染物指数缺失场景:现在会在污染物对象上统一回填指数,减少因字段不完整导致的结果偏差。
  • 优化中国区主污染物识别流程,提升在不同数据源下的判定一致性。
  • 优化下一小时天气注入条件判断,减少误注入或重复覆盖的情况。
  • FixQWeatherCO 重命名为 FixPollutantsUnits 并统一污染物单位修复策略,减少因单位换算差异导致的空气质量展示误差。

🔣 Dependencies

  • none

‼️ Breaking Changes

  • none

🔄 Other Changes

  • Pollutants2AQIConvertPollutants 中补充污染物浓度到污染物指数的映射能力,为统一 AQI 计算与主污染物判定打基础。
  • 统一空气质量结果的生成与展示路径,减少不同来源数据在展示侧的差异。
  • 优化 appendScaleToProviderName 的空气质量展示信息拼接逻辑,减少同类场景下的重复处理。
  • 统一 InjectAirQuality 注入入口并整理执行顺序,提升处理链路稳定性与可维护性。
  • 重构空气质量计算流水线:去重 AQI 构建流程,并将算法映射、指数裁剪、最大指数配置等能力下沉到统一模块。
  • BuildAQIFromScale 中将指数裁剪与上限约束统一配置化,减少边界条件下的不一致结果。
  • 对空气质量相关方法命名、执行顺序和内部结构进行了整理,代码可读性与可扩展性进一步提升。
  • 全仓统一格式化策略(空格缩进及缩进宽度),提升多人协作时的风格一致性。

v3.0.7

22 Feb 04:32

Choose a tag to compare

🆕 New Features

  • none

🛠️ Bug Fixes

  • parseWeatherKitURL.mjsparseWeatherKitURL 中修复国家参数解析优先级,现在优先使用查询参数中的国家信息,减少地区识别偏差。
  • Pollutants2AQI 的默认空气质量计算算法更新为 EU_EAQI

🔣 Dependencies

  • none

‼️ Breaking Changes

  • 数据集与天气相关配置结构已简化并合并;若依赖旧字段名或旧配置路径,需要同步调整。

🔄 Other Changes

  • AirQuality.mjs 中抽离 Pollutants2AQIConvertPollutants,增强空气质量通用处理能力,便于在不同响应流程复用。
  • 调整天气注入条件与可用性判断逻辑,减少不必要覆盖并简化分支处理。
  • 将响应侧数据集注入流程改为并行执行,减少处理耗时。
  • AirQuality.mjs 中将 GetStpConversionFactors 收敛为私有方法 #GetStpConversionFactors
  • 统一使用 parameters.dataSets 驱动 DataSets 处理链路,简化请求侧过滤逻辑(移除不必要的正则),并统一响应注入阶段的执行路径。
  • 将原先通过正则进行的地区与可用性判断逻辑下沉到 ColorfulClouds.mjsQWeather.mjs 的配置中统一管理。

v3.0.6

21 Feb 16:58

Choose a tag to compare

🔄 Other Changes

  • 移除了数据集(DataSets)相关的配置选项和相关脚本。
    • 此配置仅用于特殊时期的临时回避方案,目前已不再需要。

v3.0.5

21 Feb 16:29
d51d100

Choose a tag to compare

v3.0.4的更新日志

🛠️ Bug Fixes

  • 修复了Egern模块生成失败的问题

🔄 Other Changes

  • 重新排版了空气质量数据源的文字

v3.0.4

21 Feb 03:07
8a1cb2a

Choose a tag to compare

请先查看v3.0.0~v3.0.3的更新日志

🆕 New Features

  • 为数据源添加了选项,可以关闭部分模块的功能

🛠️ Bug Fixes

  • 修复了昨日污染物数据源默认设置不生效的问题

‼️ Breaking Changes

  • 暂时移除了WAQI选项

🔄 Other Changes

  • 大幅简化了模块参数的设置
  • 算法默认设置改为欧盟EAQI
  • 为国标选项添加了一些说明

v3.0.3

20 Feb 16:34

Choose a tag to compare

🆕 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

19 Feb 19:05

Choose a tag to compare

🆕 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

18 Feb 03:48
e8701a9

Choose a tag to compare

v3.0.0 Pre-release
Pre-release

🆕 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

13 Feb 16:24
5b6c29b

Choose a tag to compare

v3.0.0-pre2 Pre-release
Pre-release

🆕 New Features

  • 使用正则表达式,以国家代码为判断来启用模块功能。
  • 支持替换更多标准的空气指数。
  • 内置算法支持德国LQI和欧盟EAQI。
  • 实现和风天气的GeoAPI,现在可以本地查询location ID了。
  • 重构和风天气和彩云天气的空气质量生成逻辑,将网络和数据处理分开。
  • 重构了AirQuality.Config.Scales的结构。
  • 提升了单位转换的精度(15 位小数)。
  • 支持欧盟标准(20 度)的STP。
  • 缓存了和风天气和彩云天气的部分网络数据。
  • 详尽展示了空气质量的数据源。

‼️ Breaking Changes

  • 空气质量相关的设置结构经过了大幅修改。

🔄 Other Changes

  • 数据集和未来一小时降水强度默认限制在彩云天气的支持范围内。
  • 今日空气质量和对比昨日默认限制在彩云天气的支持范围内。
  • 默认使用彩云天气替换了CN天气。
  • 默认使用内置算法,转为德国LQI。