|
| 1 | +## Changelog |
| 2 | + |
| 3 | +### 5.0.0: (July 2nd, 2025) |
| 4 | + |
| 5 | +- Dropped support for Python 3.9 (pyodide/sphinx-js-fork#7) |
| 6 | +- Dropped support for typedoc 0.15, added support for typedoc 0.25--0.28 ( |
| 7 | + pyodide/sphinx-js-fork#11, pyodide/sphinx-js-fork#22, |
| 8 | + pyodide/sphinx-js-fork#31, pyodide/sphinx-js-fork#39, |
| 9 | + pyodide/sphinx-js-fork#41, pyodide/sphinx-js-fork#43 |
| 10 | + pyodide/sphinx-js-fork#52, pyodide/sphinx-js-fork#53, |
| 11 | + pyodide/sphinx-js-fork#54, pyodide/sphinx-js-fork#174, |
| 12 | + #266) |
| 13 | +- Added handling for TypeScript type parameters and type bounds. |
| 14 | + (pyodide/sphinx-js-fork#25) |
| 15 | +- Only monkeypatch Sphinx classes when sphinx_js extension is used |
| 16 | + (pyodide/sphinx-js-fork#27) |
| 17 | +- Allow using installation of `typedoc` or `jsdoc` from `node_modules` |
| 18 | + instead of requiring global install. (pyodide/sphinx-js-fork#33) |
| 19 | +- Handle markdown style codepens correctly in typedoc comments. |
| 20 | + (pyodide/sphinx-js-fork#47) |
| 21 | +- Added support for destructuring the documentation of keyword arguments in |
| 22 | + TypeScript using the `@destructure` tag or the |
| 23 | + `shouldDestructureArg` hook. ( |
| 24 | + pyodide/sphinx-js-fork#48, pyodide/sphinx-js-fork#74, |
| 25 | + pyodide/sphinx-js-fork#75, pyodide/sphinx-js-fork#101, |
| 26 | + pyodide/sphinx-js-fork#128) |
| 27 | +- Added rendering for cross references in TypeScript types. ( |
| 28 | + pyodide/sphinx-js-fork#51, pyodide/sphinx-js-fork#56, |
| 29 | + pyodide/sphinx-js-fork#67, pyodide/sphinx-js-fork#81, |
| 30 | + pyodide/sphinx-js-fork#82, pyodide/sphinx-js-fork#83, |
| 31 | + pyodide/sphinx-js-fork#153, pyodide/sphinx-js-fork#160) |
| 32 | +- Added rendering for function types in TypeScript documentation. ( |
| 33 | + pyodide/sphinx-js-fork#55, pyodide/sphinx-js-fork#58, |
| 34 | + pyodide/sphinx-js-fork#59) |
| 35 | +- Add async prefix to async functions (pyodide/sphinx-js-fork#65). |
| 36 | +- Added the `sphinx-js_type` css class around all types in documentation. This |
| 37 | + allows applying custom css just to types (pyodide/sphinx-js-fork#85) |
| 38 | +- Added `ts_type_bold` config option that applies css to `.sphinx-js_type` |
| 39 | + to render all types as bold. |
| 40 | +- Added `js:automodule` directive (pyodide/sphinx-js-fork#108) |
| 41 | +- Added `js:autosummary` directive (pyodide/sphinx-js-fork#109) |
| 42 | +- Added rendering for `queryType` (e.g., `let y: typeof x;`) |
| 43 | + (pyodide/sphinx-js-fork#124) |
| 44 | +- Added rendering for `typeOperator` (e.g., `let y: keyof x`) |
| 45 | + (pyodide/sphinx-js-fork#125) |
| 46 | +- Fixed crash when objects are reexported. (pyodide/sphinx-js-fork#126) |
| 47 | +- Added `jsdoc_tsconfig_path` which can specify the path to the |
| 48 | + `tsconfig.json` file that should be used. (pyodide/sphinx-js-fork#116) |
| 49 | +- Added a `js:interface` directive (pyodide/sphinx-js-fork#138). |
| 50 | +- Removed parentheses from xrefs to classes (pyodide/sphinx-js-fork#155). |
| 51 | +- Added a `:js:typealias:` directive (pyodide/sphinx-js-fork#156). |
| 52 | +- Added rendering for conditional, indexed access, inferred, mapped, optional, |
| 53 | + rest, and template litreal types (pyodide/sphinx-js-fork#157). |
| 54 | +- Added readonly prefix to readonly properties (pyodide/sphinx-js-fork#158). |
| 55 | + |
| 56 | +### 4.0.0: (December 23rd, 2024) |
| 57 | + |
| 58 | +- Drop support for Python 3.8. |
| 59 | +- Add support for Python 3.12 and 3.13. |
| 60 | +- Add support for Sphinx 8.x.x. |
| 61 | +- Get CI working again. |
| 62 | +- Drop pin for MarkupSafe. (#244) |
| 63 | +- Add dependabot checking for GitHub actions. (Christian Clauss) |
| 64 | +- Fix wheel contents to not include tests. (#241) |
| 65 | + |
| 66 | +Thank you to Will Kahn-Greene and Christian Clauss! |
| 67 | + |
| 68 | +### 3.2.2: (September 20th, 2023) |
| 69 | + |
| 70 | +- Remove Sphinx upper-bound requirement. (#227) |
| 71 | +- Drop support for Python 3.7. (#228) |
| 72 | + |
| 73 | +Thank you to Will Kahn-Greene! |
| 74 | + |
| 75 | +### 3.2.1: (December 16th, 2022) |
| 76 | + |
| 77 | +- Fix xrefs to static functions. (#178) |
| 78 | +- Add support for jsdoc 4.0.0. (#215) |
| 79 | + |
| 80 | +Thank you to xsjad0 and Will Kahn-Greene! |
| 81 | + |
| 82 | +### 3.2.0: (December 13th, 2022) |
| 83 | + |
| 84 | +- Add "static" in front of static methods. |
| 85 | +- Pin Jinja2 and markupsafe versions. (#190) |
| 86 | +- Track dependencies; do not read all documents. This improves speed of |
| 87 | + incremental updates. (#194) |
| 88 | +- Support Python 3.10 and 3.11. (#186) |
| 89 | +- Support Sphinx >= 4.1.0. (#209) |
| 90 | +- Fix types warning for `js_source_path` configuration item. (#182) |
| 91 | + |
| 92 | +Thank you Stefan 'hr' Berder, David Huggins-Daines, Nick Alexander, |
| 93 | +mariusschenzle, Erik Rose, lonnen, and Will Kahn-Greene! |
| 94 | + |
| 95 | +### 3.1.2: (April 15th, 2021) |
| 96 | + |
| 97 | +- Remove our declared dependency on `docutils` to work around the way pip's |
| 98 | + greedy dependency resolver reacts to the latest version of Sphinx. pip |
| 99 | + fails when pip-installing sphinx-js because pip sees our "any version of |
| 100 | + docutils" declaration first (which resolves greedily to the latest version, |
| 101 | + 0.17) but later encounters Sphinx's apparently new `<0.17` constraint and |
| 102 | + gives up. We can revert this when pip's `--use-feature=2020-resolver` |
| 103 | + becomes the default. |
| 104 | + |
| 105 | +### 3.1.1: (March 23rd, 2021) |
| 106 | + |
| 107 | +- Rewrite large parts of the suffix tree that powers path lookup. This fixes |
| 108 | + several crashes. |
| 109 | + |
| 110 | +### 3.1: (September 10th, 2020) |
| 111 | + |
| 112 | +- Re-architect language analysis. There is now a well-documented intermediate |
| 113 | + representation between JSDoc- and TypeDoc-emitted JSON and the renderers. |
| 114 | + This should make it much faster to merge PRs. |
| 115 | +- Rewrite much of the TypeScript analysis engine so it feeds into the new IR. |
| 116 | + |
| 117 | + - TypeScript analysis used to crash if your codebase contained any |
| 118 | + overloaded functions. This no longer happens; we now arbitrarily use only |
| 119 | + the first function signature of each overloaded function. |
| 120 | + - Add support for static properties on TS classes. |
| 121 | + - Support variadic args in TS. |
| 122 | + - Support intersection types (`foo & bar`) in TS. |
| 123 | + - Remove the "exported from" module links from classes and interfaces. |
| 124 | + Functions never had them. Let's see if we miss them. |
| 125 | + - Pathnames for TypeScript objects no longer spuriously use `~` after the |
| 126 | + filename path segment; now they use `.` as in JS. |
| 127 | + - More generally, TS pathnames are now just like JS ones. There is no more |
| 128 | + `external:` prefix in front of filenames or `module:` in front of |
| 129 | + namespace names. |
| 130 | + - TS analyzer no longer cares with the current working directory is. |
| 131 | + - Tests now assert only what they care about rather than being brittle to |
| 132 | + the point of prohibiting any change. |
| 133 | + |
| 134 | +- No longer show args in the arg list that are utterly uninformative, lacking |
| 135 | + both description and type info. |
| 136 | +- Class attributes are now listed before methods unless manally ordered with |
| 137 | + `:members:`. |
| 138 | + |
| 139 | +### 3.0.1: (August 10th, 2020) |
| 140 | + |
| 141 | +- Don't crash when encountering a `../` prefix on an object path. This can |
| 142 | + happen behind the scenes when `root_for_relative_js_paths` is set inward |
| 143 | + of the JS code. |
| 144 | + |
| 145 | +### 3.0: (July 14th, 2020) |
| 146 | + |
| 147 | +- Make compatible with Sphinx 3, which requires Python 3. |
| 148 | +- Drop support for Python 2. |
| 149 | +- Make sphinx-js not care what the current working directory is, except for |
| 150 | + the TypeScript analyzer, which needs further work. |
| 151 | +- Properly RST-escape return types. |
| 152 | + |
| 153 | +### 2.8: (September 16th, 2019) |
| 154 | + |
| 155 | +- Display generic TypeScript types properly. Make fields come before methods. |
| 156 | + (Paul Grau) |
| 157 | +- Combine constructor and class documentation at the top TypeScript classes. |
| 158 | + (Sebastian Weigand) |
| 159 | +- Switch to pytest as the testrunner. (Sebastian Weigand) |
| 160 | +- Add optional caching of JSDoc output, for large codebases. (Patrick Browne) |
| 161 | +- Fix the display of union types in TypeScript. (Sebastian Weigand) |
| 162 | +- Fix parsing breakage that began in typedoc 0.14.0. (Paul Grau) |
| 163 | +- Fix a data-intake crash with TypeScript. (Cristiano Santos) |
| 164 | + |
| 165 | +### 2.7.1: (November 16th, 2018) |
| 166 | + |
| 167 | +- Fix a crash that would happen sometimes with UTF-8 on Windows. #67. |
| 168 | +- Always use conf.py's dir for JSDoc's working dir. #78. (Thomas Khyn) |
| 169 | + |
| 170 | +### 2.7: (August 2nd, 2018)) |
| 171 | + |
| 172 | +- Add experimental TypeScript support. (Wim Yedema) |
| 173 | + |
| 174 | +### 2.6: (July 26th, 2018) |
| 175 | + |
| 176 | +- Add support for `@deprecated` and `@see`. (David Li) |
| 177 | +- Notice and document JS variadic params nicely. (David Li) |
| 178 | +- Add linter to codebase. |
| 179 | + |
| 180 | +### 2.5: (April 20th, 2018) |
| 181 | + |
| 182 | +- Use documented `@params` to help fill out the formal param list for a |
| 183 | + function. This keeps us from missing params that use destructuring. (flozz) |
| 184 | +- Improve error reporting when JSDoc is missing. |
| 185 | +- Add extracted default values to generated formal param lists. (flozz and |
| 186 | + erikrose) |
| 187 | + |
| 188 | +### 2.4: (March 21, 2018) |
| 189 | + |
| 190 | +- Support the `@example` tag. (lidavidm) |
| 191 | +- Work under Windows. Before, we could hardly find any documentation. (flozz) |
| 192 | +- Properly unwrap multiple-line JSDoc tags, even if they have Windows line |
| 193 | + endings. (Wim Yedema) |
| 194 | +- Drop support for Python 3.3, since Sphinx has also done so. |
| 195 | +- Fix build-time crash when using recommonmark (for Markdown support) under |
| 196 | + Sphinx >=1.7.1. (jamrizzi) |
| 197 | + |
| 198 | +### 2.3.1: (January 11th, 2018) |
| 199 | + |
| 200 | +- Find the `jsdoc` command on Windows, where it has a different name. Then |
| 201 | + patch up process communication so it doesn't hang. |
| 202 | + |
| 203 | +### 2.3: (November 1st, 2017) |
| 204 | + |
| 205 | +- Add the ability to say "\*" within the `autoclass :members:` option, |
| 206 | + meaning "and all the members that I didn't explicitly list". |
| 207 | + |
| 208 | +### 2.2: (October 10th, 2017) |
| 209 | + |
| 210 | +- Add `autofunction` support for `@callback` tags. (krassowski) |
| 211 | +- Add experimental `autofunction` support for `@typedef` tags. (krassowski) |
| 212 | +- Add a nice error message for when JSDoc can't find any JS files. |
| 213 | +- Pin six more tightly so `python_2_unicode_compatible` is sure to be around. |
| 214 | + |
| 215 | +### 2.1: (August 30th, 2017) |
| 216 | + |
| 217 | +- Allow multiple folders in `js_source_path`. This is useful for gradually |
| 218 | + migrating large projects, one folder at a time, to JSDoc. Introduce |
| 219 | + `root_for_relative_js_paths` to keep relative paths unambiguous in the |
| 220 | + face of multiple source paths. |
| 221 | +- Aggregate PathTaken errors, and report them all at once. This means you |
| 222 | + don't have to run JSDoc repeatedly while cleaning up large projects. |
| 223 | +- Fix a bytes-vs-strings issue that crashed on versions of Python 3 before |
| 224 | + 3.6. (jhkennedy) |
| 225 | +- Tolerate JS files that have filename extensions other than ".js". Before, |
| 226 | + when combined with custom JSDoc configuration that ingested such files, |
| 227 | + incorrect object pathnames were generated, which led to spurious "No JSDoc |
| 228 | + documentation was found for object ..." errors. |
| 229 | + |
| 230 | +### 2.0.1: (July 13th, 2017) |
| 231 | + |
| 232 | +- Fix spurious syntax errors while loading large JSDoc output by writing it |
| 233 | + to a temp file first. (jhkennedy) |
| 234 | + |
| 235 | +### 2.0: (May 4th, 2017) |
| 236 | + |
| 237 | +- Deal with ambiguous object paths. Symbols with identical JSDoc longnames |
| 238 | + (such as two top-level things called "foo" in different files) will no |
| 239 | + longer have one shadow the other. Introduce an unambiguous path convention |
| 240 | + for referring to objects. Add a real parser to parse them rather than the |
| 241 | + dirty tricks we were using before. Backward compatibility breaks a little, |
| 242 | + because ambiguous references are now a fatal error, rather than quietly |
| 243 | + referring to the last definition JSDoc happened to encounter. |
| 244 | +- Index everything into a suffix tree so you can use any unique path suffix |
| 245 | + to refer to an object. |
| 246 | +- Other fallout of having a real parser: |
| 247 | + |
| 248 | + - Stop supporting "-" as a namepath separator. |
| 249 | + - No longer spuriously translate escaped separators in namepaths into dots. |
| 250 | + - Otherwise treat paths and escapes properly. For example, we can now |
| 251 | + handle symbols that contain "(". |
| 252 | + |
| 253 | +- Fix KeyError when trying to gather the constructor params of a plain old |
| 254 | + object labeled as a `@class`. |
| 255 | + |
| 256 | +### 1.5.2: (March 22th, 2017) |
| 257 | + |
| 258 | +- Fix crash while warning that a specified longname isn't found. |
| 259 | + |
| 260 | +### 1.5.1: (March 20th, 2017) |
| 261 | + |
| 262 | +- Sort `:members:` alphabetically when an order is not explicitly specified. |
| 263 | + |
| 264 | +### 1.5: (March 17th, 2017) |
| 265 | + |
| 266 | +- Add `:members:` option to `autoclass`. |
| 267 | +- Add `:private-members:` and `:exclude-members:` options to go with it. |
| 268 | +- Significantly refactor to allow directive classes to talk to each other. |
| 269 | + |
| 270 | +### 1.4: (March 10th, 2017) |
| 271 | + |
| 272 | +- Add `jsdoc_config_path` option. |
| 273 | + |
| 274 | +### 1.3.1: (March 6th, 2017) |
| 275 | + |
| 276 | +- Tolerate @args and other info field lines that are wrapped in the source |
| 277 | + code. |
| 278 | +- Cite the file and line of the source comment in Sphinx-emitted warnings and |
| 279 | + errors. |
| 280 | + |
| 281 | +### 1.3: (February 21st, 2017) |
| 282 | + |
| 283 | +- Add `autoattribute` directive. |
| 284 | + |
| 285 | +### 1.2: (February 14th, 2017) |
| 286 | + |
| 287 | +- Always do full rebuilds; don't leave pages stale when JS code has changed |
| 288 | + but the RSTs have not. |
| 289 | +- Make Python-3-compatible. |
| 290 | +- Add basic `autoclass` directive. |
| 291 | + |
| 292 | +### 1.1: (February 13th, 2017) |
| 293 | + |
| 294 | +- Add `:short-name:` option. |
| 295 | + |
| 296 | +### 1.0: (February 7th, 2017) |
| 297 | + |
| 298 | +- Initial release, with just `js:autofunction` |
0 commit comments