• v0.4.1 72460fa228

    v0.4.1 Stable

    b612 released this 2026-10-18 17:10:11 +08:00 | 0 commits to master since this release

    中文

    v0.4.1

    v0.4.1 聚焦恒星星表查询、名称数据和跨版本回归验证。本版本不改变 v0.4.0 的未来时标政策和默认半解析星历模型,主要完善中文/英文星名查询、重名消歧及 Go 1.16/386 兼容性测试。

    破坏性变更

    • 重名星名不再静默返回其中一颗:
      • StarDataByChinese、StarDataByName 返回 ErrStarNameAmbiguous;
      • 使用 StarDataByChineseAll、StarDataByNameAll 获取全部候选;
      • 使用 StarDataByChineseIn、StarDataByNameIn 按 ChineseRegion 消歧。
    • 未找到恒星和无效 HR 编号返回 ErrStarNotFound,调用方应使用 errors.Is 判断,不要匹配旧错误文本。

    主要变更

    • 将星名元数据统一为嵌入式 TSV/GZIP 数据源,补充中文名、别名、英文常用名和宿/垣区域字段。
    • StarDataByName 现同时支持中文名、中文别名和英文 CommonName,英文查询忽略大小写及首尾空白。
    • 新增 StarDataByNameAll、StarDataByNameIn,并同步扩展 StarCoordinateByName。
    • StarData 新增 ChineseRegion 字段,完善中英文手册和查询示例。

    修正与测试

    • 修正同名星索引覆盖、名称表漂移和旧详情字段不一致问题。
    • 增加星表、坐标、日月食、月食半影带、低精度结果和输出契约回归测试。
    • 增加 Go 1.16/386 兼容门禁及相关 smoke 测试,隔离旧工具链的浮点、拓扑、SVG 和分配差异。

    升级建议

    1. 使用 errors.Is 判断 ErrStarNotFound 和 ErrStarNameAmbiguous。
    2. 对可能重名的中文星名使用 StarDataByNameAll 或 StarDataByNameIn。
    3. 英文常用名统一使用 StarDataByName 系列接口。
    4. 序列化或比较 StarData 时注意新增的 ChineseRegion 字段。

    English

    v0.4.1

    v0.4.1 focuses on star-catalog lookup, name metadata, and cross-version regression coverage. It does not change the future time-scale policy or the default semianalytic ephemeris model introduced in v0.4.0. The release mainly improves Chinese/English star-name lookup, duplicate-name disambiguation, and Go 1.16/386 compatibility testing.

    Breaking Changes

    • Duplicate names no longer silently select one candidate:
      • StarDataByChinese and StarDataByName return ErrStarNameAmbiguous;
      • use StarDataByChineseAll or StarDataByNameAll for all candidates;
      • use StarDataByChineseIn or StarDataByNameIn with ChineseRegion to disambiguate.
    • Missing stars and invalid HR numbers return ErrStarNotFound. Use errors.Is instead of matching the old error text.

    Highlights

    • Consolidated star-name metadata into an embedded TSV/GZIP data source with Chinese names, aliases, English common names, and mansion/enclosure regions.
    • StarDataByName now supports Chinese names, Chinese aliases, and English CommonName values; English lookup ignores case and surrounding whitespace.
    • Added StarDataByNameAll and StarDataByNameIn, and extended StarCoordinateByName accordingly.
    • Added ChineseRegion to StarData and updated the bilingual manuals and lookup examples.

    Fixes and Testing

    • Fixed duplicate-name index overwrites, name-table drift, and legacy-detail inconsistencies.
    • Added regression coverage for star catalogs, coordinates, eclipses, lunar-penumbra bands, low-precision results, and output contracts.
    • Added Go 1.16/386 compatibility gates and smoke tests for legacy floating-point, topology, SVG, and allocation differences.

    Upgrade Checklist

    1. Check ErrStarNotFound and ErrStarNameAmbiguous with errors.Is.
    2. Use StarDataByNameAll or StarDataByNameIn for potentially duplicate Chinese names.
    3. Use the StarDataByName family for English common-name lookup.
    4. Account for the new ChineseRegion field when serializing or comparing StarData.
    Downloads