Updates 2020
Patch Note 2020-12-21
New features
Pipelines now support input-input edges to allow for copying inputs from one node to another. This allows you to e.g. make sure multiple pipeline nodes use the same inputs.
You can now click on tags in the Execution table to filter the table by them.
Bugfixes
Pipeline nodes have better error messages.
Some minor UI bugs are no longer.
Organization users will see more accurate usage across all organizations in the menu.
For very large S3 uploads, you can now specify a longer maximum token lifetime for the AWS IAM role. Valohai will attempt lifetimes of 12, 6, 3, and finally (the old default) 1 hour.
Patch Note 2020-12-03
New features
Triggers (preview)
Happy holidays and welcome to the future, where you don't even have to do anything to have machines work for you!
The first iteration of the Valohai trigger system allows you to set a time-based trigger to run a copy of a given pipeline (which is by far the most requested use for automated triggers we've received).
Future versions will improve usability and add features.
You can now specify a node selector for deployment endpoints. If your Kubernetes cluster has extra beefy machines to run extra beefy models, use this to have a beef with Valohai.
We made it clearer to understand what disabling a deployment version actually means.
Pipeline deployment nodes are no longer immediately done; they'll wait patiently for the deployment to become ready.
Pipeline nodes now show far better error messages and warnings. We think that's nice.
Bugfixes
The default repository fetch reference was updated to
master, mainto cater for GitHub's changes in that regard.When updating a version alias to point to a version that isn't quite ready yet, the alias is now only updated when the target is actually ready.
Some UI bugs were squashed with our patented* UI bug squasher:
You can now clear tags from taggable things. It wasn't previously quite possible, because nulls. Damn those nulls.
The pipeline creation view is now less prone to simply explode.
not actually patented
Patch Note 2020-11-18
New features
The pipeline ID, pipeline counter and pipeline node ID are now available to executions in the run metadata.
The execution ID, task ID, project ID, pipeline ID and pipeline node ID are also exposed as environment variables.
The Datum search interface and API now supports
*wildcards.predict*jsonto your heart's content!
Bugfixes
Certain edge cases regarding creating executions in large tasks should work better now.
Patch Note 2020-11-13
New features
Input files in executions can now be reset to their initial values.
Deployment nodes gained a simple UI.
When copying an execution with purged data, any purged data is cleaned out in the UI too.
Pipeline deployment nodes now support pointing aliases to the freshly created deployment too.
Bugfixes
Validation for deployment environment variables was emstrictened.
The deployment pipeline node API now correctly returns the deployment ID and the created version ID.
Enqueueing tasks was made more robust.
Patch Note 2020-10-28
New features
Deployments can now be created in pipelines! Documentation is still forthcoming, but you can find examples in the pull request implementing YAML spec support for it.
Deployments now support environment variables.
Organization administrators can now automatically add users with verified email domains to their organizations. Contact your friendly support specialist for more information.
You can choose between supported Bayesian optimization engines. Optuna is the default, and generally stabler, but Hyperopt is a (Hyper)option too.
Bugfixes
On occasion, some charts might have linked to the wrong execution when clicking them. That should, hopefully, no longer be the case.
Small usability problems have been fixed.
Deployment targets are listed in priority order in the Create Deployment view.
Patch Note 2020-10-13
New features
Even more views now have the new, neat actions buttons!
An API endpoint was added to retrieve the event streams for multiple executions at once.
The task API now publishes a
n_executionsfield (that you can sort with.)Deployments now support environment variables (in the API – the UI is in the works.)
Bugfixes
The limit parameter to event endpoints could previously misbehave when there were less events than the limit specified.
The execution environment specified in a step definition no longer has precedence over a manually selected environment when copying executions. In plain English: it works as expected now.
Execution views no longer refresh as often when they're in the background.
Patch Note 2020-09-30
New features
Custom S3 stores!
You can now use your own S3-compatible stores so long as you know an endpoint URL.
Tasks are now filterable by creator, title, and status.
The action buttons in various data tables have been (mostly!) harmonized to a neat dropdown menu.
Top-level data tables also gained a new "Wide view" toggle, for all y'all data geeks out there. This is an "experimental" feature, so the state isn't persisted across page loads right now. Just so you know.
Executions can now be filtered by title.
Bugfixes
The pipelines API endpoints are now shown in the interactive API browser.
The "Use default" labels in the project configuration view could be misleading when a default was explicitly set. They're confounding no more.
On a similar note, the logic with which execution environments are chosen is now more Do-What-I-Mean-ish when you're working in a private project that does have access to organization environments.
You can't accidentally zoom out and awaaaaay~ when scrolling in the pipeline outline view anymore.
For consistency with the YAML file, the "Connections" header in the pipeline view is "Edges". Graph theory ahoy!
For a moment, the Create Notebook view wouldn't work if you didn't have any commits. It does again!
Patch Note 2020-09-16
New features
Deployment usability fixes:
Deployment targets now have a (read-only) API too.
Deployment target names are (not entirely concidentally) now also visible in the Deployment list UI.
Only enabled versions are shown in the deployment list, to make it nice and clean.
The Usage Explorer view gained new grouping superpowers.
Pipelines got some TLC:
Pipelines can be stopped from the table view, just like executions and tasks can.
Pipelines are now shown in execution view headers, just like tasks would be.
You can now filter executions by pipeline and task.
The action buttons for executions, tasks and pipelines are now more unified.
Bayesian hyperparameter optimization is now backed by our to-be-opensourced Optimo engine.
Bugfixes
Certain mildly malformed Valohai.yaml files can now be ingested.
Internal errors that could occur when creating many parallel executions in a single project should now happen much more rarely.
Email confirmation is now required to create new executions.
Bots specialized in signing up with bogus emails are deterred with electronic bug swatters.
"Set as Default Store" should now actually work as intended.
Certain Bayesian optimization configurations occasionally didn't work. They should now.
The notes and step filter fields in the executions table now remember their values after the popup is closed.
Patch Note 2020-09-02
New features
The CoreAPI API description has been replaced with a standard OpenAPI 3.0 interface.
As a side effect, the interactive API documentation is now based on Redoc.
Not all input and output formats are fully described yet (not that they were before), but we're working on it.
Task statuses are now published in the REST API.
Project default stores can be set while creating new stores.
AWS-based private environments can now use ephemeral NVMe storage in RAID 1 mode. SPEEEEEED BOOOST!
Bugfixes
Project Default Environment and Project Default Store "no preference" dropdowns now actually show what "no preference" means!
The Create Notebook button no longer causes, well, weird navigational side effects.
Minor changes
If possible, S3 bucket locations are validated on Store creation.
Repository linking now has better error messages.
A variety of small UI tweaks here and there.
Patch Note 2020-08-03
New features
Table column preferences are no longer stored only on your device, but in this new-fangled thing we brought an expensive consultant in to tell us about, the ✨cloud✨.
Improvements
The Create Task, Create Execution and Create Pipeline views now enjoy a cleaner design.
The API will now complain if you happen to use an invalid
orderingparameter, instead of returning results in an arbitrary order. We figured the Principle of Least Surprise trumps the Postel Principle here.
Bugfixes
Charts were taught a couple new tricks:
Scatter charts went to the gym and came back a little leaner and faster.
They also no longer occasionally reformat their labels as color codes.
Scatter chart labels are now shown when you mouse-over the data.
Line charts are less verbose on the time axis, and as such actually readable.
The Heritage Only filter in the Tracing view now works correctly with deployments.
Unnecessary ingresses are now cleaned from deployment targets.
Deployments backed by Google Container Registry will now use a single repository per project to facilitate layer sharing.
Other things of interest
The CoreAPI schema published by the REST API is being deprecated in favor of a more standard OpenAPI schema, which will be implemented by the next version or so. We will be monitoring usage of the CoreAPI features and contacting users who still seem to depend on it.
Patch Note 2020-07-21
Major changes
Support for private Docker images from AWS ECR and Google Container Registries.
Enterprise customers can configure this through organization registry settings.
Use these private images both during executions and deployment endpoint building.
You can find further details at Valohai Docs - Docker Images
You can now set a default store for your Organization.
For organization projects, that will be the store used if nothing else is specified.
Organization admins can set default store under organization's data store configuration.
Minor changes
Pipeline graph look has been updated to be more user friendly (e.g. larger click areas, better state indicators), and you can now zoom in and out.
Patch Note 2020-06-24
New features
Input definitions in valohai.yaml gained new superpowers:
keep-directories(defaults tonone) governs how directory paths are retained when using wildcards.nonejunks all directory paths and just keeps filenames. This is how things have been in the past.fullkeeps the full path from the storage root. E.g. fors3://special-bucket/foo/bar/**.jpg, you might end up with/valohai/inputs/images/foo/bar/dataset1/a.jpg.suffixkeeps the suffix from the "wildcard root". E.g. fors3://special-bucket/foo/bar/**.jpgspecial-bucket/foo/bar/would be removed, but any relative path after it would be kept, and you might end up with/valohai/inputs/images/dataset1/a.jpg.
No need to configure a store over and over again for multiple projects anymore!
Project-assigned stores can now be converted to organization stores, after which they can be shared with all of the organization, or a number of selected teams.
You can also create an organization-level store in your Organization settings.
Usability enhancements
Execution view tabs that could take a while to load now have cutesy little loading spinners.
The Deployment Alias edit screen was given a bit of a stretch.
Bugfixes
When using organization or team scoped stores, they are now correctly taken into account for inputs, too.
The creation of pipelines with very many nodes should be much, much faster.
Similarly, everything should be a bit faster thanks to some Rust magic under the hood. ✨
The blinking execution error favicon no longer blinks, for some extra calm.
Patch Note 2020-06-08
New features
Deployment image building now supports private Docker registries for base images. 🔑
Bugfixes
Execution statuses should now update much more reliably than ever before. It's the small things! Also, distributed systems are hard.
Whitespace is now stripped out of input URIs, making slily tpyos much less likely to cause problems.
Gentle touches of accessibility improvements were added here and there and everywhere.
When using IAM roles for multipart uploads, they are now tested during configuration instead of crashing when you're actually trying to upload gigabytes of data.
Frontend uploads to Azure Blob Storage are now more robust.
The app should feel snappier altogether due to a new-fangled compression scheme called "gzip" being enabled.
Patch Note 2020-05-18
Possibly breaking changes
Deployment prefixes are now advertised as an
X-VH-PrefixHTTP header instead of theSCRIPT_PREFIXenvironment variable. Unfortunately this means you may need some extra middleware processing in your deployment to handle things, if you're using path-based routing. The environment variablesSCRIPT_PREFIXandSCRIPT_NAMEare no longer published for new deployments, but theVH_DEFAULT_PREFIXvariable is available, with the important caveat that unlike the HTTP header, it will not reflect a version alias path.
Bugfixes
The interactive API browser was re-prettified. 💄
Some broken documentation links are no longer broken. 🔗
The Python API call renderer for "Create Execution" etc. now renders
TrueandFalsein the properly Pythonic way. 🐍Having NaN or Inf as metadata no longer breaks things quite as badly. 🧮
Input information is more robustly received. 💽
Bayesian optimization tasks now have much higher maximum execution limits. 📈
Very, very, very, very long execution log lines are now truncated instead of possibly crashing your browser. 💣
Comment mention notification mails now contain correct URLs. 📧
Patch Note 2020-04-28
New features
When Bayesian optimization fails, you'll now be able to see a more detailed explanation of what happened.
Tasks that are unable to create new executions will now get stopped.
Bugfixes
Non-zero target metric values for Bayesian optimization now work more reliably.
The execution/task creation API now accepts string-like values that represent booleans for boolean values.
Patch Note 2020-04-15
New features
Deployment statuses are reported better.
Deployment logs now also include condition and event information.
The store addition UI earned a layer of glossy lacquer.
Bugfixes
The indicator for whether a parameter has changed from its default value is now more robust.
Optional parameters should work properly again via the UI.
Patch Note 2020-04-08
New features
There's now a replacement for the execution
"outputs": []data we deprecated in the last episode of Valohai Patch Notes, namely/executions/.../outputs/. Signed download URLs are not emitted by default, but you can add?include=download_urlto get them too.Deployment: The prefix path your endpoint is deployed underneath is published to the container as the
SCRIPT_NAMEenvironment variable. There's more documentation on what to do with this over at our docs site.
Bugfixes
Organization invitations could occasionally fail with an internal error. That should no longer be the case.
The regular expression we used for validating S3 bucket names was too strict. It has now been gently told to be a little less uptight, and thus a lot more spec-compliant.
Notebook previews should no longer abruptly scroll for no reason.
Patch Note 2020-03-17
Hope all of you and yours are safe and sound during the COVID-19 epidemic! We've been working #allremoteeverything on bugfixes for you...
Bugfixes
Zero-byte input files no longer cause trouble.
There will be less explosions when attempting to create a deployment without any available commits.
Trying to get the log length of an unstarted execution no longer causes an explosion either.
Deployment build errors are slightly better. They may still explode.
Some chart legend entries were unclickable. They are now much, much more clickable.
The scale min/max values for organizations are again editable.
Disabled endpoints that lack required files are not created for deployment versions anymore.
Bayesian hyperparameter optimization was made quite a lot smarter.
Patch Note 2020-03-05
New features
Environment management improvements (for organizations)
The environment management UI got a facelift.
You can now disallow the usage of an environment for personal projects (i.e. projects not under your organization's namespace).
Custom GKE and AWS AKS deployment targets are now supported. Reach out to support to add one for your organization.
A new notification feature is bubbling under... rest assured we haven't been resting on our laurels!
Bugfixes
Copying executions to tasks is now more robust.
Tables won't blank out on metadata entries that aren't plain strings or numbers.
The execution API won't respond with an internal error if there is no commit and no command.
Variant parameter validation was made more strict.
Patch Note 2020-02-12
New features (Core)
Bayesian hyperparameter optimization based on hyperopt.
You can now create tasks that employ guided hyperparameter optimization. Simply configure how many trials to run in total, how many to run in parallel and the variation ranges for each of your parameters – as easy as before, but now with extra smarts! This feature is in beta – please request access via support.
You can now set a memory request for your deployment endpoints. This may help if Kubernetes is unduly evicting your workloads when they start crunching too many numbers for the cluster's liking.
New features and bugfixes (Agent)
These features appear in agent version 0.28.2 – see the first line of your execution log to see which version your environment is running.
Largest files are now uploaded first, with the idea that complete models should be the largest file and you can Hard Stop an execution after it's done.
On a similar note, there's an upper limit for output files now. Live-uploaded files do not count towards this limit – and if you really do need to upload tons of files, it's better to package them into e.g. a tar file.
Run initialization was made faster thanks to advanced techniques, namely not just
sleeping as much.Some upload errors are now handled more gracefully.
A new, more thorough pre-and-post-run cleaning mode was added.
Advanced users can now tune the shared memory (SHM) size for the container.
Containers are now given more time to finish up what they're doing after an initial kill request. (Your code will receive a SIGINT signal first – that's
catch KeyboardInterrupt:in Python parlance.)Trying to pull a Docker image that doesn't actually exist now yields an actually useful error message.
Patch Note 2020-01-30
New features
Choosing input files was given a facelift and new superpowers:
You can now pick both Datum inputs and URLs without having to fiddle with a radio button. How fun!
You can search for data based on output execution tags and titles.
Tasks also got some polish and love:
You can now create Random Search tasks in addition to exhaustive Grid Search!
Tasks now also have an innate status.
Persistent notifications are tamed – you'll only see an unobtrusive bell icon in the navigation bar if there are notifications you might have missed.
Bugfixes
The Trace view didn't know how to trace lineages forward from a given datum. It does now.
As a side note, you can now filter executions based on datum.
Patch Note 2020-01-09
New features
Choosing commits when there are multiple branches is now easier.
The execution table gained columns for sorting by creation and end time.
Minor usability fixes:
Naming a project will automagically fix up any stray spaces for you.
Side navigation menus look nicer.
The Authentication Token view looks nicer.
Graph layouts – both the Trace graph and pipeline graphs – are now much, much better thanks to the Klay layout algorithm.
Bugfixes
Store deletion now behaves more nicely when a store has been set as a default store.
API privileges for deployments now follow the general collaborator access formula.
The Alerts tab in the Execution detail view now actually shows some content when you do have alerts.
Attempting to get log events from executions in disabled environments could occasionally fail, but should do so no more.
The execution detail view was tamed a little; it really liked to do lots of requests it didn't need to do.
Last updated
Was this helpful?
