a7p 1.2.4 copy "a7p: ^1.2.4" to clipboard
a7p: ^1.2.4 copied to clipboard

A7P ballistic profile format — encode/decode, validation, and field constraints.

Changelog #

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning. Generated from the repo root's CHANGELOG.md (the single source of truth, including this package's full history — see that file's own header) by scripts/ci/sync_changelogs.py — edit that file, not this one, then regenerate.

Unreleased #

1.2.4 - 2026-07-16 #

Changed #

  • Regenerated lib/src/generated/a7p_schema.g.dart via scripts/compile.py — same annotation-only schema/a7p.schema.json change as js/ above, no validation behavior changed (x-* keys are ignored by json_schema).

1.2.3 - 2026-07-14 #

Fixed #

  • Same minLength fix as py/, regenerated into lib/src/generated/a7p_schema.g.dart

1.2.2 - 2026-07-09 #

No changes since 1.2.1 (patch has been applied to js package) #

1.2.1 - 2026-07-09 #

No changes since 1.2.0 (patch has been applied to js package) #

1.2.0 - 2026-07-08 #

Changed #

  • Validation now runs against the shared schema/a7p.schema.json via the json_schema package instead of hand-written A7pValidator/ A7pFieldConstraints range checks — the schema is embedded as a generated Dart string constant (lib/src/generated/a7p_schema.g.dart, regenerated by python scripts/compile.py --dart), since no standalone-codegen JSON Schema validator exists for Dart
  • c_zero_distance_idx no longer bounds dynamically by distances.length - 1; now the static 0–255 range, matching py/js
  • proto/profedit.proto now lives once at the repo root instead of a local copy under proto/

Added #

  • Test suite (test/a7p_validator_test.dart, 9 tests) covering real protobuf Payload objects, including the c_idx 201–254 gap and mv uniqueness
  • "Dimensions" table in README.md (previously missing, unlike py/js)

0.1.0 - 2026-07-05 #

First stable release, no changes from 0.1.0-beta.1.

0.1.0-beta.1 - 2026-07-04 #

Added #

  • A7pFile.a7p binary format encode/decode ([32-byte MD5 hex string][protobuf bytes])
  • A7pValidator — profile field validation
  • A7pFieldConstraints — per-field raw wire scale (fractionDigits) and independent UI display precision (uiFractionDigits)
  • Generated protobuf bindings (lib/src/proto/) from proto/profedit.proto
  • bin/generate_proto.dart — regenerates the protobuf bindings; cross-platform replacement for the shell-based protoc invocation used in the original monorepo Makefile
  • Test suite (test/a7p_field_constraints_test.dart)
  • CI workflow (.github/workflows/ci.yml): analyze, format check, test (Linux/macOS/Windows), pub.dev dry-run jobs

Initial extraction from archerbc2_flutter/packages/a7p into a standalone package.

0
likes
130
points
811
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

A7P ballistic profile format — encode/decode, validation, and field constraints.

Repository (GitHub)
View/report issues

License

LGPL-3.0 (license)

Dependencies

crypto, json_schema, path, protobuf

More

Packages that depend on a7p