Skip to content

Commit

Permalink
Updated changelog and dependencies for release v1.1.0 (#117)
Browse files Browse the repository at this point in the history
* updated version in __version__.py

* updated changelog for version 1.1.0

* fixed date in changelog

* updated release checklist and contribution guide

* changed package version, added python 3.13

* updated all dependencies

* added additional dependency updates to changelog

* added link to detailed code changes in changelog

* fixed failing test due to change in api response
  • Loading branch information
charlottekostelic authored Nov 25, 2024
1 parent e98d78c commit 81c61bb
Show file tree
Hide file tree
Showing 9 changed files with 1,282 additions and 1,062 deletions.
2 changes: 1 addition & 1 deletion bookops_worldcat/__version__.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
__title__ = "bookops-worldcat"
__version__ = "1.0.2"
__version__ = "1.1.0"
__author__ = "Tomasz Kalata"
__author_email__ = "[email protected]"
970 changes: 513 additions & 457 deletions dev-requirements.txt

Large diffs are not rendered by default.

72 changes: 65 additions & 7 deletions docs/changelog.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,71 @@
# Changelog

## [1.0.2] - (7/25/2024)
## [1.1.0] - (11/15/2024)
### Added
+ Support for new Metadata API functionality:
+ `bib_search` method within `MetadataSession` class allows users to retrieve full MARC records in JSON format with the new `/worldcat/search/bibs/{oclcNumber}`
+ `cascadeDelete` arg added to `holdings_unset` and `holdings_unset_with_bib` methods. LHR and LBD records will be deleted when unsetting holdings on a record in WorldCat. This default functionality can be changed by setting `cascadeDelete` to `False`
+ Monthly live tests running via GitHub Actions
+ Tests will check whether changes have been made to the Metadata API
+ Python 3.13 added to unit tests
+ Type annotations added to fixtures in `conftest.py`
+ `scope` added as a return value in `WorldcatAccessToken` tests and documentation
+ OCLC's Authorization Server now accepts and returns `scope` as a parameter but it appears to be interchangeable with `scopes`. It is listed in the tests and documentation for `WorldcatAccessToken` but is not included as an attribute for the class.
+ Dev dependencies:
+ `types-pyyaml` (6.0.12)
### Changed
+ Moved live tests to separate files within `tests/webtests` directory
+ Moved fixtures for live tests to `tests/webtests/conftest.py`
+ Minor edits to tests due to changes in responses from Metadata API
+ Updated dependencies:
+ certifi (2024.7.4)
+ jinja2 (3.1.4)
+ requests (2.32.3)
+ urllib3 (2.2.2)
+ zipp (3.19.2)
+ Documentation and tests to account for `scope` as available parameter for OCLC Authorization Server
+ `certifi` (2024.8.30)
+ `charset-normalizer` (3.4.0)
+ `idna` (3.10)
+ `requests` (2.32.3)
+ `urllib3` (2.2.3)
+ Updated dev dependencies:
+ `babel` (2.16.0)
+ `black` (24.8.0)
+ `coverage` (7.6.1)
+ `exceptiongroup` (1.2.2)
+ `griffe` (1.4.0)
+ `importlib-metadata` (8.5.0)
+ `importlib-resources` (6.4.5)
+ `jinja2` (3.1.4)
+ `markdown` (3.7)
+ `mike` (2.1.3)
+ `mkdocs-autorefs` (1.2.0)
+ `mkdocs-get-deps` (0.2.0)
+ `mkdocs-material` (9.5.44)
+ `mkdocs` (1.6.1)
+ `mkdocstrings-python` (1.10.0)
+ `mkdocstrings` (0.24.3)
+ `mypy` (1.13.0)
+ `packaging` (24.2)
+ `paginate` (0.5.7)
+ `platformdirs` (4.3.6)
+ `pluggy` (1.5.0)
+ `pygments` (2.18.0)
+ `pymdown-extensions` (10.12)
+ `pyparsing` (3.1.4)
+ `pytest-mock` (3.14.0)
+ `python-dateutil` (2.9.0.post0)
+ `pytz` (2024.2)
+ `pyyaml` (6.0.2)
+ `regex` (2024.11.6)
+ `tomli` (2.1.0)
+ `types-requests` (2.32.0.20241016)
+ `typing-extensions` (4.12.2)
+ `urllib3` (2.2.3)
+ `watchdog` (4.0.2)
+ `wheel` (0.45.0)
+ `zipp` (3.20.2)
### Fixed
+ Return type for all `MetadataSession` methods is now `requests.Response` not `Optional[requests.Response]`
+ Typos and incorrect import statements
### Removed
+ Redundant/unused fixtures for mock 400 and 409 responses from `conftest.py`
+ Changed `stub_marc21` fixture to return `bytes` and removed `test.mrc` file

## [1.0.1] - (5/1/2024)
### Fixed
Expand Down Expand Up @@ -219,6 +276,7 @@
### Fixed
+ fixed hooks info in docstrings in `SearchSession` and `MetadataSession`

[1.1.0]: https://github.com/BookOps-CAT/bookops-worldcat/compare/v1.0.1...v1.1.0
[1.0.1]: https://github.com/BookOps-CAT/bookops-worldcat/compare/v1.0.0...v1.0.1
[1.0.0]: https://github.com/BookOps-CAT/bookops-worldcat/compare/v0.5.0...v1.0.0
[0.5.0]: https://github.com/BookOps-CAT/bookops-worldcat/compare/v0.4.1...v0.5.0
Expand Down
10 changes: 5 additions & 5 deletions docs/contributing.md
Original file line number Diff line number Diff line change
Expand Up @@ -76,9 +76,9 @@ poetry install
```

#### Run tests
Run tests before making changes on your fork. Live tests will be run on a monthly basis using credentials saved in the repository's secrets.
Run tests before making changes on your fork.
??? info
Our live tests are designed to look for API credentials in a specific file/directory in a Windows environment. We will need to refactor the `live_keys` fixture to allow contributors to run live tests locally with their own API credentials and to run live tests in a macOS environment.
Our live tests are designed to look for API credentials in a specific file/directory when running webtests locally. Live tests are also run on a monthly basis in GitHub Actions using credentials saved in the repository's secrets. Pull requests from public forks will not run live webtests and we will need to refactor the `live_keys` fixture if a contributor wishes to run live webtests locally using their own API credentials.

```py
# basic usage without webtests
Expand All @@ -91,7 +91,7 @@ python -m pytest "not webtest" --cov=bookops_worldcat/
Any major or minor updates should get a new release in GitHub. Use the following checklist when getting a new update ready for release. For patch updates/bug fixes, follow steps 1-4.

1. Verify `poetry.lock`, `pyproject.toml`, `requirements.txt`, and `dev-requirements.txt` files are up-to-date
* **`poetry check`** to check that `poetry.lock` and `pyproject.toml` files are synced with
* **`poetry check`** to check that `poetry.lock` and `pyproject.toml` files are in sync
* **`poetry update`** to update all packages
* or **`poetry update [package1] [ package2]`** to update packages individually
* **`poetry install`** to install all versions of packages listed in the `pyproject.toml` file
Expand All @@ -109,6 +109,6 @@ Any major or minor updates should get a new release in GitHub. Use the following
5. Create a new github release
* At minimum, include information from changelog in release. Include additional details about changes as appropriate.
6. Build package in poetry
* `poetry build`
* **`poetry build`**
7. Publish to PyPI
* `poetry publish`
* **`poetry publish`**
Loading

0 comments on commit 81c61bb

Please sign in to comment.