Release Notes: v0.4.0¶
Release Date: 2026-02-21
Overview¶
VideoAsCode v0.4.0 is a major release that renames the project from marp2video to videoascode with a new CLI name vac. This release also includes a refactor to use the external ffutil package for FFmpeg operations.
Highlights¶
- Project Renamed -
marp2video→videoascode - CLI Renamed -
marp2video→vac - Go Module Path Changed -
github.com/grokify/marp2video→github.com/grokify/videoascode
Breaking Changes¶
This release contains breaking changes that require user action:
CLI Rename¶
The command-line tool is now vac instead of marp2video:
# Before (v0.3.0)
marp2video slides video --input slides.md --output video.mp4
# After (v0.4.0)
vac slides video --input slides.md --output video.mp4
Update any scripts, aliases, or CI/CD pipelines that reference marp2video.
Go Module Path¶
The Go module path has changed:
// Before (v0.3.0)
import "github.com/grokify/marp2video/pkg/video"
// After (v0.4.0)
import "github.com/grokify/videoascode/pkg/video"
Update your go.mod and imports if you depend on this module.
Config Directory¶
The user configuration directory has changed:
| Version | Path |
|---|---|
| v0.3.0 | ~/.config/marp2video/ |
| v0.4.0 | ~/.config/videoascode/ |
If you have custom dictionaries or configuration, move them to the new location:
Changes¶
FFmpeg Operations Refactored¶
The project now uses the external ffutil package for FFmpeg and FFprobe operations. This provides:
- Type-safe FFmpeg command building
- Consistent error handling
- Reusable FFmpeg utilities across projects
Installation¶
Build from Source¶
Go Install¶
Migration Guide¶
Step 1: Update CLI References¶
Replace marp2video with vac in:
- Shell scripts
- Makefile targets
- CI/CD configurations
- Documentation
Step 2: Update Go Imports (if applicable)¶
If you import this module in Go code:
# Replace imports
find . -name "*.go" -exec sed -i '' \
's|github.com/grokify/marp2video|github.com/grokify/videoascode|g' {} +
# Update dependencies
go mod tidy