Releases: knative/build
Knative Build release v0.7.0
This release contains no significant changes.
Knative Build release v0.6.0
This release contains no significant changes.
Knative Build release v0.5.0
Knative Build release v0.4.0
Meta
Continued Transition to Pipelines
Most new development continues in the Pipelines project, now named Tekton Pipelines.
We are anticipating the first v0.1 release of Tekton Pipelines imminently, and users of Knative Build should consider Tekton Pipelines as an alternative with better support and feature richness.
Features and Bug Fixes
Removed scaling cap
Prior to #563 the Build controller would resync Build resources every 30 seconds, and enforce timeouts as part of that resync loop. However, due to rate limits consuming this queue, if enough Builds existed in the system (observed around 400 Builds), the backlog would never be processed and Builds would not be updated or timed out.
After #563 build timeout checks are scheduled in a background process, allowing us to increase the resync period to 10 hours, effectively removing the scaling cap. This also means that timeouts are enforced more promptly.
Fixed duplicate pod bug
Under some circumstances under v0.3.0, creating a Build would result in two Pods being created to execute the work. This consumed extra resources and could produce confusing or harmful side effects.
Knative Build release v0.3.0
Meta
More regular releases
0.3 is the first release of our new schedule of releasing every 6 weeks.
This release is a smaller delta than 0.2 because of this shorter development
cycle.
Transitioning to Pipelines
Since 0.2, most new development work has focused on the
Pipeline repo.
Kubernetes 1.11 is now required
We now use the Kubernetes /status
sub-resource support, which went Beta in K8s
1.11.
Features
Multiple Input Sources
The Build
spec can now specify either a single source
or multiple sources
.
If multiple sources are requested, each will be fetched in order and placed into
a directory under /workspace
named after the source's name
field. (#392)
Other Features
A Build
's annotations are copied to the underlying Pod
. (#469)
A Build
's status is updated to indicate validation errors (#471)
The Build controller is subject to a PodSecurityPolicy
which limits what it
can do and enables cluster operators to specify further limiting policies.
(#509)
Knative Build release v0.2.0
New Features
New resource: Cluster-scoped Build Templates (#302)
BuildTemplate parameters can be applied to build step image names (#293)
Builds specs can now specify:
- build-wide timeout (#315)
- node selectors (#236) and affinity (#344)
- that source should be fetched from a subdirectory (#245)
Build status now reports:
- per-step StepStates, updated as the build progresses through its steps (#309)
- start time, allowing measurement of pending latency (#322)
- step states only for requested steps, ignoring implicit steps (#340)
Internal Improvements
- Using Reconciler (#446) and Webhook (#379) patterns shared in knative/pkg
- Implicit builder images (git-init and creds-init) are much smaller (#179), and we use a very small custom image to report success, instead of busybox (#371)
- Improved E2E testing (starting in #329)
- knative/caching Image resources for implicit builder images (#348) and images specified in build templates (#353) and cluster-scoped build templates (#354)
- Licenses included in all published images (#440)
v0.1.2
Cherrypicked cd69f25 and c8a0d97 to include smaller builder images for creds-init
and git-init
.
creds-init
in v0.1.1 was 1021.3 MB, is now 18.7 MB.git-init
in v0.1.1 was 1,015.7 MB, is now 13.1 MB.
This results in faster builds on nodes that do not already have these images present.
v0.1.1
release.yaml rebuilt with recent version of ko
which contains the fix for google/go-containerregistry#192, which seems to break clusters using containerd