Browse Source

Merge branch 'master' into master

pull/9630/head
Pastukhov Nikita 2 years ago
committed by GitHub
parent
commit
8f26ed5c37
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 2
      .github/workflows/build-docs.yml
  2. 2
      .github/workflows/issue-manager.yml
  3. 2
      .github/workflows/label-approved.yml
  4. 4
      .github/workflows/latest-changes.yml
  5. 2
      .github/workflows/notify-translations.yml
  6. 4
      .github/workflows/people.yml
  7. 4
      .github/workflows/preview-docs.yml
  8. 6
      .github/workflows/publish.yml
  9. 2
      .github/workflows/smokeshow.yml
  10. 2
      docs/en/docs/features.md
  11. 5
      docs/en/docs/release-notes.md
  12. 2
      fastapi/exceptions.py
  13. 2
      fastapi/responses.py

2
.github/workflows/build-docs.yml

@ -42,7 +42,7 @@ jobs:
with: with:
publish-dir: './site' publish-dir: './site'
production-branch: master production-branch: master
github-token: ${{ secrets.GITHUB_TOKEN }} github-token: ${{ secrets.FASTAPI_BUILD_DOCS_NETLIFY }}
enable-commit-comment: false enable-commit-comment: false
env: env:
NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }} NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }}

2
.github/workflows/issue-manager.yml

@ -20,7 +20,7 @@ jobs:
steps: steps:
- uses: tiangolo/issue-manager@0.4.0 - uses: tiangolo/issue-manager@0.4.0
with: with:
token: ${{ secrets.GITHUB_TOKEN }} token: ${{ secrets.FASTAPI_ISSUE_MANAGER }}
config: > config: >
{ {
"answered": { "answered": {

2
.github/workflows/label-approved.yml

@ -10,4 +10,4 @@ jobs:
steps: steps:
- uses: docker://tiangolo/label-approved:0.0.2 - uses: docker://tiangolo/label-approved:0.0.2
with: with:
token: ${{ secrets.GITHUB_TOKEN }} token: ${{ secrets.FASTAPI_LABEL_APPROVED }}

4
.github/workflows/latest-changes.yml

@ -30,11 +30,9 @@ jobs:
if: ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.debug_enabled }} if: ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.debug_enabled }}
with: with:
limit-access-to-actor: true limit-access-to-actor: true
token: ${{ secrets.ACTIONS_TOKEN }}
standard_token: ${{ secrets.GITHUB_TOKEN }}
- uses: docker://tiangolo/latest-changes:0.0.3 - uses: docker://tiangolo/latest-changes:0.0.3
with: with:
token: ${{ secrets.GITHUB_TOKEN }} token: ${{ secrets.FASTAPI_LATEST_CHANGES }}
latest_changes_file: docs/en/docs/release-notes.md latest_changes_file: docs/en/docs/release-notes.md
latest_changes_header: '## Latest Changes\n\n' latest_changes_header: '## Latest Changes\n\n'
debug_logs: true debug_logs: true

2
.github/workflows/notify-translations.yml

@ -19,4 +19,4 @@ jobs:
limit-access-to-actor: true limit-access-to-actor: true
- uses: ./.github/actions/notify-translations - uses: ./.github/actions/notify-translations
with: with:
token: ${{ secrets.GITHUB_TOKEN }} token: ${{ secrets.FASTAPI_NOTIFY_TRANSLATIONS }}

4
.github/workflows/people.yml

@ -24,9 +24,7 @@ jobs:
if: ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.debug_enabled }} if: ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.debug_enabled }}
with: with:
limit-access-to-actor: true limit-access-to-actor: true
token: ${{ secrets.ACTIONS_TOKEN }}
standard_token: ${{ secrets.GITHUB_TOKEN }}
- uses: ./.github/actions/people - uses: ./.github/actions/people
with: with:
token: ${{ secrets.ACTIONS_TOKEN }} token: ${{ secrets.ACTIONS_TOKEN }}
standard_token: ${{ secrets.GITHUB_TOKEN }} standard_token: ${{ secrets.FASTAPI_PEOPLE }}

4
.github/workflows/preview-docs.yml

@ -34,7 +34,7 @@ jobs:
with: with:
publish-dir: './site' publish-dir: './site'
production-deploy: false production-deploy: false
github-token: ${{ secrets.GITHUB_TOKEN }} github-token: ${{ secrets.FASTAPI_PREVIEW_DOCS_NETLIFY }}
enable-commit-comment: false enable-commit-comment: false
env: env:
NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }} NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }}
@ -42,5 +42,5 @@ jobs:
- name: Comment Deploy - name: Comment Deploy
uses: ./.github/actions/comment-docs-preview-in-pr uses: ./.github/actions/comment-docs-preview-in-pr
with: with:
token: ${{ secrets.GITHUB_TOKEN }} token: ${{ secrets.FASTAPI_PREVIEW_DOCS_COMMENT_DEPLOY }}
deploy_url: "${{ steps.netlify.outputs.deploy-url }}" deploy_url: "${{ steps.netlify.outputs.deploy-url }}"

6
.github/workflows/publish.yml

@ -39,9 +39,3 @@ jobs:
env: env:
GITHUB_CONTEXT: ${{ toJson(github) }} GITHUB_CONTEXT: ${{ toJson(github) }}
run: echo "$GITHUB_CONTEXT" run: echo "$GITHUB_CONTEXT"
# - name: Notify
# env:
# GITTER_TOKEN: ${{ secrets.GITTER_TOKEN }}
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# TAG: ${{ github.event.release.name }}
# run: bash scripts/notify.sh

2
.github/workflows/smokeshow.yml

@ -31,6 +31,6 @@ jobs:
SMOKESHOW_GITHUB_STATUS_DESCRIPTION: Coverage {coverage-percentage} SMOKESHOW_GITHUB_STATUS_DESCRIPTION: Coverage {coverage-percentage}
SMOKESHOW_GITHUB_COVERAGE_THRESHOLD: 100 SMOKESHOW_GITHUB_COVERAGE_THRESHOLD: 100
SMOKESHOW_GITHUB_CONTEXT: coverage SMOKESHOW_GITHUB_CONTEXT: coverage
SMOKESHOW_GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} SMOKESHOW_GITHUB_TOKEN: ${{ secrets.FASTAPI_SMOKESHOW_UPLOAD }}
SMOKESHOW_GITHUB_PR_HEAD_SHA: ${{ github.event.workflow_run.head_sha }} SMOKESHOW_GITHUB_PR_HEAD_SHA: ${{ github.event.workflow_run.head_sha }}
SMOKESHOW_AUTH_KEY: ${{ secrets.SMOKESHOW_AUTH_KEY }} SMOKESHOW_AUTH_KEY: ${{ secrets.SMOKESHOW_AUTH_KEY }}

2
docs/en/docs/features.md

@ -189,8 +189,6 @@ With **FastAPI** you get all of **Pydantic**'s features (as FastAPI is based on
* If you know Python types you know how to use Pydantic. * If you know Python types you know how to use Pydantic.
* Plays nicely with your **<abbr title="Integrated Development Environment, similar to a code editor">IDE</abbr>/<abbr title="A program that checks for code errors">linter</abbr>/brain**: * Plays nicely with your **<abbr title="Integrated Development Environment, similar to a code editor">IDE</abbr>/<abbr title="A program that checks for code errors">linter</abbr>/brain**:
* Because pydantic data structures are just instances of classes you define; auto-completion, linting, mypy and your intuition should all work properly with your validated data. * Because pydantic data structures are just instances of classes you define; auto-completion, linting, mypy and your intuition should all work properly with your validated data.
* **Fast**:
* in <a href="https://pydantic-docs.helpmanual.io/benchmarks/" class="external-link" target="_blank">benchmarks</a> Pydantic is faster than all other tested libraries.
* Validate **complex structures**: * Validate **complex structures**:
* Use of hierarchical Pydantic models, Python `typing`’s `List` and `Dict`, etc. * Use of hierarchical Pydantic models, Python `typing`’s `List` and `Dict`, etc.
* And validators allow complex data schemas to be clearly and easily defined, checked and documented as JSON Schema. * And validators allow complex data schemas to be clearly and easily defined, checked and documented as JSON Schema.

5
docs/en/docs/release-notes.md

@ -2,6 +2,11 @@
## Latest Changes ## Latest Changes
* 🐛 Fix `HTTPException` header type annotations. PR [#9648](https://github.com/tiangolo/fastapi/pull/9648) by [@tiangolo](https://github.com/tiangolo).
* 🔥 Remove link to Pydantic's benchmark, as it was removed there. PR [#5811](https://github.com/tiangolo/fastapi/pull/5811) by [@Kludex](https://github.com/Kludex).
* ♻ Remove `media_type` from `ORJSONResponse` as it's inherited from the parent class. PR [#5805](https://github.com/tiangolo/fastapi/pull/5805) by [@Kludex](https://github.com/Kludex).
* 👷 Add custom token to Smokeshow and Preview Docs for download-artifact, to prevent API rate limits. PR [#9646](https://github.com/tiangolo/fastapi/pull/9646) by [@tiangolo](https://github.com/tiangolo).
* 👷 Add custom tokens for GitHub Actions to avoid rate limits. PR [#9647](https://github.com/tiangolo/fastapi/pull/9647) by [@tiangolo](https://github.com/tiangolo).
* ♻ Instantiate `HTTPException` only when needed, optimization refactor. PR [#5356](https://github.com/tiangolo/fastapi/pull/5356) by [@pawamoy](https://github.com/pawamoy). * ♻ Instantiate `HTTPException` only when needed, optimization refactor. PR [#5356](https://github.com/tiangolo/fastapi/pull/5356) by [@pawamoy](https://github.com/pawamoy).
* 📌 Update minimum version of Pydantic to >=1.7.4. PR [#9567](https://github.com/tiangolo/fastapi/pull/9567) by [@Kludex](https://github.com/Kludex). * 📌 Update minimum version of Pydantic to >=1.7.4. PR [#9567](https://github.com/tiangolo/fastapi/pull/9567) by [@Kludex](https://github.com/Kludex).
* 🐛 Fix OpenAPI model fields int validations, `gte` to `ge`. PR [#9635](https://github.com/tiangolo/fastapi/pull/9635) by [@tiangolo](https://github.com/tiangolo). * 🐛 Fix OpenAPI model fields int validations, `gte` to `ge`. PR [#9635](https://github.com/tiangolo/fastapi/pull/9635) by [@tiangolo](https://github.com/tiangolo).

2
fastapi/exceptions.py

@ -11,7 +11,7 @@ class HTTPException(StarletteHTTPException):
self, self,
status_code: int, status_code: int,
detail: Any = None, detail: Any = None,
headers: Optional[Dict[str, Any]] = None, headers: Optional[Dict[str, str]] = None,
) -> None: ) -> None:
super().__init__(status_code=status_code, detail=detail, headers=headers) super().__init__(status_code=status_code, detail=detail, headers=headers)

2
fastapi/responses.py

@ -27,8 +27,6 @@ class UJSONResponse(JSONResponse):
class ORJSONResponse(JSONResponse): class ORJSONResponse(JSONResponse):
media_type = "application/json"
def render(self, content: Any) -> bytes: def render(self, content: Any) -> bytes:
assert orjson is not None, "orjson must be installed to use ORJSONResponse" assert orjson is not None, "orjson must be installed to use ORJSONResponse"
return orjson.dumps( return orjson.dumps(

Loading…
Cancel
Save