All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Support for propagating facets to AST files (#642)
- New role for downloads page (DOCSP-46042, #641)
- Preparatory logic for loading pre-parsed AST files (DOP-5237 #638, DOP-5250 #639)
atlascli
role link target (DOCSP-45974, #640)
- Update Search Playground snapshot URLs (#636)
- Ensure default tabids don't persist across pages (#637)
- "mongoid-api" role (#633)
- "ruby" role link (#633)
- Improved onboarding docs (#634)
- Proxy requests to raw GH content (#635)
- "default-tabid" option on drivers tabs (#629)
- "expanded" option on collapsibles now a boolean (#630)
- New "link-new-tab" directive (#632)
- Removed nested directive errors for method selector (#631)
- Revert "Bump dependencies to support Python 3.13"
- The
procedure
directive now accepts atitle
option (#628)
- Footnote reference IDs are now unique on each page (DOP-5060, #627)
- "On this page" subnav incorrectly displays headings for all language tabs (DOP-3424, #625)
- Add expanded option to Collapsibles (DOP-5059, #626)
- Prioritize PyMongo in wayfinding component (DOP-5046, #624)
- Add display names to facets (DOP-4915, #621)
- Add video options for video metadata (DOP-4917, #617)
- Add gold role (DOP-4947, #623)
- Contextualize headings in method selector for "On This Page" list (DOP-4967, #620)
- Parse literals in titles (DOP-4959, #622)
- DOP-4689: Implement multi-page tutorials by @rayangler in #617
- DOP-4983: improve heading content and sectioning by @seungpark in #618
- DOP-4983: controlled sections and refs for collapsibles by @seungpark in #616
- Implementation for new
way-finding
directive
- Add ruby driver to wayfinding component
- Support for the
wayfinding
family of directives (DOP-4692, #613)
- When running as a language server, the language client is now used for file watching instead of snooty having its own file watch implementation. This should yield a much more reliable file watch experience. (DOP-4829, #610).
- The
watch
subcommand has been removed. It was an escoteric feature with questionable reliability and a highly problematic implementation.
- A new
collapsible
directive (DOP-4690, #611)
- Landing page directives with no current use (DOP-4647, #612)
- Make repeated bundle builds bit-identical
- Bump certifi from 2024.6.2 to 2024.7.4
- Fix IndexError in tinydocutils
- The include loop diagnostic has been removed due to false-positives.
- Drivers tab labels have been updated (#607)
- The
topic
directive (DOP-4663, #604)
- Update urllib3 to v2.2.2.
- Detect include loops (DOP-4723).
- Cards component + card icon as string (DOP-4623).
- Added Kotlin and Cpp-sdk drivers keys (DOP-4608).
- Support for clickInclude function in the VSCode extension (DOP-4441).
- Update dependencies.
- Alphabetized Realm languages (#593).
- Warn if a table contains only a header row (DOP-4430).
- Parse breadcrumb toc titles (DOP-4592).
- Images and OpenAPI YAML files now correctly invalidate cached parses (DOP-4491, DOP-4506, #590)
- Add link type for community-built badges (DOP-4511)
- Add new styles to generalize card content for programming language landing pages (DOP-4543)
- Add links to user voide pages (DOCSP-37734)
- Update github action dependencies (DOP-4479)
- Update black formatter
- The
extracts
giza compatibility layer now supports thepre
andpost
keys (DOP-4495).
- A diagnostic for orphaned pages that do not exist within the project toctree (DOP-4404)
- SVGs now have an explicit height/width set if possible (#569)
- Invalid nested tabs are now presented as an INFO level diagnostic (DOP-4320)
- Non-pages (i.e. pages that do not end with
.txt
) are no longer included in the output bundle (DOP-4447, #574)
- The
mongo-web-shell
directive (DOP-4368-A, #566)
- The macOS builds should now function (DOP-4374).
- Enabling IA directives to support nested content for homepage redesign purposes (DOP-4300)
- Log a final parse summary message (DOP-4336)
- Parser identifies if an Instruqt lab is on the page (DOP-4279, DOP-4319, #558)
- YAML caching support for faster builds (DOP-3742).
- pre-determine image dimensions in parser (DOP-4207, #547, #548)
- Flag images for lazy loading depending (DOP-4225, #550)
- Support multiple inline elements in a shared include substitution (DOP-4181)
- Don't parse email literals (DOP-3285)
- Crash on malformed facets (DOP-4253)
- Typo in the
mms-icon-modify
icon definition (DOP-4212) - Raise a diagnostic for section structures that cannot fit into a tree rather than silently dropping the content (DOP-3969)
- Revert fast parser exiting.
- The parser will now accept the
--no-caching
flag when creating a cache (#544). - Use UTF-8 encoding when reading TOML text (#545).
- The parser will now exit more quickly upon completion.
- Warn on invalid tab nesting (DOP-3898).
- Throw warning and ignore nested projects on detection within parser (DOP-3866, #540)
- Catch TOML parsing errors in snooty.toml (DOP-4141, #542)
- Fix regression causing an exception to not be handled when directive options are duplicated. (DOP-4140)
- DOP-4070: Automatically find a viable cache file from a given URL prefix
- Use cx_freeze instead of pyinstaller to reduce flakiness of release process
- DOP-4043: allow specifying multiple facet values in a single facet directive option
- DOP-3991: Add landing:explore directive (#532)
- DOP-3987: Add landing:introduction directive (#521)
- DOP-3988: Add landing:products directive (#517)
- DOP-3992: Add landing:more-ways directive (#518)
- DOP-3855: Adding LeafyGreen icon role support (#512)
- DOP-3993: Allow card group to link data for IA entry (#522)
- Include
taxonomy.toml
in the binary bundles.
- All internal paths are now relative to the project source tree, not absolute, allowing cache files to be portable between computers and working directories (DOP-3966)
- Facet processing shoud be more reliable with regards to caches (DOP-3878)
- Ensure that YAML parsing diagnostics are reliably raised (DOP-4008)
- Split out Realm Kotlin SDK role to sync and base URLs (#506)
- Hotfixes to provide empty list by default for validated_facets and fix diagnostics
- Implement concrete Facet type (DOP-3921, #500, #507).
- Support passing options like --rstspec to the create-cache command.
- Add cache tests (DOP-3946, #508).
- Update dependencies (#502).
- Add perl programming language to taxonomy.
- Unpluralize taxonomy (#503).
- First stage of parse caching (DOP-3741).
- Cascading facets (DOP-3836, #494).
- Taxonomy format changed (DOP-3875, #495, #501).
- Groundwork for page facets (DOP-3688, #476).
- Linux AMD64 builds are now powered by Pyston, providing a healthy roughly 20% performance bump over CPython 3.11 (DOP-3746).
- Fix an incorrect assertion and a potential runtime exception that could be triggered by unusual reStructuredText (DOP-3753).
- Add support and validation for the
openapi-changelog
directive (DOP-3660, DOP-3661, DOP-3663).
- Correctly emit the
static_assets
field in each page's AST (DOP-3729).
- Switch from flit to poetry by @i80and in #427
- DOP-3487: Deprecate cssclass directive by @i80and in #443
- DOP-3211: ref label by @mmeigs in #444
- Cleanup: use a type for associated products rather than Dict[str, object] by @i80and in #446
- Make bump_version.py also bump the version in pyproject.toml by @i80and in #445
- Numerous version bumps for project dependencies.
- Page.query_fields removed (unused).
- Devhub specific codepaths removed.
- Copyable option now checks for non-falsey values instead of "True".
- Default children and default slug for associated toc node (#438) by @seungpark in #438.
- Revert "Change OpenAPI metadata source to be spec string (DOP-3353)" by @rayangler in #436.
- Support for external ToC nodes as part of the embedded versions project (DOP-3200).
- Binary releases are now built from Github Actions with Python 3.11 (DOP-3298).
- Each
.txt
page now gets a separate context for named references, rather than having a single global namespace with undefined filesystem-dependent semantics.
- Update GitHub actions by @i80and in #424
- DOP-3159: README overhaul by @seungpark in #425
- DOP-3307: Generate metadata for OpenAPI content pages by @rayangler in #426
- DOP-3353: Change OpenAPI metadata source to be spec string by @rayangler in #428
- Tigthen up the schema for the
constants
field in snooty.toml. It was excessively permissive and failed to warn about an authoring mistake, causing issues 8 months later (DOP-3320).
- Spelling suggestions for reference roles (#416).
- Associated products metadata (DOP-3197, #420).
- (DOCSP-23944) Adds Atlas CLI custom role to rstspec.toml (#419)
- realm-languages: Add Dart + re-order
- DOP-1166: include all icon roles. parse icon classname from role + target (#417)
- Fix some icon issues
- Add validation for icon role (DOP-1166) (#414)
- Fix invalid list-table structure error message
- List tables are now validated to have correct structure (DOP-3107)
- Include branch name in manifest file (DOP-2986)
- Added new link roles and mongosyncstate rstobject (#401, #402, #403, #404)
- Rename "Realm" to "App Services" in tabsets (#405)
- Validate relative URLs in card directives (DOP-3064, #408)
- Fix upsert logic and added manifest testing (#400).
- Expand tildes in paths input on the command line (DOP-3078, #409)
- Properly handle rst source files with invalid UTF-8 (DOP-3068, #410)
- Literalinclude support for input/output directives (DOP-2952, #398).
- Correctly handle field lists existing within a list (DOP-2975).
- Support adding arbitrary data to
snooty.toml
files via thedata_fields
key in rstspec.toml (DOP-2657, #396).
- Add
source
option tocode-block
directives and the Code node (DOP-2743, #389).
- An
eol
boolean option insnooty.toml
(DOP-2771, #390). - Subdomain consolidation
rstspec.toml
changes (DOP-2808).
- Rename "Android SDK" tab to "Java SDK" (#388).
- Add
kotlin
andflutter
SDKs to therealm-sdks
tabset (#388). - Improve
io-code-block
example snippets (DOP-2742, #387).
- Removed published branches logic from parser; version information will henceforth be sourced from Atlas (DOP-2243, #330)
- An
visible
option to theoutput
directive (DOP-2760, #385). - A
video
directive for embedding videos (DOP-2754, #384).
- Implement input, output, and io-code-block directives (DOP-2651, #375).
- Add an
icon
option to thecta-banner
directive (DOP-2719, #382).
- Typo in the deploy environment configuration (DOP-2712, #383).
- An option to specify the location of an rstspec file to use (DOP-2649).
- A new set of deploy environments.
- The
mongodb:cta-banner
directive (DOP-2600, #380).
- Using the
include
directive with no argument no longer cause a build hang (DOP-2696, #376, #377).
step
andprocedure
directives can now be styled and are used to help generate steps from YAML (DOP-2504).
- Substitutions containing multiple substitution elements no longer yields multiple paragraphs (DOP-2620).
- The
tocicon
page option allows writers to attach an icon to a page in the site nav (DOP-2320, #367).
- Flutter link roles (#373).
- Roles for different versions of WT docs (DOCS-14997).
- Chapters are now given an appropriate HTML5 id (DOP-2505).
- Handle escaped double-quotes (DOP-2638).
- Temporary workaround for PHP role intersphinx issues (DOP-2636).
- Properly report diagnostics on YAML parsing and unmarshaling errors (DOP-2637).
-
The language server has had significant work to increase concurrency and reduce jank, and now runs the postprocessor (DOP-2546, #358) bringing diagnostic parity with builds.
More work is planned, but this is a significant step forward, years in the making!
-
OpenAPI specs may now be fetched from realm (DOP-2533, #360) with the
:uses-realm:
option on theopenapi
directive. -
The
iOS SDK
Realm SDK tab has been retitled toSwift SDK
courtesy of Chris Bush (#364).
- HTTP cache now avoids re-sending requests for an hour (#363)
- Do not crash if a literalinclude cannot be parsed as UTF-8 (DOP-2613).
- Correctly handle docutils output when a ref role contains backslashes (DOP-2611).
- Add
v5.0
andv5.1
extlinks for the server manual (#354, #356) - Support for the literalinclude
lineno-start
option (DOP-2562 #355) - Support for chapter
image
andicon
options (DOP-2446 #351, DOP-2447 #357)
- External link roles for the k8s migration (DOP-2556).
rust-async
andrust-sync
driver tabs.- Directives and metadata for upcoming guides work.
- Docutils 0.18 is explicitly unsupported for the moment.
- DOP-2332: tab drivers Mongo Shell -> MongoDB Shell
- The
replacement
andsharedinclude
directives to support shared content work (DOP-2377, DOP-2376).
- Symbolic links are now followed while scanning for content, as long as they do not go above snooty.toml in the filesystem hierarchy (DOP-2415, DOP-2430).
- Source constants no longer fail to recursively evaluate.
- Add version 5.0 to mongo-web-shell directive (DOP-2356)
- Quiz widget! (DOP-2319 #333 DOP-2354, DOP-2354 #334)
java-docs-4.3
extlink (#337)
- Directive for banner support (DOP-1573, #308)
- Correctly report line numbers within directive contents (DOP-2300).
- Correctly generate intersphinx inventory entries for targets defined on the root page (DOP-2292, #326)
- Report invalid extlink definitions on startup
- Restore hlist and blockquote directives.
- Fix typo in Kotlin SDK extlink.
- Remove landing domain and guides content (DOP-2215, #314)
- YAML-generated steps now use the name
step-yaml
andsteps-yaml
to disambugate from the new steps component (DOP-2249, #320) - Update Kotlin SDK extlinks.
- The
:limit:
role no longer renders in monospace (DOP-1735, #319)
- Add versioned node api directives (DOP-2223, #317).
- Add card-tag refrole (DOP-2174, #313).
- Optimized the postprocessor (#316).
- Remove \x00 characters from text nodes (DOP-2196, #315).
- Add layout option to landing cards (DOP-2117, #311).
- Respect the
SYSTEM_PYTHON
makefile variable when creating the virtual environment.
- Add IA Support (DOP-2055)
- Add extra-compact card-group style (DOP-1836)
- Add role to link to manual v4.4 (#307)
- Validate children within tabs directives (DOP-1878)
- Update Realm .NET SDK API role to latest release (#306)
- Fix handling of sphinx-generated intersphinx inventories for pymongo, motor, and the php library docs. (DOP-1810)
- Temporarily un-deprecate directive.class (DOP-2088).
- Remove button class option (#298).
- Identify headings for 'On this page' box (DOP-2045, #297).
- step-fix: Add an argument to landing steps (#295)
- DOP-1883: update URL of kotlin SDK to avoid redirect chain (#296)
- Links to Realm SDKs should not require a trailing slash (DOP-2022).
- Product landing page directives (DOP-1970).
- Update OpenAPI directive to allow parsing through the frontend (DOP-1896).
- Apply trailing slashes to inter-docs roles (DOP-1966).
- Don't crash on failed intersphinx fetch: raise diagnostic (#287).
- Modify the toctree handling so that index.txt can add itself to the toctree with RecursionError (DOP-1931).
- Don't crash if invoked in a child directory of a project.
- Tarball bundles now contain members with 644 permissions.
- Permit tarballing of manpages (DOP-1816).
- Reorder drivers tabs (DOP-1958).
- The
:xml:
role, which was never implemented, is now removed from rstspec.toml.
- Allow "reusable" references (DOP-1857).
rstspec.toml
updates.
- Support for the
~
tag on roles to cut off all but the last.
-delimited segment (DOP-1806).
- Fix altering giza substitutions in inheriting nodes (DOP-1875).
- Don't crash upon building a manpage containing comments (DOP-1874).
- Build manpages (DOP-1584)
- Support for include options and subsets in postprocessor (DOP-323)
- Update driver, compass, ecosystem, and Realm SDK roles to point to correct URLs (DOP-1777)
- Handling of invalid tabs (parser no longer crashes, uses correct diagnostic levels)
- Support for figure border flag (DOP-1579)
- Experimental support for installation on Windows
- Handling of :copyable: flag for code blocks (DOP-1750)
- Handling of duplicate header / label naming (DOP-1326)
- Installation behavior with new pip resolver
- Add
kafka-21-javadoc
role for kafka links.
- Add suffixes to heading IDs to ensure uniqueness (DOP-1734).
- Don't rely on docutils header IDs, fixing e.g. headings with IDs like
id1
(DOP-1566). - Don't include binary name unless requested in
:option:
links (DOP-1675). - Update Realm tabsets (contributed by Nick Larew).
- Support for subcommands (DOP-1703).
dotnet-sdk
,xamarin
, andgit-scm
extlink roles (DOCSP-13010).- Blockquote suggestion when unexpected indentation is encountered.
created_at
field in the database to facilitate document expiration (DOP-1318).
- Remove LiteralBlock node.
- Static assets are now stored in the database with both filename and hash identifier, making it easier for the frontend to properly create all needed images (DOP-1643).
caption
option for code blocks (DOP-1604).mws
directive (DOP-1575).- Tabs are now defined in rstspec.toml, and validated and sorted by the parser (DOP-1450).
- Language pills are now provided in the document root node (DOP-1526).
- Double tabs-pillstrip bug (DOP-1526).
- Preserve source fileid through includes (DOP-1018).
- Extlinks should use the target name for label if no label set, not the raw uri (DOP-1581).
- RFC link labels now match legacy (DOP-1581).
- Render role content when target is not found (DOP-1601).
- Bump
node
extlink version (DOCSP-12335).
- Correctly inherit YAML ref names (DOP-1595).
- Improve callable target handling.
- Support required arguments, and apply to rstobjects (DOP-1589).
- Support targets with escaped angle brackets (DOP-1586).
- A
dbtools
role for linking to database tools docs. - New Realm rstobjects and extlinks (DOCSP-12508).
- A simple "did you mean" feature for some kinds of typos (DOP-1570).
- Ambiguous references are now automatically resolved when it is reasonable to do so (DOP-1434).
- Permit version admonitions to have no argument (DOP-1523).
- Incorrect external link syntax now yields an error (DOP-1569).
- Incorrectly monospaced text no longer inserts the warning text into the document (DOP-1511).
- Intersphinx inventory entries now have the correct fragment identifiers (DOP-1574).
- Highlighting roles (
highlight-red
,highlight-yellow
,highlight-green
,highlight-blue
).
- Linking to non-lowercase labels (DOP-1534).
- HTML IDs are now explicit in the AST (DOP-1279).
- Target matching is now case-sensitive (DOP-1277).
- Internal changes to TOC metadata (DOP-981).
- Un-deprecate the
red
role (DOP-1489).
- Assets are now saved to the correct collection.
- add bic-v2.10 role to link to v2.10 bi-connector docs (DOP-1458).
- Ambiguous target candidates are now listed.
- Batch writes to the database, significantly improving commit performance (DOP-1359).
- Support alternative no-title ref_role syntax (DOP-1429).
- Don't suppress missing option/toc include file messages.
- Sort glossary entires case-insensitively (DOP-1428).
- Support for the
prefix
field inpublished-branches.yaml
.
- OpenAPI support (DOP-1356).
- A
charts-onprem
role (DOP-1342).
- Internal error messages are now a little more helpful (DOP-1354).
- Several directive options are no longer required (DEVHUB-206).
- Fixed crashes with empty list-tables, and with some obscure markup (DOP-1354, DOP-1394).
- Language Server Protocol Diagnostics now include a
source
field of "snooty", so that users can quickly filter for snooty-related diagnostics in vscode.
- Upgraded PyInstaller to fix broken binaries.
- Support for directive fields (DOP-1295).
- Validation of required directive options (DOP-1306).
- Additional performance logging, and the
SNOOTY_PERF_SUMMARY
environment variable (DOP-1349). - Various roles and directives.
- The list-table directive no longer generates incorrect warnings (DOP-1269).
- Substitutions may now be used in directive arguments (DOP-1230).
- To prepare for updating the version of the parser used by the VSCode extension, the postprocessor has been temporarily disabled in the language server.
- The following directives are deprecated:
admonition
,danger
,caution
, andtopic
(DOP-1243).
- Directive arguments were not being properly migrated in the AST.
- Support labels beginning with numbers that contain underscores (DOP-1188)
- Support for extlinks used by Atlas docs (DOP-1233)
- fail_on_diagnostics toml flag (DOP-1132)
- Support additional ordered list labels (DOP-1129)
- Support ordered list "start" attribute (DOP-1210)
- Logging of the parser's version at startup (DOP-1213).
- Snooty parser yields glossary IDs that match the IDs generated by legacy tooling (DOP-1171)
- Improve string-handling in spec-parser (DOP-1148).
- Python 3.7 support.
- Populate literal include nodes (DOP-876).
- RefRole nodes no longer render with the prefix if no title is found (DOP-1073).
- Columns option to card-group.
- Homepage directives (DOP-1120).
- The
rfc
role is now an extlink and actually creates a reference (DOP-1128).
- Invalid YAML in tabs and card groups no longer triggers a crash (DOP-1135).
- Error code 2 is now returned if there are error diagnostics, leaving error code 1 for crashes (DOP-922).
- Generated intersphinx inventories are now compatible with older versions of Sphinx (DOP-1094).
- Snooty no longer crashes when generating or loading an intersphinx inventory with invalid target names (DOP-1079).
- Diagnostic levels are now dealt with more carefully.
- Support for the glossery directive (DOP-888).
- Optional support for logging diagnostics as JSON objects (DOP-969).
- The optional patch ID is now written to the metadata document.
- Support for links in step file headings (DOP-1015).
- Incorrect AST output with hyperlink references (DOP-1056).
- Support for deprecated versions (DOP-908).
- Definition list AST format.
- The code block
linenos
option is now correctly placed in the AST node.
- Added
spec
role. - Added support for various roles & directive options.
- Added support for passing a patch ID into the build identifier (DOP-948).
- The
std:doc
role now emitsRefRole
nodes rather thanRole
, and titles are now resolved in the parser (DOP-954).
- Diagnostic refactoring (DOP-878).
- The
doc
role is now in thestd
domain.
- Various roles.
- C# driver extlinks now point to 2.10.
- Scala driver extlinks now point to 2.9.
- Various roles and directive options.
- Prefer canonical target names in the AST: e.g.
mongod.-v
over-v
(DOP-881).
- Skip incomplete target nodes, resolving a crash. (DOP-891).
- Program & Option handling (DOCSP-8449).
- Enforce ISO 8061 dates (DOCSPLAT-825).
- Support multiple authors.
- Various roles & directives.
- The AST is now constructed with a formally specified object-oriented structure.
- Fix
ref_role
nodes with an explicit title.
- Populate substitution nodes in postprocess layer (DOCSPLAT-114).
- Support for option and program rstobjects (DOCSP-8449).
- Fix devhub image handling (DOCSPLAT-861).
- DevHub series directive.
- Devhub directive resolution and behavior.
- Directives for DevHub (DOCSP-8848).
- Tab sets for Realm (DOCSP-8787).
- Support for defining a project's title (DOCSP-7988).
- Support for defining a project's default domain (DOCSP-8723).
- Support for DevHub template directives (DOCSP-8723).
- Support for Python 3.8 (DOCSP-7399).
- Support for injecting formatting into ref_role nodes (DOCSP-7569).
- Incomplete targets are now an error: for example,
`universal link <ios-universal-links_>`_
- Directives may now have a "name" option, suppressing the docutils special-case behavior.
- Fix crashing around snooty.toml (DOCSP-8389).
-
Target/Ref validation & resolution (DOCSP-5776, DOCSP-6657).
-
Commit IDs may now be passed into the parser (DOCSP-8277).
- Domains are now included in AST nodes when relevant.
- Support for defining non-drawer TOC nodes via
toc_landing_pages
array in snooty.toml (DOCSP-7573).
- Inconsistent YAML output filenames leading to broken page previews (DOCSP-8084).
-
The following extlink roles:
fb-dev-docs
fcm
google-dev
google-android-ref
github
github-dev
electricimp
twilio
mdn
aws-go
aws-iam
aws-reference
reactjs
jwt-io
-
More semantic analysis postprocessing infrastructure (DOCSP-7574).
-
A new release process (DOCSP-7800).
- Don't crash if opening an empty project.
-
Added infrastructure to support editor preview.
-
Added infrastructure to support TOC generation.
-
Added diagnostic for merge conflict markers.
-
Parse published-branches.yaml and persist data to a metadata collection (DOCSP-7193).
-
Parsing of extract filenames that include periods (DOCSP-6904).
-
Miscellaneous reStructuredText support improvements.
-
Properly report snooty.toml errors.
-
Support for reStructuredText footnotes (DOCSP-6620).
-
Support for project-wide reStructuredText substitutions (DOCSP-6442).
-
Support for downloading and ingesting intersphinx inventories (DOCSP-5776).
-
Validation for links under the
doc
role (DOCSP-6190). -
Support for the following reStructuredText constructs:
datalakeconf
rstobjectcaption
option totoctree
includehidden
option totoctree
backlinks
option tocontents
is an enumgcp
andazure
extlinksonly
directivetab
directive accepts atabid
option (DOCSP-6493)list-table
directive accepts an argument (DOCSP-6554)card-group
directive (DOCSP-6447)
- The original filename of static assets is now saved in the
filename
field of thesnooty.assets
collection, replacing thetype
field (DOCSP-6849). - Directive "flag" options have a true value in the AST instead of null (DOCSP-6383).
- The "only" directive is now deprecated in favor of "cond".
- Parsing of the
versionadded
,versionchanged
, anddeprecated
directives (DOCSP-6504).
-
Add support for the following reStructuredText constructs:
todo
deprecated
see
describe
glossary
rubric
envvar
-
Add support for the following extlinks:
go-api
ecosystem
products
wtdocs
- Undefined source constants are now replaced with a zero-width space (\u200b), preventing them from creating a syntax error.
- No longer create spurious diagnostics about including apiargs artifacts and
hash.rst
.
-
Add support for the following directives (DOCSP-6210):
tabs-top
tabs-stitch-auth-provid
tabs-deployments
tabs-stitch-sdks
tabs-stitch-interfaces
blockquote
caution
-
Add support for the
wikipedia
role.
- All YAML parsing errors are caught, rather than just scanning errors (DOCSP-6251).
- Opening a project with missing static assets no longer triggers an unhandled exception (DOCSP-6267).
code
directive alias forcode-block
.
- Language server URIs now map correctly into local FileIds, and vice versa.
- Add
textDocument/resolve
RPC endpoint to return the source file path of an artifact relative to the project's root (DOCSP-5967).
- Diagnostic messages when failing to open a static asset are more succinct.
- Warn about YAML files with duplicated refs (DOCSP-5704).
- Don't throw exception if saving an asset to the server fails (DOCSP-5998).
- The language server can now be gracefully shutdown using a context manager, for use in tests.
-
Add support for the following roles:
api
aws
gettingstarted
master
docsgithub
guides
mms-docs
mms-home
mongo-spark
source
opsmgr
charts-v0.10
charts-v0.9
- Avoid unnecessarily reprocessing figures and literal includes.
- Automatically rebuild files if their dependent assets change.
- Heading nodes now have an attached ID.
- The full
dns
package is included in binary builds, letting them connect to the database.
-
Add support for the following directives:
image
tabs-pillstrip
tabs-cloud-providers
website
cloudmgr
stitch
charts
compass
driver
meta
topic
- Avoid processing giza substitutions in base nodes to avoid superfluous diagnostics.
raw
directive contents are now ignored.- Bundle
docutils.parsers.rst.directives.misc
in binary release to avoid runtime errors when usingunicode
.
- The
literalinclude
directive. - AST nodes for substitutions.
-
Only match PAT_EXPLICIT_TILE if needed by role.
Roles are now categorized in one of three ways:
text
roles only provide a label field in the AST.explicit_title
roles provide a target field in the AST, as well as optionally a label field.link
roles do not emit a role node at all; instead, they emit a reference with the refuri already set.
- Multiline directive arguments.
- Include guide "languages" in legacy guide syntax.
:dedent:
onliteralinclude
directives with empty lines.- Child giza nodes should not always have their parent's ref.
- Extracts should be created with the category
extracts
, notextract
.
- Support additional directives and roles
- Bundle Python hash function implementations temporarily.
- Add support for additional MongoDB rst constructs.
- Substitute constants from language-server.
- Report bad project config.
- Force encodings to utf-8.
- Bundle OpenSSL with the macOS binary release.
- Bundle Python with the binary release.