🌤 WeatherKit

v3.2.0-beta2 预发布

🆕 New Features

  • 新增可配置的 WeatherKit 重写服务端点,模块统一由 Workers 更名为 Rewrite,支持在 weatherkit.pages.devdev.weatherkit.pages.devweather.nanocat.cloud 之间选择。 @VirgilClyne
  • 新增通用 FlatBuffer 根表处理器,并将 WeatherKit 改为按请求数据集逐 slot 解码和回写;未选数据集、未配置字段及新 schema slot 均保持原始二进制内容。 @VirgilClyne

🛠️ Bug Fixes

  • 修复和风天气分钟预报的 reportedTime,改为使用接口返回的 updateTime,不再误写为本地读取时间。 @VirgilClyne
  • 修复云端路由对 dev.weatherkit.**.pages.dev 域名的识别,并限制 Cloudflare Pages Functions 只处理 WeatherKit API 路径。 @VirgilClyne

🔣 Dependencies

  • 移除 src/proto 子模块,改用 @nsringo/weatherkit 包,并更新至 v1.1.2@001ProMax @VirgilClyne
  • @nsnanocat/util 更新至 v2.7.0,并切换到公共 npm registry。 @VirgilClyne

‼️ Breaking Changes

  • none

🔄 Other Changes

  • 将构建工具由 Rspack 迁移至 Rollup,统一正式版与开发版构建配置。 @VirgilClyne
  • 调整 Vercel 部署入口为 src/Hono.js,并完善 Cloudflare Pages 的构建输出与路由配置。 @001ProMax @VirgilClyne
  • 新增 FlatBuffer 根表处理器契约、逐 slot 编解码与选择性数据集回写测试。 @VirgilClyne

v3.2.0-beta1 预发布

🆕 New Features

  • 新增 Cloudflare Pages 部署支持,提供 functions/[[route]].jspages/_routes.json 以及独立的 Pages / Workers 开发与部署脚本;同时调整 Vercel 入口为 edge/vercel.js,统一 Hono 云端入口。 @001ProMax
  • 新增 FlatBuffer root overlay 编码能力,仅重写实际变更的数据集,并保留 Apple 未知或新增的根产品表,提升对新 WeatherKit schema 的兼容性。 @hhh2210

🛠️ Bug Fixes

  • 修复 forecastNextHour 在 iOS 27 下因元数据过期过快而失效的问题,并完善多段降水状态推导与描述匹配,避免复合天气短语被后续关键词错误覆盖。 @hhh2210
  • 修复 WeatherKit dataSets 与 availability 改写逻辑:仅过滤插件可注入的数据集,保留 Apple 原生 capability,避免固定列表吞掉新增能力或数据集。 @hhh2210
  • 修复天气注入后每日降水量字段的保留逻辑,避免第三方数据覆盖或破坏 WeatherKit 原始的全天 / 白天 / 夜间降水总量配对关系。 @hhh2210
  • 修复空气质量数据兼容性:统一 Apple 内置 AQ scale 为无版本别名、迁移旧 scale 标识、忽略不可用等级哨兵值,并修正和风天气 reportedTime 为 epoch seconds。 @hhh2210
  • 修复 forecastNextHour FlatBuffer 编码时未知天气枚举被静默编码为 CLEAR 的问题。 @hhh2210

🔣 Dependencies

  • 切换 @nsnanocat/util 到公共 npm registry 来源。 @hhh2210

‼️ Breaking Changes

  • none

🔄 Other Changes

  • 更新 DataSets 参数默认值与说明,明确其仅控制插件可修改的数据集,其余 Apple 数据集继续透传。 @hhh2210
  • Hono 根路径新增 GET / 健康检查响应 OK@hhh2210
  • 新增覆盖空气质量 scale、NextHour 条件推导、降水总量、provider metadata、request availability、FlatBuffer overlay 与 selective decode 的回归测试。 @hhh2210

v3.1.0 正式版

🆕 New Features

  • 新增基于云函数的 WeatherKit (Rewrite) 新模块,面向 LoonSurgeStashShadowrocket 提供新的 Rewrite 版本配置。

🛠️ Bug Fixes

  • 修复和风天气 YesterdayAirQualitylocationInfo 为空时的空值访问问题,避免港澳等特殊定位条件下请求失败。
  • 修复规则拦截范围,新增 IP-ASN 6185 并统一 QUIC 拒绝表达式,减少异常直连。
  • 修复重复天气提供者设置逻辑。

🔣 Dependencies

  • 新增运行时依赖:hononode-fetchfetch-cookie
  • 更新开发与基础依赖:@rspack/cli@rspack/core 升级至 ^1.7.7@nsnanocat/util 升级至 ^2.2.3

‼️ Breaking Changes

  • none

🔄 Other Changes

  • 为新的 Rewrite 版本补充基于 Hono 的云函数转发入口,并支持通过 VercelCloudflare Workers 部署。
  • 新增 workers 构建链路:增加 arguments-builder.workers.config.tsbuild:args:workers,用于生成各平台代理模块产物。
  • 统一工程结构:Hono 入口调整为 src/Hono.js,请求/响应处理拆分到 src/process/Request*.mjssrc/process/Response*.mjs,并统一模块后缀与命名。
  • 新增并统一 workers 模板与模块命名,配置名称追加 (Rewrite) 后缀,提升不同版本的辨识度。
  • 更新 wrangler 可观测性配置,并在 .gitignore 中补充 .idea 忽略规则。

v4.0.0-beta3 预发布

v4.0.0-beta2的更新日志

🆕 New Features

  • none

🛠️ Bug Fixes

  • 修复了Stash的airQualityScale没有script的问题

🔣 Dependencies

  • none

‼️ Breaking Changes

  • none

🔄 Other Changes

  • none

v4.0.0-beta2 预发布

v4.0.0-beta1的更新日志

🆕 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

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

v3.0.7 正式版

🆕 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 正式版

🔄 Other Changes

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

v3.0.5 正式版

v3.0.4的更新日志

🛠️ Bug Fixes

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

🔄 Other Changes

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

v3.0.4 正式版

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

🆕 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。

v3.0.0-pre1 预发布

🆕 New Features

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

‼️ Breaking Changes

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

🔄 Other Changes

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

v2.0.7 正式版

🛠️ Bug Fixes

  • 修复降水类型无法正确显示混合雨雪类型的问题
  • 修复未来一小时降水无法正确显示雨夹雪大雪等降水类型的问题

🔄 Other Changes

  • 更新接口枚举对比工具,以支持更多天气条件的对比识别
    • DEBUG 模式下,对比不一致的枚举值会通过通知与日志进行提示
  • Quantumult X Snippet 增加 filter 用以拒绝 QUIC 的规则

v2.0.6 正式版

🛠️ Bug Fixes

  • 修复对比昨日空气质量数据差异较大时未能正确显示比较结果的问题

🔄 Other Changes

  • 完全重写未来一小时降水情况生成逻辑,现在会更准确的表达每场降水的预计降水情况
    • 并且在同时使用 中国版 Maps 时,macOS 版 天气 app 的中国大陆位置可能显示未来一小时降水数据。
    • 之前对于 Maps 版本与天气 app未来一小时降水功能之间的关联说明并不严谨,具体情况还在探索中

v2.0.5 正式版

🛠️ Bug Fixes

  • 修复 v2.0.3 版导致当[空气质量] 本地替换算法None (不进行替换)时无法正确填补缺乏 WeatherKit 空气质量数据的地点的问题

v2.0.4 正式版

🛠️ Bug Fixes

  • 修复 v2.0.3 版无法正确填补缺乏 WeatherKit 空气质量数据的地点的问题
  • 修复 ForecastNextHour.Condition 一直无法生成最后一种天气状况的问题
  • 修复 ForecastNextHour.Summary 一直无法生成最后一个天气摘要的问题
  • 修复 macOS 版 天气 app国际版 Maps 下,从降水地图上添加的任何中国大陆位置不显示未来一小时降水的问题
    • 环境1:当使用 中国版 Maps 时,macOS 版 天气 app中国大陆任何位置均无法显示未来一小时降水数据。
      • macOS 版 天气 app降水地图没有底部时间轴与12 小时天气预报/未来一小时天气预报切换选项,此情况下相当于未来一小时降水功能损坏或缺失。
    • 环境2:当使用 国际版 Maps 时,从 macOS 版 天气 app降水地图上添加的中国大陆位置经过修复后可以显示未来一小时降水数据。
      • macOS 版 天气 app降水地图有底部时间轴与12 小时天气预报/未来一小时天气预报切换选项,此情况下未来一小时降水功能正常。
    • 环境3:当使用 国际版 Maps 时,通过 iOS 版 天气 app 添加的地点然后自动同步到 macOS 版 天气 app 的地点始终可以正常显示未来一小时降水
    • 国际版 Maps 包括使用  iRingo: 🗺️ Maps 生产的混合地图

🔄 Other Changes

  • 优化 感知降水强度 的计算方式以支持"可能有小雨"等描述文本。
  • 确认 昨日空气质量对比 的最后两种状态。
  • 天气 app 无法显示精确位置与搜索无法查询到城市的问题成因:
    • 天气 appiOSmacOS 等平台上的天气位置搜索均依赖于定位服务
    • 当使用 国际版 Maps 时,📍 定位 使用 https://gsp-ssl.ls.apple.com/dispatcher.arpc 进行搜索,对于大陆位置只能返回粗略结果。
    • 当使用 中国版 Maps 时,📍 定位 使用 dispatcher.is.autonavi.com 进行搜索,对于大陆位置可以返回详细结果。
    • 此问题只能待📍 定位改进后解决。

v2.0.3 正式版

🛠️ Bug Fixes

  • 修复[空气质量] 对比昨日数据源选择WeatherKit (不进行替换)时无法正确处理的问题

🔄 Other Changes

  • macOS 版天气 app 停用了未来一小时降水强度的文字描述部分,以临时解决 macOS 版天气 app 上的兼容性问题。

v2.0.2 正式版

🛠️ Bug Fixes

  • 修复[空气质量] 本地替换算法选择None (不进行替换)时无法正确处理的问题

🔄 Other Changes

  • [空气质量] 本地替换算法的默认值由 WAQI InstantCast 改为 美国 (EPA NowCast)
    • 使用过 BoxJs 进行过配置的用户需要手动更新修改此选项才会生效
    • 原因:[空气质量] 对比昨日数据源彩云天气时,只提供中国 (HJ 633—2012)美国 (EPA NowCast)两种标准的数据,若本地替换算法为WAQI InstantCast,则会导致无法正确对比数据,体现为:空气质量永远比昨日同时间差。

v2.0.1 正式版

🛠️ Bug Fixes

  • 修复在 iOS/macOS 26 上无法正确解析 极端天气信息 (WeatherAlerts) 的问题

v2.0.0 正式版

🆕 New Features

  • 新增替换每小时预报每日预报数据功能 by @001ProMax
    • 默认使用WeatherKit (不进行替换),替换为其他数据需手动开启
    • 支持彩云天气和风天气数据源
  • 新增[空气质量] 对比昨日数据源数据源选择功能 by @WordlessEcho
    • 现在可以选择不同的数据源进行对比,不再局限于单一数据源。
    • 默认使用自动选择 (与[空气质量] 数据源一致)
    • 支持彩云天气和风天气数据源

🛠️ Bug Fixes

  • 修复对比昨日空气质量逻辑
    • 现在总是先将空气质量指数转换为用户指定的标准后,再进行相同标准指数下的对比
  • 修复 和风天气 GeoAPI 路径
  • 修复 和风天气 数据源中空气质量原始单位转换错误的问题
    • 将错误的"ug/m3"更改为正确的"mg/m3"

🔣 Dependencies

  • 升级了 @nsnanocat/util
    • Lodash 新增 escape, pick, omit 方法
    • 修复了 fetch
    • 优化了 notification
    • 优化了 done
      • Quanumult X环境中,StatusCodes 会自动转换构建为 StatusText
        • 例如 response.status = 200, done(response) 时,会自动转换将 response.status 转换为 HTTP/1.1 200 OK
  • 升级了 flatbuffers

‼️ Breaking Changes

  • 移除替换[当前天气] 数据源设置项,与替换每小时预报每日预报设置项合并为替换[天气] 数据源设置项
  • [API] 和风天气主机 改为文本框,以允许用户使用自己的 API Host

🔄 Other Changes

  • 全面重构,减少冗余代码与重复操作
  • 数据源支持缓存,减少重复请求
  • 和风天气 Token 改为通过 Headers 发送
  • 调整调试信息等级,清理控制台输出
  • 空气质量在未达关注等级前不再置于显著位置
  • iOS 26 临时解决方案: https://github.com/orgs/NSRingo/discussions/72

v2.0.0-pre2 预发布

🆕 New Features

  • 新增替换每小时预报每日预报数据功能 by @001ProMax
    • 默认不替换,需手动开启
    • 支持彩云天气和风天气数据源
  • 新增对比空气质量数据源选择功能 by @WordlessEcho
    • 现在可以选择不同的数据源进行对比,不再局限于单一数据源。
    • 支持彩云天气和风天气数据源

‼️ Breaking Changes

  • 移除替换当前天气设置项,与替换每小时预报每日预报设置项合并为替换天气设置项
  • 和风天气 API Host 改为文本框,以允许用户使用自己的 API Host

🔄 Other Changes

  • 全面重构,减少冗余代码与重复操作
  • 数据源支持缓存,减少重复请求
  • 和风天气 Token 改为通过 Headers 发送

v2.0.0-pre1 预发布

🆕 New Features

  • 新增替换每小时预报每日预报数据功能 by @001ProMax
    • 默认不替换,需手动开启
    • 支持彩云天气和风天气数据源
  • 新增对比空气质量数据源选择功能 by @WordlessEcho
    • 现在可以选择不同的数据源进行对比,不再局限于单一数据源。
    • 支持彩云天气和风天气数据源

‼️ Breaking Changes

  • 移除替换当前天气设置项,与替换每小时预报每日预报设置项合并为替换天气设置项
  • 和风天气 API Host 改为文本框,以允许用户使用自己的 API Host

🔄 Other Changes

  • 全面重构,减少冗余代码与重复操作
  • 数据源支持缓存,减少重复请求
  • 和风天气 Token 改为通过 Headers 发送

v1.9.10 正式版

🛠️ Bug Fixes

  • 修复 v1.9.8 版导致的 ColorfulClouds 空气质量未正确写入的问题

🔄 Other Changes

  • 这是 v1 的最后一个版本,后续将进入 v2 版本

v1.9.9 正式版

🆕 New Features

  • 新增替换当前天气数据功能 by @001ProMax
    • 默认不替换,需手动开启
    • 支持彩云天气和风天气数据源

🛠️ Bug Fixes

  • 修复 v1.9.6 版 DataSets (数据集) 设置功能导致的 位置信息数据丢失问题
    • 此问题导致 macOS 天气 app 中的位置信息数据丢失
    • 之前设置过 DataSets 的用户需要重新设置 DataSets

v1.9.8 正式版

🛠️ Bug Fixes

  • 修复 v1.9.6 版 DataSets (数据集) 设置功能导致的 历史趋势对比数据 丢失问题
    • 此问题导致天气 app 中的 平均气温 数据丢失