Skip to content

Commit e4932a1

Browse files
committed
Prep for 4.0.0 release
1 parent 8d37908 commit e4932a1

File tree

2 files changed

+92
-32
lines changed

2 files changed

+92
-32
lines changed

README.rst

+91-31
Original file line numberDiff line numberDiff line change
@@ -467,6 +467,17 @@ See ``CONTRIBUTORS`` for details.
467467
Version History
468468
===============
469469

470+
4.0.0: (December 23rd, 2024)
471+
* Drop support for Python 3.8.
472+
* Add support for Python 3.12 and 3.13.
473+
* Add support for Sphinx 8.x.x.
474+
* Get CI working again.
475+
* Drop pin for MarkupSafe. (#244)
476+
* Add dependabot checking for GitHub actions. (Christian Clauss)
477+
* Fix wheel contents to not include tests. (#241)
478+
479+
Thank you to Will Kahn-Greene and Christian Clauss!
480+
470481
3.2.2: (September 20th, 2023)
471482
* Remove Sphinx upper-bound requirement. (#227)
472483
* Drop support for Python 3.7. (#228)
@@ -482,47 +493,72 @@ Version History
482493
3.2.0: (December 13th, 2022)
483494
* Add "static" in front of static methods.
484495
* Pin Jinja2 and markupsafe versions. (#190)
485-
* Track dependencies; do not read all documents. This improves speed of incremental updates. (#194)
496+
* Track dependencies; do not read all documents. This improves speed of
497+
incremental updates. (#194)
486498
* Support Python 3.10 and 3.11. (#186)
487499
* Support Sphinx >= 4.1.0. (#209)
488500
* Fix types warning for ``js_source_path`` configuration item. (#182)
489501

490-
Thank you Stefan 'hr' Berder, David Huggins-Daines, Nick Alexander, mariusschenzle, Erik Rose, lonnen, and Will Kahn-Greene!
502+
Thank you Stefan 'hr' Berder, David Huggins-Daines, Nick Alexander,
503+
mariusschenzle, Erik Rose, lonnen, and Will Kahn-Greene!
491504

492505
3.1.2: (April 15th, 2021)
493-
* Remove our declared dependency on ``docutils`` to work around the way pip's greedy dependency resolver reacts to the latest version of Sphinx. pip fails when pip-installing sphinx-js because pip sees our "any version of docutils" declaration first (which resolves greedily to the latest version, 0.17) but later encounters Sphinx's apparently new ``<0.17`` constraint and gives up. We can revert this when pip's ``--use-feature=2020-resolver`` becomes the default.
506+
* Remove our declared dependency on ``docutils`` to work around the way pip's
507+
greedy dependency resolver reacts to the latest version of Sphinx. pip
508+
fails when pip-installing sphinx-js because pip sees our "any version of
509+
docutils" declaration first (which resolves greedily to the latest version,
510+
0.17) but later encounters Sphinx's apparently new ``<0.17`` constraint and
511+
gives up. We can revert this when pip's ``--use-feature=2020-resolver``
512+
becomes the default.
494513

495514
3.1.1: (March 23rd, 2021)
496-
* Rewrite large parts of the suffix tree that powers path lookup. This fixes several crashers.
515+
* Rewrite large parts of the suffix tree that powers path lookup. This fixes
516+
several crashers.
497517

498518
3.1: (September 10th, 2020)
499-
* Re-architect language analysis. There is now a well-documented intermediate representation between JSDoc- and TypeDoc-emitted JSON and the renderers. This should make it much faster to merge PRs.
519+
* Re-architect language analysis. There is now a well-documented intermediate
520+
representation between JSDoc- and TypeDoc-emitted JSON and the renderers.
521+
This should make it much faster to merge PRs.
500522
* Rewrite much of the TypeScript analysis engine so it feeds into the new IR.
501523

502-
* TypeScript analysis used to crash if your codebase contained any overloaded functions. This no longer happens; we now arbitrarily use only the first function signature of each overloaded function.
524+
* TypeScript analysis used to crash if your codebase contained any
525+
overloaded functions. This no longer happens; we now arbitrarily use only
526+
the first function signature of each overloaded function.
503527
* Add support for static properties on TS classes.
504528
* Support variadic args in TS.
505529
* Support intersection types (``foo & bar``) in TS.
506-
* Remove the "exported from" module links from classes and interfaces. Functions never had them. Let's see if we miss them.
507-
* Pathnames for TypeScript objects no longer spuriously use ``~`` after the filename path segment; now they use ``.`` as in JS.
508-
* More generally, TS pathnames are now just like JS ones. There is no more ``external:`` prefix in front of filenames or ``module:`` in front of namespace names.
530+
* Remove the "exported from" module links from classes and interfaces.
531+
Functions never had them. Let's see if we miss them.
532+
* Pathnames for TypeScript objects no longer spuriously use ``~`` after the
533+
filename path segment; now they use ``.`` as in JS.
534+
* More generally, TS pathnames are now just like JS ones. There is no more
535+
``external:`` prefix in front of filenames or ``module:`` in front of
536+
namespace names.
509537
* TS analyzer no longer cares with the current working directory is.
510-
* Tests now assert only what they care about rather than being brittle to the point of prohibiting any change.
511-
* No longer show args in the arg list that are utterly uninformative, lacking both description and type info.
512-
* Class attributes are now listed before methods unless manally ordered with ``:members:``.
538+
* Tests now assert only what they care about rather than being brittle to
539+
the point of prohibiting any change.
540+
* No longer show args in the arg list that are utterly uninformative, lacking
541+
both description and type info.
542+
* Class attributes are now listed before methods unless manally ordered with
543+
``:members:``.
513544

514545
3.0.1: (August 10th, 2020)
515-
* Don't crash when encountering a ``../`` prefix on an object path. This can happen behind the scenes when ``root_for_relative_js_paths`` is set inward of the JS code.
546+
* Don't crash when encountering a ``../`` prefix on an object path. This can
547+
happen behind the scenes when ``root_for_relative_js_paths`` is set inward
548+
of the JS code.
516549

517550
3.0: (July 14th, 2020)
518551
* Make compatible with Sphinx 3, which requires Python 3.
519552
* Drop support for Python 2.
520-
* Make sphinx-js not care what the current working directory is, except for the TypeScript analyzer, which needs further work.
553+
* Make sphinx-js not care what the current working directory is, except for
554+
the TypeScript analyzer, which needs further work.
521555
* Properly RST-escape return types.
522556

523557
2.8: (September 16th, 2019)
524-
* Display generic TypeScript types properly. Make fields come before methods. (Paul Grau)
525-
* Combine constructor and class documentation at the top TypeScript classes. (Sebastian Weigand)
558+
* Display generic TypeScript types properly. Make fields come before methods.
559+
(Paul Grau)
560+
* Combine constructor and class documentation at the top TypeScript classes.
561+
(Sebastian Weigand)
526562
* Switch to pytest as the testrunner. (Sebastian Weigand)
527563
* Add optional caching of JSDoc output, for large codebases. (Patrick Browne)
528564
* Fix the display of union types in TypeScript. (Sebastian Weigand)
@@ -545,21 +581,25 @@ Version History
545581
* Use documented ``@params`` to help fill out the formal param list for a
546582
function. This keeps us from missing params that use destructuring. (flozz)
547583
* Improve error reporting when JSDoc is missing.
548-
* Add extracted default values to generated formal param lists. (flozz and erikrose)
584+
* Add extracted default values to generated formal param lists. (flozz and
585+
erikrose)
549586

550587
2.4: (March 21, 2018)
551588
* Support the ``@example`` tag. (lidavidm)
552589
* Work under Windows. Before, we could hardly find any documentation. (flozz)
553-
* Properly unwrap multiple-line JSDoc tags, even if they have Windows line endings. (Wim Yedema)
590+
* Properly unwrap multiple-line JSDoc tags, even if they have Windows line
591+
endings. (Wim Yedema)
554592
* Drop support for Python 3.3, since Sphinx has also done so.
555-
* Fix build-time crash when using recommonmark (for Markdown support) under Sphinx >=1.7.1. (jamrizzi)
593+
* Fix build-time crash when using recommonmark (for Markdown support) under
594+
Sphinx >=1.7.1. (jamrizzi)
556595

557596
2.3.1: (January 11th, 2018)
558597
* Find the ``jsdoc`` command on Windows, where it has a different name. Then
559598
patch up process communication so it doesn't hang.
560599

561600
2.3: (November 1st, 2017)
562-
* Add the ability to say "*" within the ``autoclass :members:`` option, meaning "and all the members that I didn't explicitly list".
601+
* Add the ability to say "*" within the ``autoclass :members:`` option,
602+
meaning "and all the members that I didn't explicitly list".
563603

564604
2.2: (October 10th, 2017)
565605
* Add ``autofunction`` support for ``@callback`` tags. (krassowski)
@@ -568,22 +608,39 @@ Version History
568608
* Pin six more tightly so ``python_2_unicode_compatible`` is sure to be around.
569609

570610
2.1: (August 30th, 2017)
571-
* Allow multiple folders in ``js_source_path``. This is useful for gradually migrating large projects, one folder at a time, to JSDoc. Introduce ``root_for_relative_js_paths`` to keep relative paths unambiguous in the face of multiple source paths.
572-
* Aggregate PathTaken errors, and report them all at once. This means you don't have to run JSDoc repeatedly while cleaning up large projects.
573-
* Fix a bytes-vs-strings issue that crashed on versions of Python 3 before 3.6. (jhkennedy)
574-
* Tolerate JS files that have filename extensions other than ".js". Before, when combined with custom JSDoc configuration that ingested such files, incorrect object pathnames were generated, which led to spurious "No JSDoc documentation was found for object ..." errors.
611+
* Allow multiple folders in ``js_source_path``. This is useful for gradually
612+
migrating large projects, one folder at a time, to JSDoc. Introduce
613+
``root_for_relative_js_paths`` to keep relative paths unambiguous in the
614+
face of multiple source paths.
615+
* Aggregate PathTaken errors, and report them all at once. This means you
616+
don't have to run JSDoc repeatedly while cleaning up large projects.
617+
* Fix a bytes-vs-strings issue that crashed on versions of Python 3 before
618+
3.6. (jhkennedy)
619+
* Tolerate JS files that have filename extensions other than ".js". Before,
620+
when combined with custom JSDoc configuration that ingested such files,
621+
incorrect object pathnames were generated, which led to spurious "No JSDoc
622+
documentation was found for object ..." errors.
575623

576624
2.0.1: (July 13th, 2017)
577-
* Fix spurious syntax errors while loading large JSDoc output by writing it to a temp file first. (jhkennedy)
625+
* Fix spurious syntax errors while loading large JSDoc output by writing it
626+
to a temp file first. (jhkennedy)
578627

579628
2.0: (May 4th, 2017)
580-
* Deal with ambiguous object paths. Symbols with identical JSDoc longnames (such as two top-level things called "foo" in different files) will no longer have one shadow the other. Introduce an unambiguous path convention for referring to objects. Add a real parser to parse them rather than the dirty tricks we were using before. Backward compatibility breaks a little, because ambiguous references are now a fatal error, rather than quietly referring to the last definition JSDoc happened to encounter.
581-
* Index everything into a suffix tree so you can use any unique path suffix to refer to an object.
629+
* Deal with ambiguous object paths. Symbols with identical JSDoc longnames
630+
(such as two top-level things called "foo" in different files) will no
631+
longer have one shadow the other. Introduce an unambiguous path convention
632+
for referring to objects. Add a real parser to parse them rather than the
633+
dirty tricks we were using before. Backward compatibility breaks a little,
634+
because ambiguous references are now a fatal error, rather than quietly
635+
referring to the last definition JSDoc happened to encounter.
636+
* Index everything into a suffix tree so you can use any unique path suffix
637+
to refer to an object.
582638
* Other fallout of having a real parser:
583639

584640
* Stop supporting "-" as a namepath separator.
585641
* No longer spuriously translate escaped separators in namepaths into dots.
586-
* Otherwise treat paths and escapes properly. For example, we can now handle symbols that contain "(".
642+
* Otherwise treat paths and escapes properly. For example, we can now
643+
handle symbols that contain "(".
587644
* Fix KeyError when trying to gather the constructor params of a plain old
588645
object labeled as a ``@class``.
589646

@@ -602,14 +659,17 @@ Version History
602659
* Add ``jsdoc_config_path`` option.
603660

604661
1.3.1: (March 6th, 2017)
605-
* Tolerate @args and other info field lines that are wrapped in the source code.
606-
* Cite the file and line of the source comment in Sphinx-emitted warnings and errors.
662+
* Tolerate @args and other info field lines that are wrapped in the source
663+
code.
664+
* Cite the file and line of the source comment in Sphinx-emitted warnings and
665+
errors.
607666

608667
1.3: (February 21st, 2017)
609668
* Add ``autoattribute`` directive.
610669

611670
1.2: (February 14th, 2017)
612-
* Always do full rebuilds; don't leave pages stale when JS code has changed but the RSTs have not.
671+
* Always do full rebuilds; don't leave pages stale when JS code has changed
672+
but the RSTs have not.
613673
* Make Python-3-compatible.
614674
* Add basic ``autoclass`` directive.
615675

setup.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
setup(
66
name='sphinx-js',
7-
version='3.2.2',
7+
version='4.0.0',
88
description='Support for using Sphinx on JSDoc-documented JS code',
99
long_description=open('README.rst', 'r', encoding='utf8').read(),
1010
long_description_content_type="text/x-rst",

0 commit comments

Comments
 (0)