Octue

Latest version: v0.60.2

Safety actively analyzes 679296 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 4 of 39

0.51.0

Not secure
Summary
This pull request removes the use of answer topics by publishing answer messages to the service revision (formerly known as question) topic and filtering subscriptions to only receive a) questions or b) response messages to a specific question. This speeds up the question asking process, reduces cloud infrastructure requirements and the permissions surface, and allows us to avoid topic number limits.

Also added is validation of all messages and their attributes against a new [publicly available schema](https://strands.octue.com/octue/service-communication). This ensures services are communicating as they should and opens up the possibility of writing services in other languages and creating emulators.

As this, by itself, constitutes an inter-service communication breaking change, we've taken the opportunity to reduce the complexity of the codebase by removing backwards compatibility patches for service communication (i.e. we've grouped multiple breaking changes together into one).

<!--- SKIP AUTOGENERATED NOTES --->
Contents ([603](https://github.com/octue/octue-sdk-python/pull/603))

**IMPORTANT:** There are 7 breaking changes.

New features
- Validate messages and their attributes against new service communication schema (see [614](https://github.com/octue/octue-sdk-python/pull/614) for changelog - it was merged into this branch)
- Allow diagnostics (formerly known as crash diagnostics) to always be switched on for a service

Enhancements
- 💥 **BREAKING CHANGE:** Publish responses to questions to the service revision (question) topic instead of creating a separate answer topic
- 💥 **BREAKING CHANGE:** Store message number in message attributes instead of in message data
- 💥 **BREAKING CHANGE:** Remove question UUID from log record message body
- 💥 **BREAKING CHANGE:** Remove inter-service communication backwards compatibility code
- 💥 **BREAKING CHANGE:** Make input and output values and manifest optional
- 💥 **BREAKING CHANGE:** Replace boolean `allow_save_diagnostics_data_on_crash` argument with string/enum `save_diagnostics` argument in `Service.ask` and related methods
- Add ability to filter subscriptions
- Add question UUID attribute to all messages
- Send more possible errors to parent in `Service.answer`
- Add `kind` field to question messages
- Add `sender_type` attribute to all messages
- Add ability to instantiate `Runner` from service/app configurations

Fixes
- Stop double-JSON-encoding output manifests

Dependencies
- Update `octue` version in template apps' dependencies

Refactoring
- 💥 **BREAKING CHANGE:** Rename crash diagnostics to diagnostics
- Group message attributes in `Service._send_message` and `MockMessage` under explicit `attributes` argument
- Make `OrderedMessageHandler._waiting_messages` attribute public
- Rename various message attributes

Testing
- Store mock pub/sub messages against subscriptions instead of topics
- Add missing `type` field to emulated Pub/Sub questions

Operations
- Fix `add-issues-to-octue-board` workflow
- Stop automatically building docker images for registry in `release` workflow
- Add ReadTheDocs config file to fix documentation building

---
Upgrade instructions
💥 Update all Octue services in your network to use this version of `octue` so they're still able to communicate. Postpone upgrading until you can upgrade all services simultaneously.

💥 Replace `allow_save_diagnostics_data_on_crash` with `save_diagnostics` set to one of these values: "SAVE_DIAGNOSTICS_OFF", "SAVE_DIAGNOSTICS_ON_CRASH", or "SAVE_DIAGNOSTICS_ON"

💥 Crash diagnostics rename:
- Use the `octue get-diagnostics` CLI command instead of the `octue get-crash-diagnostics` command
- Rename `crash_diagnostics_cloud_path` in your service configurations to `diagnostics_cloud_path`
<!--- END AUTOGENERATED NOTES --->

0.50.1

Not secure
<!--- SKIP AUTOGENERATED NOTES --->
Contents ([621](https://github.com/octue/octue-sdk-python/pull/621))

Fixes
- Make `Manifest.use_signed_urls_for_datasets` idempotent
- Ensure directories exist before downloading datafile from URL
- Ensure child emulators can accept input manifests

<!--- END AUTOGENERATED NOTES --->

0.50.0

Not secure
<!--- SKIP AUTOGENERATED NOTES --->
Contents ([608](https://github.com/octue/octue-sdk-python/pull/608))

**IMPORTANT:** There is 1 breaking change.

Enhancements
- Add ability to automatically retry failed questions in `Child.ask_multiple`
- Add Cloud Run dockerfile with `python3.11` base

Operations
- Use trusted publisher to publish to PyPi

Refactoring
- 💥 **BREAKING CHANGE:** Remove deprecated code

Testing
- Remove unnecessary service IDs from `TestChild` tests

---
Upgrade instructions
<details>
<summary>💥 <b>Remove deprecated code</b></summary>

- Use `datafile.local_path` instead of `datafile.path`
- Use `octue.utils.processes.run_logged_subprocess` instead of `octue.utils.threads.run_logged_subprocess`
</details>

<!--- END AUTOGENERATED NOTES --->

0.49.2

Not secure
<!--- SKIP AUTOGENERATED NOTES --->
Contents ([604](https://github.com/octue/octue-sdk-python/pull/604))

Enhancements
- Raise error when asking a question to an unregistered service revision (when using service registries only)

Fixes
- Ensure questions can be asked to unregistered service revisions when not using a service registry

Operations
- Fix workflows name typo

<!--- END AUTOGENERATED NOTES --->

0.49.1

Not secure
<!--- SKIP AUTOGENERATED NOTES --->
Contents ([607](https://github.com/octue/octue-sdk-python/pull/607))

Enhancements
- Add ability to catch errors for failed questions and keep answers for successful questions when using `Child.ask_multiple`
<!--- END AUTOGENERATED NOTES --->

0.49.0

Not secure
<!--- SKIP AUTOGENERATED NOTES --->
Contents ([598](https://github.com/octue/octue-sdk-python/pull/598))

**IMPORTANT:** There is 1 breaking change.

Operations
- Remove unnecessary checkout steps in workflows
- Run PR workflow on all PRs

Dependencies
- Remove dataflow-related dependencies

Testing
- Use live schema to test essential monitor messages

Reversions
- 💥 **BREAKING CHANGE:** Remove `octue deploy dataflow` command and related code
- Remove deployment-related attributes from `ServiceConfiguration`

---
Upgrade instructions
<details>
<summary>💥 <b>Remove `octue deploy dataflow` command and related code</b></summary>

Use our deployment GitHub actions and workflows or contact us to deploy to Dataflow.
</details>

<!--- END AUTOGENERATED NOTES --->

Page 4 of 39

Links

Releases

Has known vulnerabilities

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.