Changelog for dojang-0.2.0
Dojang changelog
Version 0.2.0
Released on January 19, 2026.
-
The
dojang initcommand now generates .gitignore if the source directory is a Git repository and the file does not exist yet. [#16] -
Fixed a bug that Dojang had not recognized
kernel.releasefield in a dojang-env.toml file unlike how it was documented and howdojang envcommand have behaved. [#17] -
Added disambiguation for ambiguous source paths in the
dojang reflectcommand. When multiple routes map to the same destination, Dojang now:- Auto-selects the route if only one source file exists
- Shows an interactive prompt with full source paths and
(exists)labels - Warns when multiple source files exist (potential configuration issue)
- Supports
DOJANG_AUTO_SELECTenvironment variable (first,error) - Accepts
--sourceoption to explicitly specify which source to use
[#22]
-
Added the
dojang editcommand which opens the source file of a target file in the user's editor and applies changes after editing. [#21]- Editor detection priority:
--editoroption →$VISUAL→$EDITOR→ platform default (notepadon Windows,vion POSIX) - Use
--no-applyflag to skip automatic apply after editing - Use
--forceflag to skip conflict warnings - Use
--sequentialflag to edit files one at a time - Use
--sourceoption orDOJANG_AUTO_SELECTto resolve ambiguous routes - Non-existent target paths create empty source files before editing (prompts for route selection if multiple routes match)
- Editor detection priority:
-
Added a registry file (~/.dojang) that stores the repository path. This allows the
dojang editcommand to work from any directory. [#21]- Created automatically during
dojang apply - If the registry points to a different repository, Dojang prompts to overwrite (in interactive mode) or overwrites silently (in non-interactive mode)
- Created automatically during
-
Enhanced
dojang reflectanddojang editcommands to support batch operations. [#18]- Without arguments, shows all changed files and prompts for confirmation before processing
- Use
--all/-aflag to process all changed files without prompting - Directory arguments process all changed files within the directory
- Ignored files are skipped by default with a warning; use
--forceto include them - Use
--include-unregistered/-uflag to include unregistered files found in destination directories (prompts for route selection in interactive mode;dojang reflectonly, not yet fordojang edit)
-
Added pre/post apply hooks that run custom scripts before and after the
dojang applycommand. [#19]pre-apply: Runs before every applypre-first-apply: Runs only on first apply (when ~/.dojang doesn't exist)post-first-apply: Runs only on first apply, after file syncpost-apply: Runs after every apply- Hooks support conditional execution via
whenfield using environment predicates - Use
ignore-failure = trueto continue even if a hook fails - In dry-run mode, hooks print “Would run hook: …” instead of executing
- Environment variables available to hooks:
DOJANG_REPOSITORY,DOJANG_MANIFEST,DOJANG_DRY_RUN,DOJANG_OS,DOJANG_ARCH
Version 0.1.0
Initial release. Released on November 26, 2023.