Skip to content

Commit a1e686b

Browse files
Julowjonludlam
authored andcommitted
Editorialize the changelog for Odoc 3.0
1 parent 7e76186 commit a1e686b

File tree

1 file changed

+80
-50
lines changed

1 file changed

+80
-50
lines changed

CHANGES.md

Lines changed: 80 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -1,91 +1,121 @@
11
# (unreleased)
22

3+
### Highlight
4+
5+
- Hierarchical documentation (@jonludlam, @panglesd, @Julow)
6+
Pages can now be organized in a directory tree structure.
7+
Relative and absolute references are added:
8+
`{!./other_page.label}`, `{!//other_page}`.
9+
10+
- Improved sidebar and breadcrumbs navigation (@panglesd, @gpetiot)
11+
The documentation pages and the libraries of the entire package are shown on
12+
the left sidebar.
13+
14+
- Added support for images, videos, audio and other assets
15+
The syntax is `{image!/reference/to/asset}` or `{image:URL}` for images.
16+
The syntax for `{video...}` and `{audio...}` is the same.
17+
(@panglesd, @EmileTrotignon, #1170, #1171, #1184, #1185)
18+
19+
- Search using Sherlodoc (@panglesd, @EmileTrotignon, @Julow)
20+
A new search bar that supports full-text and type-based search.
21+
322
### Added
423

5-
- Addded `--suppress-warnings` to the CLI to remove warnings from a unit, even
6-
if they end up being raised in another unit through expansion (@jonludlam,
7-
#1260)
8-
- Improve jump to implementation in rendered source code, and add a
9-
`count-occurrences` flag and command to count occurrences of every identifiers
10-
(@panglesd, #976)
11-
- Separate compilation of interface and implementation files, using a new
12-
`compile-src` command (@panglesd, #1067, #1188).
24+
- Experimental driver (@jonludlam, @panglesd)
25+
The driver builds the documentation for a collection of Opam packages using
26+
the newer Odoc features. It supports linking external packages to ocaml.org
27+
and markdown files.
28+
This is experimental and will break in the future.
29+
30+
- Cross-package references (@panglesd, @Julow)
31+
Pages and modules from other packages can be referenced:
32+
`{!/otherpackage/page}`, `{!/otherpackage/Module.t}`.
33+
34+
- Option to remap links to other packages to ocaml.org or other site.
35+
See the `--remap` option of the driver or the `--remap-file` option of `odoc html-generate`.
36+
(@jonludlam, #1189, #1248)
37+
38+
- Option to compute occurrences of use of each identifiers
39+
The commands `aggregate-occurrences` and `count-occurrences` are added.
40+
(@panglesd, #976, #1076, #1206)
41+
42+
- Added the `odoc classify` command (@jonludlam, #1121)
43+
Helps driver detecting which modules belong to which libraries.
44+
- Added `--suppress-warnings` to the CLI to remove warnings from a unit, even
45+
if they end up being raised in another unit through expansion
46+
(@jonludlam, #1260)
1347
- Add clock emoji before `@since` tag (@yawaramin, #1089)
1448
- Navigation for the search bar : use '/' to enter search, up and down arrows to
1549
select a result, and enter to follow the selected link. (@EmileTrotignon, #1088)
16-
- New driver package (@jonludlam, #1121)
1750
- Fix a big gap between the preamble and the content of a page (@EmileTrotignon, #1147)
18-
- Path-references to hierarchical pages and modules (@Julow, #1142, #1150, #1151, #1164)
19-
Absolute (`{!/foo}`), relative (`{!./foo}`) and package-local (`{!//foo}`)
20-
are added.
2151
- Add a marshalled search index consumable by sherlodoc (@EmileTrotignon, @panglesd, #1084)
22-
- Add a `odoc sidebar-generate` command to generate a sidebar file (@panglesd,
23-
#1250)
24-
- Add a `--sidebar` argument to pass sidebars to the document generation
25-
(@panglesd, #1145, #1250)
2652
- Allow referencing of polymorphic constructors in polymorphic variant type
2753
aliases (@panglesd, #1115)
28-
- Added a `--occurrences` argument to the `compile-index` command to output the
29-
number of occurrences of each entry of the index in the json output
30-
(@panglesd, #1076).
31-
- Added a `compile-asset` command (@EmileTrotignon, @panglesd, #1170)
32-
- Allow referencing assets (@panglesd, #1171)
33-
- Added a `--asset-path` arg to `html-generate` (@panglesd, #1185)
34-
- Added a `@children_order` and an `@order_category` tags to specify the order
35-
in the sidebar (@panglesd, #1187, #1243, #1251)
36-
- Add a `@short_title` tag to specify the short title of a page for use in
37-
the sidebar / breadcrumbs (@panglesd, #1246)
3854
- Added a home icon in the breacrumbs (@panglesd, #1251)
39-
- Added a CLI option to add or disable the home icon (@panglesd, #1251)
40-
- Add sidebar to the implementation pages (@panglesd, #1251)
41-
- Added a `@toc_status` tag, with possible values `open` and `hidden`, to define
42-
the behavior of the entry in the sidebar and breadcrumbs (@panglesd, #1251)
43-
- Add a frontmatter syntax for mld pages (@panglesd, #1187)
44-
- Add 'remap' and 'remap-file' options to HTML generation for partial docsets
45-
(@jonludlam, #1189, #1248)
46-
- Added an `html-generate-asset` command (@panglesd, #1185)
47-
- Added syntax for images, videos, audio (@panglesd, #1184)
48-
- Added the ability to order pages in the table of content (@panglesd, #1193)
55+
It can be disabled with a CLI option.
56+
- Add a frontmatter syntax for mld pages (@panglesd, #1187, #1193, #1243, #1246, #1251)
57+
Allows to specify the title of a page, the order of sub-pages and other
58+
behaviors in the sidebar.
4959
- Added `odoc-md` to process standalone Markdown pages (@jonludlam, #1234)
5060

5161
### Changed
5262

63+
- The command line interface changed to support the new features.
64+
+ Packages and libraries: `odoc link` must now be aware of packages and
65+
libraries with the `-L libname:path` and `-P pkgname:path` options. The
66+
module search path should still be passed with the `-I` option.
67+
The current package should be specified with `--current-package=pkgname`.
68+
+ Hierarchy: `odoc compile` now outputs `.odoc` in the directory tree
69+
specified with `--output-dir=DIR` and the parent identifier must be
70+
specified with `--parent-id=PARENT`.
71+
The option `--source-parent-file` is removed.
72+
+ Source code: Implementations are compiled with `compile-impl` instead of
73+
with `compile`. The options `--cmt=..` and `--source-name=..` are removed.
74+
Source code pages are generated with `html-generate-source`.
75+
+ Assets: The commands `compile-asset`, `html-generate-asset` are added.
76+
The option `html-generate --asset` is removed.
77+
+ Sidebar: The index is built using `compile-index`. The sidebar data is
78+
extracted from the index with `sidebar-generate` and passed to
79+
`html-generate --sidebar=..`.
80+
81+
- The syntax for `@tag` is now delimited (@panglesd, #1239)
82+
A `@tag` can now be followed by a paragraph or other elements.
83+
5384
- Updated colors for code fragments (@EmileTrotignon, #1023)
5485
- Fixed complexity of looking up `.odoc` files (@panglesd, #1075)
5586
- Normalize whitespaces in codespans (@gpetiot, #1085)
5687
A newline followed by any whitespaces is normalized as one space character.
57-
- Show all variant constructors, even if they contain hidden types
58-
(@jonludlam, #1105)
59-
- `Odoc_html_frontend` does not use tyxml, for smaller javascript sizes.
88+
- Reduce size of `Odoc_html_frontend` when compiled to javascript
6089
(@EmileTrotignon, #1072)
6190
- Overhaul of module-type-of expansions and shadowing code (@jonludlam, #1081)
62-
- Output file paths and labels in the man and latex backends changed to avoid name clashes
63-
(@Julow, #1191)
64-
- Change the scoping and placement rules for tags. Fixed #1138. (@panglesd, #1239)
91+
- Output file paths and labels in the man and latex backends changed to avoid
92+
name clashes (@Julow, #1191)
6593

6694
### Fixed
6795

68-
- Fix issue #1001 where optional parameters would in rare cases cause an assertion
69-
failure (@jonludlam, #1272)
70-
- Fix resolution of module synopses in {!modules} lists that require
71-
--open (@jonludlam, #1104}
96+
- Fix variant constructors being hidden if they contain hidden types
97+
(@jonludlam, #1105)
98+
- Fix rare assertion failure due to optional parameters
99+
(@jonludlam, #1272, issue #1001)
100+
- Fix resolution of module synopses in {!modules} lists that require --open
101+
(@jonludlam, #1104}
72102
- Fix top comment not being taken from includes often enough (@panglesd, #1117)
73103
- Fixed 404 links from search results (@panglesd, #1108)
74104
- Fixed title content not being picked up across pages when rendering references
75105
(#1116, @panglesd)
76106
- Fix wrong links to standalone comments in search results (#1118, @panglesd)
77-
- Remove duplicated or unwanted comments (@Julow, #1133)
78-
This could happen with inline includes.
107+
- Remove duplicated or unwanted comments with inline includes (@Julow, #1133)
79108
- Fix bug where source rendering would cause odoc to fail completely if it
80109
encounters invalid syntax (@jonludlam #1208)
81110
- Add missing parentheses in 'val (let*) : ...' (@Julow, #1268)
82-
- Fix syntax highlighting not working for very large files (@jonludlam, @Julow, #1277)
111+
- Fix syntax highlighting not working for very large files
112+
(@jonludlam, @Julow, #1277)
83113

84114
# 2.4.4
85115

86116
### Added
87117

88-
- OCaml 5.3.0 compatibility (@Julow, #1202, #1254)
118+
- OCaml 5.3.0 compatibility (@Julow, #1202, #1222, #1254)
89119

90120
# 2.4.3
91121

0 commit comments

Comments
 (0)