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, main to 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*json to 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_executions field (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 ordering parameter, 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 to none) governs how directory paths are retained when using wildcards.

      • none junks all directory paths and just keeps filenames. This is how things have been in the past.

      • full keeps the full path from the storage root. E.g. for s3://special-bucket/foo/bar/**.jpg, you might end up with /valohai/inputs/images/foo/bar/dataset1/a.jpg.

      • suffix keeps the suffix from the "wildcard root". E.g. for s3://special-bucket/foo/bar/**.jpg special-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-Prefix HTTP header instead of the SCRIPT_PREFIX environment 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 variables SCRIPT_PREFIX and SCRIPT_NAME are no longer published for new deployments, but the VH_DEFAULT_PREFIX variable 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 True and False in 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_url to get them too.

  • Deployment: The prefix path your endpoint is deployed underneath is published to the container as the SCRIPT_NAME environment 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?