Releases: ref42/npnp
Releases · ref42/npnp
Release list
v1.2.0
npnp v1.2.0
Breaking change: The Altium and KiCad CLI command syntax has been redesigned.
Update scripts and documentation before upgrading.
Breaking Changes
- Removed the
exportandbatchsubcommands underaltiumandkicad. - Use one target command for both single-component and multi-component exports:
npnp altium C2040 -o altium_libsnpnp kicad C2040 -o kicad_libs --name MyPartsnpnp altium -i ids.txt -o altium_libs --name MyParts -j 42npnp kicad -i ids.txt -o kicad_libs --name MyParts -j 42
--appendis now a boolean flag and uses the directory supplied by-o.- Renamed the public library naming option from
--library-nameto--name. - Made generated component names deterministic by using
<source-name>__<LCSC-ID>across Altium, KiCad, and STEP artifacts. - Kept the LCSC suffix as the internal library identity even though the same
ID is also exported asNPNP_COMPONENT_IDmetadata. The metadata is for
lookup and inspection; the suffix keeps symbol, footprint, and model names
unique and stable during append/update workflows. - Existing generated libraries should be regenerated because component and
model names may change after this release. - Batch exports continue after component failures and report failed IDs in the
final summary. - Removed the unused
export-report.jsonoutput and related report API. - Removed the unused KiCad version selector; npnp now uses its single supported
KiCad library format without an extra version setting. - Release binaries use the optimized
[profile.release]configuration from
Cargo.toml(opt-level = "z", fat LTO, symbol stripping, and aborting
panics).
Updated
- Added
--nameexamples for fresh and append exports in the prompt and both
README languages. - Multi-component examples use
-j 42; single-component exports do not need a
parallelism option. - Normalized generated Altium schematic text to font size
10for labels,
designators, comments, and metadata parameters. - Added unified STEP model export for one component or an ID file:
npnp model C2040 -o step_modelsand
npnp model -i ids.txt -o step_models -j 42.
Migration
Replace commands such as:
npnp altium batch -i ids.txt -o altium --library-name MyLib --full -j 4
npnp kicad batch -i ids.txt -o kicad --library-name MyParts --full -j 4with:
npnp altium -i ids.txt -o altium_libs --name MyLib -j 42
npnp kicad -i ids.txt -o kicad_libs --name MyParts -j 42中文
破坏性变更: Altium 和 KiCad 的命令行语法已经重新设计。
升级前请更新脚本和文档。
破坏性变更
- 移除
altium和kicad下的export、batch子命令。 - 单个器件和批量导出统一使用目标命令:
npnp altium C2040 -o altium_libsnpnp kicad C2040 -o kicad_libs --name MyPartsnpnp altium -i ids.txt -o altium_libs --name MyParts -j 42npnp kicad -i ids.txt -o kicad_libs --name MyParts -j 42
--append现在是布尔开关,并使用-o指定的目录。- 公共库命名参数从
--library-name更名为--name。 - 统一生成器件名称,Altium、KiCad 和 STEP 工件均使用
<源名称>__<LCSC-ID>的确定性命名方式。 - 即使同一个 ID 也会导出为
NPNP_COMPONENT_ID元数据,库内部名称仍保留
LCSC 后缀。元数据用于查询和查看,后缀用于保证符号、封装和模型名称在追加或更新时唯一且稳定。 - 由于器件和模型名称可能发生变化,升级后应重新生成已有库。
- 批量导出会在器件失败后继续执行,并在最终摘要中报告失败 ID。
更新
- 在命令提示和中英文 README 中增加
--name的新示例。 - 多器件示例使用
-j 42,单器件导出不需要并行参数。 - 将 Altium 原理图中的标签、位号、注释和元数据参数统一为字号
10。 - 增加统一的 STEP 模型导出方式,支持单个器件或 ID 文件:
npnp model C2040 -o step_models和
npnp model -i ids.txt -o step_models -j 42。
迁移
旧命令:
npnp altium batch -i ids.txt -o altium --library-name MyLib --full -j 4
npnp kicad batch -i ids.txt -o kicad --library-name MyParts --full -j 4新命令:
npnp altium -i ids.txt -o altium_libs --name MyLib -j 42
npnp kicad -i ids.txt -o kicad_libs --name MyParts -j 42Contributor
v1.1.0
npnp v1.1.0
This release makes npnp public-source again, aligns its project posture with
SeEx, and keeps the CLI exporter behavior consistent with the current SeEx
release.
Updated
- Updated the project license to the Ref42 non-commercial share-alike license,
matching SeEx. - Added Chinese and English README documentation in the same style as SeEx.
- Updated KiCad
3Dexport to write downloaded STEP data directly without the
expensive sanitizer rewrite. - Confirmed KiCad STEP downloads use the same pooled LCSC model endpoint and
HTTP transport as Altium. - Updated GitHub release publishing to use checked-in release notes.
- Kept the multi-platform CLI release matrix for Windows, macOS, Linux, Fedora,
and Arch targets.
Fixed
- Removed the KiCad STEP sanitizer from the normal export path to avoid slow
exports and accidental geometry rewriting. - Removed a Rust deprecation warning in the KiCad model export progress counter.
Contributor
中文
更新
- 将项目许可证更新为与 SeEx 一致的 Ref42 非商业性相同方式共享许可证。
- 增加与 SeEx 风格一致的中文和英文 README 文档。
- 更新 KiCad
3D导出,直接写入下载的 STEP 数据,不再执行耗时的二次解析和重写。 - 确认 KiCad STEP 下载使用与 Altium 相同的 LCSC 模型接口和 HTTP 连接方式。
- 更新 GitHub Release 发布流程,使用仓库中的 release note 作为发布说明。
- 保留 Windows、macOS、Linux、Fedora、Arch 等多平台 CLI 发布构建。
修复
- 从 KiCad 常规导出路径移除 STEP sanitizer,避免导出变慢以及意外重写模型几何。
- 修复 KiCad 模型导出进度计数中的 Rust 弃用警告。