View Source Changelog

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 proglang in searchdata.js
    • Allow searching for atoms inside backticks
    • Add support for nominal types from Erlang/OTP 28
    • Support a new :redirects option 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"
  • Bug fixes

    • Switch anchor title to aria-label
    • Convert admonition blockquotes to sections for screen reader users
    • Fix code copy buttons within tabsets

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 v shortcut to open/focus the version select
    • Compatibility fixes for Elixir v1.17 and Erlang/OTP 27+
  • 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
  • Bug fixes

    • Link to the latest version of Erlang/OTP docs
  • Deprecations

    • Deprecate passing a binary to :assets

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 equiv handling 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
  • 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_pattern can 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.md for explicitly linking to a page in a package
    • Support m:SomeModule for explicitly linking to a module
    • Add noindex meta 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
  • 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_to option

v0.30.6 (2023-08-25)

  • Enhancements
    • Extract title from Markdown file when preceeded 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

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 :since metadata from modules
    • Add support for MFAs and maps in before_closing_body_tag and before_closing_head_tag
  • 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
  • Deprecations

    • Rename :groups_for_functions to :groups_for_docs

v0.29.0 (2022-10-19)

  • Enhancements

    • Support cheatsheets as .cheatmd files
  • 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

v0.28.4 (2022-04-28)

  • Enhancements

    • Add a toast when changing theme via keyboard
    • Automatically convert .livemd links to .html ones
    • Show programming language in HTML footer
  • Bug fixes

    • Properly escape %/2 special form
    • Improve ranking of exact-matching modules in search

v0.28.3 (2022-03-23)

  • Enhacements

    • 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_pattern in 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 --open works 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

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 --open flag on mix docs
    • The copy button now only copies selectable content
  • Bug fixes

    • Make sure filename configuration in :extras is used across links
    • Ensure all extras pages have a title generated
    • Fix margin on 3rd level headers and beyond
    • Ensure a task that defines callbacks is still listed as a task

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 --quiet option to CLI
    • Support multiple formatters in the CLI
    • Show structs as %Struct{} instead of __struct__ in the sidebar
    • Point Erlang links to www.erlang.org instead of erlang.org
    • Improvements to the night mode and styling

v0.26.0 (2021-11-21)

  • Backwards incompatible changes

    • :filter_prefix has been renamed to :filter_modules and supports anonymous functions
    • :source_ref now 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 .livemd pages in :extras
  • Bug fixes

    • Do not generate entries for private Erlang functions
    • Do not trim ? and ! from Elixir tokens on search
  • Incompatible changes

    • Remove unused :source_root option

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 .livemd Markdown files
    • Preload all applications starting with makeup_ before doc generation
    • Add Hex package config and display "Find on Hex" footer links

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()) becomes callback1(options)
    • Support Markdown processor options
    • Add --paths command line argument to prepend directories to the code path when generating docs
    • Make shell prompt, $, not selectable for shell, sh, bash and zsh code blocks
  • Bug fixes

    • Fix custom links to undefined/hidden references
    • Fix generating external links with :deps configuration
    • 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. Run mix deps.unlock --unused to remove the now unused earmark dependency. (021c772)
  • 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 ./2 and ../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)

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

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_on now 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/2 with to_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_on no 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-scheme w/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

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 defdelegate definitions (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 a versionNodes JavaScript 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 arg number 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/1 is necessary)
    • Trim EEx contents to reduce HTML size
    • Allow apps to be excluded from umbrella app docs
  • Bug fixes

    • Exclude types with @typedoc false from the docs
    • Make sure autolink considers the longest matching dependency name in case of shared prefixes

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_modules option
    • Allow extras to be grouped on the sidebar with the :groups_for_extras option
  • Backwards incompatible changes

    • The previous :group option that could be specified for each entry in :extras is 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_modules functionality

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 --debug flag 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

v0.16.2

  • Enhancements
    • Link <h3> headers as well
    • Add border to code tag
  • 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__/0 by 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 :assets option that automatically copies all entries in the given directory to doc/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)
  • Bug fixes

    • Fix autolink for functions containing %, {, } or uppercase characters in the name

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 priv rather than in lib
  • 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.exs file
    • Use the first h1 as 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

    • --readme option and :readme configuration have been removed. Use :extras in your mix.exs file or pass --extra / -e in the command-line (may be given multiple times)

v0.8.4

  • Bug fixes
    • Generate README.html file instead of readme.html as in previous releases
    • Style fixes in the new layout

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

v0.7.2

  • Bug fixes
    • Support Elixir master
    • Fix error reporting when modules are compiled without docs

v0.7.1

  • Enhancements
    • Use type=search for search input
    • Update highlight.js dependency
    • Properly tag code comments as coming from Elixir/IEx unless noted otherwise
    • Add support for hash redirection

v0.7.0

  • Enhancements
    • Documentation is now generated at doc to follow OTP "standard"

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