Releases: golemfactory/yapapi
Releases · golemfactory/yapapi
0.7.0-alpha.1
Major features
- Virtual Private Networks between the requestor and provider VMs (#613)
- Support for custom usage counters (#594)
Documentation overhaul
- New API reference - sphinx + readthedocs (#622)
Minor features
- Enable parametrisation of Service instances within a single
Golem.run_service()
call (#514) - Enable non-context-manager usage of the Golem engine (#644)
- Decouple Scripts from WorkContext for a cleaner separation of execution scripts and provider work contexts (#609)
- Support for filtering provider offers by
golem.inf.cpu.threads
(#508) - State, usage and cost reporting support in WorkContext (#507)
- Enable specification of full VM image URLs (#537)
- Add VPN capability property to enable offer filtering (#658)
- Add Network.remove and auto cleanup and Network as a context manager (#677)
New examples
- SSH example (#658)
- Minimal http proxy example (#656)
- New
blender_start_stop
example showcasing theGolem.start/stop
usage (#644) - Custom usage counter example (#611)
Bugfixes
- Prevent new instances from starting when
Cluster.stop()
had been issued (#699) - Fix join_str_constraints (#524)
- Fix the low-level-api example (#540)
- Fix default subnet help (#557)
- Fix the
WorkerFinished
event creation (#689) - Fix the http proxy example - handle 404 from the remotes (#691)
- Ensure Golem shutdown is triggered even if startup hadn't gone well (#695)
- Work-around for a race condition in the VPN node address broadcasting (#707)
Miscellaneous changes
- Golem <-> Engine refactoring (#631)
- Extract analogous parts of Executor and Cluster into the common engine (#496)
- Reduce log output related to confirmed proposals (#505)
- Usage reporting tweaks (#536)
- Add state/usage/cost reporting in blender and simple service examples
- Make engine params configurable via env variables (#546)
- Update ya-aioclient from ^0.5 to ^0.6 (#503)
- Use command_index when calling get_exec_batch_results (#548)
- Add read-only properties for some Service/Cluster private fields (#550)
- Provide default subnet tag in Engine (#556)
- Service handler docstrings (#555)
- Include job_id in computation events (#568)
- Update typing_extensions to 3.10.0+ (#629)
- Remove the standalone Executor (#635)
- Sequence diagrams for batch execution (Task and Service API) (#580)
- Remove implicit initialization from the WorkContext (#647)
- Ensure handlers are async generators (#665)
- Prefix driver and network with payment_ where appropriate (#653)
- Simplify all examples by extracting the boilerplate to
utils
(#674) - Update the default development subnet to
devnet-beta
- Set password to the ssh service on the fly (#681)
- Update examples to retrieve individual results instead of the accumulated ones (#682)
- Unify the info printed in the ssh example with the others (#686)
- Better recovery of the SSH example (#704)
- More reliable instances startup for the
http-proxy
example (#706)
Tests / Continuous integration
- Use dynamic stable branch in
goth
nightly (#480) - Add a
goth
test for proposal renegotiation (#551) - Remove reduntant log assertion from simple service test (#570)
- Add team mention to goth nightly failure messages (#575) (#578)
- Fix stable branch name regex in nightly workflow (#593)
- Adapt integration tests to goth version 0.6.3 (#595)
- Drone task: add
stress-ng
to drone task image (#596) - Bump
black
version to 21.7b0 (#610) - Add "Run workflow" button (#642)
- Re-run test failures in goth tests (#643)
- Fix the blender example on Python 3.6 (#667)
Goth
power outage test (#668)- Remove redundant calls from power outage test (#687) (#688)
0.7.0-alpha.0
0.7.0-alpha.0
433 Eros
Changelog
Enhancements
- Report activity termination by the provider (#587)
- Retry some Activity API calls that fail due to recoverable GSB errors (#587)
Bugfixes
- Reduce the number of files kept open by the
gftp
storage provider (requires yagna 0.7.3, with older versions this fix is d
isabled) (#543) - Fix a warning message displayed when no offers are found within 20s to include correct upper bound for task / service expira
tion (180 min instead of 30 min) (#582) - Update fallback URL for VM image repository (#565)
- If a service instance stops in
starting
state due to a signal, don't spawn another instance instead (#547)
Integration test updates and fixes
0.6.3-alpha.1
Add semantic-version to dependencies, bump version to 0.6.3-alpha.1
0.6.3-alpha.0
Bump version to 0.6.3-alpha.0 (#589)
Roswell
Changelog
Features
- Respawn instances that failed in
starting
state (#509) - Support for filtering provider offers by "golem.inf.cpu.threads" (#508)
Bugfixes
- Error handling in
Services._run_instance()
(#498) - Reduce the number of log entries related to confirmed proposals (#505)
- Fix the constraints filter generation for an empty list of constraints (#524)
- Throw errors raised in batch.prepare() into command generator (#530)
- Handle
aiohttp.ClientOSError
in agreement-related Market API calls (#535) - Remove a stale import (#528)
Integration test updates and fixes
0.6.2-alpha.0
Bump version to 0.6.2-alpha.0 (#526)
Eastern 66
Fixes
- Handle activity creation failures in spawn_instance (#458)
- Repeat Payment API calls on timeout errors (#473)
- Close async generators created by Executors on Golem shutdown (#482)
Minor changes
- Align logs datetime format with yagna - add milliseconds and a TZ offset (#463)
Updates and fixes to the examples
- Remove unneeded constants from the simple-service-poc example (#462)
- Fix import path to Service class in the hello-service example (#471)
- Replace NamedTemporaryFile usage in yacat example (#488)
- Add default value to yacat keyspace (#490)
Integration test updates
0.6.1-alpha.0
Close async generators created by Executors on Golem shutdown (#482)
Computing-Tabulating-Recording Co
Changelog
Major changes
- Make
Golem
class the new entrypoint for the API, extract common parts into an the internal_Engine
(#365) - Add
yapapi.service
- new high-level API for Services (#383)
Additonal features
- Enable using asynchronous task iterators as sources of tasks (#360)
- Add support for execution script output capturing (with optional blocking) (#367)
- Add
WorkContext.terminate()
method (#411) - Allow parametrization of
WorkContext.start()
(#409) - New example: Simple Service POC (#303)
- New examples: minimal batch and minimal service (#421)
Fixes
- Update versions for some dependencies to fix
poetry
solver issues (#395) - Fix passing command errors from the engine to worker functions (#394)
- Wait for instance tasks before shutting down a
Cluster
(#423) - Always cancel
process_invoices_job
when shutting down theGolem
engine (#452) - Silence
asyncio.CancelledError
when awaiting the just-cancelled task (#449)
Documentation updates
- Adjust
README.md
to changes in the API (#451) - Add missing docstrings for public classes and methods (#416)
- Add a docstring for the
Golem
class (#447) - Add some comments to the
SmartQueue
(#357) - fix
DemandBuilder
example usage (#382)
Other updates
- Refactor
yacat
example to use the updated API (#403) - Blender example: do not overwrite blender example debug logs (#361)
- Replace
message
in events.CommandExecuted withstdout
andstderr
(#379) - Immediately terminate agreement after service instance finishes (#420)
- Move
Golem
andJob
fromyapapi.executor.__init__
toyapapi.golem
(#431) - Move some modules from
yapapi/executor
toyapapi/
(#434) - Make the default
Service.run()
await indefinitely instead of yieldingNone
in a loop (#448) - Make summary logger the default event consumer (#428)
- Use
devnet-beta.2
as the default subnet in examples (#413)
Internal changes
- Make
find_offers()
anExecutor
method; handle offer proposals concurrently (#306) - Refactor
SmartQueue
to work correctly with asynchronous task iterators (#399) - Enable multiplexing of command batches and control signals in the services' state handler (#408)