dotbins v1.0.0 Release Notes
Release Date: April 1, 2025
This release marks a significant milestone for dotbins
: the transition to version 1.0.0. After a period of rapid initial development, encompassing over 50 releases and substantial feature refinement within a short timeframe, dotbins
is now considered to have a stable public API.
What v1.0.0 Means
Adopting version 1.0.0 signifies our commitment to API stability and adherence to Semantic Versioning 2.0.0.
- Stable Public API: The core commands (
sync
,get
,init
,list
,status
,readme
,version
), their arguments, and the structure of thedotbins.yaml
configuration file are now considered stable. - Backward Compatibility: Going forward, any changes introduced in minor (
1.x.0
) or patch (1.0.x
) releases will be backward-compatible. Breaking changes will necessitate a major version increment (e.g.,2.0.0
). - Maturity: This release indicates that the primary features are well-defined and the package is suitable for general use in managing CLI tools within dotfiles repositories.
Users can now integrate dotbins
into their workflows with increased confidence in the stability and predictability of future updates.
Key Features Reaching Stability in v1.0.0
The core functionality established during the 0.x releases is now formalized under the v1.0.0 stable release:
- Cross-Platform Binary Management: Download and manage CLI tool binaries from GitHub Releases across macOS, Linux, and Windows.
- Dotfiles Integration: Designed specifically for managing tools within a version-controlled dotfiles repository (optionally using Git LFS).
- Configuration-Driven Updates: Use
dotbins sync
with adotbins.yaml
file to define, install, and update multiple tools across configured platforms and architectures. - Direct Installation: Use
dotbins get
for quick, configuration-free installation of single tools or tools from a remote configuration file. - Automated Shell Integration: Automatically generates shell scripts (
bash
,zsh
,fish
,nushell
,powershell
) to add binaries to thePATH
and apply tool-specific configurations defined viashell_code
in the config file. - Flexible Configuration: Supports auto-detection of assets and binary paths, custom asset patterns with variables (
{version}
,{platform}
,{arch}
), platform/architecture mapping, and preferences for asset types (e.g.,musl
vsglibc
,AppImage
, Windows ABI). - Version Tracking: Maintains a
versions.json
file to track installed tool versions and update timestamps.
Changes in this Release
The primary change in v1.0.0 is the formal declaration of API stability and the adoption of Semantic Versioning principles for future development. There are no breaking functional changes compared to the latest 0.x releases. This version consolidates the features and fixes introduced over the previous 50+ releases into a stable base.
Looking Ahead
With the 1.0.0 release establishing a stable foundation, future development will focus on:
- Maintaining adherence to Semantic Versioning.
- Improving reliability and addressing bugs (patch releases).
- Potentially adding new, backward-compatible features (minor releases).
- Responding to community feedback and contributions.
Installation / Upgrade
To install or upgrade to dotbins
v1.0.0:
Using uv
:
# Install globally
uv tool install dotbins --upgrade
# Or run directly
uvx dotbins --version
Using pip
:
pip install --upgrade dotbins
I thank the early users and community members whose usage and feedback (implicitly through GitHub stars and issue tracking) have helped shape dotbins
into its current form. Please continue to report issues or suggest features via the GitHub repository.