Releases: aipartnerup/apdev
Releases · aipartnerup/apdev
Release 0.2.0
Release version 0.2.0
Release 0.1.0
Added
- check-chars: Character validation for source files
- ASCII + emoji + technical symbols (arrows, box-drawing, math operators)
- Dangerous invisible/bidi character detection (Trojan Source - CVE-2021-42574)
- Comment-aware checking for
.rs,.py,.js,.ts,.tsx,.jsxfiles - Built-in charset presets:
chinese,japanese,korean - Custom charset JSON file support
APDEV_EXTRA_CHARSenvironment variable fallback- Automatic directory walking with configurable skip lists
- Default project paths:
src/,tests/,examples/, and config files
- release: Interactive release automation for crates.io
- Auto-detect project name from
Cargo.tomland GitHub repo from git remote - Step-by-step menu: version verify, test, build, tag, GitHub release, publish
- Silent mode (
--yes) for CI/CD
- Auto-detect project name from
- Pre-commit hook integration via
language: system
Removed
check-importscommand (Python-specific, not applicable to Rust projects)config.rs/pyproject.tomlconfig loader (no longer needed)tomldependency
Release 0.2.2
Release version 0.2.2
Release 0.2.1
Release version 0.2.1
Release 0.2.3
Release version 0.2.3
See CHANGELOG.md for details.
Release 0.2.2
Release version 0.2.2
See CHANGELOG.md for details.
Release 0.2.1
Fixed
- Release script version check now supports dynamic versions via
importlib.metadata(not just static__version__ = "x.x.x") - Added hint message suggesting
pip install -e .when version mismatch is detected
Release 0.2.0
Added
- Custom charset support via shared JSON definition files (
shared/charsets/) loadCharset(nameOrPath)— load a bundled preset (e.g.chinese) or custom JSON fileresolveCharsets(charsetNames, charsetFiles)— merge base + extra charsets with deduplication- Bundled charset presets:
base,chinese,japanese,korean - CLI
--charsetflag (repeatable) to enable preset charsets - CLI
--charset-fileflag (repeatable) to load custom charset JSON files APDEV_EXTRA_CHARSenvironment variable — comma-separated charset names or file paths, used as fallback when no CLI args providedcheck-chars: Block Elements (U+2580-U+259F) and Braille Patterns (U+2800-U+28FF) to default allowed ranges- Exported
isDangerousCharfrom public API (index.ts) - Exported
RangeEntry,DangerousEntry,CharsetDatainterfaces
Changed
- Character ranges and dangerous codepoints now loaded from
charsets/base.jsoninstead of hardcoded constants checkFile()andcheckPaths()accept optionalextraRangesanddangerousMapparams for custom charset supportisAllowedChar()now excludes dangerous codepoints (Trojan Source vectors) even though they fall within the General Punctuation allowed rangetypescriptmoved fromdependenciesto optionalpeerDependencies— build output reduced from 9.50 MB to 17.88 KB- Commander.js
--yesoption syntax fixed to-y, --yes
Fixed
isAllowedChar()previously returnedtruefor dangerous codepoints (U+200B, U+202E, etc.) because they fall within the General Punctuation range (U+2000-U+206F)checkFile()now uses lazy-loaded cache instead of re-parsingbase.jsonon every call- Error details now included in file read failure messages
Release 0.2.0
Added
- Custom charset support via shared JSON definition files (
shared/charsets/) load_charset(name_or_path)— load a bundled preset (e.g.chinese) or custom JSON fileresolve_charsets(charset_names, charset_files)— merge base + extra charsets with deduplication- Bundled charset presets:
base,chinese,japanese,korean - CLI
--charsetflag (repeatable) to enable preset charsets - CLI
--charset-fileflag (repeatable) to load custom charset JSON files APDEV_EXTRA_CHARSenvironment variable — comma-separated charset names or file paths, used as fallback when no CLI args providedcheck-chars: Block Elements (U+2580-U+259F) and Braille Patterns (U+2800-U+28FF) to default allowed ranges
Changed
- Character ranges and dangerous codepoints now loaded from
charsets/base.jsoninstead of hardcoded constants check_file()andcheck_paths()accept optionalextra_rangesanddangerouskwargs for custom charset supportis_allowed_char()now excludes dangerous codepoints (Trojan Source vectors) even though they fall within the General Punctuation allowed range
Fixed
is_allowed_char()previously returnedTruefor dangerous codepoints (U+200B, U+202E, etc.) because they fall within the General Punctuation range (U+2000-U+206F)load_charset()now catches all exceptions fromimportlib.resources(not justFileNotFoundError)check_file()now uses lazy-loaded cache instead of re-parsingbase.jsonon every call
Release 0.1.6
Added
check-chars: Dangerous character blacklist (bidi controls + zero-width chars, CVE-2021-42574) with comment-aware detection — flags in code, allows in commentscheck-chars:is_dangerous_char()public function andDANGEROUS_CODEPOINTSconstantcheck-chars: Comment region detection state machine for Python (#) and JS/TS (//,/* */) with string literal trackingcheck-imports: Relative import support —from .foo import xandfrom . import foonow resolve correctly for cycle detection
Fixed
check-imports:ImportAnalyzernow handlesnode.level > 0(relative imports) by resolving againstcurrent_modulewith correct package vs module distinction