Releases: aipartnerup/apdev
Releases · aipartnerup/apdev
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
Release 0.1.5
Changed
- Use language-prefixed git tags (
python/v0.1.5) to support monorepo with independent package versions - URL-encode tag in GitHub API calls to handle
/in tag names
Release 0.1.4
Fixed
- Fix release script version check to use
PACKAGE_NAMEwhen reading init.py
Release 0.1.3
Fixed
- Fix release script version check to use Python package import name derived from project name (hyphen to underscore)
Release 0.1.2
Fixed
- Fix PyPI version check false positives: use exact match instead of
grep -wto prevent partial version matching (e.g.0.2.0matching0.2.0.1) - Fix
sedRE error on macOS when detecting GitHub repo from git remote (BSD sed doesn't support non-greedy.+?)