Skip to content

Commit

Permalink
Merge pull request #143 from mpacer/changelog_update
Browse files Browse the repository at this point in the history
First draft of changelog for 2.3.0; focuses on significant changes
  • Loading branch information
mpacer authored Jul 2, 2019
2 parents b104430 + 51873f1 commit da38395
Showing 1 changed file with 53 additions and 9 deletions.
62 changes: 53 additions & 9 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,22 +2,66 @@

## 2.3.0 [Unreleased](https://github.com/nteract/bookstore/compare/2.2.1...HEAD)

[2.3.0 on Github](https://github.com/nteract/bookstore/releases/tag/2.3.0)
## [2.3.0](https://github.com/nteract/bookstore/releases/tag/2.3.0) 2019-07-02

Thank you to the following contributors:

* Carol Willing
* Kyle Kelley
* M Pacer
* Matthew Seal
* Safia Abdalla
* Shelby Sturgis

The full list of changes they made can be seen [on GitHub](https://github.com/nteract/bookstore/issues?q=milestone%3A2.3.0)

### Significant changes

Validation information is now exposed as a dict at the `/api/bookstore` endpoint.
#### New Publishing endpoint

Previously our publishing endpoint was `/api/bookstore/published`, it is now `/api/bookstore/publish`.

#### Cloning

As of 2.3.0 cloning from S3 is now enabled by default.

Cloning allows access to multiple S3 buckets. To use them, you will need to set up your configuration for any such bucket.

#### Massive Testing improvements

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%.

#### `/api/bookstore/`: Features and Versions

This allows us to distinguish whether different features have been enabled on bookstore.
You can identify which features have been enabled and which version of bookstore is available by using the `/api/bookstore` endpoint.

#### REST API Documentation

All APIs are now documented at our [REST API docs](https://bookstore.readthedocs.io/en/latest/openapi.html) using the OpenAPI spec.

### Experimental
#### Clients (subject to change in future releases)

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.
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.

However, for those who wish to experiment, it offers some fun ways of exploring bookstore.

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)),
you should be able to publish from inside a notebook using the following code snippet:```

```python
from bookstore.client import BookstoreClient
book_store = BookstoreClient()
book_store.publish()
```

The structure for 2.3.0 is:
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:

```python
validation_checks = {
"bookstore_valid": all(general_settings),
"archive_valid": all(archive_settings),
"publish_valid": all(published_settings),
}
from bookstore.client import BookstoreClient
book_store = BookstoreClient()
book_store.clone("bookstore", "ci-published/my_notebook.ipynb")
```

## Releases prior to 2.3.0
Expand Down

0 comments on commit da38395

Please sign in to comment.