pypi / mike
mike
What changed in mike 1 to 2, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-30.
13 breaking15 new APIs and options6 behavior and defaults6 fixes and other
See which of these apply to your code, ranked, in your agent:
npx @unstale/cli initmike 227 changes
Breaking changes 9
Empty commits are avoided by default; pass this option if you want empty commits.
Aliases can no longer be defined circularly.
Versions not starting with a digit, or with v followed by a digit, are treated as development versions and newer than ordinary versions.
The force option is no longer supported on subcommands that can push; users who need to force-push can use Git directly.
This option is no longer supported; use
--ignore-remote-statusinstead.This option is no longer supported; use
--alias-type=copyinstead.This option is no longer supported; use
--deploy-prefixinstead.This option is no longer supported; use Git to resolve conflicts instead.
Redirects to another page now include the query string.
New APIs and options 9
Adds support for ProperDocs.
Aliases are deployed using symbolic links by default; this can be configured with this command-line option.
The MkDocs plugin can configure alias deployment type.
A debug flag is available to help diagnose bugs with mike.
The MkDocs plugin can now specify a deployment prefix.
Arbitrary properties can now be applied to documentation versions.
Commit generation now supports Git committer name, email, and date environment variables.
The MkDocs plugin can now specify a redirect template.
Specific versions can now be hidden from the selector when using the default themes.
Behavior and default changes 5
New commits use DST timestamps when DST is in effect.
Supports ISO8601 and RFC 2822 values for GIT_COMMITTER_DATE.
Uses the built-in importlib in Python 3.10 and greater.
The port for
--dev-addris now optional and defaults to 8000.Configuration file discovery now looks for both mkdocs.yml and mkdocs.yaml.
Fixes and other changes 4
File names containing double-quotes or newlines are now supported.
Retrieval of Git user name and email now works with non-UTF8 encodings.
Aliases similar to preexisting versions, such as 1.0 and 1.0.0, can now be set properly.
The selector is fixed for the mkdocs and readthedocs themes when use_directory_urls is false.
mike 113 changes
Breaking changes 4
Deploying aliases now deploys redirect pages to the real version by default instead of copies.
The command is removed and replaced with an MkDocs plugin; remove any JS/CSS it added to your docs directory.
Python 3.6 or later is now required.
Names are now validated to ensure they are non-empty and contain no directory separator.
New APIs and options 6
This option allows updating an existing alias.
Pass this flag when deploying aliases to deploy copies instead of redirect pages.
Deploy docs to a subdirectory within the target branch using this option.
The command now supports custom templates.
mike now reads this setting from mkdocs.yml when it is set.
mike now reads this setting from mkdocs.yml when it is set.
Behavior and default changes 1
The default redirect template now supports redirection when JavaScript is disabled.
Fixes and other changes 2
Canonical URLs in generated documentation now point to the correct location.
The command now checks for existing aliases to prevent setting an alias for two different versions.