Skip to content

v0.7.0

Choose a tag to compare

@agentfirstkit agentfirstkit released this 22 Aug 17:09
· 2 commits to main since this release
  • Run Unicode case mapping before character filtering, so every scalar in a slug is one the configured character set admits — İstanbul now slugs to i-stanbul instead of leaving a combining dot the filter would never have kept
  • Refuse a replacement_delimiter the same configuration would keep from the input, before any input is read, so two different inputs can no longer collapse to one slug and the trim can no longer eat real characters off real words
  • Require an EmptyOutputPolicy::UseFallbackSlug value to satisfy the configuration it stands in for — character set, delimiter, dot policy, case and length — instead of reporting an arbitrary string as validated
  • Add EmptyOutputPolicy::UseVerbatimFallbackSlug and the afslug slugify --fallback-verbatim flag for a fallback that must match an already-stored value, checking only the target surface; passing both fallback flags is an error
  • Document in the skill that a slug is not an identifier and that Unicode normalization is the caller's half of a stable-identifier contract, and add a README upgrade section naming both behavior changes for callers with stored slugs
  • Upgrade Agent-First Data to 0.34.0 and refresh the dependency lock
  • Run the pinned ShellCheck version in this repository's own CI, so shell scripts are judged by the same rules as the monorepo gate rather than by whatever the runner image ships
  • Verify the release job is building the tag it was asked for, assert the built binary reports that tag's version, and upload release assets without ever replacing bytes already attached to the release
  • Publish the release checksum file in one canonical spelling on every platform, instead of letting Git Bash's binary-mode sha256sum write a line the upload refuses
  • Pin the release matrix to explicit runner images instead of floating -latest labels