Releases: replicate/cog
v0.10.0-alpha8
What's Changed
- predict_time_share needs to be set before sending the completed webhook by @technillogue in #1683
- drop default_target by @technillogue in #1685
- COG_DISABLE_TIME_SHARE_METRIC
Full Changelog: v0.10.0-alpha7...v0.10.0-alpha8
v0.9.9-alpha
v0.10.0-alpha7
This release adds cog.emit_metric
, a predict_time_share
metric, and provisional support for setting target concurrency. It also properly records the changes that were already in prod.
What's Changed
- replace requests with httpx and factor out clients by @technillogue in #1574
- implement mp.Connection with async streams by @technillogue in #1640
- omnibus actual concurrency and major refactor by @technillogue in #1530
- fix flaky runner test by @technillogue in #1669
- predict_time_share metric by @technillogue in #1643
- function to emit metrics by @technillogue in #1649
- allow setting both max and target concurrency in cog.yaml by @technillogue in #1672
Full Changelog: v0.10.0-alpha6...v0.10.0-alpha7
v0.9.8
v0.9.8-alpha
What's Changed
- Bump github.com/docker/docker from 26.0.2+incompatible to 26.1.1+incompatible by @dependabot in #1646
- Bump golang.org/x/tools from 0.20.0 to 0.21.0 by @dependabot in #1644
- Fix Getting Started Link returns 404 by @tempusfrangit in #1639
- Bump github.com/docker/cli from 26.0.0+incompatible to 26.1.1+incompatible by @dependabot in #1645
- fix: 🐛 Failed to Load Docker Image Metadata in Github Action by @EduarteXD in #1638
New Contributors
- @EduarteXD made their first contribution in #1638
Full Changelog: v0.9.7...v0.9.8-alpha
v0.9.7
The main changes in this release is the Secret type and always passing the --load
flag to docker buildx build
. Enjoy!
What's Changed
- Bump github.com/docker/docker from 25.0.3+incompatible to 26.0.0+incompatible by @dependabot in #1596
- Bump actions/cache from 2 to 4 by @dependabot in #1604
- Increase timeout of flakey test to 1.5s by @technillogue in #1575
- Include options for compatgen targets in Usage help by @jd7h in #1581
- Bump google.golang.org/protobuf from 1.31.0 to 1.33.0 by @dependabot in #1577
- Bump github.com/docker/cli from 25.0.3+incompatible to 26.0.0+incompatible by @dependabot in #1595
- Bump github.com/stretchr/testify from 1.8.4 to 1.9.0 by @dependabot in #1556
- Bump golang.org/x/tools from 0.18.0 to 0.19.0 by @dependabot in #1569
- Remove base-image building workflow by @tempusfrangit in #1606
- Define
Secret
type by @mattt in #1546 - Cog base images by @andreasjansson in #1605
- Always pass
--load
flag todocker buildx build
command by @mattt in #1621 - deprecate
cog.File
in docs by @zeke in #1613 - Bump github.com/docker/docker from 26.0.0+incompatible to 26.0.2+incompatible by @dependabot in #1626
- Bump golang.org/x/net from 0.22.0 to 0.23.0 by @dependabot in #1628
- Bump docker/metadata-action from 4 to 5 by @dependabot in #1619
- Bump golang.org/x/tools from 0.19.0 to 0.20.0 by @dependabot in #1608
Full Changelog: v0.9.6...v0.9.7
v0.9.6
The main highlight in this release is revised schema validation that should improve boot times. We also add support for torch 2.2, drop support for 3.7, add support for list in inputs, and fix some other bugs.
What's Changed
- fix: invalid components: schema "Output": extra sibling fields: [title] by @dkhokhlov in #1579
- update compatibility matrices: support torch 2.2 by @jd7h in #1580
- feat: support for list in inputs by @dkhokhlov in #1561
- feat: deprecate python 3.7 #2 by @dkhokhlov in #1582
- Implement base-building workflow by @tempusfrangit in #1598
- Fix go-runtime setup for base-build workflow by @tempusfrangit in #1599
- feat: new approach for fast validation - fast cold boot by @dkhokhlov in #1553
Changelog
- 1999f43 Fix go-runtime setup for base-build workflow
- 175e3e5 Implement base-building workflow
- c138db2 feat: deprecate python 3.7 #2 (#1582)
- fae2ac3 feat: new approach for fast validation - fast cold boot (#1553)
- 1289b6f feat: support for list in inputs (#1561)
- d1d3fc4 fix: invalid components: schema "Output": extra sibling fields: [title] (#1579)
- cffd61b update compatibility matrices: support torch 2.2 (#1580)
v0.9.5
What's Changed
Highlights in this release are deprecating python 3.7 and allowing a str
in addition to Path
and File
for setup() weights argument. If you download weights with pget, we highly recommend switching to str
instead of Path
so that cog doesn't also try to download your weights.
- Document how to download/store weights by @cuuupid in #1479
- Bump github.com/docker/cli from 24.0.6+incompatible to 25.0.3+incompatible by @dependabot in #1521
- Bump github.com/docker/docker from 24.0.6+incompatible to 25.0.3+incompatible by @dependabot in #1520
- Update deprecated list type usage by @iamargentum in #1327
- remove unstable git archival config by @zeke in #1522
- Bump golang.org/x/sys from 0.16.0 to 0.17.0 by @dependabot in #1529
- Fix a formatting typo in yaml.md by @JacekDuszenko in #1526
- Bump github.com/getkin/kin-openapi from 0.120.0 to 0.123.0 by @dependabot in #1506
- Upgrade to Go 1.21 by @yorickvP in #1537
- Bump github.com/golangci/golangci-lint from 1.55.2 to 1.56.2 by @dependabot in #1536
- feat: eliminate redundant loads of predict.py and train.py in early setup of cog predict by @dkhokhlov in #1503
- fix: disable fast validation for now - it breaks complex types by @dkhokhlov in #1548
- feat: deprecate python 3.7 by @dkhokhlov in #1550
- a new version of ruff has appeared by @technillogue in #1565
- Remove deprecated labels by @bfirsh in #1572
- Better formatting for
pget
instructions insetup()
docs for Python by @cuuupid in #1576 - use shorter cog.run URLs in
cog init
templates by @zeke in #1578 - allow setup(self, weights: str) by @technillogue in #1559
New Contributors
- @cuuupid made their first contribution in #1479
- @JacekDuszenko made their first contribution in #1526
Full Changelog: v0.9.4...v0.9.5
v0.10.0-alpha5
Full Changelog: v0.10.0-alpha3...v0.10.0-alpha4
Scary temporary commit for a hemorrhaging-edge release. This adds concurrency to the config and significantly changes the behavior of cog.Path, does something unsavory to upload very large files, and actually enables concurrency.
- add concurrency to config
- this basically works!
- more descriptive names for predict functions
- maybe pass through prediction id and try to make cancelation do both?
- don't cancel from signal handler if a loop is running. expose worker busy state to runner
- move handle_event_stream to PredictionEventHandler
- make setup and canceling work
- drop some checks around cancelation
- try out eager_predict_state_change
- keep track of multiple runner prediction tasks to make idempotent endpoint return the same result and fix tests somewhat
- fix idempotent tests
- fix remaining errors?
- worker predict_generator shouldn't be eager
- wip: make the stuff that handles events and sends webhooks etc async
- drop Runner._result
- drop comments
- inline client code
- get started
- inline webhooks
- move clients into runner, switch to httpx, move create_event_handler into runner
- add some comments
- more notes
- rip out webhooks and most of files and put them in a new ClientManager that handles most of everything. inline upload_files for that
- move create_event_handler into PredictionEventHandler.init
- fix one test
- break out Path.validate into value_to_path and inline get_filename and File.validate
- split out URLPath into BackwardsCompatibleDataURLTempFilePath and URLThatCanBeConvertedToPath with the download part of URLFile inlined
- let's make DataURLTempFilePath also use convert and move value_to_path back to Path.validate
- use httpx for downloading input urls and follow redirects
- take get_filename back out for tests
- don't upload in http and delete cog/files.py
- drop should_cancel
- prediction->request
- split up predict/inner/prediction_ctx into enter_predict/exit_predict/prediction_ctx/inner_async_predict/predict/good_predict as one way to do it. however, exposing all of those for runner predict enter/coro exit still sucks, but this is still an improvement
- bigish change: inline predict_and_handle_errors
- inline make_error_handler into setup
- move runner.setup into runner.Runner.setup
- add concurrency to config in go
- try explicitly using prediction_ctx enter and exit
- make runner setup more correct and marginally better
- fix a few tests
- notes
- wip ClientManager.convert
- relax setup argument requirement to str
- glom worker into runner
- add logging message
- fix prediction retry and improve logging
- split out handle_event
- use CURL_CA_BUNDLE for file upload
- clean up comments
- dubious upload fix
- small fixes
- attempt to add context logging?
- tweak names
- fix error for predictionOutputType(multi=False)
- improve comments
- fix lints
- add a note about this release
v0.10.0-alpha4
Full Changelog: v0.10.0-alpha3...v0.10.0-alpha4
Scary temporary commit for a hemorrhaging-edge release. This adds concurrency to the config and significantly changes the behavior of cog.Path, does something unsavory to upload very large files, and actually enables concurrency.
- add concurrency to config
- this basically works!
- more descriptive names for predict functions
- maybe pass through prediction id and try to make cancelation do both?
- don't cancel from signal handler if a loop is running. expose worker busy state to runner
- move handle_event_stream to PredictionEventHandler
- make setup and canceling work
- drop some checks around cancelation
- try out eager_predict_state_change
- keep track of multiple runner prediction tasks to make idempotent endpoint return the same result and fix tests somewhat
- fix idempotent tests
- fix remaining errors?
- worker predict_generator shouldn't be eager
- wip: make the stuff that handles events and sends webhooks etc async
- drop Runner._result
- drop comments
- inline client code
- get started
- inline webhooks
- move clients into runner, switch to httpx, move create_event_handler into runner
- add some comments
- more notes
- rip out webhooks and most of files and put them in a new ClientManager that handles most of everything. inline upload_files for that
- move create_event_handler into PredictionEventHandler.init
- fix one test
- break out Path.validate into value_to_path and inline get_filename and File.validate
- split out URLPath into BackwardsCompatibleDataURLTempFilePath and URLThatCanBeConvertedToPath with the download part of URLFile inlined
- let's make DataURLTempFilePath also use convert and move value_to_path back to Path.validate
- use httpx for downloading input urls and follow redirects
- take get_filename back out for tests
- don't upload in http and delete cog/files.py
- drop should_cancel
- prediction->request
- split up predict/inner/prediction_ctx into enter_predict/exit_predict/prediction_ctx/inner_async_predict/predict/good_predict as one way to do it. however, exposing all of those for runner predict enter/coro exit still sucks, but this is still an improvement
- bigish change: inline predict_and_handle_errors
- inline make_error_handler into setup
- move runner.setup into runner.Runner.setup
- add concurrency to config in go
- try explicitly using prediction_ctx enter and exit
- make runner setup more correct and marginally better
- fix a few tests
- notes
- wip ClientManager.convert
- relax setup argument requirement to str
- glom worker into runner
- add logging message
- fix prediction retry and improve logging
- split out handle_event
- use CURL_CA_BUNDLE for file upload
- clean up comments
- dubious upload fix
- small fixes
- attempt to add context logging?
- tweak names
- fix error for predictionOutputType(multi=False)
- improve comments
- fix lints
- add a note about this release