changes.rst
1 Change log 2 ========== 3 4 Stable versions 5 ~~~~~~~~~~~~~~~ 6 7 Version 2.0.2 8 ----------------------------------- 9 10 Breaking Changes 11 ^^^^^^^^^^^^^^^^ 12 13 A Netrc file (e.g. ``~/.netrc``) does not override PyGithub authentication, any more. 14 If you require authentication through Netrc, then this is a breaking change. 15 Use a ``github.Auth.Netrc`` instance to use Netrc credentials: 16 17 .. code-block:: python 18 19 >>> auth = Auth.Netrc() 20 >>> g = Github(auth=auth) 21 >>> g.get_user().login 22 'login' 23 24 Version 2.0.0 (July 04, 2023) 25 ----------------------------------- 26 27 Important 28 ^^^^^^^^^ 29 30 **Request throttling** 31 32 This release introduces a default throttling mechanism to mitigate secondary rate limit errors and comply with Github's best practices: 33 https://docs.github.com/en/rest/guides/best-practices-for-integrators?apiVersion=2022-11-28#dealing-with-secondary-rate-limits 34 35 The default throttling of 1 second between writes and 0.25 second between any requests can be configured 36 for ``github.Github`` and ``github.GithubIntegration``: 37 38 .. code-block:: python 39 40 g = github.Github(seconds_between_requests=0.25, seconds_between_writes=1) 41 42 Set these parameters to ``None`` to disable throttling and restore earlier behavior. 43 44 **Request retry** 45 46 This release introduces a default retry mechanism to retry retry-able 403 responses (primary and secondary rate limit errors only) and any 5xx response. 47 48 Class ``github.GithubRetry`` implements this behavior, and can be configured via the ``retry`` argument of ``github.Github`` and ``github.GithubIntegration``. 49 Retry behavior is configured similar to ``urllib3.Retry``: https://urllib3.readthedocs.io/en/stable/reference/urllib3.util.html 50 51 .. code-block:: python 52 53 g = github.Github(retry=github.GithubRetry()) 54 55 Set this parameter to ``None`` to disable retry mechanism and restore earlier behaviour. 56 57 Breaking Changes 58 ^^^^^^^^^^^^^^^^ 59 60 Any timestamps returned by this library are ``datetime`` with timezone information, usually UTC. 61 Before this release, timestamps used to be naive ``datetime`` instances without timezone. 62 Comparing (other than ``==``) these timestamps with naive ``datetime`` instances used to work but will now break. 63 Add a timezone information to your ``datetime`` instances before comparison: 64 65 .. code-block:: python 66 67 if g.get_repo("PyGithub/PyGithub").created_at < datetime(2012, 2, 26, tzinfo=timezone.utc): 68 ... 69 70 New features 71 ^^^^^^^^^^^^ 72 73 * Throttle requests to mitigate RateLimitExceededExceptions (#2145) (99155806) 74 * Retry retryable 403 (rate limit) (#2387) (0bb72ca0) 75 76 Improvements 77 ^^^^^^^^^^^^ 78 79 * Make datetime objects timezone-aware (#2565) (0177f7c5) 80 81 Bug Fixes 82 ^^^^^^^^^ 83 84 * Fix `Branch.bypass_pull_request_allowances` failing with "nil is not an object" (#2535) (c5542a6a) 85 86 Maintenance 87 ^^^^^^^^^^^ 88 89 * Move to main default branch (#2566) (e66c163a) 90 * Force Unix EOL (#2573) (094538e1) 91 * Merge `Artifact` type stub back to source (#2553) 92 93 Version 1.59.0 (June 22, 2023) 94 ----------------------------------- 95 96 Important 97 ^^^^^^^^^ 98 99 This release introduces new way of authentication. All authentication-related arguments ``github.Github(login_or_token=…, password=…, jwt=…, app_auth=…)`` 100 and ``github.GithubIntegration(integration_id=…, private_key=…, jwt_expiry=…, jwt_issued_at=…, jwt_algorithm=…)`` are replaced by a single ``auth=…`` argument. 101 Module ``github.Auth`` provides classes for all supported ways of authentication: ``Login``, ``Token``, ``AppAuth``, ``AppAuthToken``, ``AppInstallationAuth``, ``AppUserAuth``. 102 Old arguments are deprecated but continue to work. They are scheduled for removal for version 2.0 release. 103 104 This project has decided to move all typing information from ``.pyi`` files into the respective ``.py`` source files. 105 This will happen gradually over time. 106 107 Breaking Changes 108 ^^^^^^^^^^^^^^^^ 109 110 * The ``position`` argument in ``github.PullRequest.create_review_comment(position=…)`` has been renamed to ``line``. 111 This breaks user code that calls ``create_review_comment`` with keyword argument ``position``. Call with ``line=…`` instead. 112 Calling this method with positional arguments is not breaking. 113 * The ``jwt_expiry``, ``jwt_issued_at`` and ``jwt_algorithm`` arguments in ``github.GithubIntegration()`` have changed their position. 114 User code calling ``github.GithubIntegration(…)`` with these arguments as positional arguments breaks. 115 Please use keyword arguments: ``github.GithubIntegration(…, jwt_expiry=…, jwt_issued_at=…, jwt_algorithm=…)``. 116 * The ``since`` argument in ``github.PullRequest.get_review_comments(…)`` has changed position.`` 117 User code calling ``github.PullRequest.get_review_comments(…)`` with this argument as positional argument breaks. 118 Please use keyword argument: ``github.PullRequest.get_review_comments(since=…)``. 119 120 Deprecation 121 ^^^^^^^^^^^ 122 123 * 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. 124 * The use of ``github.Github(password=…)`` is deprecated, use ``github.Github(auth=github.Auth.Login(…))`` instead. 125 * The use of ``github.Github(jwt=…)`` is deprecated, use ``github.Github(auth=github.AppAuth(…))`` or ``github.Github(auth=github.AppAuthToken(…))`` instead. 126 * The use of ``github.Github(app_auth=…)`` is deprecated, use ``github.Github(auth=github.Auth.AppInstallationAuth(…))`` instead. 127 * 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. 128 * 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. 129 * The use of ``AppAuthentication`` is deprecated, use ``github.Auth.AppInstallationAuth`` instead. 130 * The use of ``github.Github.get_app()`` without providing argument ``slug`` is deprecated, use ``github.GithubIntegration(auth=github.Auth.AppAuth(…)).get_app()``. 131 132 Bug Fixes 133 ^^^^^^^^^ 134 135 * Test and fix UTC issue with AppInstallationAuth (#2561) (ff3b80f8) 136 * Make Requester.__createException robust against missing message and body (#2159) (7be3f763) 137 * Fix auth issues with `Installation.get_repos` (#2547) (64075120) 138 * Fix broken urls in docstrings (#2393) (f82ad61c) 139 * Raise error on unsupported redirects, log supported redirects (#2524) (17cd0b79) 140 * Fix GithubIntegration that uses expiring jwt (#2460) (5011548c) 141 * Add expiration argument back to GithubIntegration.create_jwt (#2439) (822fc05c) 142 * Add crypto extras to pyjwt, which pulls in cryptogaphy package (#2443) (554b2b28) 143 * Remove RLock from Requester (#2446) (45f3d723) 144 * Move CI to Python 3.11 release and 3.12 dev (#2434) (e414c322) 145 * Pass Requester base URL to integration (#2420) (bdceae2f) 146 147 Improvements 148 ^^^^^^^^^^^^ 149 150 * Add Webhook Deliveries (#2508) (517ad336) 151 * Add support for workflow jobs and steps (#1951) (804c3107) 152 * Add support for get_app() with App authentication (#2549) (6d4b6d14) 153 * Allow multiline comments in PullRequest (#2540) (6a21761e) 154 * Implement `AppUserAuth` for Github App user tokens (#2546) (f291a368) 155 * Add support for environments (#2223) (0384e2fd) 156 * Add support for new RepositoryAdvisories API :tada: (#2483) (daf62bd4) 157 * Make `MainClass.get_app` return completed `GithubApp` when slug is given (#2543) (84912a67) 158 * Add authentication classes, move auth logic there (#2528) (fc2d0e15) 159 * Add sort order and direction for getting comments (#2544) (a8e7c423) 160 * Add `name` filter to `Repository.get_artifacts()` (#2459) (9f52e948) 161 * Add `name`, `display_title` and `path` attributes to `WorkflowRun` (#2397) (10816389) 162 * Add new `create_fork` arguments (#2493) (b94a83cb) 163 * add `ref` to Deployment (#2489) (e8075c41) 164 * Add query `check_suite_id` integer to `Workflow.get_runs` (#2466) (a4854519) 165 * Add `generate_release_notes` parameter to `create_git_release` and `create_git_tag_and_release` (#2417) (49b3ae16) 166 * Add example for Pull Request comments to documentation (#2390) (c2f12bdc) 167 * Add allow_auto_merge support to Repository (#2477) (8c4b9465) 168 * Add `artifact_id` argument to `Repository.get_artifact()` (#2458) (4fa0a5f3) 169 * Add missing attributes to Branch (#2512) (e296dbdb) 170 * Add allow_update_branch option to Organization (#2465) (bab4180f) 171 * Add support for Issue.state_reason #2370 (#2392) (5aa544a1) 172 * Add parameters to Repository.get_workflow_runs (#2408) (4198dbfb) 173 174 Maintenance 175 ^^^^^^^^^^^ 176 177 * Add type stub for MainClass.get_project_column (#2502) (d514222c) 178 * Sync GithubIntegration __init__ arguments with github.Github (#2556) (ea45237d) 179 * Update MAINTAINERS (#2545) (f4e9dcb3) 180 * Link to stable docs, update introduction in package used by pypi, move auth arg front (#2557) (006766f9) 181 * Merge PaginatedList.pyi back to source (#2555) (cb50dec5) 182 * Merge GithubObject.pyi/Requester.pyi stubs back to source (#2463) (b6258f4b) 183 * [CI] Moving linting into separate workflow (#2522) (52fc1077) 184 * Merging 1.58.x patch release notes into master (#2525) (217d4241) 185 * Merge AppAuthentication.pyi to source (#2519) (8e8cfb30) 186 * Merge GithubException.pyi stubs back to source (#2464) (03a2f696) 187 * Add missing fields from `GithubCredentials.py` to CONTRIBUTING.md (#2482) (297317ba) 188 * Update docstring and typing for allow_forking and allow_update_branch (Repository) (#2529) (600217f0) 189 * Bump actions/checkout from 2 to 3.1.0 (#2327) (300c5015) 190 * RTD: install current project (def5223c) 191 * Add current dir sys.path as well (9c96faa7) 192 * Use use_scm_version to get current version from git tag (#2429) (3ea91a3a) 193 194 Version 1.58.2 (May 09, 2023) 195 ----------------------------------- 196 197 Bug Fixes 198 ^^^^^^^^^ 199 200 * Fix GithubIntegration that uses expiring jwt (#2460) (5011548c) 201 202 Version 1.58.1 (March 18, 2023) 203 ----------------------------------- 204 205 Bug Fixes 206 ^^^^^^^^^ 207 208 * Add expiration argument back to GithubIntegration.create_jwt (#2439) (822fc05c) 209 * Add crypto extras to pyjwt, which pulls in cryptogaphy package (#2443) (554b2b28) 210 * Remove RLock from Requester (#2446) (45f3d723) 211 * Move CI to Python 3.11 release and 3.12 dev (#2434) (e414c322) 212 * pass requester base URL to integration (#2420) (bdceae2f) 213 * RTD: install current project (def5223c) 214 * Add current dir sys.path as well (9c96faa7) 215 * Use use_scm_version to get current version from git tag (#2429) (3ea91a3a) 216 217 Version 1.58.0 (February 19, 2023) 218 ----------------------------------- 219 220 Bug Fixes & Improvements 221 ^^^^^^^^^^^^^^^^^^^^^^^^ 222 223 * Add unarchiving support @Tsuesun (#2391) 224 * Support full GitHub app authentication @dblanchette (#1986) 225 * Continue the PR #1899 @Felixoid (#2386) 226 * feat: add allow\_forking to Repository @IbrahimAH (#2380) 227 * Add code scanning alerts @eric-nieuwland (#2227) 228 229 Version 1.57 (November 05, 2022) 230 ----------------------------------- 231 232 Breaking Changes 233 ^^^^^^^^^^^^^^^^ 234 235 * Add support for Python 3.11, drop support for Python 3.6 (#2332) (1e2f10dc) 236 237 Bug Fixes & Improvements 238 ^^^^^^^^^^^^^^^^^^^^^^^^ 239 240 * Speed up get requested reviewers and teams for pr (#2349) (6725eceb) 241 * [WorkflowRun] - Add missing attributes (`run_started_at` & `run_attempt`), remove deprecated `unicode` type (#2273) (3a6235b5) 242 * Add support for repository autolink references (#2016) (0fadd6be) 243 * Add retry and pool_size to typing (#2151) (784a3efd) 244 * Fix/types for repo topic team (#2341) (db9337a4) 245 * Add class Artifact (#2313) (#2319) (437ff845) 246 247 Version 1.56 (October 13, 2022) 248 ----------------------------------- 249 250 Important 251 ^^^^^^^^^ 252 253 This is the last release that will support Python 3.6. 254 255 Bug Fixes & Improvements 256 ^^^^^^^^^^^^^^^^^^^^^^^^ 257 258 * Create repo from template (#2090) (b50283a7) 259 * Improve signature of Repository.create_repo (#2118) (001970d4) 260 * Add support for 'visibility' attribute preview for Repositories (#1872) (8d1397af) 261 * Add Repository.rename_branch method (#2089) (6452ddfe) 262 * Add function to delete pending reviews on a pull request (#1897) (c8a945bb) 263 * Cover all code paths in search_commits (#2087) (f1faf941) 264 * Correctly deal when PaginatedList's data is a dict (#2084) (93b92cd2) 265 * Add two_factor_authentication in AuthenticatedUser. (#1972) (4f00cbf2) 266 * Add ProjectCard.edit() to the type stub (#2080) (d417e4c4) 267 * Add method to delete Workflow runs (#2078) (b1c8eec5) 268 * Implement organization.cancel_invitation() (#2072) (53fb4988) 269 * Feat: Add `html_url` property in Team Class. (#1983) (6570892a) 270 * Add support for Python 3.10 (#2073) (aa694f8e) 271 * Add github actions secrets to org (#2006) (bc5e5950) 272 * Correct replay for Organization.create_project() test (#2075) (fcc12368) 273 * Fix install command example (#2043) (99e00a28) 274 * Fix: #1671 Convert Python Bool to API Parameter for Authenticated User Notifications (#2001) (1da600a3) 275 * Do not transform requestHeaders when logging (#1965) (1265747e) 276 * Add type to OrderedDict (#1954) (ed7d0fe9) 277 * Add Commit.get_pulls() to pyi (#1958) (b4664705) 278 * Adding headers in GithubException is a breaking change (#1931) (d1644e33) 279 280 Version 1.55 (April 26, 2021) 281 ----------------------------------- 282 283 Breaking Changes 284 ^^^^^^^^^^^^^^^^ 285 286 * Remove client_id/client_secret authentication (#1888) (901af8c8) 287 * Adjust to Github API changes regarding emails (#1890) (2c77cfad) 288 - This impacts what AuthenticatedUser.get_emails() returns 289 * PublicKey.key_id could be int on Github Enterprise (#1894) (ad124ef4) 290 * Export headers in GithubException (#1887) (ddd437a7) 291 292 Bug Fixes & Improvements 293 ^^^^^^^^^^^^^^^^^^^^^^^^ 294 295 * Do not import from unpackaged paths in typing (#1926) (27ba7838) 296 * Implement hash for CompletableGithubObject (#1922) (4faff23c) 297 * Use property decorator to improve typing compatibility (#1925) (e4168109) 298 * Fix :rtype: directive (#1927) (54b6a97b) 299 * Update most URLs to docs.github.com (#1896) (babcbcd0) 300 * Tighten asserts for new Permission tests (#1893) (5aab6f5d) 301 * Adding attributes "maintain" and "triage" to class "Permissions" (#1810) (76879613) 302 * Add default arguments to Workflow method type annotations (#1857) (7d6bac9e) 303 * Re-raise the exception when failing to parse JSON (#1892) (916da53b) 304 * Allow adding attributes at the end of the list (#1807) (0245b758) 305 * Updating links to Github documentation for deploy keys (#1850) (c27fb919) 306 * Update PyJWT Version to 2.0+ (#1891) (a68577b7) 307 * Use right variable in both get_check_runs() (#1889) (3003e065) 308 * fix bad assertions in github.Project.edit (#1817) (6bae9e5c) 309 * Test repr() for PublicKey (#1879) (e0acd8f4) 310 * Add support for deleting repository secrets (#1868) (696793de) 311 * Switch repository secrets to using f-strings (#1867) (aa240304) 312 * Manually fixing paths for codecov.io to cover all project files (#1813) (b2232c89) 313 * Add missing links to project metadata (#1789) (64f532ae) 314 * No longer show username and password examples (#1866) (55d98373) 315 * Adding github actions secrets (#1681) (c90c050e) 316 * fix get_user_issues (#1842) (7db1b0c9) 317 * Switch all string addition to using f-strings (#1774) (290b6272) 318 * Enabling connection pool_size definition (a77d4f48) 319 * Always define the session adapter (aaec0a0f) 320 321 Version 1.54.1 (December 24, 2020) 322 ----------------------------------- 323 324 * Pin pyjwt version (#1797) (31a1c007) 325 * Add pyupgrade to pre-commit configuration (#1783) (e113e37d) 326 * Fix #1731: Incorrect annotation (82c349ce) 327 * Drop support for Python 3.5 (#1770) (63e4fae9) 328 * Revert "Pin requests to <2.25 as well (#1757)" (#1763) (a806b523) 329 * Fix stubs file for Repository (fab682a5) 330 331 Version 1.54 (November 30, 2020) 332 ----------------------------------- 333 334 Important 335 ^^^^^^^^^ 336 337 This is the last release that will support Python 3.5. 338 339 Breaking Changes 340 ^^^^^^^^^^^^^^^^ 341 342 The Github.get_installation(integer) method has been removed. 343 Repository.create_deployment()'s payload parameter is now a dictionary. 344 345 Bug Fixes & Improvements 346 ^^^^^^^^^^^^^^^^^^^^^^^^ 347 348 * Add support for Check Suites (#1764) (6d501b28) 349 * Add missing preview features of Deployment and Deployment Statuses API (#1674) (197e0653) 350 * Correct typing for Commit.get_comments() (#1765) (fcdd9eae) 351 * Pin requests to <2.25 as well (#1757) (d159425f) 352 * Add Support for Check Runs (#1727) (c77c0676) 353 * Added a method for getting a user by their id (#1691) (4cfc9912) 354 * Fix #1742 - incorrect typehint for `Installation.id` (#1743) (546f6495) 355 * Add WorkflowRun.workflow_id (#1737) (78a29a7c) 356 * Add support for Python 3.9 (#1735) (1bb18ab5) 357 * Added support for the Self-Hosted actions runners API (#1684) (24251f4b) 358 * Fix Branch protection status in the examples (#1729) (88800844) 359 * Filter the DeprecationWarning in Team tests (#1728) (23f47539) 360 * Added get_installations() to Organizations (#1695) (b42fb244) 361 * Fix #1507: Add new Teams: Add or update team repository endpoint (#1509) (1c55be51) 362 * Added support for `Repository.get_workflow_runs` parameters (#1682) (c23564dd) 363 * feat(pullrequest): add the rebaseable attribute (#1690) (ee4c7a7e) 364 * Add support for deleting reactions (#1708) (f7d203c0) 365 * Correct type hint for InputGitTreeElement.sha (08b72b48) 366 * Ignore new black formatting commit for git blame (#1680) (7ec4f155) 367 * Format with new black (#1679) (07e29fe0) 368 * Add get_timeline() to Issue's type stubs (#1663) (6bc9ecc8) 369 370 Version 1.53 (August 18, 2020) 371 ----------------------------------- 372 373 * Test Organization.get_hook() (#1660) (2646a98c) 374 * Add method get_team_membership for user to Team (#1658) (749e8d35) 375 * Add typing files for OAuth classes (#1656) (429fcc73) 376 * Fix Repository.create_repository_dispatch type signature (#1643) (f891bd61) 377 * PaginatedList's totalCount is 0 if no last page (#1641) (69b37b4a) 378 * Add initial support for Github Apps. (#1631) (260558c1) 379 * Correct ``**kwargs`` typing for ``search_*`` (#1636) (165d995d) 380 * Add delete_branch_on_merge arg to Repository.edit type stub (#1639) (15b5ae0c) 381 * Fix type stub for MainClass.get_user (#1637) (8912be64) 382 * Add type stub for Repository.create_fork (#1638) (de386dfb) 383 * Correct Repository.create_pull typing harder (#1635) (5ad091d0) 384 385 Version 1.52 (August 03, 2020) 386 ----------------------------------- 387 388 * upload_asset with data in memory (#1601) (a7786393) 389 * Make Issue.closed_by nullable (#1629) (06dae387) 390 * Add support for workflow dispatch event (#1625) (16850ef1) 391 * Do not check reaction_type before sending (#1592) (136a3e80) 392 * Various Github Action improvement (#1610) (416f2d0f) 393 * more flexible header splitting (#1616) (85e71361) 394 * Create Dependabot config file (#1607) (e272f117) 395 * Add support for deployment statuses (#1588) (048c8a1d) 396 * Adds the 'twitter_username' attribute to NamedUser. (#1585) (079f75a7) 397 * Create WorkflowRun.timing namedtuple from the dict (#1587) (1879518e) 398 * Add missing properties to PullRequest.pyi (#1577) (c84fad81) 399 * Add support for Workflow Runs (#1583) (4fb1d23f) 400 * More precise typing for Repository.create_pull (#1581) (4ed7aaf8) 401 * Update sphinx-rtd-theme requirement from <0.5 to <0.6 (#1563) (f9e4feeb) 402 * More precise typing for MainClass.get_user() (#1575) (3668f866) 403 * Small documentation correction in Repository.py (#1565) (f0f6ec83) 404 * Remove "api_preview" parameter from type stubs and docstrings 405 (#1559) (cc1b884c) 406 * Upgrade actions/setup-python to v2 (#1555) (6f1640d2) 407 * Clean up tests for GitReleaseAsset (#1546) (925764ad) 408 * Repository.update_file() content also accepts bytes (#1543) (9fb8588b) 409 * Fix Repository.get_issues stub (#1540) (b40b75f8) 410 * Check all arguments of NamedUser.get_repos() (#1532) (69bfc325) 411 * Correct Workflow typing (#1533) (f41c046f) 412 * Remove RateLimit.rate (#1529) (7abf6004) 413 * PullRequestReview is not a completable object (#1528) (19fc43ab) 414 * Test more attributes (#1526) (52ec366b) 415 * Remove pointless setters in GitReleaseAsset (#1527) (1dd1cf9c) 416 * Drop some unimplemented methods in GitRef (#1525) (d4b61311) 417 * Remove unneeded duplicate string checks in Branch (#1524) (61b61092) 418 * Turn on coverage reporting for codecov (#1522) (e79b9013) 419 * Drastically increase coverage by checking repr() (#1521) (291c4630) 420 * Fixed formatting of docstrings for `Repository.create_git_tag_and_release()` 421 and `StatsPunchCard`. (#1520) (ce400bc7) 422 * Remove Repository.topics (#1505) (53d58d2b) 423 * Small improvements to typing (#1517) (7b20b13d) 424 * Correct Repository.get_workflows() (#1518) (8727003f) 425 * docs(repository): correct releases link (#1514) (f7cc534d) 426 * correct Repository.stargazers_count return type to int (#1513) (b5737d41) 427 * Fix two RST warnings in Webhook.rst (#1512) (5a8bc203) 428 * Filter FutureWarning for 2 test cases (#1510) (09a1d9e4) 429 * Raise a FutureWarning on use of client_{id,secret} (#1506) (2475fa66) 430 * Improve type signature for create_from_raw_data (#1503) (c7b5eff0) 431 * feat(column): move, edit and delete project columns (#1497) (a32a8965) 432 * Add support for Workflows (#1496) (a1ed7c0e) 433 * Add create_repository_dispatch to typing files (#1502) (ba9d59c2) 434 * Add OAuth support for GitHub applications (4b437110) 435 * Create AccessToken entity (4a6468aa) 436 * Extend installation attributes (61808da1) 437 438 Version 1.51 (May 03, 2020) 439 ----------------------------------- 440 441 * Type stubs are now packaged with the build (#1489) (6eba4506) 442 * Travis CI is now dropped in favor of Github workflow (#1488) (d6e77ba1) 443 * Get the project column by id (#1466) (63855409) 444 445 Version 1.50 (April 26, 2020) 446 ----------------------------------- 447 448 New features 449 ^^^^^^^^^^^^ 450 451 * PyGithub now supports type checking thanks to (#1231) (91433fe9) 452 * Slack is now the main channel of communication rather than Gitter (6a6e7c26) 453 * Ability to retrieve public events (#1481) (5cf9950b) 454 * Add and handle the maintainer_can_modify attribute in PullRequest (#1465) (e0997b43) 455 * List matching references (#1471) (d3bc6a5c) 456 * Add create_repository_dispatch (#1449) (edcbdfda) 457 * Add some Organization and Repository attributes. (#1468) (3ab97d61) 458 * Add create project method (801ea385) 459 460 Bug Fixes & Improvements 461 ^^^^^^^^^^^^^^^^^^^^^^^^ 462 463 * Drop use of shadow-cat for draft PRs (#1469) (84bb69ab) 464 * AuthenticatedUser.get_organization_membership() should be str (#1473) (38b34db5) 465 * Drop documentation for len() of PaginatedList (#1470) (70462598) 466 * Fix param name of projectcard's move function (#1451) (bafc4efc) 467 * Correct typos found with codespell (#1467) (83bef0f7) 468 * Export IncompletableObject in the github namespace (#1450) (0ebdbb26) 469 * Add GitHub Action workflow for checks (#1464) (f1401c15) 470 * Drop unneeded ignore rule for flake8 (#1454) (b4ca9177) 471 * Use pytest to parametrize tests (#1438) (d2e9bd69) 472 473 Version 1.47 (March 15, 2020) 474 ----------------------------------- 475 476 Bug Fixes & Improvements 477 ^^^^^^^^^^^^^^^^^^^^^^^^ 478 479 * Add support to edit and delete a project (#1434) (f11f7395) 480 * Add method for fetching pull requests associated with a commit (#1433) (0c55381b) 481 * Add "get_repo_permission" to Team class (#1416) (219bde53) 482 * Add list projects support, update tests (#1431) (e44d11d5) 483 * Don't transform completely in PullRequest.*assignees (#1428) (b1c35499) 484 * Add create_project support, add tests (#1429) (bf62f752) 485 * Add draft attribute, update test (bd285248) 486 * Docstring for Repository.create_git_tag_and_release (#1425) (bfeacded) 487 * Create a tox docs environment (#1426) (b30c09aa) 488 * Add Deployments API (#1424) (3d93ee1c) 489 * Add support for editing project cards (#1418) (425280ce) 490 * Add draft flag parameter, update tests (bd0211eb) 491 * Switch to using pytest (#1423) (c822dd1c) 492 * Fix GitMembership with a hammer (#1420) (f2939eb7) 493 * Add support to reply to a Pull request comment (#1374) (1c82573d) 494 * PullRequest.update_branch(): allow expected_head_sha to be empty (#1412) (806130e9) 495 * Implement ProjectCard.delete() (#1417) (aeb27b78) 496 * Add pre-commit plugin for black/isort/flake8 (#1398) (08b1c474) 497 * Add tox (#1388) (125536fe) 498 * Open file in text mode in scripts/add_attribute.py (#1396) (0396a493) 499 * Silence most ResourceWarnings (#1393) (dd31a706) 500 * Assert more attributes in Membership (#1391) (d6dee016) 501 * Assert on changed Repository attributes (#1390) (6e3ceb19) 502 * Add reset to the repr for Rate (#1389) (0829af81) 503 504 Version 1.46 (February 11, 2020) 505 ----------------------------------- 506 Important 507 ^^^^^^^^^ 508 509 Python 2 support has been removed. If you still require Python 2, use 1.45. 510 511 Bug Fixes & Improvements 512 ^^^^^^^^^^^^^^^^^^^^^^^^ 513 514 * Add repo edit support for delete_branch_on_merge (#1381) (9564cd4d) 515 * Fix mistake in Repository.create_fork() (#1383) (ad040baf) 516 * Correct two attributes in Invitation (#1382) (882fe087) 517 * Search repo issues by string label (#1379) (4ae1a1e5) 518 * Correct Repository.create_git_tag_and_release() (#1362) (ead565ad) 519 * exposed seats and filled_seats for Github Organization Plan (#1360) (06a300ae) 520 * Repository.create_project() body is optional (#1359) (0e09983d) 521 * Implement move action for ProjectCard (#1356) (b11add41) 522 * Tidy up ProjectCard.get_content() (#1355) (dd80a6c0) 523 * Added nested teams and parent (#1348) (eacabb2f) 524 * Correct parameter for Label.edit (#1350) (16e5f989) 525 * doc: example of Pull Request creation (#1344) (d5ad09ae) 526 * Fix PyPI wheel deployment (#1330) (4561930b) 527 528 Version 1.45 (December 29, 2019) 529 ----------------------------------- 530 Important 531 ^^^^^^^^^ 532 533 * This is the last release of PyGithub that will support Python 2. 534 535 Breaking Changes 536 ^^^^^^^^^^^^^^^^ 537 538 * Branch.edit_{user,team}_push_restrictions() have been removed 539 * The new API is: 540 - Branch.add_{user,team}_push_restrictions() to add new members 541 - Branch.replace_{user,team}_push_restrictions() to replace all members 542 - Branch.remove_{user,team}_push_restrictions() to remove members 543 * The api_preview parameter to Github() has been removed. 544 545 Bug Fixes & Improvements 546 ^^^^^^^^^^^^^^^^^^^^^^^^ 547 548 * Allow sha=None for InputGitTreeElement (#1327) (60464f65) 549 * Support github timeline events. (#1302) (732fd26a) 550 * Update link to GitHub Enterprise in README (#1324) (e1537f79) 551 * Cleanup travis config (#1322) (8189a538) 552 * Add support for update branch (#1317) (baddb719) 553 * Refactor Logging tests (#1315) (b0ef1909) 554 * Fix rtd build (b797cac0) 555 * Add .git-blame-ignore-revs (573c674b) 556 * Apply black to whole codebase (#1303) (6ceb9e9a) 557 * Fix class used returning pull request comments (#1307) (f8e33620) 558 * Support for create_fork (#1306) (2ad51f35) 559 * Use Repository.get_contents() in tests (#1301) (e40768e0) 560 * Allow GithubObject.update() to be passed headers (#1300) (989b635e) 561 * Correct URL for assignees on PRs (#1296) (3170cafc) 562 * Use inclusive ordered comparison for 'parameterized' requirement (#1281) (fb19d2f2) 563 * Deprecate Repository.get_dir_contents() (#1285) (21e89ff1) 564 * Apply some polish to manage.sh (#1284) (3a723252) 565 566 Version 1.44.1 (November 07, 2019) 567 ----------------------------------- 568 569 * Add Python 3.8 to classifiers list (#1280) (fec6034a) 570 * Expand Topic class and add test coverage (#1252) (ac682742) 571 * Add support for team discussions (#1246) (#1249) (ec3c8d7b) 572 * Correct API for NamedUser.get_organization_membership (#1277) (077c80ba) 573 * Correct header check for 2FA required (#1274) (6ad592b1) 574 * Use replay framework for Issue142 test (#1271) (4d258d93) 575 * Sync httpretty version requirement with setup.py (#1265) (99d38468) 576 * Handle unicode strings when recording responses (#1253) (#1254) (faa1bbd6) 577 * Add assignee removal/addition support to PRs (#1241) (a163ba15) 578 * Check if the version is empty in manage.sh (#1268) (db294837) 579 * Encode content for {create,update}_file (#1267) (bc225f9d) 580 * Update changes.rst (#1263) (d7947d82) 581 582 Version 1.44 (October 19, 2019) 583 ----------------------------------- 584 585 New features 586 ^^^^^^^^^^^^ 587 588 * This version supports running under Python 3 directly, and the test suite 589 passes under both 2.7 and recent 3.x's. 590 591 Bug Fixes & Improvements 592 ^^^^^^^^^^^^^^^^^^^^^^^^ 593 594 * Stop ignoring unused imports and remove them (#1250) (a0765083) 595 * Bump httpretty to be a greater or equal to (#1262) (27092fb0) 596 * Add close all issues example (#1256) (13e2c7c7) 597 * Add six to install_requires (#1245) (a840a906) 598 * Implemented user organization membership. Added test case. (#1237) (e50420f7) 599 * Create DEPLOY.md (c9ed82b2) 600 * Support non-default URLs in GithubIntegration (#1229) (e33858a3) 601 * Cleanup try/except import in PaginatedList (#1228) (89c967bb) 602 * Add an IncompletableObject exception (#1227) (f91cbac2) 603 * Fix redundant int checks (#1226) (850da5af) 604 * Jump from notifications to related PRs/issues. (#1168) (020fbebc) 605 * Code review bodies are optional in some cases. (#1169) (b84d9b19) 606 * Update changes.rst (#1223) (2df7269a) 607 * Do not auto-close issues with high priority tag (ab27ba4d) 608 * Fix bug in repository create new file example PyGithub#1210 (#1211) (74cd6856) 609 * Remove more Python version specific code (#1193) (a0f01cf9) 610 * Drop use of assertEquals (#1194) (7bac694a) 611 * Fix PR review creation. (#1184) (e90cdab0) 612 * Add support to vulnerability alert and automated security fixes APIs (#1195) (8abd50e2) 613 * Delete Legacy submodule (#1192) (7ddb657d) 614 * Remove some uses of atLeastPython3 (#1191) (cca8e3a5) 615 * Run flake8 in Travis (#1163) (f93207b4) 616 * Fix directories for coverage in Travis (#1190) (657f87b5) 617 * Switch to using six (#1189) (dc2f2ad8) 618 * Update Repository.update_file() docstring (#1186) (f1ae7200) 619 * Correct return type of MainClass.get_organizations (#1179) (6e79d270) 620 * Add cryptography to test-requirements.txt (#1165) (9b1c1e09) 621 622 Version 1.43.8 (July 20, 2019) 623 ----------------------------------- 624 625 New features 626 ^^^^^^^^^^^^ 627 628 * Add two factor attributes on organizations (#1132) (a0731685) 629 * Add Repository methods for pending invitations (#1159) (57af1e05) 630 * Adds `get_issue_events` to `PullRequest` object (#1154) (acd515aa) 631 * Add invitee and inviter to Invitation (#1156) (0f2beaca) 632 * Adding support for pending team invitations (#993) (edab176b) 633 * Add support for custom base_url in GithubIntegration class (#1093) (6cd0d644) 634 * GithubIntegration: enable getting installation (#1135) (18187045) 635 * Add sorting capability to Organization.get_repos() (#1139) (ef6f009d) 636 * Add new Organization.get_team_by_slug method (#1144) (4349bca1) 637 * Add description field when creating a new team (#1125) (4a37860b) 638 * Handle a path of / in Repository.get_contents() (#1070) (102c8208) 639 * Add issue lock/unlock (#1107) (ec7bbcf5) 640 641 Bug Fixes & Improvements 642 ^^^^^^^^^^^^^^^^^^^^^^^^ 643 644 * Fix bug in recursive repository contents example (#1166) (8b6b4505) 645 * Allow name to be specified for upload_asset (#1151) (8d2a6b53) 646 * Fixes #1106 for GitHub Enterprise API (#1110) (54065792) 647 648 Deprecation 649 ^^^^^^^^^^^ 650 651 * Repository.get_file_contents() no longer works use Repository.get_contents() instead 652 653 Version 1.43.7 (April 16, 2019) 654 ----------------------------------- 655 656 * Exclude tests from PyPI distribution (#1031) (78d283b9) 657 * Add codecov badge (#1090) (4c0b54c0) 658 659 Version 1.43.6 (April 05, 2019) 660 ----------------------------------- 661 662 New features 663 ^^^^^^^^^^^^ 664 665 * Add support for Python 3.7 (#1028) (6faa00ac) 666 * Adding HTTP retry functionality via urllib3 (#1002) (5ae7af55) 667 * Add new dismiss() method on PullRequestReview (#1053) (8ef71b1b) 668 * Add since and before to `get_notifications` (#1074) (7ee6c417) 669 * Add url parameter to include anonymous contributors in `get_contributors` (#1075) (293846be) 670 * Provide option to extend expiration of jwt token (#1068) (86a9d8e9) 671 672 Bug Fixes & Improvements 673 ^^^^^^^^^^^^^^^^^^^^^^^^ 674 675 * Fix the default parameter for `PullRequest.create_review` (#1058) (118def30) 676 * Fix `get_access_token` (#1042) (6a89eb64) 677 * Fix `Organization.add_to_members` role passing (#1039) (480f91cf) 678 679 Deprecation 680 ^^^^^^^^^^^ 681 682 * Remove Status API (6efd6318) 683 684 Version 1.43.5 (January 29, 2019) 685 ----------------------------------- 686 687 * Add project column create card (#1003) (5f5c2764) 688 * Fix request got an unexpected keyword argument body (#1012) (ff789dcc) 689 * Add missing import to PullRequest (#1007) (b5122768) 690 691 Version 1.43.4 (December 21, 2018) 692 ----------------------------------- 693 694 New features 695 ^^^^^^^^^^^^ 696 697 * Add Migration API (#899) (b4d895ed) 698 * Add Traffic API (#977) (a433a2fe) 699 * New in Project API: create repository project, create project column (#995) (1c0fd97d) 700 701 Bug Fixes & Improvements 702 ^^^^^^^^^^^^^^^^^^^^^^^^ 703 704 * Change type of GitRelease.author to NamedUser (#969) (aca50a75) 705 * Use total_count from data in PaginatedList (#963) (ec177610) 706 707 Version 1.43.3 (October 31, 2018) 708 ----------------------------------- 709 710 New features 711 ^^^^^^^^^^^^ 712 713 * Add support for JWT authentication (#948) (8ccf9a94) 714 * Added support for required signatures on protected branches (#939) (8ee75a28) 715 * Ability to filter repository collaborators (#938) (5687226b) 716 * Mark notification as read (#932) (0a10d7cd) 717 * Add highlight search to ``search_code`` function (#925) (1fa25670) 718 * Adding ``suspended_at`` property to NamedUSer (#922) (c13b43ea) 719 * Add since parameter for Gists (#914) (e18b1078) 720 721 Bug Fixes & Improvements 722 ^^^^^^^^^^^^^^^^^^^^^^^^ 723 724 * Fix missing parameters when reversing ``PaginatedList`` (#946) (60a684c5) 725 * Fix unable to trigger ``RateLimitExceededException``. (#943) (972446d5) 726 * Fix inconsistent behavior of trailing slash usage in file path (#931) (ee9f098d) 727 * Fix handling of 301 redirects (#916) (6833245d) 728 * Fix missing attributes of ``get_repos`` for authenticated users (#915) (c411196f) 729 * Fix ``Repository.edit`` (#904) (7286eec0) 730 * Improve ``__repr__`` method of Milestone class (#921) (562908cb) 731 * Fix rate limit documentation change (#902) (974d1ec5) 732 * Fix comments not posted in create_review() (#909) (a18eeb3a) 733 734 Version 1.43.2 (September 12, 2018) 735 ----------------------------------- 736 737 * Restore ``RateLimit.rate`` attribute, raise deprecation warning instead (d92389be) 738 739 Version 1.43.1 (September 11, 2018) 740 ----------------------------------- 741 742 New feature: 743 744 * Add support for Projects (#854) (faca4ce1) 745 746 Version 1.43 (September 08, 2018) 747 ----------------------------------- 748 749 750 Bug Fixes 751 ^^^^^^^^^ 752 753 * ``Repository.get_archive_link`` will now NOT follow HTTP redirect and return the url instead (#858) (43d325a5) 754 * Fixed ``Gistfile.content`` (#486) (e1df09f7) 755 * Restored NamedUser.contributions attribute (#865) (b91dee8d) 756 757 New features 758 ^^^^^^^^^^^^ 759 760 * Add support for repository topics (#832) (c6802b51) 761 * Add support for required approving review count (#888) (ef16702) 762 * Add ``Organization.invite_user`` (880)(eb80564) 763 * Add support for search/graphql rate limit (fd8a036) 764 765 + Deprecated ``RateLimit.rate`` 766 + Add `RateLimit.core <https://pygithub.readthedocs.io/en/latest/github_objects/RateLimit.html#github.RateLimit.RateLimit.core>`__, `RateLimit.search <https://pygithub.readthedocs.io/en/latest/github_objects/RateLimit.html#github.RateLimit.RateLimit.search>`__ and `RateLimit.graphql <https://pygithub.readthedocs.io/en/latest/github_objects/RateLimit.html#github.RateLimit.RateLimit.graphql>`__ 767 * Add Support search by topics (#893) (3ce0418) 768 * Branch Protection API overhaul (#790) (171cc567) 769 770 + (**breaking**) Removed Repository.protect_branch 771 + Add `BranchProtection <https://pygithub.readthedocs.io/en/latest/github_objects/BranchProtection.html>`__ 772 + Add `RequiredPullRequestReviews <https://pygithub.readthedocs.io/en/latest/github_objects/RequiredPullRequestReviews.html>`__ 773 + Add `RequiredStatusChecks <https://pygithub.readthedocs.io/en/latest/github_objects/RequiredStatusChecks.html>`__ 774 + Add ``Branch.get_protection``, ``Branch.get_required_pull_request_reviews``, ``Branch.get_required_status_checks``, etc 775 776 Improvements 777 ^^^^^^^^^^^^ 778 779 * Add missing arguments to ``Repository.edit`` (#844) (29d23151) 780 * Add missing attributes to Repository (#842) (2b352fb3) 781 * Adding archival support for ``Repository.edit`` (#843) (1a90f5db) 782 * Add ``tag_name`` and ``target_commitish`` arguments to ``GitRelease.update_release`` (#834) (790f7dae) 783 * Allow editing of Team descriptions (#839) (c0021747) 784 * Add description to Organizations (#838) (1d918809) 785 * Add missing attributes for IssueEvent (#857) (7ac2a2a) 786 * Change ``MainClass.get_repo`` default laziness (#882) (6732517) 787 788 Deprecation 789 ^^^^^^^^^^^ 790 791 * Removed Repository.get_protected_branch (#871) (49db6f8) 792 793 794 Version 1.42 (August 19, 2018) 795 ----------------------------------- 796 797 * Fix travis upload issue 798 799 Bug Fixes 800 ^^^^^^^^^ 801 802 * ``Repository.get_archive_link`` will now NOT follow HTTP redirect and return the url instead (#858) (43d325a5) 803 * Fixed ``Gistfile.content`` (#486) (e1df09f7) 804 * Restored NamedUser.contributions attribute (#865) (b91dee8d) 805 806 New features 807 808 * Add support for repository topics (#832) (c6802b51) 809 * Branch Protection API overhaul (#790) (171cc567) 810 811 + (**breaking**) Removed Repository.protect_branch 812 + Add `BranchProtection <https://pygithub.readthedocs.io/en/latest/github_objects/BranchProtection.html>`__ 813 + Add `RequiredPullRequestReviews <https://pygithub.readthedocs.io/en/latest/github_objects/RequiredPullRequestReviews.html>`__ 814 + Add `RequiredStatusChecks <https://pygithub.readthedocs.io/en/latest/github_objects/RequiredStatusChecks.html>`__ 815 + Add ``Branch.get_protection``, ``Branch.get_required_pull_request_reviews``, ``Branch.get_required_status_checks``, etc 816 817 Improvements 818 819 * Add missing arguments to ``Repository.edit`` (#844) (29d23151) 820 * Add missing properties to Repository (#842) (2b352fb3) 821 * Adding archival support for ``Repository.edit`` (#843) (1a90f5db) 822 * Add ``tag_name`` and ``target_commitish`` arguments to ``GitRelease.update_release`` (#834) (790f7dae) 823 * Allow editing of Team descriptions (#839) (c0021747) 824 * Add description to Organizations (#838) (1d918809) 825 826 Version 1.41 (August 19, 2018) 827 ----------------------------------- 828 829 Bug Fixes 830 ^^^^^^^^^ 831 832 * ``Repository.get_archive_link`` will now NOT follow HTTP redirect and return the url instead (#858) (43d325a5) 833 * Fixed ``Gistfile.content`` (#486) (e1df09f7) 834 * Restored NamedUser.contributions attribute (#865) (b91dee8d) 835 836 New features 837 838 * Add support for repository topics (#832) (c6802b51) 839 * Branch Protection API overhaul (#790) (171cc567) 840 841 + (**breaking**) Removed Repository.protect_branch 842 + Add `BranchProtection <https://pygithub.readthedocs.io/en/latest/github_objects/BranchProtection.html>`__ 843 + Add `RequiredPullRequestReviews <https://pygithub.readthedocs.io/en/latest/github_objects/RequiredPullRequestReviews.html>`__ 844 + Add `RequiredStatusChecks <https://pygithub.readthedocs.io/en/latest/github_objects/RequiredStatusChecks.html>`__ 845 + Add ``Branch.get_protection``, ``Branch.get_required_pull_request_reviews``, ``Branch.get_required_status_checks``, etc 846 847 Improvements 848 849 * Add missing arguments to ``Repository.edit`` (#844) (29d23151) 850 * Add missing properties to Repository (#842) (2b352fb3) 851 * Adding archival support for ``Repository.edit`` (#843) (1a90f5db) 852 * Add ``tag_name`` and ``target_commitish`` arguments to ``GitRelease.update_release`` (#834) (790f7dae) 853 * Allow editing of Team descriptions (#839) (c0021747) 854 * Add description to Organizations (#838) (1d918809) 855 856 Version 1.40 (June 26, 2018) 857 ----------------------------------- 858 * Major enhancement: use requests for HTTP instead of httplib (#664) (9aed19dd) 859 * Test Framework improvement (#795) (faa8f205) 860 * Handle HTTP 202 HEAD & GET with a retry (#791) (3aead158) 861 * Fix github API requests after asset upload (#771) (8bdac23c) 862 * Add remove_membership() method to Teams class (#807) (817f2230) 863 * Add check-in to projects using PyGithub (#814) (05f49a59) 864 * Include target_commitish in GitRelease (#788) (ba5bf2d7) 865 * Fix asset upload timeout, increase default timeout from 10s to 15s (#793) (140c6480) 866 * Fix Team.description (#797) (0e8ae376) 867 * Fix Content-Length invalid headers exception (#787) (23395f5f) 868 * Remove NamedUser.contributions (#774) (a519e467) 869 * Add ability to skip SSL cert verification for Github Enterprise (#758) (85a9124b) 870 * Correct Repository.get_git_tree recursive use (#767) (bd0cf309) 871 * Re-work PullRequest reviewer request (#765) (e2e29918) 872 * Add support for team privacy (#763) (1f23c06a) 873 * Add support for organization outside collaborators (#533) (c4446996) 874 * PullRequest labels should use Issues URL (#754) (678b6b20) 875 * Support labels for PullRequests (#752) (a308dc92) 876 * Add get_organizations() (#748) (1e0150b5) 877 878 Version 1.39 (April 10, 2018) 879 ----------------------------------- 880 881 * Add documentation to github.Repository.Repository.create_git_release() (#747) (a769c2ff) 882 * Add add_to_members() and remove_from_membership() (#741) (4da483d1) 883 * Documentation: clarify semantics of get_comments (#743) (fec3c943) 884 * Add download_url to ContentFile, closes #575 (ca6fbc45) 885 * Add PullRequestComment.in_reply_to_id (#718) (eaa6a508) 886 * Add team privacy parameter to create team (#702) (5cb5ab71) 887 * Implement License API (#734) (b54ccc78) 888 * Fix delete method for RepositoryKey (911bf615) 889 * Remove edit for UserKey (722f2534) 890 * Labels API: support description (#738) (42e75938) 891 * Added Issue.as_pull_request() and PullReqest.as_issue() (#630) (6bf2acc7) 892 * Documentation: sort the Github Objects (#735) (1497e826) 893 * Add support for getting PR single review's comments. (#670) (612c3500) 894 * Update the RepositoryKey class (#530) (5e8c6832) 895 * Added since to PR review comments get (#577) (d8508285) 896 * Remove some duplicate attributes introduced in #522 (566b28d3) 897 * Added tarball_url, zipball_url, prerelease and draft property (#522) (c76e67b7) 898 * Source Import API (#673) (864c663a) 899 900 Version 1.38 (March 21, 2018) 901 ----------------------------------- 902 903 * Updated readthedocs, PyPI to reflect latest version 904 * Added option to create review for Pull request (#662) (162f0397) 905 * Depreciate legacy search API (3cd176e3) 906 * Filter team members by role (#491) (10ee17a2) 907 * Add url attribute to PullRequestReview object (#731) (0fb176fd) 908 * Added target_commitish option to Repository.create_git_release() (#625) (0f0a7d4e) 909 * Fix broken Github reference link in class docstrings (a32a17bf) 910 * Add hook support for organizations (#729) (c7f6563c) 911 * Get organization from the team (#590) (d9c5a07f) 912 * Added search_commits (#727) (aa556f85) 913 * Collaborator site admin (#719) (f8b23505) 914 * Fix add_to_watched for AuthenticatedUser (#716) (6109eb3c) 915 916 Version 1.37 (March 03, 2018) 917 ----------------------------------- 918 919 * Add __eq__ and __hash__ to NamedUser (#706) (8a13b274) 920 * Add maintainer can modify flag to create pull request (#703) (0e5a1d1d) 921 * Fix typo in Design.md (#701) (98d32af4) 922 * Add role parameter to Team.add_membership method (#638) (01ab4cc6) 923 * Add add_membership testcase (#637) (5a1424bb) 924 925 Version 1.36 (February 02, 2018) 926 ----------------------------------- 927 928 * Fix changelog generation (5d911e22) 929 * Add collaborator permission support (#699) (167f85ef) 930 * Use datetime object in create_milestone (#698) (cef98416) 931 * Fix date format for milestone creation (#593) (e671fdd0) 932 * Remove the default "null" input send during GET request (#691) (cbfe8d0f) 933 * Updated PullRequest reviewer request according to API changes (#690) (5c9c2f75) 934 * make created_at/published_at attrs available for Release objects (#689) (2f9b1e01) 935 * Add committer/author to Repository.delete_file (#678) (3baa682c) 936 * Add method to get latest release of a repository (#609) (45d18436) 937 * Add permissions field to NamedUser (#676) (6cfe46b7) 938 * Fix all pep8 coding conventions (6bc804dc) 939 * Add new params for /users/:user/repos endpoint (89834a9b) 940 * Add support for changing PR head commit (#632) (3f77e537) 941 * Use print() syntax in README (#681) (c5988c39) 942 * Add PyPI badge and installation instructions to README (#682) (3726f686) 943 * Drop support for EOL Python 2.5-2.6 and 3.2-3.3 (#674) (6735be49) 944 * Add Reactions feature (#671) (ba50af53) 945 * Add ping_url and ping to Hook (#669) (6169d8ea) 946 * Add Repository.archived property (#657) (35333e03) 947 * Add unit test for tree attribute of GitCommit (#668) (e5bfdbeb) 948 * Add read_only attribute to Deploy Keys (#570) (dbc6f5ab) 949 * Doc create instance from token (#667) (c33a3883) 950 * Fix uploading binary files on Python 3 (#621) (317079ef) 951 * Decode jwt bytes object in Python 3 (#633) (84b43da7) 952 * Remove broken downloads badge (#644) (15cdc2f8) 953 * Added missing parameters for repo creation (#623) (5c41120a) 954 * Add ability to access github Release Asset API. (#525) (52449649) 955 * Add 'submitted at' to PullRequestReview (#565) (ebe7277a) 956 * Quote path for /contents API (#614) (554c1ab1) 957 * Add Python 3.6 (2533bed9) 958 * Add Python 3.6 (e78f0ece) 959 * Updated references in introduction.rst (d2c72bb3) 960 * fix failing tests on py26 (291f6dde) 961 * Import missing exception (67b078e9) 962 963 Version 1.35 (July 10, 2017) 964 ----------------------------------- 965 966 * Add Support for repository collaborator invitations. 967 968 Version 1.34 (abril 04, 2017) 969 ----------------------------------- 970 971 * Add Support for Pull Request Reviews feature. 972 973 Version 1.32 (February 1, 2017) 974 ----------------------------------- 975 976 * Support for Integrations installation endpoint (656e70e1) 977 978 Version 1.31 (January 30, 2017) 979 ----------------------------------- 980 981 * Support HTTP 302 redirect in Organization.has_in_members (0154c6b) 982 * Add details of repo type for get_repos documentation (f119147) 983 * Note explicit support for Python 3.5 (3ae55f0) 984 * Fix README instructions (5b0224e) 985 * An easier to see link to the documentation in response to issue #480. (6039a4b) 986 * Encode GithubObject repr values in utf-8 when using Python2 (8ab9082) 987 * Updated documentation (4304ccd) 988 * Added a subscribers count field (a2da7f9) 989 * Added "add_to_assignees" & "remove_from_assignees" method to Issue object. (66430d7) 990 * Added "assignees" attribute to PullRequest object. (c0de6be) 991 * add html_url to GitRelease (ec633aa) 992 * Removed unused imports (65afc3f) 993 * Fix typo in a constant (10a28e0) 994 * Fix changelog formatting glitch (03a9227) 995 * Added "assignees" argument in Repository.create_issue() (ba007dc) 996 * Enhance support of "assignees" argument in Issue.edit() (14dd9f0) 997 * Added "assignees" attribute to Issue object. (e0e5fdf) 998 999 Version 1.30 (January 30, 2017) 1000 ----------------------------------- 1001 1002 * adds GitHub integrations (d60943d) 1003 1004 Version 1.29 (October 10, 2016) 1005 ----------------------------------- 1006 1007 * add issue assignee param (3a8edc7) 1008 * Fix diffrerent case (fcf6cfb) 1009 * DOC: remove easy_install suggestion; update links (45e76d9) 1010 * Add permission param documentation (9347345) 1011 * Add ability to set permission for team repo (5dddea7) 1012 * Fix status check (073bb44) 1013 * adds support for content dirs (0799753) 1014 1015 Version 1.28 (September 09, 2016) 1016 ----------------------------------- 1017 1018 * test against python 3.5 (5d35284) 1019 * sort params and make them work on py3 (78374b9) 1020 * adds a nicer __repr__ (8571d87) 1021 * Add missing space (464259d) 1022 * Properly handle HTTP Proxy authentication with Python 3 (d015154) 1023 * Fix small typo (987bca0) 1024 * push to 'origin' instead of 'github' (d640666) 1025 1026 Version 1.27.1 (August 12, 2016) 1027 ----------------------------------- 1028 1029 * upgrade release process based on travis (3c20a66) 1030 * change file content encoding to support unicode(like chinese), py2 (5404030) 1031 * adds missing testfile corrections (9134aa2) 1032 * fixed file API return values (0f29a53) 1033 * assert by str and unicode to make it more py3 friendly (7390827) 1034 * Patch issue 358 status context (#428) (70e30c5) 1035 * Adding "since" param to Issue.get_comments() (#426) (3c6f99f) 1036 * update doc url everywhere (#420) (cb0cf0a) 1037 * fix a couple typos to be clearer (#419) (23c0e75) 1038 * Document how one gets an AuthenticatedUser object (ba66862) 1039 * fix wrong expectance on requestJsonAndCheck() returning {} if no data (8985368) 1040 * Add previous_filename property to File (e1be1e6) 1041 * add changelog entry for 1.26.0 (a1f3de2) 1042 * update project files (be2e98b) 1043 * fix update/create/delete file api return value issue (8bb765a) 1044 * fix typo (a7929ac) 1045 * fix update/delete/create content return value invalid issue (a0a4511) 1046 * Follow redirects in the case of a 301 status code (c29f533) 1047 * Fix for pickling exception when deserializing GithubException. (8f8b455) 1048 * add support for the head parameter in Repository.get_pulls (397a74d) 1049 * Add: - CommitCombinedStatus class - get_combined_status() to Commit class to return combined status - Add test for combined status. (5823ed7) 1050 * fix python3 compatibility issue for using json/base64 (5b7f0bb) 1051 * remove not covered API from readme (9c6f881) 1052 * change replay data for update file test case (46895df) 1053 * fix python3 compatibility error in test case (00777db) 1054 * Add repo content create/update/delete testcase (4aaeb9e) 1055 * add MAINTAINERS file (a16b55b) 1056 * travis: disable email (6347157) 1057 * fix protect branch tests (65360b0) 1058 * Add branch protection endpoint (737f0c3) 1059 * fix request parameters issue (ae37d44) 1060 * add content file create/update/delete api (b83ffbf) 1061 * Add travis button on README. (a83649b) 1062 * fix misspelling: https://github.com/PyGithub/PyGithub/issues/363 (a06b5ec) 1063 * Adding base parameter to get_pulls() method. (71593a8) 1064 * add support for the direction parameter in Repository.get_pulls (70bcb6d) 1065 * added creator parameter (ca9af4f) 1066 1067 Version 1.27.0 (August 12, 2016) 1068 ----------------------------------- 1069 1070 * this version was never released to PyPi due to a problem with the deployment 1071 1072 Version 1.26.0 (November 5th, 2015) 1073 ----------------------------------- 1074 1075 * Added context parameter to Status API 1076 * Changed InputGitAuthor to reflect that time is an optional parameter 1077 * Added sort option to get_pulls 1078 * Added api_preview parameter to Requester class 1079 * Return empty list instead of None for pagination with no pages 1080 * Removed URL scheme validation that broke GitHub Enterprise 1081 * Added "add_membership" call to Teams 1082 * Added support to lazily load repositories 1083 * Updated test suite to record with oauth tokens 1084 * Added support for http_proxy 1085 * Add support for filter/role options in Organization.get_members() 1086 * Changed Organization.get_members's filter parameter to _filter 1087 * Fix escaping so that labels now support whitespaces 1088 * Updated create_issue to support taking a list of strings for labels 1089 * Added support for long integers in get_repo 1090 * Fixed pagination to thread headers between requests 1091 * Added repo.get_stargazers_with_dates() 1092 1093 Version 1.25.2 (October 7th, 2014) 1094 ---------------------------------- 1095 1096 * `Work around <https://github.com/jacquev6/PyGithub/issues/278>`__ the GitHub API v3 returning `null`\s in some paginated responses, `erichaase <https://github.com/erichaase>`__ for the bug report 1097 1098 Version 1.25.1 (September 28th, 2014) 1099 ------------------------------------- 1100 1101 * `Fix <https://github.com/jacquev6/PyGithub/pull/275>`__ two-factor authentication header, thanks to `tradej <https://github.com/tradej>`__ for the pull request 1102 1103 `Version 1.25.0 <https://github.com/jacquev6/PyGithub/issues?milestone=38&state=closed>`_ (May 4th, 2014) 1104 --------------------------------------------------------------------------------------------------------- 1105 1106 * `Implement <https://github.com/jacquev6/PyGithub/pull/246>`__ getting repos by id, thanks to `tylertreat <https://github.com/tylertreat>`__ for the pull request 1107 * `Add <https://github.com/jacquev6/PyGithub/pull/247>`__ ``Gist.owner``, thanks to `dalejung <https://github.com/dalejung>`__ for the pull request 1108 1109 `Version 1.24.1 <https://github.com/jacquev6/PyGithub/issues?milestone=37&state=closed>`_ (March 16th, 2014) 1110 --------------------------------------------------------------------------------------------------------------- 1111 1112 * `Fix <https://github.com/jacquev6/PyGithub/pull/237>`__ urlquoting in search, thanks to `cro <https://github.com/cro>`__ for the pull request 1113 1114 `Version 1.24.0 <https://github.com/jacquev6/PyGithub/issues?milestone=36&state=closed>`_ (March 2nd, 2014) 1115 --------------------------------------------------------------------------------------------------------------- 1116 1117 * `Implement <https://github.com/jacquev6/PyGithub/pull/224>`__ search, thanks to `thialfihar <https://github.com/thialfihar>`__ for the pull request 1118 1119 `Version 1.23.0 <https://github.com/jacquev6/PyGithub/issues?milestone=35&state=closed>`_ (December 23th, 2013) 1120 --------------------------------------------------------------------------------------------------------------- 1121 1122 * `Fix <https://github.com/jacquev6/PyGithub/issues/216>`__ all that is based on headers in Python 3 (pagination, conditional request, rate_limit...), huge thanks to `cwarren-mw <https://github.com/cwarren-mw>`__ for finding the bug 1123 * `Accept <https://github.com/jacquev6/PyGithub/pull/218>`__ strings for assignees and collaborators, thanks to `farrd <https://github.com/farrd>`__ 1124 * `Ease <https://github.com/jacquev6/PyGithub/pull/220>`__ two-factor authentication by adding 'onetime_password' to AuthenticatedUser.create_authorization, thanks to `cameronbwhite <https://github.com/cameronbwhite>`__ 1125 1126 `Version 1.22.0 <https://github.com/jacquev6/PyGithub/issues?milestone=34&state=closed>`_ (December 15th, 2013) 1127 --------------------------------------------------------------------------------------------------------------- 1128 1129 * `Emojis <https://github.com/jacquev6/PyGithub/pull/209>`__, thanks to `evolvelight <https://github.com/evolvelight>`__ 1130 * `Repository.stargazers_count <https://github.com/jacquev6/PyGithub/pull/212>`__, thanks to `cameronbwhite <https://github.com/cameronbwhite>`__ 1131 * `User.get_teams <https://github.com/jacquev6/PyGithub/pull/213>`__, thanks to `poulp <https://github.com/poulp>`__ 1132 1133 `Version 1.21.0 <https://github.com/jacquev6/PyGithub/issues?milestone=33&state=closed>`__ (November ??th, 2013) 1134 ---------------------------------------------------------------------------------------------------------------- 1135 1136 * `Accept <https://github.com/jacquev6/PyGithub/issues/202>`__ strings as well as ``Label`` objects in ``Issue.add_to_labels``, ``Issue.remove_from_labels`` and ``Issue.set_labels``. Thank you `acdha <https://github.com/acdha>`__ for asking 1137 * `Implement <https://github.com/jacquev6/PyGithub/issues/201>`__ equality comparison for *completable* github objects (ie. those who have a ``url`` attribute). Warning, comparison is still not implemented for non-completable objects. This will be done in version 2.0 of PyGithub. Thank you `OddBloke <https://github.com/OddBloke>`__ for asking 1138 * `Add <https://github.com/jacquev6/PyGithub/issues/204>`__ parameter ``author`` to ``Repository.get_commits``. Thank you `naorrosenberg <https://github.com/naorrosenberg>`__ for asking 1139 * `Implement <https://github.com/jacquev6/PyGithub/issues/203>`__ the statistics end points. Thank you `naorrosenberg <https://github.com/naorrosenberg>`__ for asking 1140 1141 `Version 1.20.0 <https://github.com/jacquev6/PyGithub/issues?milestone=32&state=closed>`__ (October 20th, 2013) (First Seattle edition) 1142 --------------------------------------------------------------------------------------------------------------------------------------- 1143 1144 * `Implement <https://github.com/jacquev6/PyGithub/issues/196>`__ ``Github.get_hook(name)``. Thank you `klmitch <https://github.com/klmitch>`__ for asking 1145 * In case bad data is returned by Github API v3, `raise <https://github.com/jacquev6/PyGithub/issues/195>`__ an exception only when the user accesses the faulty attribute, not when constructing the object containing this attribute. Thank you `klmitch <https://github.com/klmitch>`__ for asking 1146 * `Fix <https://github.com/jacquev6/PyGithub/issues/199>`__ parameter public/private of ``Repository.edit``. Thank you `daireobroin449 <https://github.com/daireobroin449>`__ for reporting the issue 1147 * Remove ``Repository.create_download`` and ``NamedUser.create_gist`` as the corresponding APIs are not documented anymore 1148 1149 `Version 1.19.0 <https://github.com/jacquev6/PyGithub/issues?milestone=31&state=closed>`__ (September 8th, 2013) (AKFish's edition) 1150 ----------------------------------------------------------------------------------------------------------------------------------- 1151 1152 * Implement `conditional requests <http://developer.github.com/guides/getting-started/#conditional-requests>`__ by the method ``GithubObject.update``. Thank you very much `akfish <https://github.com/akfish>`__ for the pull request and your collaboration! 1153 * Implement persistence of PyGithub objects: ``Github.save`` and ``Github.load``. Don't forget to ``update`` your objects after loading them, it won't decrease your rate limiting quota if nothing has changed. Again, thank you `akfish <https://github.com/akfish>`_ 1154 * Implement ``Github.get_repos`` to get all public repositories 1155 * Implement ``NamedUser.has_in_following`` 1156 * `Implement <https://github.com/jacquev6/PyGithub/issues/188>`__ ``Github.get_api_status``, ``Github.get_last_api_status_message`` and ``Github.get_api_status_messages``. Thank you `ruxandraburtica <https://github.com/ruxandraburtica>`__ for asking 1157 * Implement ``Github.get_rate_limit`` 1158 * Add many missing attributes 1159 * Technical change: HTTP headers are now stored in retrieved objects. This is a base for new functionalities. Thank you `akfish <https://github.com/akfish>`__ for the pull request 1160 * Use the new URL to fork gists (minor change) 1161 * Use the new URL to test hooks (minor change) 1162 1163 `Version 1.18.0 <https://github.com/jacquev6/PyGithub/issues?milestone=30&state=closed>`__ (August 21st, 2013) (Bénodet edition) 1164 -------------------------------------------------------------------------------------------------------------------------------- 1165 1166 * `Issues <https://github.com/jacquev6/PyGithub/pull/181>`_' ``repository`` attribute will never be ``None``. Thank you `stuglaser <https://github.com/stuglaser>`__ for the pull request 1167 * No more false assumption on `rate_limiting <https://github.com/jacquev6/PyGithub/pull/186>`_, and creation of ``rate_limiting_resettime``. Thank you `edjackson <https://github.com/edjackson>`__ for the pull request 1168 * `New <https://github.com/jacquev6/PyGithub/pull/187>`__ parameters ``since`` and ``until`` to ``Repository.get_commits``. Thank you `apetresc <https://github.com/apetresc>`__ for the pull request 1169 * `Catch <https://github.com/jacquev6/PyGithub/pull/182>`__ Json parsing exception for some internal server errors, and throw a better exception. Thank you `MarkRoddy <https://github.com/MarkRoddy>`__ for the pull request 1170 * `Allow <https://github.com/jacquev6/PyGithub/pull/184>`__ reversed iteration of ``PaginatedList``. Thank you `davidbrai <https://github.com/davidbrai>`__ for the pull request 1171 1172 `Version 1.17.0 <https://github.com/jacquev6/PyGithub/issues?milestone=29&state=closed>`__ (Jully 7th, 2013) (Hamburg edition) 1173 ------------------------------------------------------------------------------------------------------------------------------ 1174 1175 * `Fix <https://github.com/jacquev6/PyGithub/pull/176>`__ bug in ``Repository.get_comment`` when using custom ``per_page``. Thank you `davidbrai <https://github.com/davidbrai>`_ 1176 * `Handle <https://github.com/jacquev6/PyGithub/pull/174>`__ Http redirects in ``Repository.get_dir_contents``. Thank you `MarkRoddy <https://github.com/MarkRoddy>`_ 1177 * `Implement <https://github.com/jacquev6/PyGithub/issues/173>`__ API ``/user`` in ``Github.get_users``. Thank you `rakeshcusat <https://github.com/rakeshcusat>`__ for asking 1178 * `Improve <https://github.com/jacquev6/PyGithub/pull/171>`__ the documentation. Thank you `martinqt <https://github.com/martinqt>`_ 1179 1180 Version 1.16.0 (May 31th, 2013) (Concarneau edition) 1181 ---------------------------------------------------- 1182 1183 * `Add <https://github.com/jacquev6/PyGithub/pull/170>`__ the html_url attribute to IssueComment and PullRequestComment 1184 1185 `Version 1.15.0 <https://github.com/jacquev6/PyGithub/issues?milestone=25&state=closed>`__ (May 17th, 2013) (Switzerland edition) 1186 --------------------------------------------------------------------------------------------------------------------------------- 1187 1188 * `Implement <https://github.com/jacquev6/PyGithub/issues/166>`__ listing of user issues with all parameters. Thank you Daehyok Shin for reporting 1189 * `Raise <https://github.com/jacquev6/PyGithub/issues/152>`__ two new specific exceptions 1190 1191 `Version 1.14.2 <https://github.com/jacquev6/PyGithub/issues?milestone=27&state=closed>`__ (April 25th, 2013) 1192 ------------------------------------------------------------------------------------------------------------- 1193 1194 * `Fix <https://github.com/jacquev6/PyGithub/issues/158>`__ paginated requests when using secret-key oauth. Thank you `jseabold <https://github.com/jseabold>`__ for analysing the bug 1195 1196 `Version 1.14.1 <https://github.com/jacquev6/PyGithub/issues?milestone=26&state=closed>`__ (April 25th, 2013) 1197 ------------------------------------------------------------------------------------------------------------- 1198 1199 * Set the default User-Agent header to "PyGithub/Python". (Github has `enforced the User Agent header <http://developer.github.com/changes/2013-04-24-user-agent-required/>`__ yesterday.) Thank you `jjh42 <https://github.com/jjh42>`__ for `the fix <https://github.com/jacquev6/PyGithub/pull/161>`_, thank you `jasenmh <https://github.com/jasenmh>`__ and `pconrad <https://github.com/pconrad>`__ for reporting `the issue <https://github.com/jacquev6/PyGithub/issues/160>`_. 1200 1201 `Version 1.14.0 <https://github.com/jacquev6/PyGithub/issues?milestone=24&state=closed>`__ (April 22nd, 2013) 1202 ------------------------------------------------------------------------------------------------------------- 1203 1204 * `Improve <https://github.com/jacquev6/PyGithub/issues/156>`__ gist edition. Thank you `jasonwiener <https://github.com/jasonwiener>`__ for asking: 1205 1206 * Delete a file with ``gist.edit(files={"name.txt": None})`` 1207 * Rename a file with ``gist.edit(files={"old_name.txt": github.InputFileContent(gist.files["old_name.txt"].content, new_name="new_name.txt")})`` 1208 1209 * `Raise <https://github.com/jacquev6/PyGithub/issues/152>`__ specific exceptions. Thank you `pconrad <https://github.com/pconrad>`__ for giving me the idea 1210 1211 Version 1.13.1 (March 28nd, 2013) 1212 --------------------------------- 1213 1214 * `Fix <https://github.com/jacquev6/PyGithub/issues/153>`__ login/password authentication for Python 3. Thank you `sebastianstigler <https://github.com/sebastianstigler>`__ for reporting 1215 1216 `Version 1.13.0 <https://github.com/jacquev6/PyGithub/issues?milestone=23&state=closed>`__ (March 22nd, 2013) 1217 ------------------------------------------------------------------------------------------------------------- 1218 1219 * `Fix <https://github.com/jacquev6/PyGithub/issues/143>`__ for Python 3 on case-insensitive file-systems. Thank you `ptwobrussell <https://github.com/ptwobrussell>`__ for reporting 1220 * `Expose <https://github.com/jacquev6/PyGithub/issues/144>`__ raw data returned by Github for all objects. Thank you `ptwobrussell <https://github.com/ptwobrussell>`__ for asking 1221 * `Add <https://github.com/jacquev6/PyGithub/issues/145>`__ a property :attr:`github.MainClass.Github.per_page` (and a parameter to the constructor) to change the number of items requested in paginated requests. Thank you again `ptwobrussell <https://github.com/ptwobrussell>`__ for asking 1222 * `Implement <https://github.com/jacquev6/PyGithub/pull/148>`__ the first part of the `Notifications <http://developer.github.com/changes/2012-10-26-notifications-api/>`__ API. Thank you `pgolm <https://github.com/pgolm>`_ 1223 * `Fix <https://github.com/jacquev6/PyGithub/issues/149>`__ automated tests on Python 3.3. Thank you `bkabrda <https://github.com/bkabrda>`__ for reporting 1224 1225 Version 1.12.2 (March 3rd, 2013) 1226 -------------------------------- 1227 1228 * `Fix <https://github.com/jacquev6/PyGithub/issues/142>`__ major issue with Python 3: Json decoding was broken. Thank you `bilderbuchi <https://github.com/bilderbuchi>`__ for reporting 1229 1230 Version 1.12.1 (February 20th, 2013) 1231 ------------------------------------ 1232 1233 * Nothing, but packaging/upload of 1.12.0 failed 1234 1235 `Version 1.12.0 <https://github.com/jacquev6/PyGithub/issues?milestone=22&state=closed>`__ (February 20th, 2013) 1236 ---------------------------------------------------------------------------------------------------------------- 1237 1238 * Much better documentation: http://jacquev6.github.com/PyGithub 1239 * `Implement <https://github.com/jacquev6/PyGithub/issues/140>`__ :meth:`github.Repository.Repository.get_dir_contents`. Thank you `ksookocheff-va <https://github.com/ksookocheff-va>`__ for asking 1240 1241 `Version 1.11.1 <https://github.com/jacquev6/PyGithub/issues?milestone=21&state=closed>`__ (February 9th, 2013) (London edition) 1242 -------------------------------------------------------------------------------------------------------------------------------- 1243 1244 * Fix `bug <https://github.com/jacquev6/PyGithub/issues/139#issuecomment-13280121>`__ in lazy completion. Thank you `ianozsvald <https://github.com/ianozsvald>`__ for pinpointing it 1245 1246 `Version 1.11.0 <https://github.com/jacquev6/PyGithub/issues?milestone=19&state=closed>`__ (February 7th, 2013) 1247 --------------------------------------------------------------------------------------------------------------- 1248 1249 * Fix bug in PaginatedList without url parameters. Thank you `llimllib <https://github.com/llimllib>`__ for the `contribution <https://github.com/jacquev6/PyGithub/pull/133>`_ 1250 * `Implement <https://github.com/jacquev6/PyGithub/issues/130>`__ :meth:`github.NamedUser.NamedUser.get_keys` 1251 * `Support PubSubHub <https://github.com/jacquev6/PyGithub/issues/129>`_: :meth:`github.Repository.Repository.subscribe_to_hub` and :meth:`github.Repository.Repository.unsubscribe_from_hub` 1252 * `Publish the oauth scopes <https://github.com/jacquev6/PyGithub/issues/134>`__ in :attr:`github.MainClass.Github.oauth_scopes`, thank you `bilderbuchi <https://github.com/bilderbuchi>`__ for asking 1253 1254 `Version 1.10.0 <https://github.com/jacquev6/PyGithub/issues?milestone=16&state=closed>`__ (December 25th, 2012) (Christmas 2012 edition) 1255 ----------------------------------------------------------------------------------------------------------------------------------------- 1256 1257 * Major improvement: support Python 3! PyGithub is automatically tested on `Travis <http://travis-ci.org/jacquev6/PyGithub>`__ with versions 2.5, 2.6, 2.7, 3.1 and 3.2 of Python 1258 * Add a shortcut function :meth:`github.MainClass.Github.get_repo` to get a repo directly from its full name. thank you `lwc <https://github.com/lwc>`__ for the contribution 1259 * :meth:`github.MainClass.Github.get_gitignore_templates` and :meth:`github.MainClass.Github.get_gitignore_template` for APIs ``/gitignore/templates`` 1260 * Add the optional ``ref`` parameter to :meth:`github.Repository.Repository.get_contents` and :meth:`github.Repository.Repository.get_readme`. Thank you `fixxxeruk <https://github.com/fixxxeruk>`__ for the contribution 1261 * Get comments for all issues and all pull requests on a repository (``GET /repos/:owner/:repo/pulls/comments``: :meth:`github.Repository.Repository.get_pulls_comments` or :meth:`github.Repository.Repository.get_pulls_review_comments`; ``GET /repos/:owner/:repo/issues/comments``: :meth:`github.Repository.Repository.get_issues_comments`) 1262 1263 `Version 1.9.1 <https://github.com/jacquev6/PyGithub/issues?milestone-17&state-closed>`__ (November 20th, 2012) 1264 --------------------------------------------------------------------------------------------------------------- 1265 1266 * Fix an assertion failure when integers returned by Github do not fit in a Python ``int`` 1267 1268 `Version 1.9.0 <https://github.com/jacquev6/PyGithub/issues?milestone-14&state-closed>`__ (November 19th, 2012) 1269 --------------------------------------------------------------------------------------------------------------- 1270 1271 * You can now use your client_id and client_secret to increase rate limiting without authentication 1272 * You can now send a custom User-Agent 1273 * PullRequest now has its 'assignee' attribute, thank you `mstead <https://github.com/mstead>`_ 1274 * Repository.edit now has 'default_branch' parameter 1275 * create_repo has 'auto_init' and 'gitignore_template' parameters 1276 * GistComment URL is changed (see http://developer.github.com/changes/2012-10-31-gist-comment-uris) 1277 * A typo in the readme was fixed by `tymofij <https://github.com/tymofij>`_, thank you 1278 * Internal stuff: 1279 1280 + Add encoding comment to Python files, thank you `Zearin <https://github.com/Zearin>`_ 1281 + Restore support of Python 2.5 1282 + Restore coverage measurement in setup.py test 1283 + Small refactoring 1284 1285 `Version 1.8.1 <https://github.com/jacquev6/PyGithub/issues?milestone-15&state-closed>`__ (October 28th, 2012) 1286 -------------------------------------------------------------------------------------------------------------- 1287 1288 * Repository.get_git_ref prepends "refs/" to the requested references. Thank you `simon-weber <https://github.com/simon-weber>`__ for noting the incoherence between documentation and behavior. If you feel like it's a breaking change, please see `this issue <https://github.com/jacquev6/PyGithub/issues/104>`_ 1289 1290 `Version 1.8.0 <https://github.com/jacquev6/PyGithub/issues?milestone-13&state-closed>`__ (September 30th, 2012) 1291 ---------------------------------------------------------------------------------------------------------------- 1292 1293 * Enable `Travis CI <http://travis-ci.org/#!/jacquev6/PyGithub>`_ 1294 * Fix error 500 when json payload contains percent character (`%`). Thank you again `quixotique <https://github.com/quixotique>`__ for pointing that and reporting it to Github 1295 * Enable debug logging. Logger name is `"github"`. Simple logging can be enabled by `github.enable_console_debug_logging()`. Thank you `quixotique <https://github.com/quixotique>`__ for the merge request and the advice 1296 * Publish tests in the PyPi source archive to ease QA tests of the `FreeBSD port <http://www.freshports.org/devel/py-pygithub>`_. Thank you `koobs <https://github.com/koobs>`__ for maintaining this port 1297 * Switch to `Semantic Versioning <http://semver.org/>`_ 1298 * Respect `pep8 Style Guide for Python Code <http://www.python.org/dev/peps/pep-0008>`_ 1299 1300 `Version 1.7 <https://github.com/jacquev6/PyGithub/issues?milestone-12&state-closed>`__ (September 12th, 2012) 1301 -------------------------------------------------------------------------------------------------------------- 1302 1303 * Be able to clear the assignee and the milestone of an Issue. Thank you `quixotique <https://github.com/quixotique>`__ for the merge request 1304 * Fix an AssertionFailure in `Organization.get_xxx` when using Github Enterprise. Thank you `mnsanghvi <https://github.com/mnsanghvi>`__ for pointing that 1305 * Expose pagination to users needing it (`PaginatedList.get_page`). Thank you `kukuts <https://github.com/kukuts>`__ for asking 1306 * Improve handling of legacy search APIs 1307 * Small refactoring (documentation, removal of old code generation artifacts) 1308 1309 `Version 1.6 <https://github.com/jacquev6/PyGithub/issues?milestone-10&state-closed>`__ (September 8th, 2012) 1310 ------------------------------------------------------------------------------------------------------------- 1311 1312 * Restore support for Python 2.5 1313 * Implement new APIS: 1314 1315 * /hooks (undocumented, but mentioned in http://developer.github.com/v3/repos/hooks/#create-a-hook) 1316 * `Merging <http://developer.github.com/v3/repos/merging>`_ 1317 * `Starring <http://developer.github.com/v3/repos/starring>`__ and `subscriptions <http://developer.github.com/v3/repos/watching>`_ 1318 * `Assignees <http://developer.github.com/v3/issues/assignees>`_ 1319 * `Commit statuses <http://developer.github.com/v3/repos/statuses>`_ 1320 * `Contents <http://developer.github.com/v3/repos/contents>`_, thank you `berndca <https://github.com/berndca>`__ for asking 1321 1322 * Clarify issue and review comments on PullRequest, thank you `nixoz2k7 <https://github.com/nixoz2k7>`__ for asking 1323 1324 `Version 1.5 <https://github.com/jacquev6/PyGithub/issues?milestone-9&state-closed>`__ (September 5th, 2012) 1325 ------------------------------------------------------------------------------------------------------------ 1326 1327 * Add a timeout option, thank you much `xobb1t <https://github.com/xobb1t>`__ for the merge request. *This drops Python 2.5 support*. I may be able to restore it in next version. 1328 * Implement `Repository.delete`, thank you `pmchen <https://github.com/pmchen>`__ for asking 1329 1330 `Version 1.4 <https://github.com/jacquev6/PyGithub/issues?milestone-8&state-closed>`__ (August 4th, 2012) 1331 --------------------------------------------------------------------------------------------------------- 1332 1333 * Allow connection to a custom Github URL, for Github Enterprise, thank you very much `engie <https://github.com/engie>`__ for the merge request 1334 1335 `Version 1.3 <https://github.com/jacquev6/PyGithub/issues?milestone-7&state-closed>`__ (July 13th, 2012) 1336 -------------------------------------------------------------------------------------------------------- 1337 1338 * Implement `markdown rendering <http://developer.github.com/v3/markdown>`_ 1339 * `GitAuthor.date` is now a datetime, thank you `bilderbuchi <https://github.com/bilderbuchi>`_ 1340 * Fix documentation of `Github.get_gist`: `id` is a string, not an integer 1341 1342 `Version 1.2 <https://github.com/jacquev6/PyGithub/issues?milestone-6&state-closed>`__ (June 29th, 2012) 1343 -------------------------------------------------------------------------------------------------------- 1344 1345 * Implement `legacy search APIs <http://developer.github.com/v3/search>`_, thank you `kukuts <https://github.com/kukuts>`__ for telling me Github had released them 1346 * Fix a bug with issue labels containing spaces, thank you `philipkimmey <https://github.com/philipkimmey>`__ for detecting the bug and fixing it 1347 * Clarify how collections of objects are returned by `get_*` methods, thank you `bilderbuchi <https://github.com/bilderbuchi>`__ for asking 1348 1349 Version 1.1 (June 20th, 2012) 1350 ----------------------------- 1351 1352 * Restore compatibility with Python 2.5, thank you `pmuilu <https://github.com/pmuilu>`_ 1353 * Use `package_data` instead of `data_files` for documentation files in `setup.py`, thank you `malexw <https://github.com/malexw>`__ for reporting 1354 1355 `Version 1.0 <https://github.com/jacquev6/PyGithub/issues?milestone-2&state-closed>`__ (June 3rd, 2012) 1356 ------------------------------------------------------------------------------------------------------- 1357 1358 * Complete rewrite, with no more complicated meta-description 1359 * Full typing of attributes and parameters 1360 * Full documentation of attributes and parameters 1361 * More usable exceptions raised in case on problems with the API 1362 * Some bugs and limitations fixed, special thanks to `bilderbuchi <https://github.com/bilderbuchi>`_, `roskakori <https://github.com/roskakori>`__ and `tallforasmurf <https://github.com/tallforasmurf>`__ for reporting them! 1363 1364 Pre-release versions 1365 ~~~~~~~~~~~~~~~~~~~~ 1366 1367 `Version 0.7 <https://github.com/jacquev6/PyGithub/issues?milestone-5&state-closed>`__ (May 26th, 2012) 1368 ------------------------------------------------------------------------------------------------------- 1369 1370 * Use PyGithub with OAuth authentication or with no authentication at all 1371 1372 `Version 0.6 <https://github.com/jacquev6/PyGithub/issues?milestone-4&state-closed>`__ (April 17th, 2012) 1373 --------------------------------------------------------------------------------------------------------- 1374 1375 * Fix `issue 21 <https://github.com/jacquev6/PyGithub/issues/21>`__ (KeyError when accessing repositories) 1376 * Re-completed the API with NamedUser.create_gist 1377 1378 1379 `Version 0.5 <https://github.com/jacquev6/PyGithub/issues?milestone-3&state-closed>`__ (March 19th, 2012) 1380 --------------------------------------------------------------------------------------------------------- 1381 1382 * Major achievement: **all APIs are implemented** 1383 * More refactoring, of course 1384 1385 `Version 0.4 <https://github.com/jacquev6/PyGithub/issues?milestone-1&state-closed>`__ (March 12th, 2012) 1386 --------------------------------------------------------------------------------------------------------- 1387 1388 * The list of the not implemented APIs is shorter than the list of the implemented APIs 1389 * APIs *not implemented*: 1390 1391 * GET `/gists/public` 1392 * GET `/issues` 1393 * GET `/repos/:owner/:repo/compare/:base...:head` 1394 * GET `/repos/:owner/:repo/git/trees/:sha?recursive-1` 1395 * POST `/repos/:owner/:repo/git/trees?base_tree-` 1396 1397 * Gists 1398 * Autorizations 1399 * Keys 1400 * Hooks 1401 * Events 1402 * Merge pull requests 1403 * More refactoring, one more time 1404 1405 Version 0.3 (February 26th, 2012) 1406 --------------------------------- 1407 1408 * More refactoring 1409 * Issues, milestones and their labels 1410 * NamedUser: 1411 1412 * emails 1413 1414 * Repository: 1415 1416 * downloads 1417 * tags, branches, commits and comments (not the same as "Git objects" of version 0.2) 1418 * pull requests (no automatic merge yet) 1419 1420 * Automatic generation of the reference documentation of classes, with less "see API"s, and less errors 1421 1422 Version 0.2 (February 23rd, 2012) 1423 --------------------------------- 1424 1425 * Refactoring 1426 * Teams details and modification 1427 1428 * basic attributes 1429 * list teams in organizations, on repositories 1430 1431 * Git objects 1432 1433 * create and get tags, references, commits, trees, blobs 1434 * list and edit references 1435 1436 Version 0.1 (February 19th, 2012) 1437 --------------------------------- 1438 1439 * User details and modification 1440 1441 * basic attributes 1442 * followers, following, watching 1443 * organizations 1444 * repositories 1445 1446 * Repository details and modification 1447 1448 * basic attributes 1449 * forking 1450 * collaborators, contributors, watchers 1451 1452 * Organization details and modification 1453 1454 * basic attributes 1455 * members and public members