Skip to content

Commit

Permalink
Update 3.9 announcement
Browse files Browse the repository at this point in the history
  • Loading branch information
tomchristie committed Oct 18, 2018
1 parent 2deb6b4 commit 4e85773
Showing 1 changed file with 44 additions and 7 deletions.
51 changes: 44 additions & 7 deletions docs/community/3.9-announcement.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@

# Django REST framework 3.9

The 3.9 release gives access to _extra actions_ in the Browsable API, introduces composable permissions and built-in [OpenAPI][openapi] schema support.
The 3.9 release gives access to _extra actions_ in the Browsable API, introduces composable permissions and built-in [OpenAPI][openapi] schema support. (Formerly known as Swagger)

---

Expand All @@ -45,9 +45,9 @@ If you use REST framework commercially and would like to see this work continue,

---

## In-built OpenAPI schema support
## Built-in OpenAPI schema support

REST framework now has a first-pass at directly including OpenAPI schema support.
REST framework now has a first-pass at directly including OpenAPI schema support. (Formerly known as Swagger)

Specifically:

Expand Down Expand Up @@ -77,10 +77,31 @@ urlpatterns = [

And here's how you can use the `generateschema` management command:

```
```shell
$ python manage.py generateschema --format openapi > schema.yml
```

There's lots of different tooling that you can use for working with OpenAPI
schemas. One option that we're working on is the [API Star](https://docs.apistar.com/)
command line tool.

You can use `apistar` to validate your API schema:

```shell
$ apistar validate --path schema.json --format openapi
✓ Valid OpenAPI schema.
```

Or to build API documentation:

```shell
$ apistar docs --path schema.json --format openapi
✓ Documentation built at "build/index.html".
```

API Star also includes a [dynamic client library](https://docs.apistar.com/client-library/)
that uses an API schema to automatically provide a client library interface for making requests.

## Composable permission classes

You can now compose permission classes using the and/or operators, `&` and `|`.
Expand All @@ -105,6 +126,12 @@ When defined, a dropdown of "Extra Actions", appropriately filtered to detail/no

---

## Supported Versions

REST framework 3.9 supports Django versions 1.11, 2.0, and 2.1.

---

## Deprecations

### `DjangoObjectPermissionsFilter` moved to third-party package.
Expand Down Expand Up @@ -164,9 +191,19 @@ OpenAPI functionality.

This will also make a wider range of tooling available.

We'll focus on continuing to develop the `apistar` library and client tool into
a recommended option for generating API docs, validating API schemas, and
providing a dynamic client library.
We'll focus on continuing to develop the [API Star](https://docs.apistar.com/)
library and client tool into a recommended option for generating API docs,
validating API schemas, and providing a dynamic client library.

There's also a huge amount of ongoing work on maturing the ASGI landscape,
with the possibility that some of this work will eventually [feed back into
Django](https://www.aeracode.org/2018/06/04/django-async-roadmap/).

There will be further work on the [Uvicorn](https://www.uvicorn.org/)
webserver, as well as lots of functionality planned for the [Starlette](https://www.starlette.io/)
web framework, which is building a foundational set of tooling for working with
ASGI.


[funding]: funding.md
[gh5886]: https://github.com/encode/django-rest-framework/issues/5886
Expand Down

0 comments on commit 4e85773

Please # to comment.