Releases: dotnet/tye
Tye 0.11.0
February 15, 2022
What are we doing now?
We are continuously making progress to learn what the best cloud-native tooling experiences could be.
With this release of Tye, we are excited to also release the 0.5.0 version of the VS Code Tye extension.
Download it today!
Fixed
- Synchronize output buffers (#1290)
- Fix wrong variable in null check (#1272)
- Respect configured host in bindings (#1268)
- Generally kill both parent and their child processes. (#1232)
- Quote path to DotNetWatch.targets (#1210)
- Removes Dapr placement server management (#1191)
- Build queue for --watch (#1189)
Added
- Add support for Azure Functions v4 (#1285)
- Move Tye to .NET 6 (#1215)
- Support additional Dapr configuration properties (#1209)
- Allow SDK prerelease (#1203)
- Added support for additional routes on the Dashboard (#1200)
- Support Dapr "standalone" applications (#1194)
- Added support for environment variables when using Azure Functions (#1171)
- Feature/dashboard port in tye yaml (#1163)
Tye 0.10.0
September 15, 2021
What are we doing now?
We are continuously making progress to learn what the best cloud-native tooling experiences could be. We are making bug fixes and usability improvements to the vscode-tye extension!
With this release of Tye, we are excited to also release the 0.3.0 version of the VS Code Tye extension.
Download it today!
Fixed
- Fix the broken samples (#1162)
Added
- Log the Pid after Tye application is started (#1146)
Tye 0.9.0
August 9, 2021
What are we doing now?
We are continuously making progress to learn what the best cloud-native tooling experiences could be. We are making bug fixes and usability improvements to the vscode-tye extension!
With this release of Tye, we are excited to also release the 0.3.0 version of the VS Code Tye extension.
Download it today!
Fixed
- Add timeout for Process.WaitForExit (Fixes #1128)
- DockerRunner: podman workaround: create volume host dir when it doesn't exist.
Added
Tye 0.8.0
July 12, 2021
What are we doing now?
We are continuously making progress to learn what the best cloud-native tooling experiences could be. We are making bug fixes and usability improvements to the vscode-tye extension!
With this release of Tye, we are excited to also release the 0.2.0 version of the VS Code Tye extension.
Download it today!
Community contributions
Below is a list of all the community contributions between Jun 01, 2021 and July 11, 2021 (UTC time). Thanks to all our contributors for their enthusiasm and support!
Tye 0.7.0
June 01, 2021
What are we doing now?
We are continuously making progress to learn what the best cloud-native tooling experiences could be. We are excited to announce the VSCode extension for Tye!
Community contributions
Below is a list of all the community contributions between January 20, 2021 and June 01, 2021 (UTC time). Thanks to all our contributors for their enthusiasm and support!
@martinstenhoff Fixing spelling in message seen with -v Debug
@tmds DockerRunner: include stderr in log on failure.
@RayMMond fix configuration validation
@tmds Don't consider it a fatal error when the container host is not accessible.
@tmds Support podman
@onionhammer Implements autoscroll within log view
@OlegKarasik Clarification of kubectl involvement in deploy command and potential error reason
@mmisztal1980 Fixes to dapr.exe cmdline invocation
@mmisztal1980 change dapr startup from daprd to dapr CLI
@tomasherceg Recipes - fixed invalid port in Dapr sample code
@Swimburger Fix some typos in ingress.md
@Douglas-Cleghorn Handle plus signs in Kubernetes minor version
@samtrion - Executes git clone, based on the tye.yaml directory
Tye 0.6
Release notes
These are the release notes for the 0.6 release of Tye.
The package version is 0.6.0-alpha.21075.5.
See getting started for installation instructions.
Notable changes and features
This release was primarily focused on bug fixes in tye, improving stability.
Fixing bugs in Dapr support
We fixed a few bugs in our Dapr extension to make it work with the latest release of Dapr. Dapr + Tye should work on Linux, macOS, and Windows without any hiccups.
You can now specify the placement-container-port in the tye,yaml by specifying:
extensions:
- name: dapr
placement-container-port: 50005
Default commands with environment variables
You can now provide defaults for different tye commands via environment variables set on command line. For example, if you wanted to start the dashboard everytime you run tye, you can set TYE_RUN_ARGS="--dashboard"
to always set --dashboard on each run of tye.
Improving ingress experience
We fixed a few bugs in our ingress experience for both tye run
and tye deploy
. We also started supporting the latest ingress version in Kubernetes (networking.k8s.io/v1) on all clusters version 1.19 or greater.
What's next?
We are doing some final planning for the future of tye over the coming weeks. We will be making a formal announcement then. Stay tuned!
Community contributions
Below is a list of all the community contributions between November 05, 2020 and January 20, 2021 (UTC time). Thanks to all our contributors for their enthusiasm and support!
- @thoemmi adapt breaking changes of dapr 1.0.0.rc.1
- @dasiths Fix dapr recipe documentation and update sample to use latest .Net Dapr sdk
- @habibcs reading named binding
- @habibcs CONNECTIONSTRING comes as CONNECTIONSTRINGS
- @sirh3e refactored using added language feature
- @sirh3e converted into linq language feature
- @hossambarakat fix #666, enable dotnet watch to refresh on razer file changes
- @newuser #380 make running proxy container be logged at DEBUG level
- @sirh3e Refactore console extensions
- @sirh3e Refactor container registry
- @sirh3e Refactore directory copy
- @sirh3e Refactore directory extensions
- @sirh3e Refactore tye dashboard api
- @sirh3e Tye host
- @sirh3e Refactore zipkin extension
- @sirh3e Refactore seq extensions
- @sirh3e Refactore elastic statck extension
- @sirh3e Refactore dapr extension
- @sirh3e Refactore process util
- @sirh3e Refactore pipeline
- @sirh3e Refactore kubernetes manifest generator
- @sirh3e Refactore kubernetes ingress output use of language feature
- @ninjaoxygen Fix dapr docs "Getting started" link
- @dawedawe Fix a small typo
- @sirh3e Refactor core process extensions
- @sirh3e refactored Project.cs use of language feature
- @sirh3e Refactor core validate secret step
- @sirh3e Refactored ConfigFileFinder.cs
- @sirh3e refactored CombineStep.cs removed redundant ToString call
- @sirh3e Feature refactor core
- @evolvedlight Fix typo in proxyContainer
- @sirh3e Update Pipeline.cs
- @sirh3e Update ApplicationFactory.cs
- @dasiths [Dapr Extension] Allow defining custom placement container address
- @qpooqp Added functionality to specify default options for commands
Tye 0.5
Release notes
These are the release notes for the 0.5 release of Tye.
The package version is 0.5.0-alpha.20555.1.
See getting started for installation instructions.
Notable changes and features
.NET 5 Support
We add support for .NET 5 in tye this release! Just in time for the .NET 5 release 😄 . Tye will work with .NET 5 for both tye run
and tye deploy
.
As a note, tye itself still requires the 3.1 SDK, so you still need the 3.1 SDK to use tye.
Dapr Support
We updated our support for Dapr, allowing it work with the latest 0.11 release. We also updated the dapr sample with the latest packages.
Multi TFM support
Thanks to @tebeco, you can now specify multiple tfms in your .NET projects, and specify which ones to use. See #567 for a summary of changes.
Breaking changes
-f
now isn't a shortcut for--force
and instead--framework
What are we starting to work on now
We have a Kubecon talk coming up shortly for anyone attending Kubecon. See this for more details.
We are hoping to make a VS Code extension public very shortly. More details to come.
Community contributions
Below is a list of all the community contributions between July 22, 2020 and November 05, 2020 (UTC time). Thanks to all our contributors for their enthusiasm and support!
- @tebeco Map "binding.ContainerPort" instead of "binding.Port" to "manifest containerPort"
- @davidhenley Add line break for better debug experience
- @areller Docker compose environment variable syntax
- @ckadluba Fixed unquoted file paths
- @taqabubaker Wrap certificateFilePath with double quotation marks
- @BWalti fixed wording in doc dapr.md
- @tsubakimoto fix header typo
- @ckadluba Fixed issue #620
- @sahan91 Fix typos in service discovery document
- @sahan91 Fix minor grammar issue and cleanup commas
- @AlecPapierniak Update service_discovery.md
- @angelobelchior Fix of the directory name
- @areller Graceful termination in Windows
- @tebeco Handling Multiple TargetFrameworks through BuildProperties
Tye 0.4
Release notes
These are the release notes for the 0.4 release of Tye.
The package version is: 0.4.0-alpha.20371.1
See getting started for installation instructions.
Notable changes and features
Azure function support
Tye now supports running azure functions locally with tye run
. See our Azure Functions recipe and our samples for getting started.
name: frontend-backend
services:
- name: backends
azureFunction: backend/
- name: frontend
project: frontend/frontend.csproj
Deploy to AKS with Github Actions
@spboyer added a document about how to deploy to AKS using Github Actions. This recipe will help setup your CI/CD pipeline to deploy to k8s.
Misc changes
- Removing color from deployed app console logs when doing
tye deploy
. - Support specifying a component-path with dapr and updating dapr samples to the latest preview.
- Fixing issue when running only services that are executables.
What are we starting to work on now
We are going to be presenting at .NET Conf on July 30th at 12:30 PDT | 20:30 UTC. Part of the next release will be dedicated towards preparing for that.
Feature wise, we'd like to look into
- Deploy support for Azure functions
- Running msbuild out of process.
- Support for .NET 5
- Fixing watch support with multiple replicas
Community contributions
Below is a list of all the community contributions between June 26, 2020 and July 21, 2020 (UTC time). Thanks to all our contributors for their enthusiasm and support!
Tye 0.3
Release notes
These are the release notes for the 0.3 release of Tye.
The package version is: 0.3.0-alpha.20319.3
See getting started for installation instructions.
Notable changes and features
Watch mode for tye run
A highly requested feature we added this release is tye run --watch
, which is the equivalent to dotnet watch
except it works for multiple projects. This allows you to update.
Right now, watch support only works for dotnet projects that aren't running in containers.
Health check support for tye run and deploy
Tye now natively supports health checks for both tye run
and tye deploy
. You can now specify liveness
and readiness
as part of a service. See our recipe docs on how to use liveness and readiness probes in tye.
Special shout outs to @areller for implementing this feature. It was quite a large feature and was very polished.
Dockerfile support for deploy
Tye now supports Dockerfile for deployment, which completes a majority of scenarios for Dockerfile support. Dockerfile are currently a way to support non-.NET languages; for example if you had a React frontend with a .NET backend, you could write a docker file for your React app and specify it in your tye.yaml. See the schema definition on Dockerfile.
Seq support
Tye now supports Seq a logging provider. You can specify seq
as an extension in your tye.yaml. See our Logging with Seq to learn more.
Shout out to @razfriman for implementing this feature.
Tag support
You can now specify tags when executing commands in tye and in your tye.yaml. This will allow you to run, deploy, build, etc. a subset of projects filtering on tag. For example:
tye run --tags ab
with a tye.yaml like:
services:
- name: a
project: a.csproj
tags: ab
- name: b
project: b.csproj
tags: ab
- name: c
project: c.csproj
tags: AnotherTag
will only run service a and b.
We will be adding documentation for this feature soon.
Misc changes
- Support docker build arguments when using a Dockerfile, which will pass in build args when calling
docker build
. - Allow specifying a container base image in a proj file
- Fixed a bug with
tye undeploy
where it didn't work without a tye.yaml or without an application name. - Fixed a bug with
tye run --docker
not having the right host names. - Fixed a bug where
tye run --docker
on macOS didn't work. - Fixed a bug where Dapr was broken in the 0.2 release.
Documentation and Presentations
We released a blog post on .NET blog. This is an introductory piece on Tye for getting people started.
Tye was also featured in two build talks, The Journey to One .NET and Cloud Native Apps with .NET and AKS.
What are we starting to work on now
We have started work on a few features that will be added in the 0.4 or future release of Tye. These are longer efforts that we have been working on behind the scenes incrementally.
- Azure function support. This should be done earlier in the 0.4 release.
- CNAB integration. We'd like to explore using CNAB as a way to run and deploy application bundles. We have started some of this work, but are still discussing the use cases.
- Other deploy targets. We have experimentally looked into supporting other deploy targets than Kubernetes. No concrete progress made, but something we are internally discussing.
Community contributions
Below is a list of all the community contributions between May 08, 2020 and June 18, 2020 (UTC time). Thanks to all our contributors for their enthusiasm and support!
- @areller using the ASP.NET Core HealthChecks library for the liveness/readiness sample
- @NileshGule Updated the reference to undeploy markdown file
- @razfriman Seq Extension
- @areller passing query string in ingress
- @areller log verbosity in tye run
- @NileshGule Fix #91 - Added elapsed time for Init, Deploy & Undeploy commands
- @areller Liveness and Readiness Documentation, Samples and Small Changes
- @MaxMommersteeg Docs: Updated Container Registry Server example
- @ashmind Correct grammar (Excpeted => Expected)
- @ArieJones Update dapr.md for small typo
- @rahulsahay19 angular dotnet core sample for project tye
- @giggio Update run locally docs to use v0.2
- @areller adding health checks
Tye 0.2
Tye 0.2 Release notes
These are the release notes for the 0.2 release of Tye.
The package version is: 0.2.0-alpha.20258.3
See getting started for installation instructions.
Notable changes and features
Ingress support
Tye now provides an opinionated and simple way of configuring ingress for local development, as well deploying to Kubernetes using the popular NGINX Ingress Controller for Kubernetes.
There's new documentation for ingress that describes how to setup ingress for both local development and deployment.
Multiple repository support
We've added support for running and deploying a tye application which consists of multiple repositories.
tye.yaml
now supports composition. To compose, use the include directive specifying the name of the service you'd like in another tye.yaml
.
name: multirepo-app
services:
- name: frontend
project: ./frontend/frontend.csproj
- name: inventory
include: ../inventoryRepo/tye.yaml
We also now support referencing another repository by specifying a URI, which tye will clone.
name: multirepo-app
services:
- name: frontend
project: ./frontend/frontend.csproj
- name: inventory
repository: https://github.com/MyOrg/InventoryRepo
The string given to repository
is directly passed in after git clone
, so if you need additional arguments to the call to git clone (for example, specifying branch), you can add it there.
Distributed Tracing using zipkin
Zipkin is a popular open-source distributed trace storage and query system. It can show you:
- Which services were involved with an end-to-end operation
- What are the trace IDs to reference logs for an operation
- What were the timings of work done in each service for an operation
Tye can now get distributed tracing working easily without adding any SDKs or libraries to your services.
See our recipe on distributed tracing with zipkin for more details.
Logging with Elastic Stack
Elastic stack (aka ELK) is a popular log-aggregation system that gives you a powerful log search and dashboard engine with views across all of your services.
Tye can push logs to Elastic stack easily without the need for any SDKs or code changes in your services.
See our recipe on logging with Elastic Stack for more details.
New tye commands
We've added a new command, tye push
, which will build all application containers and push them to a container registry, without deploying to Kubernetes. This command is useful if you want to use Tye to containerize .NET Core projects and manage deployment separately.
We've also added the tye build
command, which will build all of an application's project services into containers without deploying or pushing the containers remotely. This command is useful for testing that all projects successfully build.
We've also added the tye undeploy
command will delete a deployed application from Kubernetes. tye undeploy
by default will:
- List all resources that are part of an application
- Print the list of resources (what-if)
- Offer a choice to delete each resource (interactive)
- Delete each resource (if applicable)
Misc changes
You can now specify build properties for a service in tye.yaml. These are properties that will be directly provided to dotnet build as MSBuild properties.
name: app
services:
- name: frontend
project: frontend/frontend.csproj
buildProperties:
- name: Configuration
value: Debug
We now support building projects in parallel when there are multiple projects that need to be built. This will speed up the time for tye run
and tye deploy
.
You can now specify a namespace to deploy to when running tye deploy
.
tye deploy --namespace MyNamespace
We've added support to specifying a Dockerfile in tye.yaml
for tye run
.
name: app
services:
- name: frontend
dockerFile: frontend/Dockerfile
You can also specify the Dockerfile context with dockerFileContext
.
Documentation improvements
We've added some more documentation for various topics in tye. You can find this in the docs folder. This includes local development, deployment, and multiple repository scenarios.
We've also added new recipes for adding many different extensions to tye, including:
- Distributed Tracing with zipkin
- Logging with Elastic Stack
- Adding an ingress to local and deployed applications
Community contributions
Below is a list of all the community contributions between April 09, 2020 and May 08, 2020 (UTC time). Thanks to all our contributors for their enthusiasm and support!
- @NikiforovAll Add word-break to source-project column
- @alexfdezsauco Remove PackageVersion tag with specific version number from tye.csproj
- @brendandburns Add the ability to specify a namespace for tye deploy.
- @brendandburns Improve docs somewhat.
- @alexfdezsauco Add buildProperties to project service configuration
- @staff0rd Add push command
- @alexfdezsauco Fix ConfigApplicationParser to support network deserialization
- @tebeco Restore.cmd fails on non-existing flags "-all" and "-nobuild"
- @tebeco [DOCS] Align "project" and "name" nodes in 01_deploy.md of the default tye.yaml
- @mdekrey Correct FAQ link
- @PureKrome 💄 Fixed typo.
- @sambeckingham Update link to redis manifest
- @tiesmaster Fix broken link to Tutorial 02 (Basic Tutorial (deploy))
- @thangchung Add debug and tracing annotations