Releases: lsst-sqre/ook
Releases · lsst-sqre/ook
0.10.0
New features
- Ook now uses faststream for managing its Kafka consumer and producer. This is also how the Squarebot ecosystem operates. With this change, Ook no longer uses the Confluent Schema Registry. Schemas are instead developed as Pydantic models.
Other changes
- Use
uv
for installing and compiling dependencies innoxfile.py
. - Update GitHub Actions workflows to use the lsst-sqre/run-nox GitHub Action.
- Adopt
ruff-shared.toml
for shared Ruff configuration (from https://github.com/lsst/templates) - Update Docker base to Python 3.12.5-slim-bookworm.
- Switch to testcontainers for running Kafka during test sessions. The Kafka brokers is automatically started by the
nox
sessions.
What's Changed
- DM-45676: Update repo infrastructure by @jonathansick in #160
Full Changelog: 0.9.1...0.10.0
0.9.1
Bug fixes
- If a technote doesn't have the
og:article:modified_time
then Ook falls back to using the current time of ingest. This fallback is to meet the schema for the www.lsst.io website, and ideally documents should always set modification time metadata.
What's Changed
- [neophile] Update dependencies by @neophile-square in #151
- [neophile] Update dependencies by @neophile-square in #153
- [neophile] Update dependencies by @neophile-square in #154
- [neophile] Update dependencies by @neophile-square in #155
- DM-42705: Fall back to using current date for update_time by @jonathansick in #159
Full Changelog: 0.9.0...0.9.1
0.9.0
New features
- Added support for ingesting Technotes (as generated with the technote.lsst.io framework). These technotes are generated with Sphinx, but embed metadata in common formats like Highwire Press and OpenGraph. This new technote format replaces the original technote format, although the original technotes are still supported by Ook.
What's Changed
- [neophile] Update dependencies by @neophile-square in #148
- DM-40847: Enable ingest technotes (technote.lsst.io - type documents) by @jonathansick in #150
New Contributors
- @neophile-square made their first contribution in #148
Full Changelog: 0.8.0...0.9.0
0.8.0
New features
- Add a new
ook ingest-updated
command to queue ingest tasks for all LTD projects that have updated within a specified time period. This command is intended to be run as a Kubernetes cron job. Once push-based queueing from LTD is available on the roundtable-prod Kubernetes cluster this command can be deprecated.
What's Changed
- Bump actions/checkout from 3 to 4 by @dependabot in #145
- DM-40649: Add ook ingest-updated command by @jonathansick in #146
Full Changelog: 0.7.1...0.8.0
0.7.1
Bug fixes
- Improved and logging and exception reporting around the
ook audit
command. - Fixed the
base_url
attribute's JSON alias for the Algolia DocumentRecord model. WasbaseURL
and is now restored tobaseUrl
. - Fix typo in creating records for Lander content types (
source_update_time
andsource_update_timestamp
fields).
What's Changed
- Bump python from 3.11.4-slim-bullseye to 3.11.5-slim-bullseye by @dependabot in #143
- DM-40605: Improve Algolia audit job's reliability by @jonathansick in #144
Full Changelog: 0.7.0...0.7.1
0.7.0
New features
- The new
ook audit
command (and associatedAlgoliaAuditService
) audits the contents of the Algolia index to determine if all documents registered in the LSST the Docs API are represented in the Algolia index. This command can be run asook audit --reingest
to automatically queue reingestion jobs for any missing documents.
Bug fixes
- Fixed the CLI entrypoint from
squarebot
toook
.
Other changes
- The Factory is refactored. A
ProcessContext
now holds singleton clients for the duration of the process, and is used for both the API handlers and for worker processes, including CLI instantiations of Ook as Kubernetes jobs. This new architecture moves configuration of Kubernetes and registration of Kafka Avro schemas out of the main module and into the factory instantiation. - The Algolia search client is now mocked for testing. This allows the new factory to always create a search client for the process context. It also means that Algolia client credentials are always required; the test configuration uses substitute keys for the mock.
What's Changed
- DM-40505: Add an audit CLI command (0.7.0 release) by @jonathansick in #142
Full Changelog: 0.6.0...0.7.0
0.6.0
Backwards-incompatible changes
- The app is rewritten as a FastAPI/Safir app, replacing its heritage as an aiohttp/Safir app. The app is also now deployed with Helm via Phalanx Because of this, Ook should be considered as an entirely new app, with no backwards compatibility with the previous version.
- Ook no longer receives GitHub webhooks; the intent is to get GitHub webhook events from Squarebot (through Kafka) in the future.
- Ook no longer receives Kafka messages from LTD Events since that app isn't avabile in the new Roundtable deployment. A new ingest trigger is being developed in the interim. Until then, ingests can be manually triggered by the
POST /ook/ingest/ltd
endpoint.
New features
- Ook is now a FastAPI/Safir app.
- Ook uses Pydantic models for its Kafka message schemas.
- Ook is now built around a service/domain/handler architecture, bringing it in line with SQuaRE's modern apps. The Kafka consumer is considered a handler.
- Add
ook upload-doc-stub
CLI command to manually add a single record to Algolia to stub a document into the www.lsst.io search index. This is useful for cases where a document can't be normally indexed by Ook.
Other changes
- The change log is maintained with scriv
- Tests are now orchestrated through nox.
What's Changed
- Bump python from 3.9.8-slim-bullseye to 3.10.0-slim-bullseye by @dependabot in #62
- [neophile] Update dependencies by @sqrbot in #59
- [neophile] Update dependencies by @sqrbot in #63
- [neophile] Update dependencies by @sqrbot in #65
- [neophile] Update dependencies by @sqrbot in #66
- Bump python from 3.10.0-slim-bullseye to 3.10.1-slim-bullseye by @dependabot in #64
- [neophile] Update dependencies by @sqrbot in #67
- [neophile] Update dependencies by @sqrbot in #68
- [neophile] Update dependencies by @sqrbot in #69
- [neophile] Update dependencies by @sqrbot in #70
- Bump python from 3.10.1-slim-bullseye to 3.10.2-slim-bullseye by @dependabot in #71
- [neophile] Update dependencies by @sqrbot in #72
- [neophile] Update dependencies by @sqrbot in #73
- [neophile] Update dependencies by @sqrbot in #74
- [neophile] Update dependencies by @sqrbot in #75
- [neophile] Update dependencies by @sqrbot in #76
- Bump actions/setup-python from 2 to 3 by @dependabot in #77
- [neophile] Update dependencies by @sqrbot in #78
- Bump actions/checkout from 2 to 3 by @dependabot in #79
- [neophile] Update dependencies by @sqrbot in #80
- Bump python from 3.10.2-slim-bullseye to 3.10.3-slim-bullseye by @dependabot in #81
- Bump actions/cache from 2 to 3 by @dependabot in #82
- Bump python from 3.10.3-slim-bullseye to 3.10.4-slim-bullseye by @dependabot in #83
- [neophile] Update dependencies by @sqrbot in #84
- [neophile] Update dependencies by @sqrbot in #85
- [neophile] Update dependencies by @sqrbot in #86
- [neophile] Update dependencies by @sqrbot in #87
- [neophile] Update dependencies by @sqrbot in #88
- [neophile] Update dependencies by @sqrbot in #89
- Bump docker/login-action from 1 to 2 by @dependabot in #92
- [neophile] Update dependencies by @sqrbot in #93
- [neophile] Update dependencies by @sqrbot in #94
- Bump pre-commit/action from 2.0.3 to 3.0.0 by @dependabot in #96
- [neophile] Update dependencies by @sqrbot in #95
- Bump python from 3.10.4-slim-bullseye to 3.10.5-slim-bullseye by @dependabot in #97
- Bump actions/setup-python from 3 to 4 by @dependabot in #98
- [neophile] Update dependencies by @sqrbot in #99
- [neophile] Update dependencies by @sqrbot in #100
- [neophile] Update dependencies by @sqrbot in #101
- [neophile] Update dependencies by @sqrbot in #102
- [neophile] Update dependencies by @sqrbot in #103
- [neophile] Update dependencies by @sqrbot in #104
- Bump python from 3.10.5-slim-bullseye to 3.10.6-slim-bullseye by @dependabot in #105
- [neophile] Update dependencies by @sqrbot in #106
- [neophile] Update dependencies by @sqrbot in #107
- [neophile] Update dependencies by @sqrbot in #108
- [neophile] Update dependencies by @sqrbot in #109
- [neophile] Update dependencies by @sqrbot in #110
- Bump python from 3.10.6-slim-bullseye to 3.10.7-slim-bullseye by @dependabot in #111
- [neophile] Update dependencies by @sqrbot in #112
- [neophile] Update dependencies by @sqrbot in #113
- [neophile] Update dependencies by @sqrbot in #114
- [neophile] Update dependencies by @sqrbot in #115
- [neophile] Update dependencies by @sqrbot in #116
- [neophile] Update dependencies by @sqrbot in #118
- [neophile] Update dependencies by @sqrbot in #119
- [neophile] Update dependencies by @sqrbot in #121
- [neophile] Update dependencies by @sqrbot in #122
- [neophile] Update dependencies by @sqrbot in #123
- DM-37331: Add ook upload-doc-stub command by @jonathansick in #126
- [neophile] Update dependencies by @sqrbot in #124
- [neophile] Update dependencies by @sqrbot in #127
- [neophile] Update dependencies by @sqrbot in #128
- [neophile] Update dependencies by @sqrbot in #129
- [neophile] Update dependencies by @sqrbot in #130
- [neophile] Update dependencies by @sqrbot in #132
- [neophile] Update dependencies by @sqrbot in #133
- [neophile] Update dependencies by @sqrbot in #135
- [neophile] Update dependencies by @sqrbot in #136
- [neophile] Update dependencies by @sqrbot in #137
- DM-39636: Migrate Ook into a FastAPI application by @jonathansick in #140
Full Changelog: 0.5.0...0.6.0
0.5.0
- When detecting a Sphinx technote, first try to ping the main branch before trying master
- When ingesting a sphinx technote, default to main if the tracking branch is not given.
- Updated dependencies
- The docker image is now based on Python 3.9.8
0.4.0
In this release, documents are ingested with a new sourceCreationTimestamp
. This timestamp corresponds to the time when a document was initially created. A new workflow, get_github_creation_date
can be used to infer this creation date on the basis of the first GitHub commit on the default branch that was not made by SQuaRE Bot
(or any email/name corresponding to a bot) during the initial template instantiation.
Related to this, Ook is now configured as a GitHub App: https://github.com/apps/ook-rubin-observatory