|
2 | 2 |
|
3 | 3 | ## 2.3.0 [Unreleased](https://github.com/nteract/bookstore/compare/2.2.1...HEAD) |
4 | 4 |
|
5 | | -[2.3.0 on Github](https://github.com/nteract/bookstore/releases/tag/2.3.0) |
| 5 | +## [2.3.0](https://github.com/nteract/bookstore/releases/tag/2.3.0) 2019-07-02 |
| 6 | + |
| 7 | +Thank you to the following contributors: |
| 8 | + |
| 9 | +* Carol Willing |
| 10 | +* Kyle Kelley |
| 11 | +* M Pacer |
| 12 | +* Matthew Seal |
| 13 | +* Safia Abdalla |
| 14 | +* Shelby Sturgis |
| 15 | + |
| 16 | +The full list of changes they made can be seen [on GitHub](https://github.com/nteract/bookstore/issues?q=milestone%3A2.3.0) |
6 | 17 |
|
7 | 18 | ### Significant changes |
8 | 19 |
|
9 | | -Validation information is now exposed as a dict at the `/api/bookstore` endpoint. |
| 20 | +#### New Publishing endpoint |
| 21 | + |
| 22 | +Previously our publishing endpoint was `/api/bookstore/published`, it is now `/api/bookstore/publish`. |
| 23 | + |
| 24 | +#### Cloning |
| 25 | + |
| 26 | +As of 2.3.0 cloning from S3 is now enabled by default. |
| 27 | + |
| 28 | +Cloning allows access to multiple S3 buckets. To use them, you will need to set up your configuration for any such bucket. |
| 29 | + |
| 30 | +#### Massive Testing improvements |
| 31 | + |
| 32 | +We have built out a framework for unit-testing Tornado handlers. In addition, we have added a collection of unit tests that bring us to a coverage level in non-experimental code of well over 80%. |
| 33 | + |
| 34 | +#### `/api/bookstore/`: Features and Versions |
10 | 35 |
|
11 | | -This allows us to distinguish whether different features have been enabled on bookstore. |
| 36 | +You can identify which features have been enabled and which version of bookstore is available by using the `/api/bookstore` endpoint. |
| 37 | + |
| 38 | +#### REST API Documentation |
| 39 | + |
| 40 | +All APIs are now documented at our [REST API docs](https://bookstore.readthedocs.io/en/latest/openapi.html) using the OpenAPI spec. |
| 41 | + |
| 42 | +### Experimental |
| 43 | +#### Clients (subject to change in future releases) |
| 44 | + |
| 45 | +To enable access to bookstore publishing and cloning from within a notebook, we have created a Notebook and Bookstore clients. *This is still experimental* functionality at the moment and needs additional testing, so we discourage its use in production. |
| 46 | +The design relies on an assumption that a single kernel is attached to a single notebook, and will break if you use multiple notebooks attached to the same kernel. |
| 47 | + |
| 48 | +However, for those who wish to experiment, it offers some fun ways of exploring bookstore. |
| 49 | + |
| 50 | +Example: if you run a notebook from within the top-level [`bookstore/ci`](https://github.com/nteract/bookstore/tree/master/ci) directory while running the integration test server with `yarn test:server` (see more about [local integration testing](https://bookstore.readthedocs.io/en/latest/project/local_ci.html)), |
| 51 | +you should be able to publish from inside a notebook using the following code snippet:``` |
| 52 | + |
| 53 | +```python |
| 54 | +from bookstore.client import BookstoreClient |
| 55 | +book_store = BookstoreClient() |
| 56 | +book_store.publish() |
| 57 | +``` |
12 | 58 |
|
13 | | -The structure for 2.3.0 is: |
| 59 | +And if you have published your notebook to the local ci (e.g., publishing `my_notebook.ipynb` to the minio `bookstore` bucket with the `ci-published` published prefix), you can clone it from S3 using: |
14 | 60 |
|
15 | 61 | ```python |
16 | | - validation_checks = { |
17 | | - "bookstore_valid": all(general_settings), |
18 | | - "archive_valid": all(archive_settings), |
19 | | - "publish_valid": all(published_settings), |
20 | | - } |
| 62 | +from bookstore.client import BookstoreClient |
| 63 | +book_store = BookstoreClient() |
| 64 | +book_store.clone("bookstore", "ci-published/my_notebook.ipynb") |
21 | 65 | ``` |
22 | 66 |
|
23 | 67 | ## Releases prior to 2.3.0 |
|
0 commit comments