@mojavelinux mojavelinux released this Oct 28, 2018 · 92 commits to master since this release

Assets 2

Summary

This release was made possible by support from our Change Maker sponsor, Okta.

According to the release notes for 1.5.7, there wasn't supposed be another releases in the 1.5.x line. However, due to scheduling conflicts, the 2.0.0 release got pushed back. So this semi-major release was cut to get us back on track.

This release consists of over 50 enhancements and fixes that accumulated in the meantime, as well as a response to a CVE and several updates needed for Asciidoctor.js. Although unintentional, this release also includes a 10% boost in performance.

A huge thanks to @zelivans for throwing curveballs at the processor and uncovering numerous hard-to-catch bugs, including one which became CVE-2018-18385. Fixes for all those issues have been included in this release.

The most significant change in this release is that unordered and ordered lists can be nested to any depth. Also related to lists, it's now possible to specify auto-numbered callout numbers using <.>. And guard comments in front of callouts are preserved if font-based icons are not enabled. You can now set a starting line number for numbered source blocks when using Pygments or CodeRay for source highlighting in HTML or when converting to DocBook. Attribute references in the target of a custom block macro or the attrlist of an include directive are now replaced automatically. If the part-signifier and/or chapter-signifier attributes are set, the values of these attributes are prepended to the part and chapter title, respectively.

If you're using the API, there are several nice enhancements as well. It's now possible to short-circuit the AbstractBlock#find_by method once a match is found or you want to abort the search. The authors of the document can be retrieved neatly as an array. The imagesdir that was set at the location of an image is now recorded on the image node as well as in the catalog.

Thanks to @jwehmschulte for translating the README into German, to @Mogztter for syncing the French translation, @jonasbjork for adding Swedish translations for the built-in attributes, @BojanStipic for updating the Serbian translations for the built-in attributes, and @stoeps13 for improving the Windows installation instructions. Also thanks to @junaruga for replacing the deprecated thread_safe gem integration with concurrent-ruby.

Following this release, the master branch will transition to 2.0.0 and semantic versioning (really, this time). Work will continue on the new documentation site for Asciidoctor that's based on Antora.

Distributions

Asciidoctor is also packaged for Fedora, Debian, Ubuntu, Alpine Linux, OpenSUSE, and Homebrew. Please use the system's package manager to install the package named asciidoctor.

Release meta

Released on: 2018-10-28
Released by: @mojavelinux
Release beer: Trappistes Rochefort 10

Logs: resolved issues | full diff

Credits

This release cycle welcomed in our first Change Maker sponsor, Okta. We want to thank Okta and our other generous sponsors, without whose support Asciidoctor would not be possible. Thank you to all our sponsors for your dedication to improving the state of technical documentation!

Thanks to the following people who contributed to this release:

@zelivans, @Mogztter, @graphitefriction, @jwehmschulte, @jonasbjork, @junaruga, @owenh000, @BojanStipic, @aerostitch, @ds26gte, @diguage, @kikijiki, @ztmr, @gilgamaze, @ecki, @sometimesfood, @mperktold, @ilvetz, @pdmayoSFI, and @stoeps13.

A very special thanks to all our awesome supporters on BountySource (Salt) and OpenCollective. Their support provided critical funding for the development of this release and the ongoing development of the project.

You can support this project by becoming a sponsor on OpenCollective. For those still contributing via BountySource, we kindly ask that you switch your donations over to OpenCollective because it's a nicer system and better aligns with our values.

Changelog

Enhancements

  • if set, add value of part-signifier and chapter-signifier attributes to part and chapter titles (#2738)
  • allow position (float) and alignment (align) to be set on video block (#2425)
  • substitute attribute references in attrlist of include directive (#2761)
  • add Document#set_header_attribute method for adding method directly to document header during parsing (#2820)
  • add helper method to extension processor classes to create lists and list items
  • allow ordered and unordered lists to be nested to an arbitrary / unlimited depth (#2854)
  • add prefer DSL method to extension registry and document processor to flag extension as preferred (#2848)
  • allow manname and manpurpose to be set using document attributes; don't look for NAME section in this case (#2810)
  • substitute attribute references in target of custom block macro (honoring attribute-missing setting) (#2839)
  • interpret <.> as an auto-numbered callout in verbatim blocks and callout lists (#2871)
  • require marker for items in callout list to have circumfix brackets (e.g., <1> instead of 1>) (#2871)
  • preserve comment guard in front of callout number in verbatim block if icons is not enabled (#1360)
  • add more conventional styles to quote block when it has the excerpt role (#2092)
  • colspecs can be separated by semi-colon instead of comma (#2798)
  • change AbstractBlock#find_by to respond to StopIteration exception; stop traversal after matching ID (#2900)
  • change AbstractBlock#find_by to honor return values :skip and :skip_children from filter block to skip node and its descendants or just its descendants, respectively (#2067)
  • add API to retrieve authors as array; use API in converters (#1042) (@Mogztter)
  • add support for start attribute on source block to set starting line number when converting to DocBook (#2915)
  • track imagesdir for image on node and in catalog (#2779)
  • allow starting line number to be set using start attribute when highighting source block with Pygments or CodeRay (#1742)
  • upgrade highlight.js to 9.13.1

Fixes

  • don't hang on description list item that begins with /// (#2888)
  • don't crash when using AsciiDoc table cell style on column in CSV table (#2817)
  • show friendly error if CSV data for table contains unclosed quote (#2878) (@zelivans)
  • don't crash when attribute entry continuation is used on last line of file (#2880) (@zelivans)
  • treat empty/missing value of named block attribute followed by other attributes (e.g., caption=,cols=2*) as empty string
  • AbstractNode#set_option does nothing if option is already set (PR #2778)
  • allow revnumber to be an attribute reference in revision info line (#2785)
  • use ::File.open instead of ::IO.binread in Reader for Asciidoctor.js compatibility
  • add fallback for timezone when setting doctime
  • preserve UNC path that begins with a double backslash (Windows) (#2869)
  • fix formatting of quote block (indentation) in manpage output (#2792)
  • catalog inline anchors in ordered list items (#2812)
  • detect closing tag on last line with no trailing newline (#2830)
  • process !name@ attribute syntax properly; follow-up to #642
  • change document extension processor DSL methods to return registered extension instance instead of array of instances
  • use fallback value for manname-title to prevent crash in manpage converter
  • consolidate inner whitespace in prose in manpage output (#2890)
  • only apply subs to node attribute value if enclosed in single quotes (#2905)
  • don't hide URI scheme if target of link macro is a bare URI scheme
  • fix crash when child section of part is out of sequence and section numbering is enabled (#2931)
  • fix crash when restoring passthroughs if passthrough role is enclosed in single quotes (#2882, #2883)
  • don't eagerly apply subs to inline attributes in general
  • make sure encoding of output file is UTF-8
  • prevent warning about invalid :asciidoc option when using custom templates with Slim 4 (#2928)
  • use Pathname#relative_path_from to compute relative path to file outside of base directory (#2108)

Improvements

  • change trailing delimiter on part number to colon (:) (#2738)
  • interpret open line range as infinite (#2914)
  • rename number property on AbstractBlock to numeral, but keep number as deprecated alias
  • use CSS class instead of hard-coded inline float style on tables and images (#2753)
  • use CSS class instead of hard-coded inline text-align style on block images (#2753)
  • allow hyphen to be used custom block macro name as long as it's not the first character (#2620)
  • use shorthands %F and %T instead of %Y-%m-%d and %H:%M:%S to format time
  • read file in binary mode whenever contents are being normalized
  • use .drop(0) to duplicate arrays (roughly 1.5x as fast as .dup)
  • only recognize a bullet glyph which is non-repeating as an unordered list marker
  • rename SyntaxDsl module to SyntaxProcessorDsl (internal)
  • fail if name given to block macro contains illegal characters
  • normalize all whitespace in value of manpurpose attribute
  • make space before callout number after custom line comment character optional
  • parse attrlist on inline passthrough as a shorthand attribute syntax or literal role (#2910)
  • add support for range syntax (.. delimiter) to highlight attribute on source block (#2918)
  • add support for unbounded range to highlight attribute on source block (#2918)
  • automatically assign title and caption on image block if title is set on custom block source (#2926)
  • use OS independent timezone (UTC or time offset) in doctime and localtime attributes (#2770)
  • report correct line number for inline anchor with id already in use (#2769)
  • generate manpage even if input is non-conforming or malformed (#1639)
  • allow authorinitials for single author to be overridden (#669)

Documentation

Build / Infrastructure

@mojavelinux mojavelinux released this May 10, 2018 · 296 commits to master since this release

Assets 2

This release was made possible by support from our Change Maker sponsor, Okta.

Summary

A patch release to fix a regression in list parsing and makes accommodations for Linux packaging.

Distributions

Asciidoctor is also packaged for Fedora, Debian, Ubuntu, Alpine Linux, OpenSUSE, and Homebrew. Please use the system's package manager to install the package named asciidoctor.

Release meta

Released on: 2018-05-10
Released by: @mojavelinux
Release beer: Boulevard Grand Cru

Logs: resolved issues | full diff

Credits

We'd like to take this opportunity to thank Okta, as well as our other awesome sponsors, without whose support Asciidoctor would not be possible. Thank you sponsors for your dedication to improving the state of technical documentation!

If you'd like to support this project, you can become a sponsor on OpenCollective or BountySource (Salt). This support provides critical funding for the ongoing development of the project.

Thanks to the following people who contributed ideas, code, or documentation to this release: @aerostitch

Changelog

Fixes

  • fix regression where block attributes where being inherited by sibling blocks in a complex list item (#2771)
  • don't apply lead styling to first paragraph in nested document (AsciiDoc table cell) if role is present (#2624)

Build / Infrastructure

  • drop obsolete logic in rake build (@aerostitch)
  • allow lib dir to be overridden for tests using an environment variable (PR #2758) (@aerostitch)
  • load asciidoctor/version from LOAD_PATH in gemspec if not found locally (PR #2760) (@aerostitch)

@mojavelinux mojavelinux released this May 3, 2018 · 296 commits to master since this release

Assets 2

This release was made possible by support from our Change Maker sponsor, Okta.

Summary

Continuing with the Asciidoctor tradition of major patch releases, this release resolves over 100 issues. As impressive as that sounds, it's time to break with this tradition. Starting with the next major release (v2.0.0), Asciidoctor will switch to semantic versioning (SemVer). By adopting SemVer, fixes can be released sooner and the version number will reflect the impact of the changes being introduced. The next major release will also drop support for versions of Ruby that are no longer maintained (which includes Ruby 1.8.7 through 2.1 or 2.2).

Now on to what's new and noteworthy...

The most significant change in this release is that all warning and error messages are now routed through a logger (finally!). Many of the messages also include context about the source location (file, dir, path, lineno), which can be useful for integrations and tooling. You can even force the CLI to exit with a non-successful exit code if the messages reach the threshold specified using the --failure-level option. When using the API, you can feed your own logger to the LoggerManager to capture, route, or observe the messages.

Good log messages demand good line number tracking. In this release, the line numbers reporting is much more accurate, especially for lists and tables. When reported, line numbers will be within a single line of the source of the problem.

Section ID generation has been enhanced. XML tags are now dropped from a section title before an ID is generated from it, and character references and non-word characters (except hyphens, dots, and spaces) are dropped instead of being replaced with the idseparator character. This behavior is more compatible with other systems (i.e., GitHub) and produces nicer IDs. But there's a chance that auto-generated IDs you're relying on will change, so please be sure to check.

Other notable changes include numbering of parts when partnums is set (including xref text when using xrefstyle), cataloging and validating inline anchors at the start of a list item or table cell, consolidation of the footnote and footnoteref macros into the footnote macro, allowing table stripes to be controlled using the stripes attribute, support for soft unsetting an attribute from the API or CLI using name!@, allowing the soft set modifier to be placed at the end of the attribute name instead of its value (e.g., icons@=font), intelligent parsing of text as attributes in the xref and link macros, hard line breaks in AsciiMath equations, allowing the position of section anchors to be configured, adding source location information to additional nodes when the sourcemap option is specified, allowing a block title to begin with a period, and support for shadow man pages. To get a full list of what changed, consult out the changelog below.

This release also launched a bright new logo for the project. Thanks to @mmajko, @graphitefriction, and @Mogztter for helping to turn ideas into action and producing a set of logos. You can find the logo files in the brand repository.

Asciidoctor logo

Work has also begun on a new documentation portal for Asciidoctor based on Antora. This new site will include documentation for the AsciiDoc language, the Asciidoctor processor, and other components in the Asciidoctor ecosystem.

Distributions

Asciidoctor is also packaged for Fedora, Debian, Ubuntu, Alpine Linux, OpenSUSE, and Homebrew. Please use the system's package manager to install the package named asciidoctor.

Release meta

Released on: 2018-05-01
Released by: @mojavelinux
Release beer: Barrel Aged Ten Fidy

Logs: resolved issues | full diff

Credits

This release cycle welcomed in our first Change Maker sponsor, Okta. We'd like to take this opportunity to thank Okta, as well as our other awesome sponsors, without whose support Asciidoctor would not be possible. Thank you sponsors for your dedication to improving the state of technical documentation!

If you'd like to support this project, you can become a sponsor on OpenCollective or BountySource (Salt). This support provides critical funding for the ongoing development of the project.

Thanks to the following people who contributed ideas, code, or documentation to this release:

@Mogztter, @graphitefriction, @aerostitch, @tiwai, @dimztimz, @bk2204, @PauloFrancaLacerda, @seikichi, @akosma, @ahus1, @flashcode, @mmajko, @miltador, @errier, @vivien, @wotsushi, @sindzicat, @zmwangx, @aokiplayer, @chickenkiller, @mareknovotny, and @huiyifyj.

Changelog

Enhancements

  • BREAKING: drop XML tags, character refs, and non-word characters (except hyphen, dot, and space) when auto-generating section IDs (#794)
    • hyphen, dot, and space are replaced with value of idseparator, if set; otherwise, spaces are dropped
  • allow attribute names to contain any word character defined by Unicode (#2376, PR #2393)
  • do not recognize attribute entry line if name contains a colon (PR #2377)
  • route all processor messages through a logger instead of using Kernel#warn (#44, PR #2660)
  • add MemoryLogger for capturing messages sent to logger into memory (#44, PR #2660)
  • add NullLogger to prevent messages from being logged (#44, PR #2660)
  • log message containing source location / cursor as an object; provides more context (#44, PR #2660)
  • pass cursor for include file to :include_location key in message context (PR #2729)
  • add :logger option to API to set logger instance (#44, PR #2660)
  • add --failure-level=LEVEL option to CLI to force non-zero exit code if specified logging level is reached (#2003, PR #2674)
  • parse text of xref macro as attributes if attribute signature found (equal sign) (#2381)
  • allow xrefstyle to be specified per xref by assigning the xrefstyle attribute on the xref macro (#2365)
  • recognize target with .adoc extension in xref macro as an interdocument xref
  • resolve nested includes in remote documents relative to URI (#2506, PR #2511)
  • support !name@ (preferred), !name=@, name!@, and name!=@ syntax to soft unset attribute from API or CLI (#642, PR #2649)
  • allow modifier to be placed at end of name to soft set an attribute (e.g., icons@=font) (#642, PR #2649)
  • interpret false attribute value defined using API as a soft unset (#642, PR #2649)
  • number parts if partnums attribute is set (#2298)
  • allow footnote macro to define or reference footnote reference (footnoteref macro now deprecated) (#2347, PR #2362)
  • allow custom converter to be used with custom templates; converter must declare that it supports templates (#2619)
  • allow manpage path for manpage help topic to be specified using ASCIIDOCTOR_MANPAGE_PATH environment variable (PR #2653) (@aerostitch)
  • if manpage cannot be found in default path inside gem, use man -w asciidoctor to resolve installed path (PR #2653)
  • uncompress contents of manpage for manpage help topic if path ends with .gz (PR #2653) (@aerostitch)
  • define source and manual refmiscinfo entries in manpage output if manual and source attributes are defined (PR #2636) (@tiwai)
  • add syntax for adding hard line breaks in block AsciiMath equations (#2497, PR #2579) (@dimztimz)
  • add positioning option to sectanchors attribute (sectanchors=before or sectanchors=after) (#2485, PR #2486)
  • allow table striping to be configured using the stripes attribute (even, odd, all, or none) or stripes roles on table (#1365, PR #2588)
  • add rel=nofollow property to links (text or image) when nofollow option is set (#2605, PR #2692)
  • populate Document#source_location when sourcemap option is enabled (#2478, PR #2488)
  • populate source_location property on list items when sourcemap option is set on document (PR #2069) (@Mogztter)
  • populate Table::Cell#source_location when sourcemap option is enabled (#2705)
  • allow local include to be flagged as optional by setting optional option (#2389, PR #2413)
  • allow block title to begin with a period (#2358, PR #2359)
  • catalog inline anchor at start of list items in ordered and unordered lists, description list terms, and table cells (#2257)
  • register document in catalog if id is set; assign reftext to document attributes if specified in a block attribute line (#2301, PR #2428)
  • allow automatic width to be applied to individual columns in a table using the special value ~ (#1844)
  • use the quote element in DocBook converter to represent smart quotes (#2272, PR #2356) (@bk2204)
  • parse and pass all manpage names to output document master (i.e., shadow man pages) (#1811, #2543, PR #2414)
  • parse credit line of shorthand quote block as block attributes; apply normal subs to credit line in shorthand quote blocks (#1667, PR #2452)
  • populate copyright element in DocBook output from value of copyright attribute (#2728)
  • preserve directories if source dir and destination dir are set (#1394, PR #2421)
  • allow linkcss to be unset from API or CLI when safe mode is secure
  • convert quote to epigraph element in DocBook output if block has epigraph role (#1195, PR #2664) (@bk2204)
  • number special sections in addition to regular sections when sectnums=all (#661, PR #2463)
  • upgrade to Font Awesome 4.7.0 (#2569)
  • upgrade to MathJax 4.7.4 (#2190)

Bug fixes

  • set :to_dir option value correctly when output file is specified (#2382)
  • preserve leading indentation in contents of AsciiDoc table cell if contents starts with a newline (#2712)
  • the shorthand syntax on the style to set block attributes (id, roles, options) no longer resets block style (#2174)
  • match include tags anywhere on line as long as offset by word boundary on left and space or newline on right (#2369, PR #2683)
  • warn if an include tag specified in the include directive is unclosed in the included file (#2361, PR #2696)
  • use correct parse mode when parsing blocks attached to list item (#1926)
  • fix typo in gemspec that removed README and CONTRIBUTING files from the generated gem (PR #2650) (@aerostitch)
  • preserve id, role, title, and reftext on open block when converting to DocBook; wrap in <para> or <formalpara> (#2276)
  • don't turn bare URI scheme (no host) into a link (#2609, PR #2611)
  • don't convert inter-document xref to internal anchor unless entire target file is included into current file (#2200)
  • fix em dash replacement in manpage converter (#2604, PR #2607)
  • don't output e-mail address twice when replacing bare e-mail address in manpage output (#2654, PR #2665)
  • use alternate macro for monospaced text in manpage output to not conflict w/ AsciiDoc macros (#2751)
  • enforce that absolute start path passed to PathResolver#system_path is inside of jail path (#2642, PR #2644)
  • fix behavior of PathResolver#descends_from? when base path equals / (#2642, PR #2644)
  • automatically recover if start path passed to PathResolver#system_path is outside of jail path (#2642, PR #2644)
  • re-enable left justification after invoking tmac URL macro (#2400, PR #2409)
  • don't report warning about same level 0 section multiple times (#2572)
  • record timings when calling convert and write on Document (#2574, PR #2575)
  • duplicate header attributes when restoring; allows header attributes to be restored an arbitrary number of times (#2567, PR #2570)
  • propagate :catalog_assets option to nested document (#2564, PR #2565)
  • preserve newlines in quoted CSV data (#2041)
  • allow opening quote around quoted CSV field to be on a line by itself
  • output table footer after body rows (#2556, PR #2566) (@PauloFrancaLacerda)
  • move @page outside of @media print in default stylesheet (#2531, PR #2532)
  • don't throw exception if text of dd node is nil (#2529, PR #2530)
  • don't double escape ampersand in manpage output (#2525) (@dimztimz)
  • fix crash when author_1 attribute is assigned directly (#2481, PR #2487)
  • fix CSS for highlighted source block inside colist (#2474, PR #2490)
  • don't append file extension to data uri of admonition icon (#2465, PR #2466)
  • fix race condition in Helpers.mkdir_p (#2457, PR #2458)
  • correctly process nested passthrough inside unconstrained monospaced (#2442, PR #2443)
  • add test to ensure ampersand in author line is not double escaped (#2439, PR #2440)
  • prevent footnote ID from clashing with auto-generated footnote IDs (#2019)
  • fix alignment of icons in footnote (#2415, PR #2416)
  • add graceful fallback if pygments.rb fails to return a value (#2341, PR #2342)
  • escape specialchars in source if pygments fails to highlight (#2341)
  • do not recognize attribute entry line if name contains colon (PR #2377)
  • allow flow indexterm to be enclosed in round brackets (#2363, PR #2364)
  • set outfilesuffix to match file extension of output file (#2258, PR #2367)
  • add block title to dlist in manpage output (#1611, PR #2434)
  • scale text to 80% in print styles (#1484, PR #2576)
  • fix alignment of abstract title when using default stylesheet (PR #2732)
  • only set nowrap style on table caption for auto-width table (#2392)
  • output non-breaking space for man manual if absent in DocBook output (PR #2636)
  • don't crash if stem type is not recognized (instead, fallback to asciimath)

Improvements / Refactoring

  • BREAKING: rename table spread role to stretch (#2589, PR #2591)
  • use cursor marks to track lines more accurately; record cursor at the start of each block, list item, or table cell (PR #2701, PR #2547) (@seikichi)
  • log a warning message if an unterminated delimited block is detected (#1133, PR #2612)
  • log a warning when nested section is found inside special section that doesn't support nested sections (#2433, PR #2672)
  • read files in binary mode to disable automatic endline coercion (then explicitly coerce to UTF-8) (PR #2583, PR #2694)
  • resolve / expand parent references in start path passed to PathResolver#system_path (#2642, PR #2644)
  • update PathResolver#expand_path to resolve parent references (#2642, PR #2644)
  • allow start path passed to PathResolver#system_path to be outside jail if target brings resolved path back inside jail (#2642, PR #2644)
  • don't run File.expand_path on Dir.pwd (assume Dir.pwd is absolute) (#2642, PR #2644)
  • posixify working_dir passed to PathResolver constructor if absolute (#2642, PR #2644)
  • optimize detection for footnote* and indexterm* macros (#2347, PR #2362)
  • log a warning if a footnote reference cannot be resolved (#2669)
  • set logger level to DEBUG when verbose is enabled
  • coerce value of :template_dirs option to an Array (PR #2621)
  • make block roles specified using shorthand syntax additive (#2174)
  • allow paragraph to masquerade as open block (PR #2412)
  • move callouts into document catalog (PR #2394)
  • document ID defined in block attribute line takes precedence over ID defined inside document title line
  • don't look for link and window attributes on document when resolving these attributes for an image
  • when linkattrs is set, only parse attributes in link macro if equals is present
  • skip line comments in name section of manpage (#2584, PR #2585)
  • always activate extension registry passed to processor (PR #2379)
  • skip extension registry activation if no groups are registered (PR #2373)
  • don't apply lead styling to first paragraph if role is present (#2624, PR #2625)
  • raise clearer exception when extension class cannot be resolved (#2622, PR #2623)
  • add methods to read results from timings (#2578, PR #2580)
  • collapse bottom margin of last block in AsciiDoc table cell (#2568, PR #2593)
  • set authorcount to 0 if there are no authors (#2519, PR #2520)
  • validate fragment of interdoc xref that resolves to current doc (#2448, PR #2449)
  • put id attribute on tag around phrase instead of preceding anchor (#2445, PR #2446)
  • alias Document#title method to no args Document#doctitle method (#2429, PR #2432)
  • upgrade missing or unreadable include file to an error (#2424, PR #2426)
  • add compliance setting to disable natural cross references (#2405, PR #2460)
  • make hash in inter-document xref target optional if target has extension (#2404, PR #2406)
  • only append output file extension to interdocument xref if file extension of target is empty or a known AsciiDoc extension (#2404, PR #2406)
  • add CSS class to part that matches role (#2401, PR #2402)
  • add fit-content class to auto-width table (#2392)
  • automatically assign parent reference when adding node to parent (#2398, PR #2403)
  • leave inline anchor in section title as is if section has ID (#2243, PR #2427)
  • align and improve error message about invalid use of partintro between HTML5 and DocBook converters
  • rephrase warning when level 0 sections are found and the doctype is not book
  • report correct line number when duplicate bibliography anchor is found
  • only warn if thread_safe gem is missing when using built-in template cache
  • drop deprecated compact option from CLI; remove from manpage
  • use more robust mechanism for lazy loading the asciimath gem
  • use consistent phrase to indicate the processor is automatically recovering from a problem
  • change Reader#skip_comment_lines to not return skipped lines
  • add styles to default stylesheet for display on Kindle (kf8) devices (PR #2475)
  • purge render method from test suite (except to verify alias)
  • make path_resolver available as property on Document
  • use 3-value shorthand for CSS property values in default stylesheet, where possible

Documentation

Build / Infrastructure

  • create an official logo for the project (#48) (@mmajko)
  • update Ruby versions in AppVeyor build matrix (PR #2388) (@miltador)
  • add mailinglist, changelog, source, and issues URI to gem spec
  • allow blocks and substitutions tests to be run directly
  • an asciidoctor formula is now available for Homebrew (@zmwangx)

@mojavelinux mojavelinux released this Mar 20, 2018 · 818 commits to master since this release

Assets 2

This release is intended for Asciidoctor.js to be used as the foundation of the Asciidoctor 1.5.6 release. In addition to fixing compatibility issues with Asciidoctor.js, it includes a few critical fixes and improvements taken from the 1.5.7 development iteration. One of those is the ability to use multiple xref macros on the same line.

The most notable improvement in this release is that the logic for resolving the path of an include directive has been moved to a method. This method is now overridden in Asciidoctor.js in order to properly resolve the path of an include directive in the browser environment.

If you're using Asciidoctor Ruby, you're welcome to upgrade to 1.5.6.2. However, since most of the changes are designed for compatibility with Asciidoctor.js, you won't notice much change and may want to just wait for the 1.5.7 release.

Distributions

Asciidoctor is also packaged for Fedora, Debian, Ubuntu, Mint, Alpine Linux, and OpenSUSE. Please use the system's package manager to install the package named asciidoctor.

Changelog

Bug fixes

  • fix match for multiple xref macros w/ implicit text in same line (#2450)
  • PathResolver#root? returns true for absolute URL in browser env (#2595)

Improvements / Refactoring

  • resolve include target correctly in browser (xmlhttprequest IO module) (#2599, #2602)
  • extract method to resolve include path (allowing Asciidoctor.js to override) (#2610)
  • don't expand docdir value passed to API (#2518)
  • check mandatory attributes when creating an image block (#2349)
  • drop is_ prefix from boolean methods in PathResolver (PR #2587)
  • change Reader#replace_next_line to return true
  • organize methods in AbstractNode

Build / Infrastructure

  • clean up dependencies
  • add Ruby 2.5.0 to CI build matrix (PR #2528)
  • update nokogiri to 1.8.0 for ruby >= 2.1 (PR #2380)

Release meta

Released on: 2017-03-20
Released by: @mojavelinux
Release beer: Bonfire WtFO Double IPA

Logs: resolved issues | full diff

Credits

A huge thanks to @Mogztter for helping to work out the changes necessary in core to allow the include directive to be properly supported in Asciidoctor.js.

A very special thanks to all the awesome supporters of the Asciidoctor Salt campaign who provided critical funding for the development of this release and the ongoing development of the project.

@mojavelinux mojavelinux released this Jul 24, 2017 · 818 commits to master since this release

Assets 2

This release fixes regressions and integration problems that were introduced in the 1.5.6 release. Mostly notably, compatibility with Asciidoctor Diagram was restored, content in a delimited block after a skipped block is preserved, attributes are substituted in the target of inline image occurring in a section or block title, and an unnecessary warning when attempting to copy the stylesheet is suppressed. We're also happy to report that Travis CI now takes care of releasing the gem to RubyGems.org. Additional changes can be found in the changelog below.

If you're upgrading from an earlier version, you're advised to skip 1.5.6 and move directly to 1.5.6.1. Downstream projects, such as Asciidoctor.js and AsciidoctorJ, will based their 1.5.6 release on this version rather than 1.5.6.

Distributions

Asciidoctor is also packaged for Fedora, Debian, Ubuntu, Mint, Alpine Linux, and OpenSUSE. Please use the system's package manager to install the package named asciidoctor.

Changelog

Bug fixes

  • continue to read blocks inside a delimited block after content is skipped (PR #2318)
  • don't create an empty paragraph for skipped content inside a delimited block (PR #2319)
  • allow the subs argument of Substitutors#apply_subs to be nil
  • coerce group name to symbol when registering extension (#2324)
  • eagerly substitute attributes in target of inline image macro (#2330)
  • don't warn if source stylesheet can't be read but destination already exists (#2323)
  • track include path correctly if path is absolute and outside of base directory (#2107)
  • preprocess second line of setext section title (PR #2321)
  • preprocess second line of setext discrete heading (PR #2332)
  • return filename as relative path if filename doesn't share common root with base directory (#2107)

Improvements / Refactoring

  • change default text for inter-document xref (PR #2316)
  • add additional tests to test behavior of Reader#peek_lines
  • parse revision info line correctly that only has version and remark; add missing test for scenario
  • rename AtxSectionRx constant to AtxSectionTitleRx for consistency with SetextSectionTitleRx constant
  • use terms "atx" and "setext" to refer to section title syntax (PR #2334)
  • rename HybridLayoutBreakRx constant to ExtLayoutBreakRx
  • change terminology from "floating title" to "discrete heading"
  • consolidate skip blank lines and check for end of reader (PR #2325)
  • have Reader#skip_blank_lines report end of file (PR #2325)
  • don't mix return type of Parser.build_block method (PR #2328)
  • don't track eof state in reader (PR #2320)
  • use shift instead of advance to consume line when return value isn't needed (PR #2322)
  • replace terminology "floating title" with "discrete heading"
  • remove unnecessary nil_or_empty? checks in substitutor
  • leverage built-in assert / refute methods in test suite

Build / Infrastructure

  • config Travis CI job to release gem (PR #2333)
  • add SHA1 hash to message used for triggered builds
  • trigger build of AsciidoctorJ on every change to core
  • trigger build of Asciidoctor Diagram on every change to core

Release meta

Released on: 2017-07-23
Released by: @mojavelinux
Release beer: She'brew Double IPA

Logs: resolved issues | full diff

Credits

Thanks to the following people who contributed to this release:

@Mogztter, @JBR69, @robertpanzer, @ztmr, and @pepijnve.

Special thanks goes to @vogella for providing additional financial support following the 1.5.6 release.

A very special thanks to all the awesome supporters of the Asciidoctor Salt campaign who provided critical funding for the development of this release and the ongoing development of the project.

@mojavelinux mojavelinux released this Jul 12, 2017 · 871 commits to master since this release

Assets 2

This iteration began as a minor release and morphed into one of the most important and substantial releases to date. This release brings several landmark features, major performance improvements (25% increase in speed), critical bug fixes, and lots of important internal restructuring.

The most recognizable new feature is surely the formal cross reference text (e.g., Figure 1, “Architecture”). To support this feature, the references table is now populated with nodes instead of just reference text, making it easier for extensions to use this information. Additionally, bibliography anchors now support reference text and more warnings have been added if references are invalid.

There are also major enhancements to partial includes, which can now be used to exclude in addition to including tagged regions. In the area of security, rel="noopener" attribute is added to all links that target _blank. Block extensions now have access to the context of the block that was matched via the cloaked-context attribute. In the bug category, complex content on callout list items is retained in HTML output, the operation logic for ifndef has been made compliant, lines that shouldn't be recognized aren't, and substitutions are applied more consistently and accurately.

But that's just a partial summary. To get the whole story, check out the changelog below.

Distributions

Asciidoctor is also packaged for Fedora, Debian, Ubuntu, Mint, Alpine Linux, and OpenSUSE. Please use the system's package manager to install the package named asciidoctor.

Changelog

Enhancements

  • use custom cross reference text if xrefstyle attribute is set (full, short, basic) (#858, #1132)
  • store referenceable nodes under refs key in document catalog (PR #2220)
  • apply reftext substitutions (specialchars, quotes, replacements) to value returned by reftext method (PR #2220)
  • add xreftext method to AbstractBlock, Section, and Inline to produce formatted text for xref (PR #2220)
  • introduce attributes chapter-refsig, section-refsig, and appendix-refsig to set reference signifier for chapter, section, and appendix, respectively (PR #2220)
  • add rel="noopener" to links that target _blank or when noopener option is set (#2071)
  • add option to exclude tags when including a file (#1516)
  • add meta for shortcut icon if favicon attribute is set (#1574)
  • allow use of linenums option to enable line numbers on a source block (#1981)
  • allow extension groups to be unregistered individually (#1701)
  • catalog bibliography anchors and capture reftext (#560, #1562)
  • automatically add bibliography style to unordered list in bibliography section (#1924)
  • disable startinline option when highlighting PHP if mixed option is set on source block (PR #2015) (@ricpelo)
  • configure Slim to resolve includes in specified template dirs (#2214)
  • dump manpage when -h manpage flag is passed to CLI (#2302)
  • add resolves_attributes method to DSL for macros (#2122)
  • invoke convert on result of custom inline macro if value is an inline node (#2132)
  • resolve attributes for custom short inline macros if requested (#1797)
  • add convenience method to create section from extension; use same initialization logic as parser (#1957)
  • add handles? method to DSL for IncludeProcessor (#2119)
  • pass through preload attribute to video tag (#2046)
  • add start and end times for audio element (#1930)
  • set localyear and docyear attributes (#1372)
  • pass cloaked context to block extension via cloaked-context attribute (#1606)
  • add support for covers in DocBook 5 converter (#1939)
  • accept named pipe (fifo) as the input file (#1948)
  • add AbstractBlock#next_adjacent_block helper method
  • rename Document#references to catalog; alias references to catalog (PR #2237)
  • rename extensions_registry option to extension_registry
  • rename Extensions.build_registry method to create
  • autoload extensions source file when Asciidoctor::Extensions is referenced (PR #2114, PR #2312)
  • apply default_attrs to custom inline macro (PR #2127)
  • allow tab separator for table to be specified using \t (#2073)
  • add Cell#text= method

Improvements

  • significant improvements to performance, especially in parser and substitutors
  • process include directive inside text of short form preprocessor conditional (#2146)
  • add support for include tags in languages that only support only circumfix comments (#1729)
  • allow spaces in target of block image; target must start and end with non-space (#1943)
  • add warning in verbose mode if xref is not found (@fap-) (#2268)
  • add warning if duplicate ID is detected (#2244)
  • validate that output file will not overwrite input file (#1956)
  • include docfile in warning when stylesheet cannot be read (#2089)
  • warn if doctype=inline is used and block has unexpected content model (#1890)
  • set built-in docfilesuffix attribute (#1673)
  • make sourcemap field on Document read/write (#1916)
  • allow target of xref to begin with attribute reference (#2007)
  • allow target of xref to be expressed with leading # (#1546)
  • allow kbd and btn macros to wrap across multiple lines (#2249)
  • allow menu macro to span multiple lines; unescape escaped closing bracket
  • make menu macro less greedy
  • allow ampersand to be used as the first character of the first segment of a menu (#2171)
  • enclose menu caret in HTML tag (#2165)
  • use black text for menu reference; tighten word spacing (#2148)
  • fix parsing of keys in kbd macro (PR #2222)
  • add support for the window option for the link on a block image (#2172)
  • set correct level for special sections in parser (#1261)
  • always set numbered property on appendix to true
  • store number for formal block on node (#2208)
  • set sectname of header section to header (#1996)
  • add the remove_attr method to AbstractNode (#2227)
  • use empty string as default value for set_attr method (#1967)
  • make start argument to system_path optional (#1965)
  • allow API to control subs applied to ListItem text (#2035)
  • allow text of ListItem to be assigned (in an extension) (#2033)
  • make generate_id method on section a static method (#1929)
  • validate name of custom inline macro; cache inline macro rx (#2136)
  • align number in conum list to top by default (#1999)
  • fix CSS positioning of interactive checkbox (#1840)
  • fix indentation of list items when markers are disabled (none, no-bullet, unnumbered, unstyled) (PR #2286)
  • instruct icon to inherit cursor if inside a link
  • close all files opened internally (#1897)
  • be more precise about splitting kbd characters (#1660)
  • rename limit method on String to limit_bytesize (#1889)
  • leverage Ruby's match? method to speed up non-capturing regexps (PR #1938)
  • preserve inline break in manpages (@letheed)
  • check for presence of SOURCE_DATE_EPOCH instead of value; fail if value is malformed
  • add Rows#by_section method to return table sections (#2219)
  • cache which template engines have been loaded to avoid unnecessary processing
  • rename assign_index method to enumerate_section (PR #2242)
  • don't process double quotes in xref macro (PR #2241)
  • optimize attr and attr? methods (PR #2232)
  • use IO.write instead of File.open w/ block; backport for Opal
  • backport IO.binread to Ruby 1.8.7 to avoid runtime check
  • cache backend and doctype values on document
  • allow normalize option to be set on PreprocessorReader; change default to false
  • move regular expression constants for Opal to Asciidoctor.js build (PR #2070)
  • add missing comma in warning message for callout list item out of sequence
  • combine start_with? / end_with? checks into a single method call
  • rename UriTerminator constant to UriTerminatorRx
  • promote subs to top-level constants; freeze arrays
  • rename PASS_SUBS constant to NONE_SUBS
  • rename EOL constant to LF (retain EOL as alias)
  • rename macro regexp constants so name follows type (e.g., InlineImageMacroRx)

Compliance

  • retain block content in items of callout list when converting to HTML and man page (#1478)
  • only substitute specialchars for content in literal table cells (#1912)
  • fix operator logic for ifndef directive with multiple attributes (#1983)
  • only recognize uniform underline for setext section title (#2083)
  • don't match headings with mixed leading characters (#2074)
  • fix layout break from matching lines it shouldn't
  • fix behavior of attribute substitution in docinfo content (PR #2296)
  • encode spaces in URI (PR #2274)
  • treat empty string as a valid block title
  • preprocess lines of a simple block (#1923)
  • don't drop trailing blank lines when splitting source into lines (PR #2045)
  • only drop known AsciiDoc extensions from the inter-document xref path (#2217)
  • don't number special sections or special subsections by default (#2234)
  • assign sectname based on name of manuscript element (#2206)
  • honor leveloffset when resolving implicit doctitle (#2140)
  • permit leading, trailing, and repeat operators in target of preprocessor conditional (PR #2279)
  • don't match link macro in block form (i.e., has two colons after prefix) (#2202)
  • do not match bibliography anchor that begins with digit (#2247)
  • use [ \t] (or \s) instead of \p{Blank} to match spaces (#2204)
  • allow named entity to have trailing digits (e.g., there4) (#2144)
  • only assign style to image alt text if alt text is not specified
  • substitute replacements in non-generated alt text of block image (PR #2285)
  • keep track of whether alt text is auto-generated by assigning default-alt attribute (PR #2287)
  • suppress info element in docbook output if noheader attribute is set (#2155)
  • preserve leading indentation in literal and verse table cells (#2037)
  • preserve whitespace in literal and verse table cells (#2029)
  • set doctype-related attributes in AsciiDoc table cell (#2159)
  • fix comparison logic when preprocessing first line of AsciiDoc table cell
  • set filetype to man when backend is manpage (#2055)
  • respect image scaling in DocBook converter (#1059)
  • share counters between AsciiDoc table cells and main document (#1942)
  • generate ID for floating title from converted title (#2016)
  • split "treeprocessor" into two words; add aliases for compatibility (PR #2179)
  • allow trailing hyphen in attribute name used in attribute reference
  • allow escaped closing bracket in text of xref macro
  • process pass inline macro with empty text; invert extract logic
  • drop support for reftext document attribute (must be specified on node)
  • fix compliance with Haml >= 5 (load Haml eagerly; remove ugly option)
  • don't match inline image macro if target contains endline or leading or trailing spaces
  • assign id instead of target on ref/bibref node (PR #2307)
  • remove regexp hacks for Opal (#2110)
  • drop outdated quoting exceptions for Opal (PR #2081)

Bug fixes

  • don't allow table borders to cascade to nested tables (#2151)
  • escape special characters in reftext of anchor (#1694)
  • sanitize content of authors meta tag in HTML output (#2112)
  • fix stray marks added when unescaping unconstrained passthroughs (PR #2079)
  • don't confuse escaped quotes in CSV data as enclosing quotes (#2008)
  • don't activate implicit header if cell in first line of table contains a blank line (#1284, #644)
  • allow compat-mode in AsciiDoc table cell to inherit from parent document (#2153)
  • manify all normal table cell content (head, body, foot) in manpage output
  • add missing newline after table caption in manpage output (#2253)
  • correctly format block title on video in manpage output
  • don't crash if substitution list resolves to nil (#2183)
  • fail with informative message if converter cannot be resolved (#2161)
  • fix regression of not matching short form of custom block macro
  • encode double quotes in image alt text when used in an attribute (#2061)
  • encode double quote and strip XML tags in value of xreflabel attribute in DocBook converter (PR #2220)
  • fix typo in base64 data (PR #2094) (@Mogztter)
  • permit pass macro to surround a multi-line attribute value with hard line breaks (#2211)
  • fix sequential inline anchor macros with empty reftext (#1689)
  • don't mangle compound names when document has multiple authors (#663)
  • don't drop last line of verbatim block if it contains only a callout number (#2043)
  • prevent leading & trailing round brackets from getting caught in indexterm (#1581)
  • remove cached title when title is set on block (#2022)
  • remove max-width on the callout number icon (#1895)
  • eagerly add hljs class for highlight.js (#2221)
  • fix SOURCE_DATE_EPOCH lookup in Opal
  • fix paths with file URI scheme are inevitably absolute (PR #1925) (@Mogztter)
  • only resolve file URLs when JavaScript IO module is xmlhttprequest (PR #1898) (@Mogztter)
  • fix formatting of video title in manpage converter
  • don't increment line number if peek_lines overruns buffer (fixes some cases when line number is off)
  • freeze extension processor instance, not class
  • fix numbering bug in reindex_sections
  • handle cases when there are no lines for include directive to select

Documentation

  • enable admonition icons in README when displayed on GitHub
  • add German translation of chapter-label (PR #1920) (@fap-)
  • add Ukrainian translation of built-in attributes (PR #1955) (@hedrok)
  • add Norwegian Nynorsk translation; updated Norwegian Bokmål translation of built-in attributes (PR #2142) (@huftis)
  • add Polish translation of built-in attributes (PR #2131) (@ldziedziul)
  • add Romanian translation of built-in attributes (PR #2125) (@vitaliel)
  • fix Japanese translation of built-in attributes (PR #2116) (@haradats)
  • add Bahasa Indonesia translation of built-in labels (@triyanwn)

Build / Infrastructure

  • upgrade highlight.js to 9.12.0 (#1652)
  • include entire test suite in gem (PR #1952) (@voxik)
  • upgrade Slim development dependency to 3.0.x (PR #1953) (@voxik)
  • upgrade Haml development dependency to 5.0.x
  • upgrade Nokogiri to 1.6.x (except on Ruby 1.8) (PR #1213)
  • add Ruby 2.4 to CI test matrix (PR #1980)
  • upgrade cucumber and JRuby in CI build (PR #2005)
  • fix reference to documentation in attributes.adoc (PR #1901) (@stonio)
  • trap and verify all warnings when tests are run with warnings enabled
  • set default task in build to test:all
  • configure run-tests.sh script to run all tests
  • configure feature tests to only show progress
  • configure Slim in feature tests to use html as format instead of deprecated html5
  • lock version of yard to fix invalid byte sequence in Ruby 1.9.3
  • modify rake build to trigger dependent builds (specifically, Asciidoctor.js) (@Mogztter) (PR #2305)

Release meta

Released on: 2017-07-12
Released by: @mojavelinux
Release beer: Stickee Monkey (2017)

Logs: resolved issues | full diff

Credits

Thanks to the following people who contributed to this release:

@graphitefriction, @fap-, @vogella, @shahryareiv, @ricpelo, @mattadamson, @ceefour, @filiphr, @EikeRethmeier, @robertpanzer, @gpakosz, @janicecmt, @cristoper, @jjaderberg, @getreu, @oncletom, @hsablonniere, @nerk, @megathaum, @k-mack, @jmini, @indigo423, @DavidGamba, @sanmai-NL, @github-login, @DeepakSingla14, @farleylai, @prudhomm, @LIttleAncientForestKami, @zaxebo1, @lefou, @msc-, @jirutka, @elextr, @wolandscat, @lordofthejars, @lodestone, @asknet, @IanDarwin, @jexp, @voxik, @kito99, @tduchateau, @owenh000, @Mogztter, @jponge, @nathany, @jxxcarlson, @ramsey, @edoverflow, @pavs, @otavio, @rahmanusta, @sandersk, @hedrok, @huftis, @ldziedziul, @vitaliel, @haradats, @triyanwn, @stonio, and @letheed

Special thanks goes to @vogella and @fap-, both for their financial support of the project as well as critical insight and important patches to make the custom cross reference text feature happen.

A very special thanks to all the awesome supporters of the Asciidoctor Salt campaign who provided critical funding for the development of this release and the ongoing development of the project.

@mojavelinux mojavelinux released this Oct 5, 2016 · 1414 commits to master since this release

Assets 2

Primarily a bug, compatibility, and security fix release, this update also introduces a full set of translations for built-in labels thanks to our awesome community! Additionally, during this release cycle, @diguage contributed a Chinese translation of the README and @Mizuho32 contributed a Japanese translation of the README.

Distributions

Asciidoctor is also packaged for Fedora, Debian, Ubuntu, Mint, Alpine Linux, and OpenSUSE. Please use the system's package manager to install the package named asciidoctor.

Changelog

Enhancements

Improvements

  • Style nested emphasized phrases properly when using default stylesheet (#1691)
  • Honor explicit table width even when autowidth option is set (#1843)
  • Only explicit noheader option on table should disable implicit table header (#1849)
  • Support docbook orient="land" attribute on tables (#1815)
  • Add alias named list to retrieve parent List of ListItem
  • Update push_include method to support chaining (#1836)
  • Enable font smoothing on Firefox on OSX (#1837)
  • Support combined use of sectanchors and sectlinks in HTML5 output (#1806)
  • fix API docs for find_by
  • Upgrade to Font Awesome 4.6.3 (@allenan, @Mogztter) (#1723)
  • README: add install instructions for Alpine Linux
  • README: Switch yum commands to dnf in README
  • README: Mention Mint as a Debian distro that packages Asciidoctor
  • README: Add caution advising against using gem update to update a system-managed gem (@oddhack)
  • README: sync French version with English version (@flashcode)
  • Add missing endline after title element when converting open block to HTML
  • Move list_marker_keyword method from AbstractNode to AbstractBlock
  • Rename definition list to description list internally

Compliance

  • Support 6-digit decimal char refs, 5-digit hexidecimal char refs (#1824)
  • Compatibility fixes for Opal
  • Check for number using Integer instead of Fixnum class for compatibility with Ruby 2.4

Bug fixes

  • Use method_defined? instead of respond_to? to check if method is already defined when patching (#1838)
  • Fix invalid conditional in HTML5 converter when handling of SVG
  • Processor#parse_content helper no longer shares attribute list between blocks (#1651)
  • Fix infinite loop if unordered list marker is immediately followed by a dot (#1679)
  • Don't break SVG source when cleaning if svg start tag name is immediately followed by endline (#1676)
  • Prevent template converter from crashing if .rb file found in template directory (#1827)
  • Fix crash when generating section ID when both idprefix & idseparator are blank (#1821)
  • Use stronger CSS rule for general text color in Pygments stylesheet (#1802)
  • Don't duplicate forward slash for path relative to root (#1822)

Infrastructure

  • Build gem properly in the absense of a git workspace, make compatible with JRuby (#1779)
  • Run tests in CI using latest versions of Ruby, including Ruby 2.3 (@ferdinandrosario)

Release meta

Released on: 2016-10-05
Released by: @mojavelinux
Release beer: Boulevard Rye-on-Rye X - Sazerac (2016)

Logs: resolved issues | full diff

Credits

Thanks to the following people who contributed to this release:

@JmyL, @ciampix, @ivannov, @maxandersen, @radcortez, @eddumelendez, @leathersole, @aslakknutsen, @shahryareiv, @AlexanderZobkov, @dongwq, @rmpestano, @ncomet, @lgvz, @patoi, @BojanStipic, @fwilhe, @rahmanusta, @abelsromero, @aboullaite, @roelvs, @gjtorikian, @thoragan, @pavs, @bk2204, @jojoboulix, @Mogztter and @andya9.

A very special thanks to all the awesome supporters of the Asciidoctor Salt campaign who provided critical funding for the development of this release as well as ongoing development of the project.

@mojavelinux mojavelinux released this Jan 5, 2016 · 1555 commits to master since this release

Assets 2

Primarily a bug fix release that includes numerous improvements to the manpage converter thanks to @ds26gte, upgraded Font Awesome and MathJax components, compatibility changes for Asciidoctor.js and other bug fixes.

During this release cycle, a French translation of the README was contributed by @anthonny and revised by @Mogztter, @gscheibel and @mgreau. The French translation is the first translation of this document.

Distributions

Changelog

Enhancements

Improvements

  • upgrade to MathJax 2.6.0 and disable loading messages
  • upgrade to Font Awesome 4.5.0
  • disable toc if document has no sections (#1633)
  • convert inline asciimath to MathML (using asciimath gem) in DocBook converter (#1622)
  • add attribute to control build reproducibility (@bk2204) (#1453)
  • recognize file:/// as a file root in Opal browser env (#1561)
  • honor icon attribute on admonition block when font-based icons are enabled (@robertpanzer) (#1593)
  • resolve custom icon relative to iconsdir; add file extension if absent (#1634)
  • allow asciidoctor cli to resolve library path when invoked without leading ./

Compliance

  • allow special section to be nested at any depth (#1591)
  • ensure colpcwidth values add up to 100%; increase precision of values to 4 decimal places (#1647)
  • ignore blank cols attribute on table (#1647)
  • support shorthand syntax for block attributes on document title (#1650)

Bug fixes

  • don't include default toc in AsciiDoc table cell; don't pass toc location attributes to nested document (#1582)
  • guard against nil dlist list item in find_by (#1618)
  • don't swallow trailing line when include file is not readable (#1602)
  • change xlink namespace to xl in DocBook 5 output to prevent parse error (#1597)
  • make callouts globally unique within document, including AsciiDoc table cells (#1626)
  • initialize Slim-related attributes regardless of when Slim was loaded (@terceiro) (#1576)
  • differentiate literal backslash from escape sequence in manpage output (@ds26gte) (#1604)
  • don't mistake line beginning with . for troff macro in manpage output (@ds26gte) (#1589)
  • escape leading dots so user content doesn't trigger troff macros in manpage output (@ds26gte) (#1631)
  • use \c after .URL macro to remove extraneous space in manpage output (@ds26gte) (#1590)
  • fix missing endline after .URL macro in manpage output (#1613)
  • properly handle spacing around .URL/.MTO macro in manpage output (@ds26gte) (#1641)
  • don't swallow doctitle attribute followed by block title (#1587)
  • change strategy for splitting names of author; fixes bug in Opal/Asciidoctor.js
  • don't fail if library is loaded more than once

Infrastructure

  • remove trailing endlines in project source code
  • update contributing guidelines
  • explicitly test ifeval scenario raised in issue #1585
  • remove backreference substitution hack for Opal/Asciidoctor.js
  • fix assignment of default Hash value for Opal/Asciidoctor.js
  • add JRuby 9.0.4.0 and Ruby 2.3.0 to the Travis CI build matrix

Release meta

Released on: 2016-01-05
Released by: @mojavelinux
Release beer: Depth-Charged Double Bastard (2015)

Logs: resolved issues | full diff

Credits

Thanks to the following people who contributed to this release:

Dorai Sitaram (@ds26gte), Guillaume Grossetie (@Mogztter), brian m. carlson (@bk2204), Leif Gruenwoldt (@leif81), Jens Getreu (@getreu), Anthonny Quérouil (@anthonny), Robert Panzer (@robertpanzer), Jean-Michel Bruel (@jmbruel), Guillaume Scheibel (@gscheibel), Dave Smith (@devunwired), Willem Salembier (@wsalembi)

A very special thanks to all the awesome supporters of the Asciidoctor Salt campaign who provided critical funding for the development of this release as well as ongoing development of the project.

@mojavelinux mojavelinux released this Oct 31, 2015 · 1636 commits to master since this release

Assets 2

A 1.5.x micro substantial release that introduces a few key enhancements as well as many bug fixes, minor improvements and internal changes. Specifically, this release adds advanced support for SVGs, no more swallowed exceptions, a built-in manpage backend, AsciiMath conversion DocBook through integration with the asciimath gem, more understandable docinfo configuration and a slew of fixes and improvements.

Distributions

Changelog

Enhancements

  • add support for interactive & inline SVGs (#1301, #1224)
  • add built-in manpage backend (@DavidGamba) (#651)
  • create Mallard backend; see asciidoctor-mallard (@bk2204) (#425)
  • add AsciiMath to MathML converter to support AsciiMath in DocBook converter (@pepijnve) (#954)
  • allow text of selected lines to be highlighted in source block by Pygments or CodeRay (#1429)
  • use value of docinfo attribute to control docinfo behavior (#1510)
  • add docinfosubs attribute to control which substitutions are performed on docinfo files (@Mogztter) (#405)
  • drop ability to specify multiple attributes with a single -a flag when using the CLI (@Mogztter) (#405)
  • make subtitle separator chars for document title configurable (@rmannibucau) (#1350)
  • make XrefInlineRx regexp more permissive (Mathieu Boespflug) (#844)

Improvements

  • load JavaScript and CSS at bottom of HTML document (@Mogztter) (#1238)
  • list available backends in help text (@plaindocs) (#1271)
  • properly expand tabs in literal text (#1170, #841)
  • add source-indent as document attribute (@Mogztter) (#1169)
  • upgrade MathJax to 2.5.3 (#1329)
  • upgrade Font Awesome to 4.4.0 (@Mogztter) (#1465)
  • upgrade highlight.js to 8.6 (now 8.9.1) (#1390)
  • don't abort if syntax highlighter isn't available (#1253)
  • insert docinfo footer below footer div (#1503)
  • insert toc at default location in embeddable HTML (#1443)
  • replace _ and - in generated alt text for inline images
  • restore attributes to header attributes after parse (#1255)
  • allow docdate and doctime to be overridden (#1495)
  • add CSS class .center for center block alignment (#1456)
  • recognize U+2022 (bullet) as alternative marker for unordered lists (@Mogztter) (#1177)
  • allow videos to work for local files by prepending asset-uri-scheme (Chris) (#1320)
  • always assign playlist param when loop option is enabled for YouTube video
  • parse isolated version in revision line (@bk2204) (#790)
  • autoload Tilt when template converter is instantiated (#1313)
  • don't overwrite existing id entry in references table (#1256)
  • use outfilesuffix attribute defined in header when resolving outfile (#1412)
  • make AsciiDoc safe mode option on Slim engine match document (#1347)
  • honor htmlsyntax attribute when backend is html/html5 (#1530)
  • tighten spacing of wrapped lines in TOC (#1542)
  • tune padding around table cells in horizontal dlist (#1418)
  • load Droid Sans Mono 700 in default stylesheet
  • set line height of table cells used for syntax highlighting
  • set font-family of kbd; refine styling (#1423)
  • extract condition into quote_lines? method (@Mogztter)
  • extract inline code into read_paragraph method (@Mogztter)
  • parent of block in ListItem should be ListItem (#1359)
  • add helper methods to List and ListItem (#1551)
  • add method AbstractNode#add_role and AbstractNode#remove_role (@robertpanzer) (#1366)
  • introduce helper methods for sniffing URIs (#1422)
  • add helper to calculate basename without file extension
  • document -I and -r options in the manual page (@bk2204)
  • fix --help output text for -I (@bk2204)
  • don't require open-uri-cached if already loaded
  • do not attempt to scan pattern of non-existent directory in template converter
  • prevent CodeRay from bolding every 10th line number

Compliance

  • use <sup> for footnote reference in text instead of <span> (#1523)
  • fix alignment of wrapped text in footnote (#1524)
  • include full stop after footnote number in embeddable HTML
  • show manpage title & name section in embeddable HTML (#1179)
  • resolve missing attribute in ifeval to empty string (#1387)
  • support unbreakable & breakable options on table (rockyallen) (#1140)

Bug fixes

  • don't truncate exception stack in Asciidoctor.load (#1248)
  • don't fail to save cause of Java exception (@robertpanzer) (#1458)
  • fix precision error in timings report (#1342)
  • resolve regexp for inline macro lazily (#1336)
  • block argument to find_by should filter results (#1393)
  • strip comment lines in indented text of dlist item (#1537)
  • preserve escaped delimiter at end of line in a table (#1306)
  • correctly calculate colnames for implicit columns (#1556)
  • don't crash if colspan exceeds colspec (#1460)
  • account for empty records in colspec (#1375)
  • ignore empty cols attribute on table
  • use .inspect to print MathJax delimiters (again) (#1198)
  • use while loop instead of begin/while loop to address bug in Asciidoctor.js (#1408)
  • force encoding of attribute values passed from cli (#1191)
  • don't copy css if stylesheet or stylesdir is a URI (#1400)
  • fix invalid color value in default CodeRay theme
  • built-in writer no longer fails if output is nil (#1544)
  • custom template engine options should take precedence
  • fallback to require with a non-relative path to support Debian package (@Mogztter)
  • pass opts to recursive invocations of PathResolver#system_path
  • fix and test external links in docbook backend
  • use format symbol :html instead of :html5 for Slim to fix warnings
  • fix documentation for inline_macro and block_macro (Andrea Bedini)
  • fix grammar in warning messages regarding thread_safe gem

Infrastructure

  • migrate opal_ext from core to Asciidoctor.js (#1517)
  • add Ruby 2.2 to CI build; only specify minor Ruby versions
  • enable containerized builds on Travis CI
  • add config to run CI build on AppVeyor
  • exclude benchmark folder from gem (#1522)

Release meta

Released on: 2015-10-31
Released by: @mojavelinux
Release beer: St Bernardus Abt 12

Logs: resolved issues | full diff

Credits

Thanks to the following people who contributed to this release:

Jakub Jirutka (@jirutka), roel van steenberghe (@roelvs), Chris K Wensel (@cwensel), Konrad Malawski (@ktoso), Tobias Roeser (@lefou), Thomas Kern (@nerk), Robert Panzer (@robertpanzer), Katrina Owen (@kytrinyx), Pepijn Van Eeckhoudt (@pepijnve), Kendall Clark (@kendall), Alex Soto (@lordofthejars), Abel Salgado Romero (@abelsromero), Bela Hausmann (@and3k), Rob Winch (@rwinch), Mathieu Boespflug (@mboes), Chris (@crydalch), Jason Rose-Kuhrt (@jasonkuhrt), brian m. carlson (@bk2204), David Baldwin (@davebaldwin), Samual Wright (@plaindocs), David Gamba (@DavidGamba), Stephen Hay (@stephenhay), Sol Bekic (@s0lll0s), Jakub Nawalaniec (@pielgrzym), Bruce Momjian (@bmomjian), Phil Webb (@philwebb), James Carlson (@jxxcarlson), Joel C. Salomon (@jcsalomon), Guillaume Grossetie (@Mogztter), Sarah White (@graphitefriction), Ken Dreyer (@ktdreyer)

A very special thanks to all the awesome supporters of the Asciidoctor Salt campaign who provided critical funding for the development of this release as well as ongoing development of the project.

@mojavelinux mojavelinux released this Nov 27, 2014 · 1846 commits to master since this release

Assets 2

A 1.5.x micro release that introduce bug fixes, minor enhancements and improvements and internal changes. This release introduces several improvements to docinfo, including better encoding support, configurable docinfo directory and a docinfo extension point.

Changelog

Enhancements

  • add docinfo extension (@Mogztter) (#1162)
  • allow docinfo to be in separate directory from content, specified by docinfodir attribute (@Mogztter) (#511)
  • enable TeX equation auto-numbering if eqnums attribute is set (@jxxcarlson) (#1110)

Improvements

  • recognize -- as valid line comment for callout numbers; make line comment configurable (#1068)
  • upgrade highlight.js to version 8.4 (#1216)
  • upgrade Font Awesome to version 4.2.0 (@clojens) (#1201)
  • define JAVASCRIPT_PLATFORM constant to simplify conditional logic in the JavaScript environment (#897)
  • provide access to destination directory, outfile and outdir via Document object (#1203)
  • print encoding information in version report produced by asciidoctor -v (#1210)
  • add intrinsic attribute named cpp with value C++ (#1208)
  • preserve URI targets passed to stylesheet and related attributes (#1192)
  • allow numeric characters in block attribute name (#1103)
  • support custom YouTube playlists (#1105)
  • make start number for unique id generation configurable (#1148)
  • normalize and force UTF-8 encoding of docinfo content (#831)
  • allow subs and default_subs to be specified in Block constructor (#749)
  • enhance error message when reading binary input files (@Mogztter) (#1158)
  • add append method as alias to << method on AbstractBlock (#1085)
  • assign value of preface-title as title of preface node (#1090)
  • fix spacing around checkbox in checklist (#1138)
  • automatically load Slim's include plugin when using slim templates (@jirutka) (#1151)
  • mixin Slim helpers into execution scope of slim templates (@jirutka) (#1143)
  • improve DocBook output for manpage doctype (@bk2204) (#1134, #1142)

Compliance

  • substitute attribute entry value in attributes defined outside of header (#1130)
  • allow empty cell to appear at end of table row (#1106)
  • only produce one row for table in CSV or DSV format with a single cell (#1180)

Bug fixes

  • add explicit to_s call to generate delimiter settings for MathJax config (#1198)
  • fix includes that reference absolute Windows paths (#1144)
  • apply DSL to extension block in a way compatible with Opal

Distributions

Release meta

Released on: 2014-11-27
Released by: @mojavelinux
Release beer: Avery 5 Monks

Logs: resolved issues | full diff