Skip to content

Conversation

@pyup-bot
Copy link
Collaborator

@pyup-bot pyup-bot commented Dec 1, 2024

Update fs from 2.4.11 to 2.4.16.

The bot wasn't able to find a changelog for this release. Got an idea?

Links

Update PyGithub from 1.43.8 to 2.5.0.

Changelog

2.5.0

---------------------------------

Breaking Changes
^^^^^^^^^^^^^^^^

* Parameters of method ``github.Requester.Requester.graphql_named_mutation`` have been renamed:

* Parameter ``variables`` renamed to ``mutation_input``
* Parameter ``output`` renamed to ``output_schema``
* Default value of parameter ``output`` has been removed

New features
^^^^^^^^^^^^

* Rework GraphQL mutations (3046) (27222251)
* Make pagination work with GraphQL response data (3047) (cd30e379)
* Add `RepositoryDiscussion` powered by GraphQL API (3048) (29359f3c)
* Add `Repository.get_discussion()` to get a single Discussion (3072) (44120b1e)

Improvements
^^^^^^^^^^^^

* Adds List organization memberships for the authenticated user (3040) (cf443955)
* Add `actor` property to WorkflowRun (2764) (612ba68e)
* Make requester a public attribute (3056) (c44ec523)

Bug Fixes
^^^^^^^^^

* Fix requesting urls containing parameters with parameters dict (2929) (e1d67ada)
* PullRequest.delete_branch: fix the remaining pull requests check (3063) (72fa6278)

Maintenance
^^^^^^^^^^^

* Remove stale bot (510c1402)
* Upgrade Github actions (3075) (323e2828)
* Add top issues dashboard action (3049) (c91f26a7)
* Make tests pass some more years (3045) (352c55aa)
* Run top issues workflow only in PyGithub repo (0d395d4e)
* Replace pre-commit Github action in order to pin pre-commit version (3059) (1a05b43d)

2.4.0

-------------------------------

Breaking Changes
^^^^^^^^^^^^^^^^

* The ``github.Commit.Commit`` class provides a ``files`` property that used to return a ``list[github.File.File]``,
which has now been changed to ``PaginatedList[github.File.File]``. This breaks user code that assumes a ``list``:

.. code-block:: python

 files = repo.get_commit("7266e812ed2976ea36a4303edecfe5d75522343f").files
 no_of_files = len(files)

This will raise a ``TypeError: object of type 'PaginatedList' has no len()``, as the returned ``PaginatedList``
does not support the ``len()`` method. Use the ``totalCount`` property instead:

.. code-block:: python

 files = repo.get_commit("7266e812ed2976ea36a4303edecfe5d75522343f").files
 no_of_files = files.totalCount

* Removed support for Python 3.7.

New features
^^^^^^^^^^^^

* Allow custom authentication (2987) (32b826fd)

Improvements
^^^^^^^^^^^^

* Add `has_discussions` to `AuthenticatedUser` and `Repository` classes (3020) (75224167)
* Update more `SecurityAndAnalysis` attributes (3025) (fa168279)
* Implement support for re-running only failed workflow jobs. (2983) (23e87563)
* Add possibility to mark a thread/notification as done (2985) (5ba24379)
* Add "pull_request_review_id" to PullRequestComment object (3000) (6a59cf82)
* Add minimize and unminimize functions for IssueComment class (3005) (09c4f58e)
* Support Organization/Repository custom properties (2968) (c5e6b702)
* Add `dict` type to `add_attribute` script (2977) (2a04f9cc)
* Allow for deleting and restoring branch associated with PR (1784) (4ba1e412)
* Add "archived_at" to Organization object. (2974) (cc766a6f)
* Adds Security & Analysis To Repository (2960) (f22af54d)
* Add added_by and last_used attributes to RepositoryKey (2952) (5dffa64d)
* Add `make_latest` to `GitRelease.update_release` (2888) (60136105)
* Make Commit.files return PaginatedList (2939) (fa885f00)

Bug Fixes
^^^^^^^^^

* Fix GraphQL Queries with Variables (3002) (4324a3d9)

Maintenance
^^^^^^^^^^^

* Remove support for Python 3.7 (2975, 3008) (d0e05072, 6d60b754)
* docs: add missing code-block (2982) (c93e73e2)
* Update README.md (2961) (5d9f90d2)
* CI: Fix test success job (3010) (61d37dce)

2.3.0

------------------------------

New features
^^^^^^^^^^^^

* Support OAuth for enterprise (2780) (e4106e00)
* Support creation of Dependabot Organization and Repository Secrets (2874) (0784f835)

Improvements
^^^^^^^^^^^^

* Create release with optional name and message when generate_release_notes is true (2868) (d65fc30d)
* Add missing attributes to WorkflowJob (2921) (9e092458)
* Add `created` and `check_suite_id` filter for Repository WorkflowRuns (2891) (c788985c)
* Assert requester argument type in Auth (2912) (0b8435fc)

Bug Fixes
^^^^^^^^^

* Revert having allowed values for add_to_collaborators (2905) (b542438e)

Maintenance
^^^^^^^^^^^

* Fix imports in authentication docs (2923) (e3d36535)
* CI: add docformatter to precommit (2614) (96ad19ae)
* Add .swp files to gitignore (2903) (af529abe)
* Fix instructions building docs in CONTRIBUTING.md (2900) (cd8e528d)
* Explicitly name the modules built in pyproject.toml (2894) (4d461734)

2.2.0

--------------------------------

Breaking Changes
^^^^^^^^^^^^^^^^

* The ``github.Comparison.Comparison`` instance returned by ``Repository.compare`` provides a ``commits``
property that used to return a ``list[github.Commit.Commit]``, which has now been changed
to ``PaginatedList[github.Commit.Commit]``. This breaks user code that assumes a ``list``:

.. code-block:: python

 commits = repo.compare("v0.6", "v0.7").commits
 no_of_commits = len(commits)

This will raise a ``TypeError: object of type 'PaginatedList' has no len()``, as the returned ``PaginatedList``
does not support the ``len()`` method. Use the ``totalCount`` property instead:

.. code-block:: python

 commits = repo.compare("v0.6", "v0.7").commits
 no_of_commits = commits.totalCount


New features
^^^^^^^^^^^^

* Add support to call GraphQL API

Improvements
^^^^^^^^^^^^

* Add parent_team_id, maintainers and notification_setting for creating and updating teams. (2863) (49d07d16)
* Add support for issue reactions summary (2866) (cc4c5269)
* Support for DependabotAlert APIs (2879) (14af7051)
* Derive GraphQL URL from base_url (2880) (d0caa3c3)
* Make ``Repository.compare().commits`` return paginated list (2882) (2d284d1e)
* Add missing branch protection fields (2873) (e47c153b)
* Add ``include_all_branches`` to ``create_repo_from_template`` of ``AuthenticatedUser`` and ``Organization`` (2871) (34c4642e)
* Add and update organisation dependabot secrets (2316) (603896f4)
* Add missing params to ``Organization.create_repo`` (2700) (9c61a2a4)
* Update allowed values for ``Repository`` collaborator permissions (1996) (b5b66da8)
* Support editing PullRequestReview (2851) (b1c4c561)
* Update attributes after calling ``PullRequestReview.dismiss`` (2854) (6f3d714c)
* Add ``request_cve`` on ``RepositoryAdvisories`` (2855) (41b617b7)
* Filter collaborators of a repository by permissions (2792) (702c127a)
* Set pull request to auto merge via GraphQL API (2816) (232df79a)
* Support Environment Variables and Secrets (2848) (7df97398)
* Update workflow.get_runs & pullrequest.add_to_assignees function signature (2799) (26eedbb0)
* Add ``GithubObject.last_modified_datetime`` to have ``last_modified`` as a ``datetime`` (2772) (e7ce8189)
* Add support for global advisories and unify some shared logic with repository advisories (2702) (c8b4fcbe)
* Add internal as valid Repository visibility value (2806) (d4a5a40f)
* Add support for issue comments reactions summary (2813) (67397491)

Bug Fixes
^^^^^^^^^

* Add a bunch of missing urllib.parse.quote calls (1976) (13194be2)
* Fix Variable and Secret URL (2835) (aa763431)

Maintenance
^^^^^^^^^^^

* Update the class name for NetrcAuth in the examples (2860) (2f44b2e8)
* Move build to PEP517 (2800) (c589bf9e)
* Use new type assert functions in ``Repository`` (2798) (2783e671)
* PyTest: Move config to pyproject.toml (2859) (61fb728b)
* codespell: ignore-words-list (2858) (dcf6d8a1)
* Improve fix-headers.py script (2728) (a48c37fa)
* Remove dependency on python-dateutil (2804) (ab131a2f)
* CI: update precommit & apply (2600) (d92cfba2)
* Fix parameter order according to Version 2.1.0 (2786) (dc37d5c1)
* Add missing GitHub classes to docs (2783) (9af9b6e5)
* Fix mypy error with urllib3>=2.0.0a1 by ignoring (2779) (64b1cdea)

2.1.1

-----------------------------------

Bug Fixes
^^^^^^^^^

* Require urllib 1.26.0 or greater (2774) (001c0852)

Maintenance
^^^^^^^^^^^

* Fix pypi-release workflow, allow for manual run (2771) (035c88f1)

2.1.0

-----------------------------------

Important
^^^^^^^^^

**Request throttling**

This release introduces a default throttling mechanism to mitigate secondary rate limit errors and comply with Github's best practices:
https://docs.github.com/en/rest/guides/best-practices-for-integrators?apiVersion=2022-11-28#dealing-with-secondary-rate-limits

The default throttling of 1 second between writes and 0.25 second between any requests can be configured
for ``github.Github`` and ``github.GithubIntegration``:

.. code-block:: python

 g = github.Github(seconds_between_requests=0.25, seconds_between_writes=1)

Set these parameters to ``None`` to disable throttling and restore earlier behavior.

**Request retry**

This release introduces a default retry mechanism to retry retry-able 403 responses (primary and secondary rate limit errors only) and any 5xx response.

Class ``github.GithubRetry`` implements this behavior, and can be configured via the ``retry`` argument of ``github.Github`` and ``github.GithubIntegration``.
Retry behavior is configured similar to ``urllib3.Retry``: https://urllib3.readthedocs.io/en/stable/reference/urllib3.util.html

.. code-block:: python

 g = github.Github(retry=github.GithubRetry())

Set this parameter to ``None`` to disable retry mechanism and restore earlier behaviour.

Breaking Changes
^^^^^^^^^^^^^^^^

**Timestamps**

Any timestamps returned by this library are ``datetime`` with timezone information, usually UTC.
Before this release, timestamps used to be naive ``datetime`` instances without timezone.
Comparing (other than ``==``) these timestamps with naive ``datetime`` instances used to work but will now break.
Add a timezone information to your ``datetime`` instances before comparison:

.. code-block:: python

 if g.get_repo("PyGithub/PyGithub").created_at < datetime(2012, 2, 26, tzinfo=timezone.utc):
     ...

**Netrc authentication**

A Netrc file (e.g. ``~/.netrc``) does not override PyGithub authentication, anymore.
If you require authentication through Netrc, then this is a breaking change.
Use a ``github.Auth.NetrcAuth`` instance to use Netrc credentials:

.. code-block:: python

 >>> auth = Auth.NetrcAuth()
 >>> g = Github(auth=auth)
 >>> g.get_user().login
 'login'

**Repository.create_pull**

Merged overloaded ``create_pull`` methods

.. code-block:: python

 def create_pull(self, issue, base, head)
 def create_pull(self, title, body, base, head, maintainer_can_modify=NotSet, draft=False)

into

.. code-block:: python

 def create_pull(self, base, head, *, title=NotSet, body=NotSet, maintainer_can_modify=NotSet, draft=NotSet, issue=NotSet)

Please update your usage of ``Repository.create_pull`` accordingly.

New features
^^^^^^^^^^^^

* Throttle requests to mitigate RateLimitExceededExceptions (2145) (99155806)
* Retry retryable 403 (rate limit) (2387) (0bb72ca0)
* Close connections after use (2724) (73236e23)

Improvements
^^^^^^^^^^^^

* Make datetime objects timezone-aware (2565) (0177f7c5)
* Make ``Branch.edit_*`` functions return objects (2748) (8dee53a8)
* Add ``license`` attribute to ``Repository`` (2721) (26d353e7)
* Add missing attributes to ``Repository``  (2742) (65cfeb1b)
* Add ``is_alphanumeric`` attribute to ``Autolink`` and ``Repository.create_autolink`` (2630) (b6a28a26)
* Suppress ``requests`` fallback to netrc, provide ``github.Auth.NetrcAuth`` (2739) (ac36f6a9)
* Pass Requester arguments to ``AppInstallationAuth.__integration`` (2695) (8bf542ae)
* Adding feature for enterprise consumed license (2626) (a7bfdf2d)
* Search Workflows by Name (2711) (eadc241e)
* Add ``Secret`` and ``Variable`` classes (2623) (bcca758d)
* Add Autolink API link (2632) (aedfa0b9)
* Add ``required_linear_history`` attribute to ``BranchProtection`` (2643) (7a80fad9)
* Add retry issue to ``GithubException``, don't log it (2611) (de80ff4b)
* Add ``message`` property to ``GithubException`` (2591) (f087cad3)
* Add support for repo and org level actions variables (2580) (91b3f40f)
* Add missing arguments to ``Workflow.get_runs()`` (2346) (766df993)
* Add ``github.Rate.used`` field (2531) (c4c2e527)

Bug Fixes
^^^^^^^^^

* Fix ``Branch.bypass_pull_request_allowances`` failing with "nil is not an object" (2535) (c5542a6a)
* Fix ``required_conversation_resolution`` assertion (2715) (54f22267)
* Fix assertion creating pull request review comment (2641) (2fa568b6)
* Safely coerce ``responseHeaders`` to ``int`` (2697) (adbfce92)
* Fix assertion for ``subject_type`` in creating pull request review comment (2642) (4933459e)
* Use timezone-aware reset datetime in ``GithubRetry.py`` (2610) (950a6949)
* Fix ``Branch.bypass_pull_request_allowances`` failing with "nil is not an object" (2535) (c5542a6a)

Maintenance
^^^^^^^^^^^

* Epic mass-merge ``.pyi`` type stubs back to ``.py`` sources (2636)
* Move to main default branch (2566) (e66c163a)
* Force Unix EOL (2573) (094538e1)
* Close replay test data file silently when test is failing already (2747) (6d871d56)
* CI: Make CI support merge queue (2644) (a91debf1)
* CI: Run CI on release branches (2708) (9a88b6b1)
* CI: remove conflict label workflow (2669) (95d8b83c)
* Fix pip install command in README.md (2731) (2cc1ba2c)
* Update ``add_attribute.py`` to latest conding style (2631) (e735972e)
* CI: Improve ruff DX (2667) (48d2009c)
* CI: Increase wait and retries of labels action (2670) (ff0f31c2)
* Replace ``flake8`` with ``ruff`` (2617) (42c3b47c)
* CI: update labels action name and version (2654) (c5c83eb5)
* CI: label PRs that have conflicts (2622) (1d637e4b)
* Unify requirements files location & source in setup.py (2598) (2edc0f8f)
* Enable mypy ``disallow_untyped_defs`` (2609) (294c0cc9)
* Enable mypy ``check_untyped_defs`` (2607) (8816889a)
* Set line length to 120 characters (2599) (13e178a3)
* CI: Build and check package before release (2593) (3c880e76)
* Use ``typing_extensions`` for ``TypedDict`` (2592) (5fcb0c7d)
* CI: Update action actions/setup-python (2382) (2e5cd31e)
* Add more methods and attributes to Repository.pyi (2581) (72840de4)
* CI: Make pytest color logs (2597) (73241102)
* precommit: move ``flake8`` as last (2595) (11bb6bd7)
* Test on Windows and macOS, don't fail fast (2590) (5c600894)
* Remove symlinks from test data (2588) (8d3b9057)

1.59.1

-----------------------------------

Bug Fixes
^^^^^^^^^

* Safely coerce responseHeaders to int (2697) (adbfce92)

1.59.0

-----------------------------------

Important
^^^^^^^^^

This release introduces new way of authentication. All authentication-related arguments ``github.Github(login_or_token=…, password=…, jwt=…, app_auth=…)``
and ``github.GithubIntegration(integration_id=…, private_key=…, jwt_expiry=…, jwt_issued_at=…, jwt_algorithm=…)`` are replaced by a single ``auth=…`` argument.
Module ``github.Auth`` provides classes for all supported ways of authentication: ``Login``, ``Token``, ``AppAuth``, ``AppAuthToken``, ``AppInstallationAuth``, ``AppUserAuth``.
Old arguments are deprecated but continue to work. They are scheduled for removal for version 2.0 release.

This project has decided to move all typing information from ``.pyi`` files into the respective ``.py`` source files.
This will happen gradually over time.

Breaking Changes
^^^^^^^^^^^^^^^^

* The ``position`` argument in ``github.PullRequest.create_review_comment(position=…)`` has been renamed to ``line``.
This breaks user code that calls ``create_review_comment`` with keyword argument ``position``. Call with ``line=…`` instead.
Calling this method with positional arguments is not breaking.
* The ``jwt_expiry``, ``jwt_issued_at`` and ``jwt_algorithm`` arguments in ``github.GithubIntegration()`` have changed their position.
User code calling ``github.GithubIntegration(…)`` with these arguments as positional arguments breaks.
Please use keyword arguments: ``github.GithubIntegration(…, jwt_expiry=…, jwt_issued_at=…, jwt_algorithm=…)``.
* The ``since`` argument in ``github.PullRequest.get_review_comments(…)`` has changed position.``
User code calling ``github.PullRequest.get_review_comments(…)`` with this argument as positional argument breaks.
Please use keyword argument: ``github.PullRequest.get_review_comments(since=…)``.

Deprecation
^^^^^^^^^^^

* The use of ``github.Github(login_or_token=…)`` is deprecated, use ``github.Github(auth=github.Auth.Login(…))`` or ``github.Github(auth=github.Auth.Token(…))`` instead.
* The use of ``github.Github(password=…)`` is deprecated, use ``github.Github(auth=github.Auth.Login(…))`` instead.
* The use of ``github.Github(jwt=…)`` is deprecated, use ``github.Github(auth=github.AppAuth(…))`` or ``github.Github(auth=github.AppAuthToken(…))`` instead.
* The use of ``github.Github(app_auth=…)`` is deprecated, use ``github.Github(auth=github.Auth.AppInstallationAuth(…))`` instead.
* The use of ``github.GithubIntegration(integration_id=…, private_key=…, jwt_expiry=…, jwt_issued_at=…, jwt_algorithm=…)`` is deprecated, use ``github.GithubIntegration(auth=github.Auth.AppAuth(…))`` instead.
* The use of ``github.GithubIntegration.create_jwt`` is deprecated, use ``github.Github(auth=github.Auth.AppAuth)``, ``github.Auth.AppAuth.token`` or ``github.Auth.AppAuth.create_jwt(expiration)`` instead.
* The use of ``AppAuthentication`` is deprecated, use ``github.Auth.AppInstallationAuth`` instead.
* The use of ``github.Github.get_app()`` without providing argument ``slug`` is deprecated, use ``github.GithubIntegration(auth=github.Auth.AppAuth(…)).get_app()``.

Bug Fixes
^^^^^^^^^

* Test and fix UTC issue with AppInstallationAuth (2561) (ff3b80f8)
* Make Requester.__createException robust against missing message and body (2159) (7be3f763)
* Fix auth issues with `Installation.get_repos` (2547) (64075120)
* Fix broken urls in docstrings (2393) (f82ad61c)
* Raise error on unsupported redirects, log supported redirects (2524) (17cd0b79)
* Fix GithubIntegration that uses expiring jwt (2460) (5011548c)
* Add expiration argument back to GithubIntegration.create_jwt (2439) (822fc05c)
* Add crypto extras to pyjwt, which pulls in cryptogaphy package (2443) (554b2b28)
* Remove RLock from Requester (2446) (45f3d723)
* Move CI to Python 3.11 release and 3.12 dev (2434) (e414c322)
* Pass Requester base URL to integration (2420) (bdceae2f)

Improvements
^^^^^^^^^^^^

* Add Webhook Deliveries (2508) (517ad336)
* Add support for workflow jobs and steps (1951) (804c3107)
* Add support for get_app() with App authentication (2549) (6d4b6d14)
* Allow multiline comments in PullRequest (2540) (6a21761e)
* Implement `AppUserAuth` for Github App user tokens (2546) (f291a368)
* Add support for environments (2223) (0384e2fd)
* Add support for new RepositoryAdvisories API :tada: (2483) (daf62bd4)
* Make `MainClass.get_app` return completed `GithubApp` when slug is given (2543) (84912a67)
* Add authentication classes, move auth logic there (2528) (fc2d0e15)
* Add sort order and direction for getting comments (2544) (a8e7c423)
* Add `name` filter to `Repository.get_artifacts()` (2459) (9f52e948)
* Add `name`, `display_title` and `path` attributes to `WorkflowRun` (2397) (10816389)
* Add new `create_fork` arguments (2493) (b94a83cb)
* add `ref` to Deployment (2489) (e8075c41)
* Add query `check_suite_id` integer to `Workflow.get_runs` (2466) (a4854519)
* Add `generate_release_notes` parameter to `create_git_release` and `create_git_tag_and_release` (2417) (49b3ae16)
* Add example for Pull Request comments to documentation (2390) (c2f12bdc)
* Add allow_auto_merge support to Repository (2477) (8c4b9465)
* Add `artifact_id` argument to `Repository.get_artifact()` (2458) (4fa0a5f3)
* Add missing attributes to Branch (2512) (e296dbdb)
* Add allow_update_branch option to Organization (2465) (bab4180f)
* Add support for Issue.state_reason 2370 (2392) (5aa544a1)
* Add parameters to Repository.get_workflow_runs (2408) (4198dbfb)

Maintenance
^^^^^^^^^^^

* Add type stub for MainClass.get_project_column (2502) (d514222c)
* Sync GithubIntegration __init__ arguments with github.Github (2556) (ea45237d)
* Update MAINTAINERS (2545) (f4e9dcb3)
* Link to stable docs, update introduction in package used by pypi, move auth arg front (2557) (006766f9)
* Merge PaginatedList.pyi back to source (2555) (cb50dec5)
* Merge GithubObject.pyi/Requester.pyi stubs back to source (2463) (b6258f4b)
* [CI] Moving linting into separate workflow (2522) (52fc1077)
* Merging 1.58.x patch release notes into master (2525) (217d4241)
* Merge AppAuthentication.pyi to source (2519) (8e8cfb30)
* Merge GithubException.pyi stubs back to source (2464) (03a2f696)
* Add missing fields from `GithubCredentials.py` to CONTRIBUTING.md (2482) (297317ba)
* Update docstring and typing for allow_forking and allow_update_branch (Repository) (2529) (600217f0)
* Bump actions/checkout from 2 to 3.1.0 (2327) (300c5015)
* RTD: install current project (def5223c)
* Add current dir sys.path as well (9c96faa7)
* Use use_scm_version to get current version from git tag (2429) (3ea91a3a)

1.58.2

-----------------------------------

Bug Fixes
^^^^^^^^^

* Fix GithubIntegration that uses expiring jwt (2460) (5011548c)

1.58.1

-----------------------------------

Bug Fixes
^^^^^^^^^

* Add expiration argument back to GithubIntegration.create_jwt (2439) (822fc05c)
* Add crypto extras to pyjwt, which pulls in cryptogaphy package (2443) (554b2b28)
* Remove RLock from Requester (2446) (45f3d723)
* Move CI to Python 3.11 release and 3.12 dev (2434) (e414c322)
* pass requester base URL to integration (2420) (bdceae2f)
* RTD: install current project (def5223c)
* Add current dir sys.path as well (9c96faa7)
* Use use_scm_version to get current version from git tag (2429) (3ea91a3a)

1.58.0

-----------------------------------

Bug Fixes & Improvements
^^^^^^^^^^^^^^^^^^^^^^^^

* Add unarchiving support Tsuesun (2391)
* Support full GitHub app authentication dblanchette (1986)
* Continue the PR 1899 Felixoid (2386)
* feat: add allow\_forking to Repository IbrahimAH (2380)
* Add code scanning alerts eric-nieuwland (2227)

1.57

-----------------------------------

Breaking Changes
^^^^^^^^^^^^^^^^

* Add support for Python 3.11, drop support for Python 3.6 (2332) (1e2f10dc)

Bug Fixes & Improvements
^^^^^^^^^^^^^^^^^^^^^^^^

* Speed up get requested reviewers and teams for pr (2349) (6725eceb)
* [WorkflowRun] - Add missing attributes (`run_started_at` & `run_attempt`), remove deprecated `unicode` type (2273) (3a6235b5)
* Add support for repository autolink references (2016) (0fadd6be)
* Add retry and pool_size to typing (2151) (784a3efd)
* Fix/types for repo topic team (2341) (db9337a4)
* Add class Artifact (2313) (2319) (437ff845)

1.56

-----------------------------------

Important
^^^^^^^^^

This is the last release that will support Python 3.6.

Bug Fixes & Improvements
^^^^^^^^^^^^^^^^^^^^^^^^

* Create repo from template (2090) (b50283a7)
* Improve signature of Repository.create_repo (2118) (001970d4)
* Add support for 'visibility' attribute preview for Repositories (1872) (8d1397af)
* Add Repository.rename_branch method (2089) (6452ddfe)
* Add function to delete pending reviews on a pull request (1897) (c8a945bb)
* Cover all code paths in search_commits (2087) (f1faf941)
* Correctly deal when PaginatedList's data is a dict (2084) (93b92cd2)
* Add two_factor_authentication in AuthenticatedUser. (1972) (4f00cbf2)
* Add ProjectCard.edit() to the type stub (2080) (d417e4c4)
* Add method to delete Workflow runs (2078) (b1c8eec5)
* Implement organization.cancel_invitation() (2072) (53fb4988)
* Feat: Add `html_url` property in Team Class. (1983) (6570892a)
* Add support for Python 3.10 (2073) (aa694f8e)
* Add github actions secrets to org (2006) (bc5e5950)
* Correct replay for Organization.create_project() test (2075) (fcc12368)
* Fix install command example (2043) (99e00a28)
* Fix: 1671 Convert Python Bool to API Parameter for Authenticated User Notifications (2001) (1da600a3)
* Do not transform requestHeaders when logging (1965) (1265747e)
* Add type to OrderedDict (1954) (ed7d0fe9)
* Add Commit.get_pulls() to pyi (1958) (b4664705)
* Adding headers in GithubException is a breaking change (1931) (d1644e33)

1.55

-----------------------------------

Breaking Changes
^^^^^^^^^^^^^^^^

* Remove client_id/client_secret authentication (1888) (901af8c8)
* Adjust to Github API changes regarding emails (1890) (2c77cfad)
- This impacts what AuthenticatedUser.get_emails() returns
* PublicKey.key_id could be int on Github Enterprise (1894) (ad124ef4)
* Export headers in GithubException (1887) (ddd437a7)

Bug Fixes & Improvements
^^^^^^^^^^^^^^^^^^^^^^^^

* Do not import from unpackaged paths in typing (1926) (27ba7838)
* Implement hash for CompletableGithubObject (1922) (4faff23c)
* Use property decorator to improve typing compatibility (1925) (e4168109)
* Fix :rtype: directive (1927) (54b6a97b)
* Update most URLs to docs.github.com (1896) (babcbcd0)
* Tighten asserts for new Permission tests (1893) (5aab6f5d)
* Adding attributes "maintain" and "triage" to class "Permissions" (1810) (76879613)
* Add default arguments to Workflow method type annotations (1857) (7d6bac9e)
* Re-raise the exception when failing to parse JSON (1892) (916da53b)
* Allow adding attributes at the end of the list (1807) (0245b758)
* Updating links to Github documentation for deploy keys (1850) (c27fb919)
* Update PyJWT Version to 2.0+ (1891) (a68577b7)
* Use right variable in both get_check_runs() (1889) (3003e065)
* fix bad assertions in github.Project.edit (1817) (6bae9e5c)
* Test repr() for PublicKey (1879) (e0acd8f4)
* Add support for deleting repository secrets (1868) (696793de)
* Switch repository secrets to using f-strings (1867) (aa240304)
* Manually fixing paths for codecov.io to cover all project files (1813) (b2232c89)
* Add missing links to project metadata (1789) (64f532ae)
* No longer show username and password examples (1866) (55d98373)
* Adding github actions secrets (1681) (c90c050e)
* fix get_user_issues (1842) (7db1b0c9)
* Switch all string addition to using f-strings (1774) (290b6272)
* Enabling connection pool_size definition (a77d4f48)
* Always define the session adapter (aaec0a0f)

1.54.1

-----------------------------------

* Pin pyjwt version (1797) (31a1c007)
* Add pyupgrade to pre-commit configuration (1783) (e113e37d)
* Fix 1731: Incorrect annotation (82c349ce)
* Drop support for Python 3.5 (1770) (63e4fae9)
* Revert "Pin requests to <2.25 as well (1757)" (1763) (a806b523)
* Fix stubs file for Repository (fab682a5)

1.54

-----------------------------------

Important
^^^^^^^^^

This is the last release that will support Python 3.5.

Breaking Changes
^^^^^^^^^^^^^^^^

The Github.get_installation(integer) method has been removed.
Repository.create_deployment()'s payload parameter is now a dictionary.

Bug Fixes & Improvements
^^^^^^^^^^^^^^^^^^^^^^^^

* Add support for Check Suites (1764) (6d501b28)
* Add missing preview features of Deployment and Deployment Statuses API (1674) (197e0653)
* Correct typing for Commit.get_comments() (1765) (fcdd9eae)
* Pin requests to <2.25 as well (1757) (d159425f)
* Add Support for Check Runs (1727) (c77c0676)
* Added a method for getting a user by their id (1691) (4cfc9912)
* Fix 1742 - incorrect typehint for `Installation.id` (1743) (546f6495)
* Add WorkflowRun.workflow_id (1737) (78a29a7c)
* Add support for Python 3.9 (1735) (1bb18ab5)
* Added support for the Self-Hosted actions runners API (1684) (24251f4b)
* Fix Branch protection status in the examples (1729) (88800844)
* Filter the DeprecationWarning in Team tests (1728) (23f47539)
* Added get_installations() to Organizations (1695) (b42fb244)
* Fix 1507: Add new Teams: Add or update team repository endpoint (1509) (1c55be51)
* Added support for `Repository.get_workflow_runs` parameters (1682) (c23564dd)
* feat(pullrequest): add the rebaseable attribute (1690) (ee4c7a7e)
* Add support for deleting reactions (1708) (f7d203c0)
* Correct type hint for InputGitTreeElement.sha (08b72b48)
* Ignore new black formatting commit for git blame (1680) (7ec4f155)
* Format with new black (1679) (07e29fe0)
* Add get_timeline() to Issue's type stubs (1663) (6bc9ecc8)

1.53

-----------------------------------

* Test Organization.get_hook() (1660) (2646a98c)
* Add method get_team_membership for user to Team  (1658) (749e8d35)
* Add typing files for OAuth classes (1656) (429fcc73)
* Fix Repository.create_repository_dispatch type signature (1643) (f891bd61)
* PaginatedList's totalCount is 0 if no last page (1641) (69b37b4a)
* Add initial support for Github Apps. (1631) (260558c1)
* Correct ``**kwargs`` typing for ``search_*`` (1636) (165d995d)
* Add delete_branch_on_merge arg to Repository.edit type stub (1639) (15b5ae0c)
* Fix type stub for MainClass.get_user (1637) (8912be64)
* Add type stub for Repository.create_fork (1638) (de386dfb)
* Correct Repository.create_pull typing harder (1635) (5ad091d0)

1.52

-----------------------------------

* upload_asset with data in memory (1601) (a7786393)
* Make Issue.closed_by nullable (1629) (06dae387)
* Add support for workflow dispatch event (1625) (16850ef1)
* Do not check reaction_type before sending (1592) (136a3e80)
* Various Github Action improvement (1610) (416f2d0f)
* more flexible header splitting (1616) (85e71361)
* Create Dependabot config file (1607) (e272f117)
* Add support for deployment statuses (1588) (048c8a1d)
* Adds the 'twitter_username' attribute to NamedUser. (1585) (079f75a7)
* Create WorkflowRun.timing namedtuple from the dict (1587) (1879518e)
* Add missing properties to PullRequest.pyi (1577) (c84fad81)
* Add support for Workflow Runs (1583) (4fb1d23f)
* More precise typing for Repository.create_pull (1581) (4ed7aaf8)
* Update sphinx-rtd-theme requirement from <0.5 to <0.6 (1563) (f9e4feeb)
* More precise typing for MainClass.get_user() (1575) (3668f866)
* Small documentation correction in Repository.py (1565) (f0f6ec83)
* Remove "api_preview" parameter from type stubs and docstrings
(1559) (cc1b884c)
* Upgrade actions/setup-python to v2 (1555) (6f1640d2)
* Clean up tests for GitReleaseAsset (1546) (925764ad)
* Repository.update_file() content also accepts bytes (1543) (9fb8588b)
* Fix Repository.get_issues stub (1540) (b40b75f8)
* Check all arguments of NamedUser.get_repos() (1532) (69bfc325)
* Correct Workflow typing (1533) (f41c046f)
* Remove RateLimit.rate (1529) (7abf6004)
* PullRequestReview is not a completable object (1528) (19fc43ab)
* Test more attributes (1526) (52ec366b)
* Remove pointless setters in GitReleaseAsset (1527) (1dd1cf9c)
* Drop some unimplemented methods in GitRef (1525) (d4b61311)
* Remove unneeded duplicate string checks in Branch (1524) (61b61092)
* Turn on coverage reporting for codecov (1522) (e79b9013)
* Drastically increase coverage by checking repr() (1521) (291c4630)
* Fixed formatting of docstrings for `Repository.create_git_tag_and_release()`
and `StatsPunchCard`. (1520) (ce400bc7)
* Remove Repository.topics (1505) (53d58d2b)
* Small improvements to typing (1517) (7b20b13d)
* Correct Repository.get_workflows() (1518) (8727003f)
* docs(repository): correct releases link (1514) (f7cc534d)
* correct Repository.stargazers_count return type to int (1513) (b5737d41)
* Fix two RST warnings in Webhook.rst (1512) (5a8bc203)
* Filter FutureWarning for 2 test cases (1510) (09a1d9e4)
* Raise a FutureWarning on use of client_{id,secret} (1506) (2475fa66)
* Improve type signature for create_from_raw_data (1503) (c7b5eff0)
* feat(column): move, edit and delete project columns (1497) (a32a8965)
* Add support for Workflows (1496) (a1ed7c0e)
* Add create_repository_dispatch to typing files (1502) (ba9d59c2)
* Add OAuth support for GitHub applications (4b437110)
* Create AccessToken entity (4a6468aa)
* Extend installation attributes (61808da1)

1.51

-----------------------------------

* Type stubs are now packaged with the build (1489) (6eba4506)
* Travis CI is now dropped in favor of Github workflow (1488) (d6e77ba1)
* Get the project column by id (1466) (63855409)

1.50

-----------------------------------

New features
^^^^^^^^^^^^

* PyGithub now supports type checking thanks to (1231) (91433fe9)
* Slack is now the main channel of communication rather than Gitter (6a6e7c26)
* Ability to retrieve public events (1481) (5cf9950b)
* Add and handle the maintainer_can_modify attribute in PullRequest (1465) (e0997b43)
* List matching references (1471) (d3bc6a5c)
* Add create_repository_dispatch (1449) (edcbdfda)
* Add some Organization and Repository attributes. (1468) (3ab97d61)
* Add create project method (801ea385)

Bug Fixes & Improvements
^^^^^^^^^^^^^^^^^^^^^^^^

* Drop use of shadow-cat for draft PRs (1469) (84bb69ab)
* AuthenticatedUser.get_organization_membership() should be str (1473) (38b34db5)
* Drop documentation for len() of PaginatedList (1470) (70462598)
* Fix param name of projectcard's move function (1451) (bafc4efc)
* Correct typos found with codespell (1467) (83bef0f7)
* Export IncompletableObject in the github namespace (1450) (0ebdbb26)
* Add GitHub Action workflow for checks (1464) (f1401c15)
* Drop unneeded ignore rule for flake8 (1454) (b4ca9177)
* Use pytest to parametrize tests (1438) (d2e9bd69)

1.47

-----------------------------------

Bug Fixes & Improvements
^^^^^^^^^^^^^^^^^^^^^^^^

* Add support to edit and delete a project (1434) (f11f7395)
* Add method for fetching pull requests associated with a commit (1433) (0c55381b)
* Add "get_repo_permission" to Team class (1416) (219bde53)
* Add list projects support, update tests (1431) (e44d11d5)
* Don't transform completely in PullRequest.*assignees (1428) (b1c35499)
* Add create_project support, add tests (1429) (bf62f752)
* Add draft attribute, update test (bd285248)
* Docstring for Repository.create_git_tag_and_release (1425) (bfeacded)
* Create a tox docs environment (1426) (b30c09aa)
* Add Deployments API (1424) (3d93ee1c)
* Add support for editing project cards (1418) (425280ce)
* Add draft flag parameter, update tests (bd0211eb)
* Switch to using pytest (1423) (c822dd1c)
* Fix GitMembership with a hammer (1420) (f2939eb7)
* Add support to reply to a Pull request comment (1374) (1c82573d)
* PullRequest.update_branch(): allow expected_head_sha to be empty (1412) (806130e9)
* Implement ProjectCard.delete() (1417) (aeb27b78)
* Add pre-commit plugin for black/isort/flake8 (1398) (08b1c474)
* Add tox (1388) (125536fe)
* Open file in text mode in scripts/add_attribute.py (1396) (0396a493)
* Silence most ResourceWarnings (1393) (dd31a706)
* Assert more attributes in Membership (1391) (d6dee016)
* Assert on changed Repository attributes (1390) (6e3ceb19)
* Add reset to the repr for Rate (1389) (0829af81)

1.46

-----------------------------------
Important
^^^^^^^^^

Python 2 support has been removed. If you still require Python 2, use 1.45.

Bug Fixes & Improvements
^^^^^^^^^^^^^^^^^^^^^^^^

* Add repo edit support for delete_branch_on_merge (1381) (9564cd4d)
* Fix mistake in Repository.create_fork() (1383) (ad040baf)
* Correct two attributes in Invitation (1382) (882fe087)
* Search repo issues by string label (1379) (4ae1a1e5)
* Correct Repository.create_git_tag_and_release() (1362) (ead565ad)
* exposed seats and filled_seats for Github Organization Plan (1360) (06a300ae)
* Repository.create_project() body is optional (1359) (0e09983d)
* Implement move action for ProjectCard (1356) (b11add41)
* Tidy up ProjectCard.get_content() (1355) (dd80a6c0)
* Added nested teams and parent (1348) (eacabb2f)
* Correct parameter for Label.edit (1350) (16e5f989)
* doc: example of Pull Request creation (1344) (d5ad09ae)
* Fix PyPI wheel deployment (1330) (4561930b)

1.45

-----------------------------------
Important
^^^^^^^^^

* This is the last release of PyGithub that will support Python 2.

Breaking Changes
^^^^^^^^^^^^^^^^

* Branch.edit_{user,team}_push_restrictions() have been removed
* The new API is:
- Branch.add_{user,team}_push_restrictions() to add new members
- Branch.replace_{user,team}_push_restrictions() to replace all members
- Branch.remove_{user,team}_push_restrictions() to remove members
* The api_preview parameter to Github() has been removed.

Bug Fixes & Improvements
^^^^^^^^^^^^^^^^^^^^^^^^

* Allow sha=None for InputGitTreeElement (1327) (60464f65)
* Support github timeline events. (1302) (732fd26a)
* Update link to GitHub Enterprise in README (1324) (e1537f79)
* Cleanup travis config (1322) (8189a538)
* Add support for update branch  (1317) (baddb719)
* Refactor Logging tests (1315) (b0ef1909)
* Fix rtd build (b797cac0)
* Add .git-blame-ignore-revs (573c674b)
* Apply black to whole codebase (1303) (6ceb9e9a)
* Fix class used returning pull request comments (1307) (f8e33620)
* Support for create_fork (1306) (2ad51f35)
* Use Repository.get_contents() in tests (1301) (e40768e0)
* Allow GithubObject.update() to be passed headers (1300) (989b635e)
* Correct URL for assignees on PRs (1296) (3170cafc)
* Use inclusive ordered comparison for 'parameterized' requirement (1281) (fb19d2f2)
* Deprecate Repository.get_dir_contents() (1285) (21e89ff1)
* Apply some polish to manage.sh (1284) (3a723252)

1.44.1

-----------------------------------

* Add Python 3.8 to classifiers list (1280) (fec6034a)
* Expand Topic class and add test coverage (1252) (ac682742)
* Add support for team discussions (1246) (1249) (ec3c8d7b)
* Correct API for NamedUser.get_organization_membership (1277) (077c80ba)
* Correct header check for 2FA required (1274) (6ad592b1)
* Use replay framework for Issue142 test (1271) (4d258d93)
* Sync httpretty version requirement with setup.py (1265) (99d38468)
* Handle unicode strings when recording responses (1253) (1254) (faa1bbd6)
* Add assignee removal/addition support to PRs (1241) (a163ba15)
* Check if the version is empty in manage.sh (1268) (db294837)
* Encode content for {create,update}_file (1267) (bc225f9d)
* Update changes.rst (1263) (d7947d82)

1.44

-----------------------------------

New features
^^^^^^^^^^^^

* This version supports running under Python 3 directly, and the test suite
passes under both 2.7 and recent 3.x's.

Bug Fixes & Improvements
^^^^^^^^^^^^^^^^^^^^^^^^

* Stop ignoring unused imports and remove them (1250) (a0765083)
* Bump httpretty to be a greater or equal to (1262) (27092fb0)
* Add close all issues example (1256) (13e2c7c7)
* Add six to install_requires (1245) (a840a906)
* Implemented user organization membership. Added test case. (1237) (e50420f7)
* Create DEPLOY.md (c9ed82b2)
* Support non-default URLs in GithubIntegration (1229) (e33858a3)
* Cleanup try/except import in PaginatedList (1228) (89c967bb)
* Add an IncompletableObject exception (1227) (f91cbac2)
* Fix redundant int checks (1226) (850da5af)
* Jump from notifications to related PRs/issues. (1168) (020fbebc)
* Code review bodies are optional in some cases. (1169) (b84d9b19)
* Update changes.rst (1223) (2df7269a)
* Do not auto-close issues with high priority tag (ab27ba4d)
* Fix bug in repository create new file example PyGithub1210 (1211) (74cd6856)
* Remove more Python version specific code (1193) (a0f01cf9)
* Drop use of assertEquals (1194) (7bac694a)
* Fix PR review creation. (1184) (e90cdab0)
* Add support to vulnerability alert and automated security fixes APIs (1195) (8abd50e2)
* Delete Legacy submodule (1192) (7ddb657d)
* Remove some uses of atLeastPython3 (1191) (cca8e3a5)
* Run flake8 in Travis (1163) (f93207b4)
* Fix directories for coverage in Travis (1190) (657f87b5)
* Switch to using six (1189) (dc2f2ad8)
* Update Repository.update_file() docstring (1186) (f1ae7200)
* Correct return type of MainClass.get_organizations (1179) (6e79d270)
* Add cryptography to test-requirements.txt (1165) (9b1c1e09)
Links

Update setuptools from 41.2.0 to 75.6.0.

The bot wasn't able to find a changelog for this release. Got an idea?

Links

Update docutils from 0.15.2 to 0.21.2.

Changelog

0.21.2

===========================

* Declare support for languages Georgian and Catalan (Valencian).

* Fix test failures.

0.21.2b.dev

=================================

* Document Tree / Docutils DTD

- Remove declaration of unsupported element <info>.
- Remove <decoration> from content declaration of <section> elements.

0.21.1

===========================

The sdist in 0.21 was incomplete

- pypi allows no file replacing
- adding a postrelease suffix "post1": docutils-0.21.post1.tar.gz
works on pypi, but fails with pip because the metadata differs.

But if the metadata is 0.21.post1 pypi makes it a new release.

0.21.1 is the same code except for the version number.

0.21

=========================

* General:

- Drop support for Python 3.7 and 3.8.

- Provide ``rst2*`` "console_scripts" `entry points`_
 (without the ``.py`` extension) instead of installing the
 ``rst2*.py`` `front end tools`_ in the binary PATH. []_

 Exceptions: ``rstpep2html.py`` and ``rst2odt_prepstyles.py``:

 - Use ``docutils --reader=pep --writer=pep_html`` for a PEP preview. []_
 - Use ``python -m docutils.writers.odf_odt.prepstyles``
   to `strip the page size`__ from an ODT writer stylesheet.

 __ docs/user/odt.htmlpage-size

.. [] Some Linux distributions already use the short names.
.. [] The final rendering is done by a Sphinx-based build system
      (cf. :PEP:`676`).

* reStructuredText:

- Use the same CSV format for the ``:header:`` option and the main data
 of the "csv-table_" directive.

- New option "loading" for the `"image" directive`_.
 Sets the new attribute loading__ of the <image> doctree element.

__ docs/ref/doctree.htmlloading

* Configuration changes:

- New configuration setting root_prefix_.
 Configurable root directory for included files.

- New configuration setting sources_ for the "buildhtml.py" application.

- Simpler and more secure `input encoding`_ default behaviour:

 Do not use the locale encoding as fallback if Python is started in
 `UTF-8 mode`_. Stop using "latin1" as second fallback.

 Remove BOM (U+FEFF ZWNBSP at start of data) only if the `input_encoding`_
 configuration setting is None, '', 'utf-8-sig', 'utf-16', or 'utf-32'.
 Do not remove other ZWNBSPs.

* Output changes:

HTML5:
 Stop setting the "footnote-reference" class value for footnote
 references. Use the CSS selector ``[role="doc-noteref"]``
 (works since Docutils 0.18, see minimal.css for examples).

 Fix MathML rendering problems in Chrome/Chromium based browsers.

 Embed SVG images as ``<svg>`` instead of data-URI.

manpage:
 Use .EE/.EX macros for literal blocks.

 Render URI references (do not use .UR/.UE).

 Use box option for tables.

* Removed objects:

`docutils.nodes.reprunicode`, `docutils.nodes.ensure_str()`
 Python 2 compatibility hacks
`docutils.utils.Reporter.set_conditions()`
 obsolete
`docutils.core.Publisher.setup_option_parser()`
 internal, obsolete

* New files:

``docutils/writers/html5_polyglot/italic-field-names.css``
 Alternative style for Docutils field-lists.

* Removed files:

``install.py``, ``setup.py``
 Metadata is now stored in ``pyproject.toml``,
 supported by pip_ since version 19.0 (2019-01-22).
 See README__ for installation alternatives.

__ README.htmlinstallation

* Bugfixes and improvements (see HISTORY_).

.. _input encoding: docs/api/publisher.htmlencodings
.. _csv-table: docs/ref/rst/directives.htmlcsv-table
.. _"image" directive: docs/ref/rst/directives.htmlimage
.. _root_prefix: docs/user/config.htmlroot-prefix
.. _sources: docs/user/config.htmlsources

0.20.1

===========================

Bugfix release. See HISTORY_ for details.

0.20

=========================

.. Note::

Docutils 0.20 is the last version supporting Python 3.7 and 3.8.

* General

- Support Python 3.11 (patch 198 by Hugo van Kemenade).

* Output changes:

HTML5:
 Use dpub-ARIA role "doc-footnote" (instead of ARIA role "note")
 for footnotes.

LaTeX:
 Do not load the `inputenc` package in UTF-8 encoded LaTeX sources.
 (UTF-8 is the default encoding for LaTeX2e since 2018).

* Configuration changes:

- Settings in the [latex2e writer] configuration file section
 are now ignored by the "xetex" writer.
 Place common settings in section `[latex writers]`_.

- New command line setting output_. Obsoletes the ``<destination>``
 positional argument (cf. `future changes`__).

 __ `command-line usage pattern`_

* `utils.find_file_in_dirs()` now returns a POSIX path also on Windows;
`utils.get_stylesheet_list()` no longer converts ``\`` to ``/``.

* docutils/languages/
docutils/parsers/rst/languages/

- Support Ukrainian. Patch by Dmytro Kazanzhy.

* test/coverage.sh

- Removed. Use the coverage.py_ project instead,
 ``coverage run test/alltests.py`` and ``coverage report``.

* tools/

- Moved ``quicktest.py`` to ``tools/dev/``.

* Bugfixes and improvements (see HISTORY_).

.. _[latex writers]: docs/user/config.htmllatex-writers
.. _output: docs/user/config.htmloutput
.. _coverage.py: https://pypi.org/project/coverage/

0.19

=========================

0.19b1

* Drop support for Python 2.7, 3.5, and 3.6.

* Output changes:

HTML5:
 Wrap groups of footnotes in an ``<aside>`` for easier styling.

 The CSS rule ``.footnote-list { display: contents; }`` can be used to
 restore the behaviour of custom CSS styles.

* After package installation, the CLI commands ``python -m docutils`` and
``docutils`` start the `generic command line front end tool`_.

* Support parsing "Markdown" input with 3rd party parsers
myst_, pycmark_, or recommonmark_.

* The default values for the "pep-references", "rfc-base-url",
and "python-home" `configuration settings`_ now use the "https:" scheme.
The PEP-writer template's header is updated to fix links and
resemble the header of official PEPs.

* Various bugfixes and improvements (see HISTORY_).

.. _generic command line front end tool:
 docs/user/tools.htmlgeneric-command-line-front-end
.. _myst: https://pypi.org/project/myst-docutils
.. _pycmark: https://pypi.org/project/pycmark/
.. _recommonmark: https://pypi.org/project/recommonmark/
.. _configuration settings: docs/user/config.html

0.18.1

===========================

.. Note::

Docutils 0.18.1 is the last version supporting Python 2.7, 3.5, and 3.6.

* ``nodes.Node.traverse()`` returns a list again to restore backwards
compatibility (fixes bug 431).
Use ``nodes.Node.findall()`` to get an iterator.

* re-add module ``parsers.rst.directives.html``
(stub, emits deprecation warning and loads
"Meta" directive from its new place at ``parsers.rst.directives.misc``.)

* Small bugfixes (see HISTORY_).

0.18

=========================

* Output changes:

Identifiers:
 - During `identifier normalization`_, leading number and hyphen
   characters are no longer stripped from a `reference name`_, if the
   id_prefix_ setting is non-empty.

   Example:
     with ``--id-prefix="DU-"``, a section with title "34. May"
     currently gets the identifier key ``DU-may`` and after the
     change the identifier key ``DU-34-may``.

 - The default value for the auto_id_prefix_ setting changed to ``%``:
   "use the tag name as prefix for auto-generated IDs".
   Set auto_id_prefix_ to ``id`` for unchanged auto-IDs.

HTML5:
 - Use the semantic tag <aside> for footnote text and citations, topics
   (except abstract and toc), admonitions, and system messages.
   Use <nav> for the Table of Contents.

 - Make "auto" table column widths the default: Only specify column
   widths, if the `"widths" option`_ is set and not "auto".
   The table-style__ setting "colwidths-grid" restores the current default.

   __ docs/user/config.htmltable-style

 - Items of a definition list with class argument "details" are
   converted to `details disclosure elements`_. Example::

     ..class:: details

     Summary
       This additional information should be hidden.

 - Do not add "compound-first", "compound-middle", or "compound-last" to
   elements nested in a compound. Use child selector and ":first-child",
   ":last-child" pseudo classes instead.

 - Use class value "backrefs" instead of "fn-backref" for a span of
   back-references.

 - Write footnote brackets and field term colons to HTML, so that they
   are present also without CSS and when copying text.

 - Move space character between section number and heading into
   "sectnum" span.

`math-output`_: html
 - Support more commands, fix mapping of commands to Unicode characters.
 - Scale variable sized operators and big delimiters with CSS.
 - Don't use <tt> element (deprecated in HTML5).
 - Use STIX fonts if available.

LaTeX:
  `legacy_class_functions`_ setting default changed to "False",
  admonitions are now environments.

* New standard Docutils doctree node: <meta__>.

__ docs/ref/doctree.htmlmeta

* New configuration settings:

- [latex writers] legacy_column_widths_ and
- [html5 writer] image_loading_.

* Removed files:
``iepngfix.htc`` and ``blank.gif`` (IE 6 workaround for `s5_html`).

* Removed sub-module:
``parsers.rst.directives.html``
(reversed in release 0.18.1).

* Removed function: utils.unique_combinations()
(obsoleted by itertools.combinations()).

* Removed attributes:

- ``HTMLTranslator.topic_classes``: check ``node.parent.classes`` instead.
- ``nodes.Text.rawsource``: we store the null-escaped text in Text
 nodes since 0.16 so there is no additional information in the
 rawsource.

* Major refactoring and fixes/additions in
``docutils/utils/math/math2html.py`` and
``docutils/utils/math/latex2mathml.py``
(mathematical notation in HTML, cf. `LaTeX syntax for mathematics`_).

* nodes.Node.traverse() returns an iterator instead of a list
(reversed in release 0.18.1).

* Various bugfixes and improvements (see HISTORY_).

Fix spelling errors in documentation and docstrings.
Thanks to Dimitri Papadopoulos.

.. _"widths" option: __ docs/ref/rst/directives.htmltable
.. _identifier normalization:
 docs/ref/rst/directives.htmlidentifier-normalization
.. _id_prefix: docs/user/config.htmlid-prefix
.. _auto_id_prefix: docs/user/config.htmlauto-id-prefix
.. _details disclosure elements:
 https://www.w3.org/TR/html52/interactive-elements.html#the-details-element
.. _LaTeX syntax for mathematics: docs/ref/rst/mathematics.html
.. _legacy_column_widths: docs/user/config.htmllegacy-column-widths

0.17.1

===========================

* Bug fixes (for details see the Docutils `HISTORY`_).

0.17

=========================

* Numerous bug fixes and improvements
(for details see the Docutils `HISTORY`_).

* Installing with ``setup.py`` now requires setuptools_.
Alternatively, install with pip_.

* The generic command line front end tool docutils-cli.py_ allows
the free selection of reader, parser, and writer components.

* Support Arabic language.

* New, **experimental** wrapper to integrate the `recommonmark`__
Markdown parser for use with Docutils.
Currently only tested with recommonmark version 0.4.0.

__ https://pypi.org/project/recommonmark/

* HTML5 writer:

- New option embed_images_.

- Use semantic tags (for details see the Docutils `HISTORY`_).

- Change the `initial_header_level`_ setting's default to "2", as browsers
 use the `same style for <h1> and <h2> when nested in a section`__.

- New optional style ``responsive.css``, adapts to different screen
 sizes.

- Move non-essential styling from ``minimal.css`` to ``plain.css``
 rsp. ``responsive.css``.

- Show code line numbers as pseudo-elements so they are skipped when
 copying the code block from the page.

.. _initial_header_level: docs/user/config.htmlinitial-header-level
__ https://stackoverflow.com/questions/39547412/same-font-size-for-h1-and-h2-in-article
.. _embed_images: docs/user/config.htmlembed-images

* LaTeX writer:

- New configuration setting `legacy_class_functions`_.

- The special value "auto" for the `graphicx_option`_ setting
 is no longer supported (it never worked for xetex/luatex).

- `Styling commands`__ using the legacy ``\docutilsrole`` prefix are
 now ignored. Use ``\DUrole``.

 __ docs/user/latex.htmlclasses

- Most helper commands and element definitions are now defined in the
 LaTeX package `docutils.sty`_ and only inserted in the document
 preamble if the stylesheet__ setting does not lists "docutils".

 __ docs/user/config.htmlstylesheet-latex-writers

- Remove legacy LaTeX stylesheet ``docutils-05-compat.sty``.

.. _setuptools: https://pypi.org/project/setuptools/
.. _pip: https://pypi.org/project/pip/
.. _docutils-cli.py: docs/user/tools.htmldocutils-cli-py
.. _legacy_class_functions: docs/user/config.htmllegacy-class-functions
.. _graphicx_option: docs/user/config.htmlgraphicx-option
.. _docutils.sty: https://ctan.org/pkg/docutils

0.16

=========================

Docutils 0.16.x supports Python 2.7 and Python >= 3.5 natively,
without the use of the ``2to3`` tool.

* reStructuredText:

- Keep `backslash escapes`__ in the document tree. This allows, e.g.,
 escaping of author-separators in `bibliographic fields`__.

__ https://docutils.sourceforge.io/docs/ref/rst/restructuredtext.html#escaping-mechanism
__ docs/ref/rst/restructuredtext.htmlbibliographic-fields

* LaTeX writer:

- Informal titles of type "rubric" default to bold-italic and left aligned.
- Deprecate ``\docutilsrole`` prefix for styling commands:
 use ``\DUrole`` instead.
- Fix topic subtitle.
- Add "latex writers" to the `config_section_dependencies`.
- Ignore classes for `rubric` elements
 (class wrapper interferes with LaTeX formatting).

* tools/buildhtml.py

- New option ``--html-writer`` allows to select "html" (default),
 "html4" or "html5" (deprecated in favour of the `"writer" setting`_
 in Docutils 0.18).

* docutils/io.py

- Remove the `handle_io_errors` argument from io.FileInput/Output.

* docutils/nodes.py

- If `auto_id_prefix`_ ends with "%", this is replaced with the tag name.

* Various bugfixes and improvements (see HISTORY_).

.. _"writer" setting: docs/user/config.htmlwriter-buildhtml-application
.. _auto_id_prefix: docs/user/config.htmlauto-id-prefix
Links

Update Pygments from 2.4.2 to 2.18.0.

The bot wasn't able to find a changelog for this release. Got an idea?

Links

Update codecov from 2.0.15 to 2.1.13.

Changelog

2.1.12

Fixes
- 322 Add Cirrus CI

Dependencies and Misc
- 311 Bump coverage from 5.3 to 5.3.1
- 312 Bump coverage from 5.3.1 to 5.4
- 314 Bump coverage from 5.4 to 5.5
- 320 Upgrade to GitHub-native Dependabot

2.1.11

Fixes
- 305 Added option to disable printing of gcov-out
- 308 Handle exceptions that don't have a returncode

Dependencies and Misc
- 301 Update to Python 3.9

2.1.10

Fixes
- [148](https://github.com/codecov/codecov-python/pull/148) Output elapsed time with S3 upload
- [153](https://github.com/codecov/codecov-python/pull/153) Improve error reporting in the "try_run" function and correctly include original command output in the error message
- [295](https://github.com/codecov/codecov-python/pull/295) Added sleep between upload retries.
- [297](https://github.com/codecov/codecov-python/pull/297) Ignore emacs lisp files
- [298](https://github.com/codecov/codecov-python/pull/298) Fix error try_to_run using | without shell=True (fix #284)

Dependencies and Misc
- [290](https://github.com/codecov/codecov-python/pull/290) Bump coverage from 4.5.4 to 5.2.1
- [291](https://github.com/codecov/codecov-python/pull/291) Update python versions
- [292](https://github.com/codecov/codecov-python/pull/292) Add license scan report and status
- [294](https://github.com/codecov/codecov-python/pull/294) Update README with accurate links
- [296](https://github.com/codecov/codecov-python/pull/296) Bump coverage from 5.2.1 to 5.3

2.1.9

- [289](https://github.com/codecov/codecov-python/pull/289)Remove token restriction as it is changed server-side

2.1.8

- [285](https://github.com/codecov/codecov-python/pull/285)Add support for CODECOV_FLAGS
- [276](https://github.com/codecov/codecov-python/pull/276)Add ability to specify number of upload retries

2.1.7

- [279](https://github.com/codecov/codecov-python/pull/279) Fix pinned coverage version

2.1.6

- [275](https://github.com/codecov/codecov-python/pull/275) Fix GitHub Actions implementation

2.1.5

- [273](https://github.com/codecov/codecov-python/pull/273) Implement retries on Codecov API calls
- [265](https://github.com/codecov/codecov-python/pull/265) Add GitHub Actions CI detection
- [267](https://github.com/codecov/codecov-python/pull/267) Add CODECOV_NAME as default for name

2.1.4

- [260](https://github.com/codecov/codecov-python/pull/260) Enforce black formatting
- [169](https://github.com/codecov/codecov-python/pull/169) Fix command line quoting on Windows
- [216](https://github.com/codecov/codecov-python/pull/216) Fix GitLab CI project directory detection on Windows
- [264](https://github.com/codecov/codecov-python/pull/264) Fix GitLab CI post version 9
- [262](https://github.com/codecov/codecov-python/pull/262) Check text for NoneType on writes
- [266](https://github.com/codecov/codecov-python/pull/266) Include the cacert in the PUT call when uploading to S3
- [263](https://github.com/codecov/codecov-python/pull/263) Fixed gcov not being found in certain instances

2.1.3

- Fix find command not working on Windows
- Add support for gzipping reports
- Dynamic syncing of version

2.1.1

- Fix command when neither hg or git are not available

2.1.0

- Remove x-amz-acl header
- Reformat with Black

2.0.22

- Cleaning TOC generation

2.0.21

- fixed string issues

2.0.20

- fixed broken subprocess handling

2.0.19

- fixed broken subprocess handling

2.0.18

- fixed broken subprocess handling

2.0.17

- fixed reported command injection vulnerability.

2.0.16

- fixed reported command injection vulnerability.
Links

Update green from 3.0.0 to 4.0.2.

Changelog

4.0.2

18 Apr 2024

* Fix regression of test_time being always 0.0 by eltoder in https://github.com/CleanCut/green/pull/292
* Fix regression of zero coverage in internal CI by eltoder in https://github.com/CleanCut/green/pull/293

New Contributors
* eltoder made their first contribution in https://github.com/CleanCut/green/pull/292

4.0.1

15 Feb 2024

Note that we are explicitly flagging Python 3.12.1 as incompatible due to a regression
that was fixed in 3.12.2.
If you are on 3.12.1, then `pip` will try to install green 4.0.0, but it will
likely crash if you have skipped tests, so you will either need to upgrade to
python 3.12.2, or newer, or rollback to python 3.12.0.

- Cleaned-up existing code to more modern python 3 style, including
comprehensive type annotation.
- Simplify green's dev testing setup.
- Explicitly flag 3.12.1 as incompatible due to https://github.com/python/cpython/issues/113267. 
Tracked in 277.
- Publish new releases to PyPI using GitHub Actions.

4.0.0

16 Jan 2024

The biggest change in this release is the addition of support for new Python versions up through 3.12, and the dropping of support for Python < 3.8, including Python 2 entirely.

There is a breaking in change in Python 3.12.1 which causes Green to break on skipped tests.
The workaround is to use Python 3.12.0 or to comment out unittests that use `unittest.skipIf(...)` annotation.
We will release a fix for this in the next version of Green.

- Fix an error and warnings that occur with Python 3.12. Contributed by [`sodul`](https://github.com/sodul) in [#272], [274], and [275]
- Add setup.cfg and pyproject.toml to support the setup.py deprecation in pip 23
- Lift minimum supported Python version from 3.5 to 3.8
- CI Improvements:
- Add 3.12 to the CI Action
- Add button to run CI checks manually
- Add 15 minutes timeout to CI checks
- Update CI to pip install green in developer mode
- Add `mypy` linting & fix lint warnings
- Use `pyupgrade` to modernize code
- Use `black` to autoformat code
- Add `pyproject.toml`
- Move `setup.py` logic into `setup.cfg`
- README cleanup
- Fixes for newer versions of coverage
- New maintainer: sodul.


[272]: https://github.com/CleanCut/green/issues/272
[274]: https://github.com/CleanCut/green/pull/274
[275]: https://github.com/CleanCut/green/pull/275

3.5.0

12 Jan 2024

This is the final version to support Python 3.6 and 3.7.

- Drop Python 2 support.
- Add Python 3.11 to the CI Action.
- Add setup.cfg and pyproject.toml to support the setup.py deprecation in pip 23.
- Minimum Python version supported is now 3.6.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants