- Add support for ProperDocs
- Use DST timestamps for new commits when DST is in effect
- Support ISO8601 and RFC 2822 values for
GIT_COMMITTER_DATE
- Use built-in
importlibin Python 3.10 and greater
- 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
INHERITwhen injecting themikeplugin intomkdocs.yml
- When calling
set-default, you can now pass--allow-undefinedto set the default to a version that doesn't exist yet - Add global-level
-q/--quietoption to suppress warning messages - Add support for handling
!relativeinmkdocs.yml
- When loading an MkDocs config, mike now runs the
startupandshutdownevents
- 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-typeon the command line oralias_typein themikeMkDocs plugin - Avoid creating empty commits by default; if you want empty commits, pass
--allow-empty - Look for both
mkdocs.ymlandmkdocs.yamlconfiguration files - Support
GIT_COMMITTER_(NAME|EMAIL|DATE)when generating commits - Allow specifying
alias_type,redirect_template, anddeploy_prefixin themikeMkDocs plugin - Add a
--debugflag to help diagnose bugs with mike - Port number is now optional for
--dev-addrinmike serve, defaulting to 8000
--prefixis now--deploy-prefix--no-redirectis now--alias-type=copy--ignoreis now--ignore-remote-status-f/--forceis 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)--rebaseis 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.0and1.0.0) can now be set properly - Versions that don't start with a digit (or
vand 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
mkdocsandreadthedocsthemes whenuse_directory_urlsis 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
!ENVandINHERITinmkdocs.yml - Add
mike generate-completionto generate shell-completion functions
- When redirecting to another page, include the
#hash - Ensure the MkDocs
searchplugin is correctly enabled when building via mike
- Remove
mike install-extrasand 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-redirectto 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_branchandremote_nameif set inmkdocs.yml - Allow updating an existing alias with
mike alias -u
- Require Python 3.6+
- Remove support for installing extras for
materialtheme sincematerialnow has built-in support for mike
- Canonical URLs in generated documentation now point to the correct location
mike aliasnow checks for existing aliases to prevent erroneously setting an alias for two different versions- Replace
packagingdependency withverspecfor future stability - Validate version and alias names to ensure they're non-empty and don't contain a directory separator
- Add support for
mkdocs.ymlfiles using!!pythontags
- Fix some cases of
materialtheme's version selector failing to load - Add support for
materialv5.0+
- Add support for custom
site_dirinmkdocs.yml
- Preserve quotes in
mkdocs.ymlwhen runninginstall-extras
- Fix version selector with
materialtheme when on homepage
- Add support for the
materialtheme - Add support for
mkdocs-bootswatch-classicthemes
- Drop support for Python 2
- Update version selector extras for the
mkdocstheme to work with both MkDocs 1.0 and 1.1
- Fix using
mikefrom subdirectories in some more cases
- Fix using
mikecommands 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-aliasesoption
- Selectively require
enum34in a Wheel-compatible way
- Include
templates/index.htmlin source dists (fixesmike set-default)
- Add support for Python 3.7 as well as newer versions of
ruamel.yaml
- Support defining theme in
mkdocs.ymlas 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
aliascommand to copy an existing set of docs to a new alias
- Change the name of the
renamecommand 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