v0.40.1 (2026-01-31)
Enhancements
- Remove link to source from generated .md files
- Improve word-breaking of module names and sizing of main page titles
- Include description in llms.txt
Bug fixes
- Fix headers in custom groups
v0.40.0 (2026-01-20)
Enhancements
- Introduce Markdown formatter (thanks to Yordis Prietro)
- Generate a
llms.txtdocument by default and add a "Copy Markdown" button to the top of every page - Run retriever only once per formatter
- Support anchors on redirects
Bug fixes
- Copy button on
erlandiexsnippets now include prompts - Fix headers having wrong selectors due to whitespace minification
- Only include
.htmllinks on Swup
- Copy button on
Breaking changes
- Revamp the ExDoc entrypoint and formatter API. While those have never been made public, others may have relied on it. We have now changed and documented them on the path to standardization
- The previously deprecated :assets option will raise if given a string, pass a map instead
v0.39.3 (2025-12-09)
- Enhancements
- Add the option to trim down the footer
v0.39.2 (2025-12-04)
- Bug fixes
- Do not strip hrefs on summaries
- Show go to latest for prereleases
- Prevent fake italic in autocomplete text
- Rename "Search Hexdocs" link to "Go to package docs"
v0.39.1 (2025-10-23)
- Bug fixes
- Improve box-shadow around autocompletion
- Trim search engine selector on small screens
- Fix admonition titles on small screens
v0.39.0 (2025-10-23)
- Enhancements
- Allow custom search engines to be configured with support for
https://hexdocs.pm - Improve admonition blocks so they better integrate with the page flow
- Allow custom search engines to be configured with support for
- Bug fixes
- Add .cheatmd to EPUB to avoid broken links
- Backwards incompatible changes
- Validate :extras fields: if you were previously setting them to unexpected values, you may now get an exception
- Setting
exdoc:full-text-search-urlmetadata is no longer supported, using the new search engines configuration
v0.38.4 (2025-09-09)
- Bug fixes
- Fix escaping of links when they have ampersand in them
- Increase spacing of footers in pages
- Align stale icon positioning
v0.38.3 (2025-08-17)
- Enhancements
- Allow configuring autocomplete limit, and default it to 10 instead of 8
- Display description text in docs groups
- Load discovered makeup apps for CLI
v0.38.2 (2025-05-27)
- Bug fixes
- Render documents with hardcoded
<h2>/<h3>entries correctly - Fix padding on external links
- Render documents with hardcoded
v0.38.1 (2025-05-12)
- Bug fixes
- Ensure stripping apps for Erlang sources emit valid AST
v0.38.0 (2025-05-09)
Enhancements
- Allow listing outside URLs in extras
Bug fixes
- Ensure some cases where
<,>,&and in headers would appear as entities in the sidebar - Fix outline caused by swup.js on Webkit based browsers
- Fix bugs when computing synopsis
- Automatically close the sidebar when navigating sections on mobile
- Ensure some cases where
v0.37.3 (2025-03-06)
- Bug fixes
- Handle
http-equiv=refreshduring Swup.js navigation - Include full error description when syntax highlighting fails
- Handle
v0.37.2 (2025-02-19)
- Bug fixes
- Fix code highlighting for languages with non-alphanumeric characters
v0.37.1 (2025-02-10)
Enhancements
- Support umbrella projects via the CLI
Bug fixes
- Make sure docs are rendered inside iframes
v0.37.0 (2025-02-05)
Thanks to @liamcmitchell and @hichemfantar for the extensive contributions in this new release.
Enhancements
- Optimize and parallelize module retriever, often leading to 20x-30x faster docs generation
- Considerably improve page loading times in the browser
- Allow customizing
search_datafor extra pages - Use native style for scroll bars
- Enhance links between extras/pages/guides with padding and hover effects
- Go to latest goes to the same page if it exists, root otherwise
- Apply new style and layout for tabs
- Increase font-weight on sidebar on Apple machines/devices
- Improve accessibility across deprecation, links, and summaries
- Add compatibility to Erlang/OTP 28+
- Rely on the operating system monospace font for unified experience and better load times
- Introduce
"exdoc:loaded"window event to track navigation - Support for favicons
Bug fixes
- Move action links out from heading tags
v0.36.1 (2024-12-24)
Enhancements
- Show a progress bar if navigation takes more than 300ms
Bug fixes
- Fix dark mode styling on cheatsheets
- Ensure the sidebar closes on hosting navigation in mobile
v0.36.0 (2024-12-24)
Enhancements
- Use swup.js for navigation on hosted sites
- Support
:groupin documentation metadata for grouping in the sidebar - Support
:default_group_for_docin configuration to set the default group for functions, callbacks, and types - Add
--warnings-as-errorsflag tomix docs
Bug fixes
- Fix typespec with
(...) -> any() - Do not trap
tabcommands in the search bar
- Fix typespec with
v0.35.1 (2024-11-21)
- Bug fixes
- Make sure symlinks are copied from assets directory
- Discard private functions documented by EDoc
v0.35.0 (2024-11-19)
Enhancements
- Store
proglanginsearchdata.js - Allow searching for atoms inside backticks
- Add support for nominal types from Erlang/OTP 28
- Support a new
:redirectsoption which allows configuring redirects in the sidebar - Improve warning when referencing type from a private module
- Rename "Search HexDocs package" modal to "Go to package docs"
- Support built-in Erlang/OTP apps in "Go to package docs"
- Store
Bug fixes
- Switch anchor
titletoaria-label - Convert admonition blockquotes to sections for screen reader users
- Fix code copy buttons within tabsets
- Switch anchor
v0.34.2 (2024-07-08)
Enhancements
- Allow anchors on function and callback autolinks
Bug fixes
- Make module attributes searchable without leading @
- Make Mod.fun pairs searchable without the arity
- Do not emit warnings on unary plus in typespecs
- Add top margin to nested module prefix in sidebar
v0.34.1 (2024-06-30)
Enhancements
- Add a
vshortcut to open/focus the version select - Compatibility fixes for Elixir v1.17 and Erlang/OTP 27+
- Add a
Bug fixes
- Do not crash on unknown media types in assets during EPUB generation
- Fix slight shift on search bar input during focus
- Avoid unwanted showing/hiding of search bar on mobile when scrolling
v0.34.0 (2024-05-30)
This release requires Elixir v1.13.
Enhancements
- Allow several assets to be copied by passing a map to
:assets - Improve compatibility when hosting ExDoc on a platform that strips
.html
- Allow several assets to be copied by passing a map to
Bug fixes
- Link to the latest version of Erlang/OTP docs
Deprecations
- Deprecate passing a binary to
:assets
- Deprecate passing a binary to
v0.33.0 (2024-05-21)
- Enhancements
- Keep the sidebar light in light mode
v0.32.2 (2024-05-10)
Enhancements
- Allow the modal to close when we click outside the modal content
Bug fixes
- Fix indentation of -spec/-type in Erlang
- Fix Mix task autolink for tasks with underscores
- Avoid conflicts between custom headers with tooltips/modals
v0.32.1 (2024-04-12)
- Bug fixes
- Add version dropdown back on hexdocs.pm
- Improve search input styling and scrolling
v0.32.0 (2024-04-10)
Enhancements
- Add the ability to see previews during autocompletion
- Remove serif font for content and prefer using the operating system font instead
- Allow the search bar to be focused at any moment
- Make functions acceptable for
:skip_undefined_reference_warnings_on - Make functions acceptable for
:skip_code_autolink_to - Allow using meta tags to disable autocompletion and configure the full text search
Bug fixes
- Fix blockquote padding inside tabset on small screens
- Consistently index h2 and h3 headers
v0.31.2 (2024-03-05)
Enhancements
- Add
equivhandling for types and callbacks for Erlang - Add cmd-k/ctrl-k shortcut to focus searchbar
- Use dark backgrounds for admonition blocks in dark theme
- Autolink .cheatmd files
- Warn when extra link targets an application not in dependencies
- Add support for
before_closing_footer_tag
- Add
Bug fixes
- Fix sidebar toggle flickering on page load
- Fix background color inside code snippets with no language in dark mode
- Hide search bar and background layer on print
- Use blue links for Erlang
- Fix logo not declared in EPUB's OPF manifest
- Escape URIs and titles in EPUB
- Fix URL slug not updating on anchor clicks
v0.31.1 (2024-01-11)
- Enhancements
- Make the sidebar horizontally resizable
- Show the sidebar button and search bar on scroll up on mobile devices
- More improvements to Erlang/OTP 27 support
- Document that
source_url_patterncan be a fun - Support
Module
v0.31.0 (2023-12-11)
Enhancements
- Allow searching atoms, module attributes, and words finishing with
?and! - Support upcoming Erlang/OTP 27 documentation format
- Include prebuilt binaries on every release
- Add borders dividing table rows in rendered content
- Add accurate warnings for missing docs from Elixir v1.16+
- Support
e:dep:some-page.mdfor explicitly linking to a page in a package - Support
m:SomeModulefor explicitly linking to a module - Add
noindexmeta tag to 404 and Search pages - Move search to the main content so we can display more results
- Warn when referencing functions, types, and callbacks from filtered out modules
- Allow searching atoms, module attributes, and words finishing with
Bug fixes
- Fix search for words with hyphens in them
- Fix search for contents inside EEx interpolation
v0.30.9 (2023-10-20)
Bug fixes
- Fix a scenario where invalid assets would be generated
Enhancements
- Add admonition EPUB styles
v0.30.8 (2023-10-17)
- Bug fixes
- Fix regression in umbrella applications
v0.30.7 (2023-10-15)
Bug fixes
- Do not crash on EDoc type annotations
- Do not crash on functions without name
- Handle remote types in records
- Fix scrolling to top on iOS
- Fix invalid output markup for “hover link” headings
Enhancements
- Support any String.Chars as the extra page name
- Improve screen reader accessibility
- Add
:skip_code_autolink_tooption
v0.30.6 (2023-08-25)
- Enhancements
- Extract title from Markdown file when preceded with comments
- Improve focus navigation in notebooks
v0.30.5 (2023-08-12)
- Bug fixes
- Fix style for code in headers
- Fix search data generation for Erlang/OTP
v0.30.4 (2023-08-03)
- Bug fixes
- Fix style for anchors in headers
v0.30.3 (2023-07-15)
Enhancements
- Compress search index before storing in local storage
Bug fixes
- Fix styling for headers on cheatsheets and small screens
v0.30.2 (2023-07-11)
- Bug fixes
- Fix escaping in
search_data.json - Skip vega-lite code blocks in
search_data.json
- Fix escaping in
v0.30.1 (2023-07-07)
- Bug fixes
- Fix styling for headers on cheatsheets and small screens
v0.30.0 (2023-07-07)
Enhancements
- Support tabsets (see the README for more information)
- Improve search results and indexing by storing more data and metadata
- Warn on invalid references in links
- Strike-through deprecated items on autocompletion
- Add source URL link to API reference page
- Allow multiple extra files with the same name by generating unique names in case of conflicts
Bug fixes
- Fix rendering of large code blocks in admonition texts
- Do not log errors on module mismatch in case-insensitive file systems
v0.29.4 (2023-03-29)
- Bug fixes
- Fix sidebar element with no children taking additional padding
- Fix elements being rendered too thick on macOS
- Fix rendering of HTML elements inside tooltips
v0.29.3 (2023-03-17)
Enhancements
- Propagate
:sincemetadata from modules - Add support for MFAs and maps in
before_closing_body_tagandbefore_closing_head_tag
- Propagate
Bug fixes
- Improve font consistency across different OSes
- Keep language class on livebook output code block
- Ensure switches have higher precedence than config
v0.29.2 (2023-03-02)
Enhancements
- Improvements to cheatsheets spacing
- Improvements to cheatsheets print
- Include sections of modules and extras in search suggestions
- Make sidebar links full-width and add hover states
- Improve clickable area of sidebar tabs
- Improve contrast on sidebar
Bug fix
- Add media type for .license files for epub
- Fix overscroll on the sidebar
- Focus search input immediately after keyboard shortcut
- Don't attempt parsing code blocks that don't look like modules
- Fix visited link color in admonition blocks
v0.29.1 (2022-11-21)
Enhancements
- Add optional function annotations
- Support media print on stylesheets
- Add download ePub link to footer
- Support extras for Erlang
- Add tooltip to functions on sidebar
- Disable spellcheck and autocorrect on search input
Bug fix
- Special handle functions called
record/*in Erlang
- Special handle functions called
Deprecations
- Rename
:groups_for_functionsto:groups_for_docs
- Rename
v0.29.0 (2022-10-19)
Enhancements
- Support cheatsheets as
.cheatmdfiles
- Support cheatsheets as
Bug fix
- Collapse sidebar when resizing page even if stored in the session as opened
v0.28.6 (2022-10-13)
Enhancements
- Add Elixir special punctuation ! and ? to natural sort
- Add night mode to settings pane
- Support --proglang in mix docs
- Save sidebar state per session
- Distinguish output code blocks in Livebooks
Bug fixes
- Prevent sidebar button scrolling out of view
- Prevent unreadable text when using inline code with admonition headers
v0.28.5 (2022-08-18)
Enhancements
- Do not preserve spaces from spec declaration in signature rendering
- Index hyphens in search
- Index
@in search - Change minimal package search length to 2
Bug fixes
- Remove extra
term()argument at start of@macrocallback
- Remove extra
v0.28.4 (2022-04-28)
Enhancements
- Add a toast when changing theme via keyboard
- Automatically convert
.livemdlinks to.htmlones - Show programming language in HTML footer
Bug fixes
- Properly escape
%/2special form - Improve ranking of exact-matching modules in search
- Properly escape
v0.28.3 (2022-03-23)
Enhancements
- Include page titles in autocomplete suggestions
- Allow theme to be set to "System" version
- Remove "Specs" heading and render full typespecs
- Support for
source_url_patternin config being a function
Bug fixes
- Adjustments for blockquotes and admonition blocks in dark mode
- Fix module sorting when a list of dirs is provided
- Consider casing of letters when sorting items in the menu, summary, function list, etc
v0.28.2 (2022-02-23)
- Bug fixes
- Fix links and code tags in admonition text blocks for dark mode
v0.28.1 (2022-02-20)
Enhancements
- Add support for admonition text blocks
- Improve accessibility for light and dark themes
Bug fixes
- Ensure that
mix docs --openworks on Windows - Ensure search tokenizer also splits on underscore
- Fix false warnings about missing types when running ExDoc in escript mode
- Don't navigate when clicking the current page
- Ensure that
v0.28.0 (2022-01-24)
ExDoc v0.28.0 requires Elixir v1.11+.
Enhancements
- Use custom scrollbar in the sidebar
- Keep hamburger absolute to the opened sidebar
- Support
--openflag onmix docs - The copy button now only copies selectable content
Bug fixes
- Make sure filename configuration in
:extrasis used across links - Ensure all
extraspages have a title generated - Fix margin on 3rd level headers and beyond
- Ensure a task that defines callbacks is still listed as a task
- Make sure filename configuration in
v0.27.3 (2022-01-12)
- Bug fixes
- Make HexDocs search case insensitive
- Improve sidebar open/close animation
v0.27.2 (2022-01-11)
- Bug fixes
- Fix version dropdown when hosted on HexDocs
- Fix tooltips
- Fix JavaScript error when Hex package information is not available
v0.27.1 (2022-01-11)
- Bug fixes
- Several usability fixes on the new layout
- Keep page ordering
v0.27.0 (2022-01-11)
- Enhancements
- Introduce new sidebar design
- Add
--quietoption to CLI - Support multiple formatters in the CLI
- Show structs as
%Struct{}instead of__struct__in the sidebar - Point Erlang links to
www.erlang.orginstead oferlang.org - Improvements to the night mode and styling
v0.26.0 (2021-11-21)
Backwards incompatible changes
:filter_prefixhas been renamed to:filter_modulesand supports anonymous functions:source_refnow defaults to"main"- Dropped support for smartypants in Markdown
Bug fixes
- Do not warn on links to sections
Enhancements
- Add copy button to code snippets
- Add
translate="no"to the relevant attributes to improve interoperability with automatic translation tools - Support optional module annotations
- Introduce a settings modal to group most of configuration
- Allow customizing the Livebook expansion URL
- Provide documentation on how to render plugins such as Katex, VegaLite, and Mermaid
v0.25.5 (2021-10-20)
- Bug fixes
- Do not duplicate API Reference title
- Update assets for Livebook badge functionality
v0.25.4 (2021-10-20)
Enhancements
- Add source link to pages in
:extras - Add "Run in Livebook" badge to
.livemdpages in:extras
- Add source link to pages in
Bug fixes
- Do not generate entries for private Erlang functions
- Do not trim
?and!from Elixir tokens on search
Incompatible changes
- Remove unused
:source_rootoption
- Remove unused
v0.25.3 (2021-09-21)
Enhancements
- Track user preference for sidebar state
Bug fixes
- Do not double escape page titles on the sidebar
- Do not fail when documenting cover compiled modules
- Don't crash upon doc chunks for unknown beam languages
v0.25.2 (2021-09-02)
- Enhancements
- Add support for Livebook's
.livemdMarkdown files - Preload all applications starting with
makeup_before doc generation - Add Hex package config and display "Find on Hex" footer links
- Add support for Livebook's
v0.25.1 (2021-08-02)
Enhancements
- Supporting grouping of callbacks
- Use shell lexer for code blocks with no language and starting with
$
Bug fixes
- Fix generating type signatures with maps
- Skip Erlang modules that have empty docs
- Skip Erlang functions that have empty docs
- Fix accidentally showing shape of opaque types
v0.25.0 (2021-07-20)
Enhancements
- Handle remote types when generating signatures, e.g.
@callback callback1(GenServer.options())becomescallback1(options) - Support Markdown processor options
- Add
--pathscommand line argument to prepend directories to the code path when generating docs - Make shell prompt,
$, not selectable forshell,sh,bashandzshcode blocks
- Handle remote types when generating signatures, e.g.
Bug fixes
- Fix custom links to undefined/hidden references
- Fix generating external links with
:depsconfiguration - Add ellipsis to more sections
Backwards incompatible changes
- Remove function landing pages
v0.24.2 (2021-04-06)
Enhancements
- Support stepped range syntax
Bug fixes
- Add spaces on paragraph endings for search results
- Fix bug defining app name in config
- Fix rendering void elements (
<br>etc)
v0.24.1 (2021-03-22)
- Bug fixes
- Fix generating function landing pages
v0.24.0 (2021-03-16)
Enhancements
- Drop jQuery and refactor JavaScript codebase
- Remove highlight.js in favour of migration to Makeup
- Change autolink to return both path and hash for the current module
- Add next/previous at the end of extra pages
- Improve search input blur handling
- Update erlang.org/man URL
- Add function landing page
Bug fixes
- Ignore extensions when generating external links
- Fix autolink to handle URIs with arbitrary scheme part without warning
- Fix undefined reference warning for typespecs
- Fix search click behavior when a suggestion refers the current page
- Don't crash when we can't format spec
- Fix HTML escaping
v0.23.0 (2020-10-12)
Requires Elixir v1.10.
Enhancements
- Improve warnings on broken references
- Support Elixir v1.12-dev
Bug fixes
- Respect deps config in autolink
- Fix html escaping in the sidebar entries
- Fix retrieving specs for macros with
when - Raise if none of :name or :app are found in mix.exs
- Don't crash on code blocks like "A.b.C"
v0.22.6 (2020-09-16)
- Bug fixes
- Properly fix CSS bug on headings
- Add expansion arrow to sections on sidebar
v0.22.5 (2020-09-13)
- Bug fixes
- Fix CSS bug on headings
v0.22.4 (2020-09-12)
- Enhancements
- Improve accessibility and add aria labels
- Show different title and message for a empty search value
v0.22.3 (2020-07-25)
- Bug fixes
- [HTML+EPUB] Remove overlapping functions from defaults
- [HTML] Don't show tooltip for module sections and non-html files
- [HTML] Make sure tooltips work with escape ids.
v0.22.2 (2020-07-20)
Enhancements
- [HTML+EPUB] Add support for path dependent markdown autolink (
feeddc1) - [HTML+EPUB] Improve auto-linking to callbacks and types (
12c0a01) - [HTML+EPUB] Replace
<kbd>with<kbd><kbd>when it represents keys to be hit (bd2b8df) - [HTML] Hide sidebar-over-content on click/tap outside it (
b050775) - [HTML] Redirect to correct file when changing version (
0f6f24b) - [mix docs] Allow files with no extension in extra files (
26b93b6) - [mix docs] Link to siblings in an umbrella (
b0d6fdd) - [mix docs] Switch to
earmark_parser. Runmix deps.unlock --unusedto remove the now unusedearmarkdependency. (021c772)
- [HTML+EPUB] Add support for path dependent markdown autolink (
Bug fixes
- [HTML+EPUB] Bring back auto-linking to Kernel and Kernel.SpecialForms (
fa174eb) - [HTML+EPUB] Escape HTML special characters in signature (
5fed479) - [HTML+EPUB] Fix auto-linking
./2and../2(2e40acb) - [HTML+EPUB] Fix list of basic types to auto-link (
6df4a3b) - [HTML+EPUB] Make HTML valid (
1187ace) - [HTML] Escape HTML special characters in sidebar (
d26ca71) - [HTML] Fix keyboard shortcuts on non US keyboard layouts (
829c4ee) - [HTML] Fix text overflow in sidebar (
a4ff547) - [HTML] Handle snake case terms in search results (
d511d55) - [mix docs] Don't crash on markdown that triggers warning (
e7cb79c)
- [HTML+EPUB] Bring back auto-linking to Kernel and Kernel.SpecialForms (
v0.22.1 (2020-05-19)
- Bug fixes
- [mix docs] Depend on earmark
~> 1.4.0 - [mix docs] Don't crash on comments in markdown
- [mix docs] Don't crash on HTML in markdown
- [mix docs] Depend on earmark
v0.22.0 (2020-05-11)
Enhancements
- [EPUB] Add epub to the default formatters
- [HTML+EPUB] Move specs out of signature
- [HTML+EPUB] Auto-link "erlang" types & callbacks
- [HTML+EPUB] Auto-link "erlang" modules in custom links
- [mix docs] Warn on broken references in dependencies (e.g.
`String.upcase/9`) - [escript] Add
--app - [HTML+EPUB] Auto-link to extras (e.g.
[foo](foo.md)) - [mix docs] Undefined references warning now includes the filename
- [mix docs]
:skip_undefined_reference_warnings_onnow also accepts a filename - [HTML+EPUB] Display moduledoc headings in the sidebar
Bug fixes
- [HTML] Fix hidden text selection, hide tooltips for details link
- [HTML+EPUB] Fix function name sorting (group operators together)
- [HTML+EPUB] Fix displaying nested modules
Backwards incompatible changes
- [mix docs] Remove built-in support for cmark markdown processor
- [mix docs] Replace
ExDoc.Markdown.to_html/2withto_ast/2 - [HTML+EPUB] Remove auto-linking for local calls to Kernel & Kernel.SpecialForms,
use fully qualified calls instead. (e.g. replace
`==/2`with`Kernel.==/2`.) - [mix docs]
:skip_undefined_reference_warnings_onno longer accepts extras id, use extras filename instead.
v0.21.3
Enhancements
- [HTML] Make "Exceptions" a module sub-grouping instead of a top-level group
- [HTML] Automatically group deprecated modules
- [HTML] Rely on
prefers-color-schemew/o night mode set - [HTML] Boost title on search results, add fun/arity to title
- [mix docs] Initial work on support for multiple languages
Bug fixes
- [HTML] Many improvements to the search engine
- [mix docs] Link to callback docs instead of copying them
v0.21.2
Enhancements
- [HTML] Add hardcoded packages to the quick-switch search results
- [HTML] Filter out packages without docs on HexDocs in quick-switch
- [HTML+EPUB] Support autolinking for multiple arities
- [mix docs] Avoid deprecation warnings on more recent earmark versions
- [mix docs] Warn on unavailable local functions
- [mix docs] Make invalid index redirect warning case-sensitive
- [mix docs] Ignore non-Elixir modules when missing chunk
Bug fixes
- [HTML+EPUB] Do not create a custom link when destination does not exist
- [EPUB] Hide screen reader elements
v0.21.1
- Bug fixes
- [HTML] Make sure package selector can be reopened after closed with
ESC - [HTML] Ensure tooltip pages can be cached
- [HTML] Support large version numbers on the version dropdown
- [mix docs] Raise nice exception for missing ExDoc.Config
- [HTML] Make sure package selector can be reopened after closed with
v0.21.0
Enhancements
- [HTML] Add support for reference popovers
- [HTML] Provide a "g" shortcut to Go To a Hexdocs package (with autocomplete)
- [HTML] Detect if browser prefers night mode
- [EPUB] Add support for covers and the authors field
Bug fixes
- [HTML+EPUB] Ensure that link headers generate unique IDs
- [HTML+EPUB] Sort structs fields so field names are always ordered
- [HTML+EPUB] Do not strip "Elixir." prefix from module names
- [HTML] Support URLs with non-HTML safe characters
- [EPUB] Fix table of contents without groups
v0.20.2
Enhancements
- Add "mix " prefix to Mix tasks
Bug fixes
- Improve scrolling on Safari
- Prevent text casing of codes
- Do not remove stop words from search and make sure function names are searchable in isolation
- Reduce the size of the search metadata
- Remove outline on focus and keep width in version dropdown
- Do not fail if we can't persist index
v0.20.1
- Bug fixes
- Hide the spinner when no term is searched
- Use
?for the shortcut hint text - Improve style of the version dropdown
v0.20.0
Enhancements
- Rework the search bar to provide autocompletion
- Provide full-text search
- Automatically generate documentation for
defdelegatedefinitions (requires Elixir v1.8+) - Provide keyboard shortcuts (press
?to see all available outputs) or click the link at the bottom of the page - Add support for versions dropdown to the HTML sidebar. This requires adding a
docs_config.js(also configurable) that sets aversionNodesJavaScript variable. - Improve mouseover titles on sidebar navigation
Bug fixes
- Do not hide structs in type/callback summary signatures
- No longer require double click to open up a sidebar on Mobile Safari
- Keep trailing periods in summaries
- Fix typespec
argnumber to start from 1 instead of 0
v0.19.3
Enhancements
- Include a "goto" link on mouseover for expandable menu items
Bug fixes
- Always expand menu items, even if has a single child
- Fix sidebar bottom margin on Firefox
- Fix anchor links sometimes not working by moving JS to HTML head
- Unify code styling for makeup and hljs
- Do not replace the content of custom links pointing to Elixir modules
- Remove border-left on deprecated to not mistake it with a heading
v0.19.2
Enhancements
- Allow logo in SVG extension
- Allow functions to be grouped based on metadata
- Allow api-reference.html page to be disabled
- Allow nesting of modules by prefix
- Autolink
mix help TASK - Warn on undefined remote functions from project's docs
Bug fixes
- Sort function names alphabetically in the sidebar
- Fix search input color
- Disable earmark smartypants option
v0.19.1
- Enhancements
- Update CSS styles
- Remove sourcemaps from package
v0.19.0
This release requires Elixir v1.7 and later. For earlier Elixir versions, use ExDoc ~> 0.18.0.
Enhancements
- Do not select "iex>" when selecting code samples
- Use makeup to perform ELixir's syntax highlighting (other languages still use highlight.js)
- Use
[rel="noopener"]on external links - Link directly to page if sidebar item has no subitems
- Autolink Kernel and Kernel functions and special forms with shorthands (for example, only
is_atom/1is necessary) - Trim EEx contents to reduce HTML size
- Allow apps to be excluded from umbrella app docs
Bug fixes
- Exclude types with
@typedoc falsefrom the docs - Make sure autolink considers the longest matching dependency name in case of shared prefixes
- Exclude types with
v0.18.3
- Bug fix
- Fix formatting of typespecs causing errors
- Update jQuery
- Properly remove underscore from typespec links
v0.18.2
- Enhancements
- Improve documentation pages for printing
- Autolink Kernel, Kernel.SpecialForms, and built-in types
- Annotate opaque types
- Add vertical-align:top to tables
- Allow module-function-arity references in links
- Remove underscore from view source link
- Run code formatter on typespecs (if one is available)
- Make night mode switch link more obvious
v0.18.1
- Bug fixes
- Include missing formatter files
v0.18.0
Enhancements
- No longer strip empty parens from types
- Provide more extension point for markdown processors
- Remove assets from priv since they are now embedded at compile time
Backwards incompatible changes
- Remove built-in support for hoedown markdown processor
- No longer add favicon when logo option is present (this was added in 0.17.0 but it was reported the logo almost never fits as a favicon)
v0.17.1
- Bug fixes
- Fix broken search caused by outdated JavaScript files
v0.17.0
Enhancements
- Allow modules to be grouped on the sidebar with the
:groups_for_modulesoption - Allow extras to be grouped on the sidebar with the
:groups_for_extrasoption
- Allow modules to be grouped on the sidebar with the
Backwards incompatible changes
- The previous
:groupoption that could be specified for each entry in:extrasis no longer supported - No longer add a specific section for "Protocols". If you would like to segregate the protocols in your application, use the new
:groups_for_modulesfunctionality
- The previous
v0.16.4
Enhancements
- Generate favicon link if a logo is available
Bug fixes
- Do not version epub filename as the doc directory is likely already versioned
v0.16.3
Enhancements
- Make sure its own search.html page and provide history
- Generate source maps only if the
--debugflag is given - Users can now add custom HTML before the closing head tag and the closing body tag
- Highlight the target function/macro/type/callback when clicked
Bug fixes
- Remove extra
term()argument at start of macro spec - Add unencoded link target for functions with special chars to cope with different behaviour in browsers
- Remove extra
v0.16.2
- Enhancements
- Link
<h3>headers as well - Add border to code tag
- Link
- Bug fixes
- Fix sidebar on mobile devices
v0.16.1
- Bug fixes
- Fix hover icons coloring
v0.16.0
Enhancements
- Separate tasks into "Mix Tasks" in sidebar
- Add types to the search results
- Improve accessibility
Bug fixes
- Strip nesting HTML tags in h2 headers
- Remove the old search results after every new search attempt
v0.15.1
- Bug fixes
- Improve project name wrapping on HTML
- Properly set link in types with parameter
- Fix ExDoc.CLI.main/2 to keep --source-ref on Elixir v1.4
- Do not fail if localStorage is not available
v0.15.0
Enhancements
- Closing the search takes you to where you were in the previous page
- Handle
__struct__/0by displaying the struct instead - Warn when redirecting to a non-existent file
- List both functions and macros under "Functions"
- Automatically detect GitLab source URL patterns
Bug fixes
- Break long specs into lines
- Fix the initial state of the sidebar hamburger
- Do not error when abstract code is missing
- Properly link to erlang lib dirs
Backwards incompatible changes
- No longer support Pandoc
- Require Earmark 1.1
v0.14.5
- Enhancements
- Allow ExDoc to work as an escript
v0.14.4
- Enhancements
- Point to Elixir docs on hexdocs.pm
- Many improvements to layout and styling of EPUB formatter
- Support multiple formatters to be configured on
mix.exs - Also digest
sidebar_items.js - Force parentheses on type signature to remove ambiguity
- Generate top-level docs for an umbrella project
- Searching on mobile closes menu when the Enter key is hit
v0.14.3
Enhancements
- Support the
:assetsoption that automatically copies all entries in the given directory todoc/assets - Remove numbering on Extras subheaders from sidebar
- Pass file and line information to markdown formatters for better warnings
- Allow extra pages to be grouped together under a given heading
- Generate ids for default name/arity pairs so they can be linked (both remotely and locally)
- Support the
Bug fixes
- Fix autolink for functions containing
%,{,}or uppercase characters in the name
- Fix autolink for functions containing
v0.14.2
Enhancements
- Automatically generate documentations links to any of your dependencies (by default links to hexdocs.pm but allows the URL to be configured)
- Allow documentation to be generated to Erlang modules
Bug fixes
- Make sure "Top" is not included twice on pages
v0.14.1
- Bug fixes
- Include "Top" link in pages with no headings
- Include "Top" link in modules with no docs
v0.14.0
Enhancements
- Add support for the epub formatter
- Support extraction from
<h2>headers out of the settext format
Layout changes
- Indent documentation inside the function/macro/type/callback header
- Style types the same way as function/macro/callback and include a link to the source
- Increase font-sizes in the sidebar and code snippets
- Move the specs definition inside the function/macro/type/callback header and make better use of vertical space
- Use a gradient on the sidebar to avoid sudden cut-off when scrolling the modules list
- Fix the use of the back-button in some browsers
- Allow the whole sidebar to be navigated without moving away from the current page. Expand (+) and collapse (-) buttons have been added to aid exploration
- Numerically order pages/guides headers
v0.13.2
- Bug fixes
- Avoid scrollbar from appearing on all code snippets
v0.13.1
Enhancements
- Autolink Elixir's stdlib modules and functions
- Show callbacks in search results
- Reduce size taken by font-sizes
- Increase size for headings in the moduledoc
Bug fixes
- Fix opened sidebar on small screens
- Allow horizontal scrolling for code snippets on small screens
v0.13.0
Bug fixes
- Fix issue where docs would fail when being built on Erlang 19
- Store templates in
privrather than inlib
Backwards incompatible changes
- Require Elixir ~> v1.2
v0.12.0
Enhancements
- Remove warnings when running on Elixir v1.3
- Support for
@optional_callbacks - Improve styling for nested lists
- Include earmark as a default dependency
Bug fixes
- Fix many styling and performance front-end related bugs
v0.11.5
Enhancements
- Support canonical URLs
Bug fixes
- Autolink now allows digits in function names
- Sort specs by line to preserve ordering
- Focus on content element on document ready
- Remove ligature fix on Firefox and Safari as Google Fonts have been updated
v0.11.4
- Bug fixes
- Fix ligature issues in recent browsers
- HTML escape headers
- Avoid warning on Elixir master (v1.3)
v0.11.3
- Bug fixes
- Fix a regression where the sidebar wouldn't stick on small screens
v0.11.2
Enhancements
- Include night mode for docs
- Take advantage of extra space on large screens by widening sidebar
Bug fixes
- Do not attempt to retrieve docs from Erlang modules
v0.11.1
- Bug fixes
- Include callbacks even if a module defines a struct
v0.11.0
Enhancements
- From now on it's possible to set the title in the sidebar area for additional content, default: "Pages"
- Set the path and title of each additional page in
mix.exsfile - Use the first
h1as menu title if title is not configured - Include the project name as part of the header in small devices
Bug fixes
- Increase the visual separation between functions
- Remove the
extra-prefix for the additional documentation files - Extra large images do not create an overflow in the content
v0.10.0
- Enhancements
- Many improvements and bug fixes in new layout
- Reduced build size
- Overview has been renamed to API Reference
- All extra content, including API Reference, has been moved to inside "Pages"
- Extra files are now downcased and prefixed by
extra-
v0.9.0
Enhancements
- Whole new clean, readable, usable, responsive layout
- Support for adding logo to generated docs (must be 64x64 pixels)
- Support for adding extra pages to generated docs
- Improve formatting of typespecs and callbacks
Backwards incompatible changes
--readmeoption and:readmeconfiguration have been removed. Use:extrasin yourmix.exsfile or pass--extra/-ein the command-line (may be given multiple times)
v0.8.4
- Bug fixes
- Generate
README.htmlfile instead ofreadme.htmlas in previous releases - Style fixes in the new layout
- Generate
v0.8.3
- Bug fixes
- Style fixes in the new layout
v0.8.2
Enhancements
- Uglify and minify JS and CSS code
- Performance improvements when building sidebar
- Redirect from index.html to proper page
Bug fixes
- Style fixes in the new layout
v0.8.1
- Bug fixes
- Style fixes in the new layout
v0.8.0
- Enhancements
- New and responsive layout without frames
v0.7.3
- Bug fixes
- Update highlight.js with fixes some inlining issues
- Require latest Earmark
v0.7.2
- Bug fixes
- Support Elixir master
- Fix error reporting when modules are compiled without docs
v0.7.1
- Enhancements
- Use
type=searchfor search input - Update highlight.js dependency
- Properly tag code comments as coming from Elixir/IEx unless noted otherwise
- Add support for hash redirection
- Use
v0.7.0
- Enhancements
- Documentation is now generated at
docto follow OTP "standard"
- Documentation is now generated at
v0.6.2
- Enhancements
- Improvements to the document structure
- Add syntax highlight
v0.6.1
- Enhancements
- Autolink modules and functions in the README
- Generate ids for callbacks starting with "c:"
- Ensure group ordering is consistent: TYPES > FUNCTIONS > MACROS > CALLBACKS
- Allow users to search by Module.function
v0.6.0
- Enhancements
- Support Elixir v1.0.0-rc1
v0.5.2
- Bug fixes
- Use proper ANSI escape sequence on Mix success messages
v0.5.1
- Enhancements
- Support Elixir v0.15.0
- Add support for Earmark - no need for external processors
v0.5.0
- Enhancements
- First public release
- Support pandoc and devinus/markdown as markdown processors