- When deploying using a deploy prefix, only delete stale versions of the docs within that prefix
- Remove ambiguity of some Git commands so that file and branch names don't collide
- Support using environment variables for
INHERIT
when injecting themike
plugin intomkdocs.yml
- When calling
set-default
, you can now pass--allow-undefined
to set the default to a version that doesn't exist yet - Add global-level
-q
/--quiet
option to suppress warning messages - Add support for handling
!relative
inmkdocs.yml
- When loading an MkDocs config, mike now runs the
startup
andshutdown
events
- Add support for applying arbitrary properties to documentation versions
- Add support for hiding specific versions from the selector when using the default themes
- Deploy aliases using symbolic links by default; this can be configured via
--alias-type
on the command line oralias_type
in themike
MkDocs plugin - Avoid creating empty commits by default; if you want empty commits, pass
--allow-empty
- Look for both
mkdocs.yml
andmkdocs.yaml
configuration files - Support
GIT_COMMITTER_(NAME|EMAIL|DATE)
when generating commits - Allow specifying
alias_type
,redirect_template
, anddeploy_prefix
in themike
MkDocs plugin - Add a
--debug
flag to help diagnose bugs with mike - Port number is now optional for
--dev-addr
inmike serve
, defaulting to 8000
--prefix
is now--deploy-prefix
--no-redirect
is now--alias-type=copy
--ignore
is now--ignore-remote-status
-f
/--force
is no longer supported on subcommands that can push (this option was too error-prone, and users who really need to force-push can use Git directly)--rebase
is no longer supported (instead of using this, it's better to use Git to resolve any conflicts)
- Aliases that are "similar" to preexisting versions (e.g.
1.0
and1.0.0
) can now be set properly - Versions that don't start with a digit (or
v
and then a digit) are now treated separately from other versions: they're considered development versions, and thus newer than "ordinary" versions - Fix retrieval of Git user name/email when using non-UTF8 encodings
- Fix version selector for
mkdocs
andreadthedocs
themes whenuse_directory_urls
is false - When redirecting to another page, include the
?query
- Ensure that aliases cannot be circularly defined
- Support file names with double-quotes or newlines
- Improve support for shell-completion
- Fix support for Unicode in redirection templates
- Properly decode paths in the development server
- Add support for
!ENV
andINHERIT
inmkdocs.yml
- Add
mike generate-completion
to generate shell-completion functions
- When redirecting to another page, include the
#hash
- Ensure the MkDocs
search
plugin is correctly enabled when building via mike
- Remove
mike install-extras
and replace it with an MkDocs plugin; if you previously usedinstall-extras
, be sure to remove the added JS/CSS from your docs directory - When deploying aliases, deploy redirect pages to the real version by default;
pass
--no-redirect
to deploy copies - Improve the default redirect template to support redirection when the user has disabled JavaScript
- Allow deploying docs to a subdirectory within the target branch via
--prefix
- Add support for custom templates with
mike set-default
- Read from
remote_branch
andremote_name
if set inmkdocs.yml
- Allow updating an existing alias with
mike alias -u
- Require Python 3.6+
- Remove support for installing extras for
material
theme sincematerial
now has built-in support for mike
- Canonical URLs in generated documentation now point to the correct location
mike alias
now checks for existing aliases to prevent erroneously setting an alias for two different versions- Replace
packaging
dependency withverspec
for future stability - Validate version and alias names to ensure they're non-empty and don't contain a directory separator
- Add support for
mkdocs.yml
files using!!python
tags
- Fix some cases of
material
theme's version selector failing to load - Add support for
material
v5.0+
- Add support for custom
site_dir
inmkdocs.yml
- Preserve quotes in
mkdocs.yml
when runninginstall-extras
- Fix version selector with
material
theme when on homepage
- Add support for the
material
theme - Add support for
mkdocs-bootswatch-classic
themes
- Drop support for Python 2
- Update version selector extras for the
mkdocs
theme to work with both MkDocs 1.0 and 1.1
- Fix using
mike
from subdirectories in some more cases
- Fix using
mike
commands from non-root directories of your project
- Add support for listing doc version in JSON format via
-j
/--json
- Allow changing where aliases point to when deploying, using the
-u
/--update-aliases
option
- Selectively require
enum34
in a Wheel-compatible way
- Include
templates/index.html
in source dists (fixesmike set-default
)
- Add support for Python 3.7 as well as newer versions of
ruamel.yaml
- Support defining theme in
mkdocs.yml
as a mapping instead of just a string
- Fix version selection on real Github pages
- Allow re-specifying aliases if they're already set for a version
- Add an
alias
command to copy an existing set of docs to a new alias
- Change the name of the
rename
command toretitle
- Fix handling of remotes so that local changes aren't wiped out
- Rework aliasing to be persistent across deployments
- Add support for locally-serving documentation for testing purposes